C语言模拟试卷(带答案)

  • 格式:doc
  • 大小:83.00 KB
  • 文档页数:5

下载文档原格式

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

精品文档

单选题:

1、执行下面的程序段后,变量k中的值为

s[0]=k; k=s[1]*10;

A. 不定值

B. 33

C. 30

D. 10

答案: A

2、设有以下定义:

#define N 3

#define Y(n) ( (N+1)*n)

则执行语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+

(4*5+1)

A. 出错

B. 42

C. 48

D. 54

答案: C

3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____

A. 1

B. 2

C. 2.0

D. 2.5

答案: c

4、请选出以下语句的输出结果____

printf("%d\n",strlen("\t\ 065\xff\n"))

A. 5

B. 4

C. 8

D. 输出项不合法,无正常输出

答案: B

5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C 程序中的

else总是与____组成配对关系。

A. 其上面距它最近的,并且没有其他else与其配对的if相配对

B. 在同一行上的if

C. 缩排位置相同的if

D. 在其之前未配对的if

答案: A

6、若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y));

上面程序片段的输出结果是

A. 200

B. 100

C. 100 200

D. 输出格式符不够,输出不确定的值

答案: A

7、请读程序片段(字符串内没有空格字符):

printf("%d\n", strlen("ATS\n012\1\\"));

上面程序片段的输出结果是

A. 11

B. 9

C. 10

D. 8

答案: B

8、设有以下程序段

int x=0,s=0;

while(!x!=0) s+=++x;

printf("%d",s);

则______

A. 运行程序段后输出0

B. 运行程序段后输出1

C. 程序段中的控制表达式是非法的

D. 程序段执行无限次

答案: B

9、阅读下列程序:

main( )

{ int n[3],i,j,k;

for(i=0;i〈3;i++)

n[i]=0;

k=2;

for (i=0;i < k;i++) i=0: n[0]=1,n[1]=2 i=1: =3 =3

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

n[j]=n[i]+1;

printf("%d\n",n[1]);

}

下述程序运行后输出结果是

A. 2

B. 1

C. 0

D. 3

答案: D

10、输入一个华氏温度,要求输出摄氏温度。计算公式为:

c=5/9(F-32),以下程序正确的是()

A. main() { float c,F; scanf("%f,%f",&c,&F); c=5/9*(F-32); printf("摄氏温度是:%f\n",c); }

精品文档

B. main() { float c,F; scanf("%f,%f",&c,&F); c=5*(F-32)/9; printf("摄氏温度是:%f\n",c); }

C. main() { float c,F; scanf("%f,%f",&c,&F); c=5%9*(F-32); printf("摄氏温度是:%f\n",c); }

D. main() { float c,F; scanf("%f,%f",&c,&F);

c=5.0/9.0(F-32); printf("摄氏温度是:%f\n",c); } 答案: B

11、以下程序的输出结果是

main( )

{ int k=17;

printf("%d,%o,%x \n",k,k,k);

}

A. 17,021,0x11

B. 17,17,17

C. 17,0x11,021

D. 17,21,11

答案: D

12、请读程序:

main()

{

int x=1,y=0,a=0,b=0;

switch(x)

{ case 1:

switch(y)

{ case 0: a++;break;

case 1: b++;break;

}

case 2:

a++;b++;break;

}

printf("a=%d,b=%d\n",a,b);

}

上面程序输出结果是

A. a=2,b=1

B. a=1,b=1

C. a=1,b=0

D. a=2,b=0

答案: A

13、 C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是____.

A. 单纯值传递

B. 单纯地址传递

C. 值传递和地址传递都有可能

D. 由实参传给形参,然后由形参传回给实参,即是双向传递

答案: A

14、下列不正确的转义字符是( )

A. '\\'

B. '\'

C. '\101'

D. '\0'

答案: B

15、下列语句正确的是( )

A. if(a > b > c) temp=a

B. if((a=b) > 0) temp=a

C. int a=b=c=4

D. int a;scanf(%d,a)

答案: B

16、以下说法中正确的是( )。

A. C语言程序中是从第一定义的函数开始执行

B. 在C语言程序中,要调用的函数必须在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

答案: C

17、下列说法中正确的是____。

A. 一个数组能够存储许多不同类型的值

B. 数组的下标可以是float数据类型

C. 如果初始化值列表中的个数少于数组的元素的个数,C编译器会自动补齐

D. 初始化值列表中的值的个数多于数组元素的个数是错误的

答案: D

18、设有说明:char w;int x;float y;double z;则表达式

w*x+z-y值的数据类型为

A. float

B. char

C. int

D. double

答案: D

19、设以下变量均为int类型,则值不等于7的表达式是

A. (x=y=6,x+y,x+1)

B. (x=y=6,x+y,y+1)

C. (x=6,x+1,y=6,x+y)

D. (y=6,y+1,x=y,x+1)

答案: C

20、以下不正确的if语句形式是

A. if(x>y&&x!=y)t=x++;

B. if(x==y) x+=y;

相关主题