02600 C语言程序设计自学考试试卷2007年1月

微信小程序
资源下载
下载价格1

02600C语言程序设计基础自考历年真题试题试卷电子版及复习资料:https://www.ddwk123.cn/archives/69299

2007年1月高等教育自学考试全国统一命题考试

C语言程序设计 试卷

(课程代码2600)

一、填空题(本大题共10空,每空1分,共10分)请在每小题的空格中填上正确答案。错填、不填均无分。

1.结构化程序设计所规定的三种基本控制结构分别是       结构、选择结构和循环结构。

2.有符号的整型数据(signed int)能表示的最大整数是      

3.设a为int变量,b为float变量,则a+b的运算结果为       型数据。

4.设a为int变量,执行a=1/2+1/2;语句后,a的值为       

5.以下程序运行后的输出结果是      

main( )

{int a=010,b=2,c;

c=a+b;

printf(“%d”,c);

}

6.以下程序运行后的输出结果是        。

main( )

{char m;

m=‘B’+32;printf(“%c”,m);

}

7.以下程序运行后的输出结果是      

main( )

{int a=1,b=3,c=5;

if(c=a+b)

printf(“yes”);

else

printf(“not”);

}

8.以下程序段的输出结果是      

char s[]= “\\140\140abc\t”;

prntf(“%d\n”,strlen(s));

9.以下程序段的输出结果是      

int a=l,b=2,*p=&a,*q=&b;

p=q;*p=3;

printf(“%d”,b);

10.以下程序段的输出结果是       

struct node

{int a;

float b;

char c[10];}

printf(“%d”,sizeof(struet node)) ;

二、单项选择题(本大题共25小题.第11—30题每小题1分,第31-35题每小题2分,共30分) 在每小题列出的四个备选项中有一个是符合题目要求的。请将其代码填写在题后的括号内。错选、多选或未选均无分。

11.下列标识符中可用作C语言用户标识符的一组是    【    】

A.void            B.a3_b3           C.For           D.2a

define              _123               -abc             DO

WORD                IF                 Case             sizeof

12.在C语言中,合法的字符常量是    【  】

A.‘\084’        B.‘\x43’       C.‘ab’        D.“\O”

13.表示关系X≤Y≤Z的c语言表达式是    【    】

A.(x<=Y)&&(Y<:z)                   B.(x<=Y)AND(Y<=z)

C.(x<=Y<=z)                           D.(x<=Y)&(Y<=z)

14.若t为double类型,表达式t=l,t+5,l++的值是    【  】

A.1                B.1.0               C.2.0             D.4

15.在C语言中,运算对象必须是整型数的运算符是    【    】

A.%              B./               C.%和/         D.}+

16.在C语言中,如果下面的变量都是int类型,则输出的结果是    【    】

Sum=pad=5;pAd=sum++,pAd++,++pAd:

printf(“%d\n”,pad);

A.7               B.6                C.5              D.4

17.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是    【    】

#include<stdio.h>

main( )

{ char c1=’A’,c2=’Y’;

printf(“%d,%d\n”,c1,c2);}

A.因输出格式不合法,输出错误信息

B.65,90

C.A,Y

D.65,89

18.设有说明int(*ptr)[m];其中的标识符ptr是    【    】

A.m个指向整型变量的指针

B.指向m个整型变量的函数指针

C.一个指向具有m个整型元素的一维数组的指针

D.具有m个指针元素的一维指针数组,每个元素都只能指向整型量

19.语句while(!E);中的条件!E等价于    【    】

A.E==0            B.E!=1            C.E!=O             D.E=l

20.以下函数调用语句中含有的实参个数为    【    】

func((exp1,exp2),(exp3,exp4,exp5));

A.1               B.2               C.4                D.5

21.设有以下语句:

char a=3,b=6,C;

c=B^b<<2;

则c的二进制值是    【  】

A.00011011                          B.00010100

C.00011100                            D.00011000

22.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是    【    】

A.-12               B.0              C.3             D.9

23.在C语言中,下列描述正确的是    【    】

A.不能使用do—while语句构成的循环

B.do-while语句构成的循环必须用break语句才能退出

C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环

24.以下程序的输出结果是     【    】

#include<stdio.h>

#include<string.h>

main()

{char str[12]={‘8’,‘t’,‘r’,‘i’, ‘n’,‘g’,‘、0’,‘a’};

printf(“%d\n”,strlen(str));}

A.6                 B.7              C.8               D.12

25.以下程序的输出结果是    【    】

#include<stdio.h>

main()

{int a=2,c=5;

printf(“a=%%d,b=%%d\n”,a,c);}

A.a=%2,b=%5                        B.a=2,b=5

C.a=%%d,b=%%d                    D.a=%d,b=%d

26.以下程序的输出结果是    【    】

#include<stdio.h>

main()

{int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf(“%d,%d\n”,a,b);}

A.6,l              B.6,0            C.2,1             D.2,0

27.C语言中形参的缺省存储类别是    【    】

A.自动(auto)                           B.静态(static)

C.寄存器(register)                     D.外部(extern)

28.设有以下语句(其中0≤i<10),则不能对a数组元素的正确引用是    【    】

int a[10]={0,l,2,3,4,5,6,7,8,9},*p=a;

A.a[p-a]                               B.*(&a[i])

C.p[i]                                 D.*(*(a+i))

29.以下程序的输出结果是    l【    】

#include<stdio.h>

union pw

{int i;char ch[2];}a;

main( )

{a.ch[0]=13;a.ch[1]=0;printf(”%d\n”,a.i);}

(注意:ch[0]在低字节,ch[1]在高字节。)

A.13               B.14                 C.208              D.209

30.设有以下语句:

char str1[]= “string”,str2[8],*str3,*str4= “ string”;

则不能对库函数strcpy(复制字符串)的正确调用的是    【    】

A.strepy(str1,“HELLO1”);

B.strepy(str2,“HELL02”);

C.strcpy(str3, “HELL03”)

D.strcpy(str4, “HELLO4”);

31.以下程序的输出结果是    【    】

#include<stdio.h>

main()

{inti:

for(i=l;i<=5;i++)

{if(i%2)

printf(“*”);

else

continue;

printf(“*”);}

printf(“$\n”);I

A.*#*#*#$              B.#*#*#*$             C.*#*#$            D.#*#*$

32.以下for语句构成的循环执行的次数是    【    】

#include<stdio.h>

#define N 2

#define M N+l

#define NUM(M+1)*M/2

main()

{int i,n=0;

for(i=1;i<=NUM;i++)

{n++;printf(“%d”,n);}

printf(“\n”);}

A.5                    B.6                    C.8               D.9

33.有以下程序:

#include<stdio.h>

#define N 6

main( )

{char c[N];int i=0;

for(;i<N;c[i]=getchar(),i++);

for(i=O;i<N;putchar(c[i]),i++);}

输入以下三行,每行输入都是在第一列上开始,<CR>代表一个回车符:

a<CR>

b<CR>

edef<CR>

程序的输出结果是    【  】

A.abedef    B.a    C.a    D.  a

b       b         b

c       cd        edef

d

e

f

34.假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输人命令行:

prg hello good<回车>

则程序的输出结果是    【    】

A.hello good         B.hg           C.hel        D.hellogood

main(int argc,char *argv[])

{int i;

if(arge<=0)return;

for(i=1;j<argc;i++)printf(“%c”,*argv[i]);

}

35.下列关于C语言数据文件的叙述中正确的是    【    】

A.文件由ASCII码字符序列组成,C语言只能读写文本文件

B.文件由二进制数据序列组成,C语言只能读写二进制文件

C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

三、程序题(本大题共6小题,每小题5分,共30分)请在每小题的程序之后写出正确的运行结果。错写、不写均无分。

36.有以下程序:

#include<stdio.h>

main( )

{int C;

While((c=gerchar())!= ‘\n’

{case 0:

case l:putchar(c+4);

case 2:putchar(c+4);break;

case 3:putchar(c+3);

case 4:putchar(c+2);break;

}

printf(“\n”);}

从第一列开始输入以下数据,<CR>代表一个回车符。

2743<CR>

程序的输出结果是                    

37.有以下程序:

#include<stdio.h>

f(inc a)

{int b=0:

static c=3:

a++,c++.b++:

return(a+b+c);}

main()

{int a=2,i,k=O;

for(i=0;i(2;j++)

k+=f(a++):

printf(“%d\n”,k);}

执行后输出的结果是                     

38.有以下程序

#include<stdio.h>

struct stu

{int num;

char name[10];

int age;

};

void fun(struct stu *p)

{printf(“%s\n”,(*p).name);}

main( )

{struct stu students[3]={{9801,“Zhang”,20},

{9802,“Wang”,19l},

{9803,“Zhao”,18}};

fun(students+2);

}

执行后输出的结果是                      

39.有以下程序

void f(int *x,int *y)

{int t;

t=*x;*x=*y;*y=t;

}

main()

{int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;

p=a;q=&a[7];

while(p<q)

if(p,q);

p++;

q–;}

for(i=0;i<8;i++)

printf(“%d,”,a[i]);

}

程序运行后的输出结果是                       

40.有以下程序

main()

{int a=1,b;

for(b=1;b<=10;b++)

{if(a>=8)break;

if(a%2==1)

{a+=5;continue;}

a-=3;

}

printf(“%d\n”,b);

}

程序运行后的输出结果是                      

41.有以下程序

#include “stdio.h”

void WriteStr(char *fn,char *str)

{FILE *fp;

fp=fopen(fn,“W”).

fputs(str,fp);

fclose(fp);

}

main()    。

{WriteStr(“t1.dat”, “start”);

WriteStr(“t1.dat”, “end”);

}

程序运行后,文件t1,dat中的内容是              

四、程序题(本大题共3小题,每小题10分,共30分)根据题意。编写程序。

42.编写一函数prime实现判断一个正整数是否为素数。要求在主函数main中输入一个正整数,并输出是否素数的信息。

例如:若输入11,则输出YES;若输入10,则输出NO。

 

 

 

43.编写一函数sort实现对数组中下标为奇数的元素升序排序。要求在主函数main中输人10个数据,并输出排序后的数据。

例如:下标0  l  2  3  4  5  6  7  8  9

输人12  8  18  2  13  I  2  20  6  4

输出12  l  18  2  13  4  2  8  6  20

44.编写一函数length求字符串的长度,要求在主函数mare中输入字符串,并输出字符串的长度。不能使用strlen库函数。

例如:输入string,则输出6。

点点赞赏,手留余香 给TA打赏

AI创作

评论0

请先

支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性
显示验证码

社交账号快速登录