《c程序设计》考试试题2

C语言测试题

一、选择题

1、 下列不属于 C语言关键字的是_______

A.default B.register C.enum D.external

2、 以下运算符中优先级最低的为_______

A, && B, & C, || D, =

3、 已知:float x=1, y; 则:y=++x*++x的结果为

A,y=9 B, y=6 C, y=1 D, 表达式是错误的

4、 有关宏代换叙述中错误的是_______

A,宏代换不占用运行时间 B,宏名无类型 C,宏代换只是字符替换 D,宏名必须用大写字母表示

5、 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表

达式为_______

A, a<>0 B, !a C,a=0 D, a

6、 已知:int x,a,b; 下列选项中错误的if 语句是_______

A,if (a=b) x++ B, if (a=

7 执行语句“for(i=0; i++<3;);”后,变量i的值为_______ A,2 B,3 C,4 D, 5

8 在while(x)中的x与下面条件表达式等价的是_______

A,x= =0 B, x= =1 C, x!=1 D, x!=0

9、 定义int i=1; 执行语句“while (i++<5); ”后,i的值为

A,3 B,4 C,5 D,6

10、 C语言中进行乘方运算,例如求a的3次方,可以使用_______

A, a^3 B,a**3 C, pow(a,3) D,power(a,3)

11、 C语言中的返回值是由_______决定的。

A,return语句中的表达式类型 B,调用该函数的主调函数类型 C,调用函数时临时决定 D,定义函数时所指定的函数类型

12、 在一个源文件中定义的外部变量的作用域是_______

A,本文件的全部范围 B,本程序的全部范围 C,本函数的全部范围 D,从定义该变量的位置开始至本文件结束 13、 在一个C圆程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要的存储类别是_______

A, extern B,register C, auto D, static

14、 调用strlen(“abcd\\0ef\\0g”)的返回值是_______

A,4 B,5 C,8 D,9

15、 若用数组名作为函数调用时的实参,则实际上传递给形参的是_______

A,数组首地址 B,数组的第一个元素值 C,数组中全部元素的值 D,数组元素的个数

16、 已知:char str1[20]=”abcde”, str[20]=”xyz”; 则执行语句: printf(“%d”, strlen(strcpy(str1,str2)));

输出结果是_______

A,9 B,3 C,5 D,8

17、 以下不能对二维数组a进行正确初始化的语句是_______

A,int a[2][3]={0} B, int a[ ][3]={{1,2},{0}} C, int a[2][3]={{1,2},{3,4},{5,6}} D, int a[ ][3]={1,2,3,4,5,6}

18、 在C语言中,二维数组在内存中的存放顺序是_______

A,按行存放 B,按列存放 C,由用户自己定义 D,由编译器决定

19、 选择正确的说明语句

A,int a[‘a’] B,int a[3,4] C,int a[ ][ ] D,int a(*a)[10]

20、 已知:char s[10],*p=s, 则在下列语句中,错误的语句是_______

A,p=s+5; B,s=p+s C, s[2]=p[4] D, *p=s[0]

21、 C语言主函数main最多允许有_______个参数

A,1 B,2 C,0 D,3

22、 已知:int x[ ]={1,3,5,7,9,11},*ptr=x; 则能正确引用数组元素的语句是_______

A,x B, *(ptr--) C,x[6] D, *(--ptr)

23、 下列结论中正确的有_______

A,所有的递归程序均可以采用非递归算法实现 B,只有部分递归程序可以用非递归算法实现

C,所有的递归程序均不可以采用非递归算法实现 D,以上说法都不对

24、 在C语言的函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了funA,则_______

A,称为函数的直接递归 B,称为函数的间接递归

C,称为函数的递归定义 D,C语言中不允许这样的递归形式

二、阅读程序

1、 编译执行下列程序,结果是

# include main( ) {

int i=6, y=4,z=2; pintf (“%d\\n”, i/y%z); }

A,错误信息,不能执行 B,0 C,1 D,2

2、 下面程序的输出是

# define SUB(X,Y) (X)*Y main( )

{ int a=3,b=4;

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

A,12 B,15 C,16 D,20

3、 阅读程序,选择运行结果

# include main( )

{ char c=’A’; if (‘0’<=c<=’9’)

printf (“YES”); else

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

A,YES B, NO C, YESNO D, 语句错误

4、 阅读程序,选择运行结果

# include main( )

{ int a, b,c;

a=1; b=2; c=3;

if (a>b) if(a>c)

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

A, 1 2 B, 2 3 C,3 D, 以上都不对

5、 若运行下列程序时,输入以下指定数据,请选择正确的执行结果

# include main( ) { int s;

while( (s=getchar( ) )!=’\\n’) { switch (s-‘2’) { case 0:

case 1: putchar (s+4);

case 2: putchar(s+4); break; case 3: putchar (s+3);

default: putchar(s+2); break; } }

printf(“\\n”); }

自第一列开始输入:2473〈CR〉

A,6688766 B,66778777 C,668966 D,668977

6、 下面程序的运行结果是

# include main( ) { int i=1;

while (i<=15)

if (++i%3!=2) continue; else printf(“%d”,I); printf(“\\n”); }

7、 下面程序的运行结果是

# include void main( ) { int j,i,k=0;

for (j=11; j<=30; j++)

{ if (k= =0) printf(“\\n”); for (i=2; i

if (!(j%i) ) break; if (i>=j-1)

{printf (“%d\\t”, j); k++; } } }

8、 请选择下列程序的运行结果

# include fun(int *p) { int a=10; p=&a;

++a; }

main( ) { int a=5; fun(&a);

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

A,5 B, 6 C, 10 D, 11

9、 请选择下列程序的运行结果

# include try ( )

{ static int x=3; x++;

return (x); }

main( ) { int i, x;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4