C语言模拟题.docx

上传人:b****6 文档编号:7010118 上传时间:2023-01-16 格式:DOCX 页数:17 大小:43.30KB
下载 相关 举报
C语言模拟题.docx_第1页
第1页 / 共17页
C语言模拟题.docx_第2页
第2页 / 共17页
C语言模拟题.docx_第3页
第3页 / 共17页
C语言模拟题.docx_第4页
第4页 / 共17页
C语言模拟题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言模拟题.docx

《C语言模拟题.docx》由会员分享,可在线阅读,更多相关《C语言模拟题.docx(17页珍藏版)》请在冰豆网上搜索。

C语言模拟题.docx

C语言模拟题

C语言模拟题(选择题)2012.5

1.在计算机上可以直接运行的程序是[1]

[1]A.C语言源程序B.汇编语言程序C.机器语言程序D.高级语言程序

2.一个程序总是从[2]开始执行程序

[2]A.第一行B.第一个函数C.主函数D.最后一个函数

3.C语言中的函数[3]

[3]A.嵌套定义和嵌套调用均可B.可以嵌套定义但不可以嵌套调用

C.嵌套调用和递归调用均可D.可以嵌套调用但不可以递归调用

4.C语言中函数返回值的类型是由[4]决定的

[4]A.return语句中的表达式类型B.调用函数时临时指定

C.定义函数时所指定的函数类型D.对被调用函数声明时指定

5.下列调用函数的说法中不正确的是[5]

[5]A.主调函数和被调函数可以不在同一文件中B.实际参数和形式参数可以同名

C.若用值传递方式,则形式参数不予分配内存D.函数间传递数据可使用全局变量

E.函数调用时,若形、实参数均为数组名,则其传递方式是地址传递方式

6.若用数组名作为函数调用时的实参,则实际上传递给形参的是[6]

[6]A.数组中全部元素的值B.数组的第一个元素的值

C.数组的首地址D.数组元素的个数

7.int(*f)();的含义是[7]

[7]A.函数f()返回一个指向int型数据的指针B.函数f()为int型

C.f为指向函数的指针变量,该函数返回一个int型值D.函数f()为int型指针

8.void作为函数的参数时,表示[8]

[8]A.该函数无返回值B.实参可为任意值C.函数无参数D.该函数可返回任意值

9.以下叙述正确的是[9]

[9]A.do—while语句构成的循环不能用其它语句构成的循环来代替

B.do—while语句构成的循环只能用break语句退出

C.用do—while语句构成的循环,当while后的表达式的值为零时结束循环

D.用do—while语句构成的循环,当while后的表达式的值为非零时结束循环

10.C语言的编译系统对宏命令是[10]

[10]A.和源程序中其他成份同时进行编译B.在程序连接时进行处理

C.在对源程序中其他成份正式编译之前进行预处理D.在程序运行时进行替换处理

11.下面对typedef不正确的叙述是[11]

[11]A.用typedef可以定义各种类型名,但不能定义变量

B.使用typedef有利于程序的通用和移植

C.用typedef可以增加新类型

D.用typedef只是将已存在的类型用一个新的标识符表示

12.以下叙述正确的是[12]

[12]A.#define是C语句,但printf不是B.printf是C语句,但#define不是

C.#define和printf都不是C语句D.#define和printf都是C语句

13.使用共用体union的目的是[13]

[13]A.将一组相同数据类型的数据作为一个整体,以便程序中使用

B.将一组相同数据类型的数据作为一个整体,以便其中的成员共享同一存储空间

C.以便其中的成员共享同一存储空间

D.将一组相关数据作为一个整体,以便程序中使用

14.C语言基本的数据类型包括[14]

[14]A.整型、实型、逻辑型B.整型、实型、字符串型

C.实型、字符型、枚举类型D.整型、实型、指针类型

15.下列数据类型中不属于构造类型的是[15]

[15]A.数组型B.结构型C.枚举型D.共用型

16.在C语言中,[16]类型变量的所有成员以覆盖方式共享存储单元

[16]A.数组型B.结构型C.共用型D.枚举型

17.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是[]

[17]A.0至255B.–256至255C.0至65535D.–32768至32767

18.以下[18]组中的标识符都是合法的C语言用户标识符

[18]A.3abB.classC.printfD.b3

A_10λ1INTa

stgradechar1unsigned

19.合法的常量是[19]

[19]A.2e3.5B.–e–3C.–.5e–3D.’\xfg’

20.合法的字符常量是[20]

[20]A.’\084’B.’ab’C.’\x4a’D.”\0”

21.算术表达式描述为C语言表达式,不正确的是[21]

[21]A.a/b/cB.a/(b*c)C.a/b*cD.(a/b)/c

22.字符串”m\x4a\\\np\102q”的实际长度是[22]

[22]A.9B.15C.7D.16

23.若有定义:

chars[10]=”%d\0a\101”;则strlen(s)的值为[23]

[23]A.10B.9C.2D.无答案

24.”b”在内存中以[24]个字节存放

[24]A.1B.3C.2D.无答案

25.printf(”%d,%d,%d\n”,010,0x10,10);输出结果是[]

[25]A.10,10,10B.16,8,10C.8,16,10D.无答案

26.下列运算符的优先级按从高到低的顺序是[26]

[26]A.<<+&&!

=B.!

=<<+&&

C.+<

=&&D.+!

=<<&&

27.下面不正确的if语句是形式[27]

[27]A.if(x>y);B.if(x==y)x+=y;

C.if(x!

=y)scanf(“%d”,&x)elsescanf(‘%d”,&y);D.if(x

28.已知a=10,b=20,则表达式!

a

[28]A.真B.假C.1D.0

29.若有定义:

inti,j,k,*p;floata,b;[29]是不合法的赋值语句,[30]是正确的表达式

[29]A.++i;B.k=p==&j;C.a=a+b=1;D.k=(i=j=0);

[30]A.a%3B.y=float(i)C.b=(float)i*(a=3)D.p=i

30.若有定义:

floatw;inta,b;则合法的switch语句是[31]

[31]A.switch(w)B.switch(a+b)

{case1.0:

printf(”*\n”);{case1printf(”*\n”);

case2.0:

printf(”**\n”);}case2printf(”**\n”);}

C.switch(w+1.76)D.switch(a);

{case1:

printf(”*\n”);{case1:

printf(”*\n”);

default:

printf(”\n”);case2:

printf(”**\n”);

case1+2:

printf(”***\n”);}default:

printf(”\n”);}

31.数学关系式x≤y≤z可用C语言表达式[32]表示

[32]A.x<=y<=zB.x<=yANDy<=zC.x<=y&&y<=zD.(x<=y)&(y<=z)

32.若有定义和语句:

chara=3,b=6,c;c=a^b<<2;则c的二进制值是[33]

[33]A.00011000B.00011100C.00011011D.00010100

33.若有定义:

intx=4;则表达式x+=x*=x+1的值为[34]

[34]A.5B.20C.40D.无答案

34.若有定义和语句:

inta=4;floatx=7.5,y=4.8;则表达式

a+(int)((int)(x)+y)>>(int)(x–y)的值为[35]

[35]A.1B.2C.3D.4

35.若有定义和语句:

inta=10,b=5,x;charc=’A’;x=a&b&&c<’a’;则x值是[36]

[36]A.真B.假C.0D.1

36.若有定义和语句:

intsp;s=p=5;p=s++,++p,p+2,p++;则p的值是[37]

[37]A.9B.8C.7D.6

37.若有定义:

inta,b;则表达式a=4,b=3,a+b+2,a++,a+b+2的值为[38]

[38]A.12B.11C.10D.无答案

38.若有定义:

floata=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为[39]

[39]A.6.0B.6C.0.0D.无答案

39.下面程序的输出结果是[40]

main()

{doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;

printf(”%d\n”,d*y);}

[40]A.3B.3.2C.0D.3.07

40.下面程序的输出结果是[41]

main()

{intk=17;printf(”%d,%o,%x\n”,k,k,k);}

[41]A.17,17,17B.17,021,0x11C.17,21,11D.17,0x11,021

41.设a、b、c均为int型变量,则执行下面程序段后,a值为[42],b值为[43],c值为[44]

a=b=c=1;++b&&++c||++a;

[42]A.0B.2C.1D.错误

[43]A.0B.1C.2D.错误

[44]A.0B.1C.2D.错误

42.设m、n、x均为int型变量,则执行下面程序段后,x值为[45],m值为[46],n值为[47]

m=6;n=5;x=––m==n++?

––m:

++n;

[45]A.7B.6C.4D.5

[46]A.5B.6C.4D.7

[47]A.7B.5C.6D.4

43.while(!

x)中!

x与下面条件[48]等价

[48]A.x!

=1B.x==1C.x==0D.x!

=0

44.若程序中含有定义:

structabc{intx;inty;}

structabcs1,s2;则[49]

[49]A.能编译、链接、运行B.能编译、链接,但不能运行

C.编译时出错D.能编译、但链接出错

45.printf(“a\bre\’hi\’y\\\bou\n”);输出结果是[50]

[50]A.a\bre\’hi\’y\\\bou\nB.a\bre\’hi\’y\\\bou\C.re’hi’youD.无答案

46.若有定义和语句:

intx;floaty;charz[10],c;

scanf(”%3d%f%3s%c”,&x,&y,z,&c);

执行时输入12345└┘└┘└┘book└┘$↙

则x的值是[51],y的值是[52],z的值是[53],c的值是[54]

[51]A.12345B.45C.123D.无答案

[52]A.123.0B.45C.45.0D.无答案

[53]A.└┘└┘└┘B.bookC.booD.无答案

[54]A.$B.└┘C.kD.无答案

47.若执行下面程序时输入pen↙

book↙则结果是[55]

#include

#include

main()

{chara1[5],a2[5];scanf(”%s”,a1);gets(a2);

puts(a1);puts(a2);printf(”%d\n”,strlen(a2));}

[55]A.penB.penbookC.penD.无答案

book

400

48.C语言中,对于存储类型为[56]的变量,只有在使用它们时才占用内存单元

[56]A.static和autoB.register和extern

C.auto和registerD.register和static

49.对数组a的正确定义为[57]

[57]A.inta(10);B.intn=10,a[n];

C.#defineSIZE10D.intn;scanf(”%d”,&n);

inta[SIZE];inta[n];

50.若执行下面程序时输入pen↙

book↙则结果是[58]

#include

#include注意:

比较本题与47。

区别

main()

{chara1[5],a2[5];gets(a1);gets(a2);

puts(a1);puts(a2);printf(”%d\n”,strlen(a2));}

[58]A.penB.penbookC.penD.无答案

book

004

51.若执行下面程序时输入aa└┘bb↙

cc└┘dd↙则结果是[59]

#include

main()

{chara1[5],a2[5],a3[5],a4[5];scanf(”%s%s”,a1,a2);gets(a3);gets(a4);

puts(a1);puts(a2);puts(a3);puts(a4);}

[59]A.aaB.aaC.aaD.aa└┘bb

bbbbbbcc

cc└┘ddccdd

ddcc└┘dd

52.switch语句中的各个case条件不能是[60]

[60]A.字符常量B.值大于等于零的整型常量表达式

C.一般表达式D.值小于零的整型常量表达式

53.若有定义和语句:

inta=8,b=7,c=6,x=1;

if(a>6)if(b>7)if(c>8)x=2;elsex=3;

则x的值是[61]

[61]A.3B.2C.1D.0

54.若有定义和语句:

inta,b,c;a=b=1;

c=(++a>0)?

5:

(++b>0)?

6:

7;

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

则输出结果是[62]

[62]A.227B.126C.215D.无答案

55.若有定义和语句:

inta,b,c;a=b=c=0;

0>1?

a++:

1>0?

b++:

c++;

printf(”%d%d%d\n”a,b,c);则输出结果是[63]

[63]A.111B.110C.010D.无答案

56.若有定义和语句:

inti=10;

switch(i)

{case9:

i+=1;

case10:

i+=1;

case11:

i+=1;break;

case12:

i+=1;

default:

i+=1;}则i的值是[64]

[64]A.14B.13C.12D.无答案

57.下面程序的输出结果是[65]

main()

{inti,a,b,c,d,e;

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

{a=b=c=d=e=0;

switch(i){case1:

a=1;

case2:

b=2;cotinue;

case3:

c=3;

case4:

d=4;break;

case5:

e=5;}

printf(”%d%d%d%d%d”,a,b,c,d,e);}}

[65]A.10000B.12000C.00340D.无答案

020000200000040

003000034000005

0004000040

0000500005

58.若有定义:

inti,k;则for循环语句:

for(i=0,k=–1;k=1;i++,k++);是[66]

[66]A.循环零次B.循环1次C.循环无穷多次D.循环结束条件不合法

59.若有定义和语句:

inti;for(i=1;i<=3;i++);printf(”%d”,i);

则输出结果是[67]

[67]A.123B.3C.4D.无答案

60.与下述程序段不等价的是[68]

if(a<=b)x=1;elsey=2;

if(a>b)printf(“****y=%d\”,y);

elseprintf(“#####x=%d\n”,x);

[68]A.if(a<=b){x=1;printf(“#####x=%d\n”,x);}

else{y=2;printf(“****y=%d\”,y);}

B.if(a>b){y=2;printf(“****y=%d\”,y);}

else{x=1;printf(“#####x=%d\n”,x);}

C.if(a<=b)x=1;printf(“#####x=%d\n”,x);D.if(a<=b)x=1;elsey=2;

elsey=2;printf(“****y=%d\”,y);if(a<=b)printf(“#####x=%d\n”,x);

elseprintf(“****y=%d\”,y);

61.以下循环体的执行次数是[69]

main()

{inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf(“%d\n”,i);}

[69]A.3B.2C.1D.0

62.若有定义:

intk;下面不会出现死循环的程序段是[70]

[70]A.k=3379;B.k=100;

while(k%2==k++%2)k++;while

(1){k=k%100+1;if(k>100)break;}

C.k=0;D.for(;;);

do{++k;}while(k>0);

63.下面程序的输出结果是[71]

main()

{doubled;floatf;longl;inti;i=f=l=d=20/3.0;

printf(”%d,%ld,%f,%f\n”,i,l,f,d);}

[71]A.6,6,6.000000,6.000000B.6,6,6.666667,6.666667

C.6,6,6.000000,6.666667D.6,6,6.666667,6.000000

64.下面程序的输出结果是[72]

main()

{inti;

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

{if(i%2)printf(”*”);elsecontinue;printf(”#”);}

printf(”$\n”);}

[72]A.*#*#$B.#*#*#*$C.*#*#*#$D.#*#*$

65.下面程序的输出结果是[73]

main()

{intk,j,x=0;

for(k=1;k<=2;k++)[73]A.13

{x++;B.3

for(j=k;j<=5;j++){if(j%3==0)break;x++;}C.7

x++;}printf(”%d\n”,x);}D.无答案

66.下面程序的输出结果是[74]

main()

{intx=1,y=0,a=0,b=0;

switch(x){case1:

switch(y){case0:

a++;break;

case1:

b++;break;}

case2:

a++;b++;break;

case3:

a++;b++;}

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

[74]A.a=1,b=0B.a=1,b=1C.a=2,b=1D.a=2,b=2

67.若有定义和语句:

intx=3;do{printf(“%3d”,x–=2);}while(!

(––x));

则输出结果是[75]

[75]A.└┘└┘1B.└┘└┘3└┘└┘0C.└┘└┘1└┘–2D.死循环

68.计算平方数时不可能引起二义性的宏定义是[76]

[76]A.#defineSQR(x)x*xB.#defineSQR(x)(x)*(x)

C.#defineSQR(x)((x)*(x))D.#defineSQR(x)(x*x)

69.下面程序的输出结果是[77]

#defineMA(x)x*(x-1)

main()

{inta=1,b=2,j;j=1+a+b;printf(”%d,%d\n”,MA(1+a+b),MA(j));}

[77]A.8,8B.12,12C.8,12D.无答案

70.下面程序的输出结果是[78]

#includemain()

intx,y;{inta=9,b=5;

f()x=a+b;y=a-b;

{inty,a=25,b=10;f();

x=a+b;y=a-b;printf(”%d,%d\n”,x,y);}

return;}

[78]A.14,4B.35,15C.35,4D.14,15

71.下面程序的输出结果是[79]

intx=1;main()

f(){inti;

{staticinti=2;intx=10;for(i=1;i<4;i++){++x;f();}

x+=++i;printf(”%d,”,x);}printf(”%d\n”,x);}

[79]A.13,17,22,4B.13,14,15,15C.13,14,15,4D.无答案

72.下面程序的输出结果是[80]

main()[80]A.10192

{intx=10,y=10,i;B.9876

for(i=0;x>8;y=++i)C.101091

printf(”%3d%3d”,x––,y);}D.10990

73.若有定义和语句:

doubler=99,*p=&r;*p=r;则正确的叙述是[81]

[81]A.以上两处的*p含义相同,都是给指针变量p赋值

B.在“doubler=99,*p=&r;”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1