本科C语言模拟二(含答案)

2020-04-18 06:48

一、单选题:(每题1.5分,共60分)

1、 C程序是( ) A. 顺序执行

B. 从Main函数开始 C. 从函数体开始 D. 任意语句 答案: B

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

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

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

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

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

3、 算法的表示方法有________。 A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言

B. 高级语言,汇编语言,机器语言 C. C语言,QBASIC语言,InterDev D. 图形图像法,描述法,编程法 E. 计算机语言 答案: A

4、 以下选项中,非法的字符常量是( )

A. '\\t' B. '\\17' C. \ D. '\\xaa' 答案: C 5、 以下所列的C语言常量中,错误的是

A. 0xFF B. 1.2e0.5 C. 2L D. '\\72' 答案: B

6、 下列变量名合法的是( ) A. #1 B. $567

C. a-b

D. m_number 答案: D 7、 下面四个选项中,均是不正确的八进制数或十六进制数的选项是 A. 016 0x8f 018 B. 0abc 017 0xa C. 010 -0x11 0x16 D. 0a12 7ff -123 答案: D

8、 sizeof(float)是

A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用

D. 一个不合法的表达式 答案: B

9、 C语言中,double类型数据占( )个字节,char类型数据占( )个字节 A. 1 B. 2 C. 4

D. 8和1 答案: D

10、 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 A. c=b=a;

B. (a=c) ‖(b=c) ; C. (a=c) &&(b=c); D. a=c=b; 答案: C 11、 若已定义x和y为double型,则表达式:x=1,y=x+3/2的值是( ) A. 1 B. 2 C. 2.0 D. 2.5 答案: C 12、 执行语句x=(a=3,b=a--)后x,a,b的值为; A. 3 3 2 B. 3 2 2 C. 3 2 3 D. 2 3 2 答案: C

13、 语句

printf(\的输出结果是

A. a\\bre\\'hi\\'y\\\\\\bou B. a\\bre\\'hi\\'y\\bou C. re'hi'you

D. abre'hi'y\\bou 答案: C

14、 在下列运算符中,优先级别最高的是 A. <= B. = C. % D. && 答案: C

15、 若执行下面的程序时从键盘上输入3和4,则输出是 main() {

int a,b,s; a=3,b=4;

scanf(\s=a+b;

printf(\ printf(\}

A. 7,7 B. 7,5 C. 6,7 D. 7,6 答案: B

16、 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( )。

#include main()

{ int x;

seanf(”%d”,&x);

if(x++>5)printf(”%d”,x); else printf(”%d\n”,x--);} A. 7和5 B. 6和3 C. 7和4

D. 6和4 答案: A

17、 设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,

则逻辑表达式(m=a > b)&&(n=c > d)运算后,n的值为:

A. 0 B. 1 C. 2 D. 3 答案: C

18、 逻辑运算符两侧运算对象的数据类型

A. 只能是0或1

B. 只能是0或非0正数

C. 只能是整型或字符型数据 D. 可以是任何类型的数据 答案: D

19、 表示关系X < =Y < =Z的C语言表达式为________。

A. (X < =Y)&&(Y < =Z) B. (X < =Y)AND(Y < =Z) C. (X < =Y < =Z)

D. (X < =Y)&(Y < =Z) 答案: A

20、 判断字符型变量x是否是大写字母的正确的表达式______. A. 'A'<=x<='Z' B. (x>=A)&&(x<=Z)

C. ('A'<=x)&&('Z'=>x) D. (x>='A')&&(x<='Z') 答案: D

21、 有如下程序 main0

{ int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++

case 2: a++;b++ }

printf(\}

该程序的输出结果是 A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2 答案: A

22、 已知 int x=10,y=20,z=30;以下语句执行后x,y,z的值是 if(x>y)

z=x;x=y;y=z;

A. x=10,y=20,z=30 B. x=20,y=30,z=30 C. x=20,y=30,z=10 D. x=20,y=30,z=20 答案: B

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

{int a=100,x=10,y=20,ok1=5,ok2=0; if(x < y) if(y!=10) if(!ok1) a=1; else

if(ok2) a=10; a=-1;

printf(\ }

A. 1 B. 0 C. -1

D. 值不确定 答案: C

24、 i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5; i; i--) for(j=0; j < 4; j++){?} A. 20 B. 24 C. 25 D. 30

答案: A

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

main( )

{ int x=10,y=10,i; for(i=0;x > 8;y=++i)

printf(\,%d \,x--,y); }

A. 10 1 9 2 B. 9 8 7 6 C. 10 9 9 0 D. 10 10 9 1 答案: D 26、 执行语句: for (i=1;i++ < 4;);后,变量i的值是______. A. 3 B. 4 C. 5 D. 不定 答案: C

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

{ int i,j,x=0; for(i=0;i < 2;i++) { x++;

for(j=0;j < 3;j++)

{ if(j%2) continue; x++; } x++ }

printf(\,x); }

A. x=4 B. x=8 C. x=6 D. x=12 答案: B

28、 有以下程序段 int k=0

while(k=1)k++;

while 循环执行的次数是 A. 无限次

B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次 答案: A 29、 在while(x)语句中的x与下面条件表达式等价的是( )。 A. x==0 B. x==1 C. x!=0 D. x!=1 答案: C 30、 执行下面的程序段后,变量k中的值为

s[0]=k; k=s[1]*10; A. 不定值 B. 33 C. 30 D. 10 答案: A

31、 若有说明:int a[10];则对a数组元素的正确引用是 A. a[10] B. a[3,5] C. a(5)

D. a[10-10] 答案: D

32、 设有数组定义:

char array[]=”China”;,则数组array所占的空间为( )。 A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节 答案: C

33、 从下列选项中选择不会引起二义性的宏定义是( )。

A)#define POWER(X)X*X B)#define POWER(X)(X)*(X) C)#define POWER(X)(X*X) D)#define POWER(X)((X)*(X)) A. A B. B C. C D. D

答案: D

34、 在说明语句:int *f();中,标识符f代表的是

A. 一个用于指向整型数据的指针变量

B. 一个用于指向一维数组的行指针 C. 一个用于指向函数的指针变量 D. 一个返回值为指针型的函数名 答案: D 35、 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是 A. i=*p; B. p*=*&j; C. i=&j; D. i=**p; 答案: D

36、 下面程序的输出是 main()

{ char x=040;

printf(\}

A. 100 B. 160 C. 120 D. 64 答案: D

37、 C语言中____函数的递归调用。 A. 允许 B. 不允许

C. 由用户自己而定 D. 不确定 答案: A

38、 关于建立函数的目的,以下正确的说法是

A. 提高程序的执行效率 B. 提高程序的可读性 C. 减少程序的篇幅

D. 减少程序文件所占内存 答案: B

39、 有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是

A. 3 B. 4 C. 5 D. 有语法错 答案: A 40、 以下函数 fff(float x) { printf(”%d\n”,x*x); } 的类型是( )。 A. 与参数x的类型相同 B. void类型 C. int类型 D. 无法确定 答案: C 填空题:(每题1.5分,共24分)

1、 在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为_____;一个double型数据在内存中所占的字节数为_________ 答案: 4,8 2、 设有以下变量定义,并已赋确定的值 char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为__________ 。 答案: double 3、 设x和y均为int型变量,且x=1,y=2,则以下表达式:0+x/y的值为___ 。 答案: 0 4、 若a是int型变量,则计算表达式后a的值为_______ a=25/3%3 答案: 2 5、 语句:x++;?++x; x=x+1;?x=l+x; ,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同) 答案: X+=1 6、 若变量已正确定义,以下语句段的输出结果是——。 x=0;y=2;z=3;

switch(x) { case O:switch(y==2) { case 1:printf(”*”);break; case 2:printf(”%”);break; } case 1:switch(z) { case 1:printf(”$”); case 2 t printf(”$”);break; d 答案: *# 7、 设x,y、z均为int型变量,请写出描述“x或Y中至少有一个小于Z”的表达式——。 答案: x

8、 已知char ch;则判断ch是英文字符的逻辑表达式是_______________ 答案: (ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A') 9、 表示条件:10 < x < 100或x < 0的C语言表达式是________。

答案: (X > 10&&X < 100)|| X < 0 10、 请写出以下程序的输出结果——。 #include main() { int a=100: if(a>100) printf(”%d\n”,a>100); else pIintf(”%d\n”,a<=100);} 答案: ! && || 11、 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include < stdio.h >


本科C语言模拟二(含答案).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:椭圆、双曲线、抛物线典型例题整理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: