试卷三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言试题C

一、选择(30*2)

1、下列关于C语言用户标识符的叙述中正确的是()

A 用户标识符中可以出现下划线和中划线(减号)

B 用户标识符中不可以出现中划线,但可以出现下划线

C 用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.在C语言程序中,说法正确的是___。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套

B. 函数的定义不可以嵌套,但函数的调用可以嵌套

C. 函数的定义和函数的调用都不可以嵌套

D. 函数的定义和函数的调用都可以嵌套

3.变量的指针,其含义为指该变量的()。

A. 值

B. 地址

C. 名

D. 一个标志

4、若有定义:char s[20]=”programming”, *ps=s; 则不能代表字符‘o’的表达式是()。

A. ps+2

B. s[2]

C. ps[2]

D. ps+=2, *ps

5.头文件的扩展名可以是()

A. .h和.obj

B. .h和.c

C. .c和.obj

D. 任意

6.若x、y均为int型变量,z为double型变量,则以下不合法的scanf函数调用语句为__________

A scanf(“%d,%x,%le”,&x,&y,&z); B. scanf(“%2d,%d,%lf”,&x,&y,&z); C.scanf(“%x,%8d,%9.2f”,&x,&y,&z); D. scanf(“%o,%x,%lf”,&x,&y,&z);

7、在宏定义# define E 2.71828中,宏名E代替一个()。

A. 单精度数

B. 双精度数

C. 常数

D. 一个字符串

8.合法的数组定义是()。

A. int a[]=“string”;

B. int a[5]={0,1,2,3,4,5};

C. char a=“string”;

D. char a[]={0,1,2,3,4,5};

9.若i,j已定义为int类型,则以下程序段中

for(i=5;i;i--)

for(j=0;j<4;j++) {…}

循环体的总的执行次数,供选择的答案是___________。

A.20

B. 24

C. 25

D. 30

10、scanf ( )函数的地址表列是用()符号加上变量名表示变量的地址。A.% B.& C.# D.!

11、在C语言的if语句中,用作判断的表达式为()。

A. 关系表达式

B. 逻辑表达式

C. 算术表达式

D. 任意表达式

12、设有以下程序段:

char a[ ]=”study”,*p;

p=a;

printf(“%d”,*(p+5));

执行后的结果为:

A、111

B、0

C、104

D、不确定

13.设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为。

struct student

{ char name[20];

int age;

char sex;

}stu[5], *p;

p=stu;

A. scanf("%s", stu[0].name);

B. scanf("%d", p->age);

C. scanf("%c", &(p->sex));

D. scanf("%d", &stu[0].age);

14、若有以下定义和语句

#include

int a=3,b=4,*,*q,*w;

p=&a;q=&b;w=q;q=NULL;

则以下选项中错误的语句是()

A*q=0; Bw=p; C*p=a; D*p=*w;

15、有以下程序

int *f(int *x,int *y)

{ if(*x<*y)

return x;

else

return y;

}

main()

{ int a=7,b=8,*p,*q,*r;

p=&a; q=&b;

r=f(p,q);

printf(“%d,%d,%d\n”,*p,*q,*r);

}

执行后输出结果是()

A)7,8,8 B)7,8,7 C8,7,7 D 8,7,8

16、有以下程序

main()

{ char *s[]={“one”,”two”,”three”},*p;

p=s[1];

printf(“%c,%s\n”,*(p+1),s[0]);

}

执行后输出结果是()

An,two Bt,one Cw,one Do,two

17、设有如下定义

struct ss

{ char name[10];

int age;

char sex;

}std[3],*p=std;

下面各输入语句中错误的是()

A scanf(“%d”,&(*p).age); Bscanf(“%s”,&);

C scanf(“%c”,&std[0].sex); Dscanf(“%c”,&(p->sex));

18、设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是

A10101001 B10101000 C11111101 D0*******

19、以下叙述中不正确的是()

A C语言中的文本文件以ASCII码形式存储数据

B C语言中对二进制文件的访问速度比文本文件低

C C语言中,随机读写方式不适用于文本文件

D C语言中,顺序读写方式不适用于二进制文件

20、以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。

#include

main()

{ FILE *fout; char ch;

fout=fopen(…abc.txt‟,‟w‟);

ch=fgetc(stdin);

while(ch!=‟#‟)

{ fputc(ch,fout);

ch=fgetc(stdin);

}

fclose(fout);

}

出错的原因是()

A函数fopen调用形式错误B输入文件没有关闭

C函数fgetc调用形式错误D文件指针stdin没有定义

21、若变量c为char类型,能正确判断出c为小写字母的表达式是()。

A'a'<=c<='z' B(c>='a')||(c<='z')

C('a'<=c)and('z'>=c)D(c>='a')&&(c<='z')

22、以下所列的各函数首部中,正确的是()。

Avoid play(var a:Integer var b:Integer)Bvoid play(int a,b)

Cvoid play(int a,int b)Dsub play(a as integer b as integer)

23、以下程序的输出结果是()。

A0 B29 C31 D无定值

fun(int x int y,int z)

{z=x*x+y*y;}

main()

{ int a=31;

fun(5,2,a);

printf("%d",a);

}

24、下列程序段的输出结果是()

A2 l 4 3 B1 2 1 2 C1 2 3 4 D2 1 1 2

相关文档
最新文档