C语言选择题含答案.docx

上传人:b****7 文档编号:9338834 上传时间:2023-02-04 格式:DOCX 页数:9 大小:18.45KB
下载 相关 举报
C语言选择题含答案.docx_第1页
第1页 / 共9页
C语言选择题含答案.docx_第2页
第2页 / 共9页
C语言选择题含答案.docx_第3页
第3页 / 共9页
C语言选择题含答案.docx_第4页
第4页 / 共9页
C语言选择题含答案.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C语言选择题含答案.docx

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

C语言选择题含答案.docx

C语言选择题含答案

C语言选择题(含答案)

选择题

1.以下叙述正确的是___。

A)在C程序中,main函数必须位于程序的最前面。

B)C语言本身没有输入输出语句。

C)C程序的每行只能写一条语句。

D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

2.下面四个选项中,均是不合法的用户标识符的选项是。

A)AB)floatC)b-aD)_123

P_01a0gototemp

do_AintINT

3、下列四个选项中都是合法的转义字符的

A)‘\’’‘\\’‘\n’B)‘\’‘\017’‘\”’C)‘\018’‘\f’‘xab’D)‘\\0’‘\101’‘x1f’

4、"设所有变量均为整型,则表达式z=(a=2,b=5,b++,a+b)的值是:

A)7B)8C)6D)2

5、若有代数式,则不正确的C语言表达式是:

A)a/b/c*e*3B)3*a*e/b/c

C)3*a*e/b*cD)a*e/c/b*3

6、若希望当A的值为奇数时,表达式的值为”真”,A的值为偶数时,表达式的值为”假”。

则以下不能满足要求的表达式是_____。

A)A%2==1B)!

(A%2==0)

C)!

(A%2)D)A%2

7、以下程序的运行结果是:

main(){intm=6;

if(m++>6)printf("%d\n",m);

e1seprintf("%d\n",--m);}A)4B)5C)7D)6

8、当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是:

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A)1B)2C)3D)6

9、阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为

main(){intx,y,z

scanf("%d%d%d",&x,&y,&z);

printf(“x+y+z=%d\n”,x+y+z);。

}A)x+y+z=48

C)x+y+z=35B)x+y+z=35

D)不确定值

10、"已知各变量的类型说明如下

intk,a,b;

unsignedlongw=5;

doublex=

1."42;

则以下不符合C语言语法的表达式是:

A)x%(-3)B)w+=-2

C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)

11、"设有:

inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b)&&(n=c>d)后n的值为____。

A)1B)2C)0D)

412、"判断char型变量ch是否为大写字母的正确表达式是____。

A)'A'<=ch<='Z'B)(ch>='A')&(ch<='Z')

D)('A'<=ch)AND('Z'>=ch)C)(ch>='A')&&(ch<='Z')

13、"以下描述中正确的是_____:

A)由于do一while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)在while循环体中,循环体至少要执行一次。

C)在do一while循环体中,循环体至少无条件的执行一次

D)do一while循环由do开始,用while结束,在while(表达式)后面不能写分号

14、"已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是____。

if(x>y)

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

A)x=10,y=20,z=30B)x=20,y=30,z=20

C)x=20,y=30,z=10D)x=20,y=30,z=

3015、"若i为整型变量,则以下循环执行次数是:

for(i=2;i!

=0;)printf("%d",i--);

A)无限次B)0次C)1次D)2次

16、"下面程序段:

for(t=1;t<=100;t++)

{scanf("%d",&x);

if(x<0)continue;

printf("%3d",t);}A)当x<0时整个循环结束

B)x>=0时什么也不输出

C)printf函数永远也不执行

D)最多允许输出100个非负整数

17、"若有说明:

inta[3][4];则对a数组元素的正确引用是___。

A)a[2][4]B)a[1,3]C)a[1+1][0]D)a

(2)

(1)

18、"定义如下变量和数组:

intk;

inta[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是:

for(k=0;k<3;k++)printf("%d",a[2-k][k]);

A)369B)753C)963D)35

719、"判断字符串a和b是否相等,应当使用____.

A)if(a==b)

C)if(strcpy(a,b))B)if(a=b)

D)if(strcmp(a,b))

20、"对两个数组a和b进行如下初始化

chara[]="ABCDEF";

charb[]={’A’,’B’,’C’,’D’,’E’,’F’};

则以下叙述正确的是__.

A)a与b数组完全相同B)a与b长度相同

C)a和b中都存放字符串D)a数组比b数组长度长

21、"有两个字符数组a和b,则以下正确的输入语句是_____:

A)gets(a,b);B)scanf(“%s%s”,a,b);

C)scanf(“%s%s”,&a,&b);D)gets(“a”),gets(“b”);

22、"下面程序段的运行结果是___

charstr[]="ABC",*p=str;

printf("%d\n",*(p+2));

(A)0(B)字符'C'的ASCII码(C)字符'C'的地址(D)字符'C'

23、"下面描述正确的是____。

A)两个字符串所包含的字符个数相同时,才能比较字符串

B)字符个数多的字符串比字符个数少的字符串大

C)字符串”STOP”(注:

有一个空格)与”STOP”相等

D)字符串”That”小于字符串”The”

24、"下面判断正确的是____。

A)char*a=“china”;等价于char*a;*a=“china”;

B)charstr[10]={“china”};等价于charstr[10];str[]={“china”};C)char*s=“china”;等价于char*s;s=“china”;

D)charc[4]=“abc”,d[4]=“abc”;等价于charc[4]=d[4]=“abc”;

25、"若用数组名作为函数调用的实参,传递给形参的是____。

A)数组的首地址

B)数组第一个元素的值

C)数组中全部元素的值

D)数组元素的个数

26、"下面函数调用语句含有实参的个数为____。

y=func(a,b,max(d,e));

A)5B)2C)3D)

427、"C语言允许函数值类型缺省定义,此时该函数值隐含的类型是____。

A)float型

B)int型

C)long型

D)double型

28、"在C语言中,形参的缺省存储类是

A)autoB)registerC)staticD)extern

29、"以下正确的函数定义形式是_____:

A)doublefun(intx,inty)

B)doublefun(intx;inty)

C)doublefun(intx,inty);

D)doublefun(intx,y);

30、"在宏定义#definePI“

3.14159”中,用宏名PI代替一个____。

A)常量B)单精度数C)双精度数D)字符串

31、"#defineADD(x)x+x

main(){intm=1,n=2,k=3;

intsum=ADD(m+n)*k;

printf(“sum=%d”,sum);}上面的程序运行结果是_____:

A)sum=9B)sum=10C)sum=12D)sum=

1832、"以下有关宏替换和函数的调用叙述不正确的是____:

A)宏替换和函数的调用均占用运行时间。

B)宏名无类型,函数有类型

C)宏替换只是字符替换,不分配内存,但函数调用要分配内存

D)再调用宏时程序的长度要加长,而函数调用不变

33、"以下程序的输出的结果是

main()

{inti;

for(i=1;i<=2;i++)incre();}incre()

{staticintx=1;

x*=x+1;

printf("%d",x);}A)33B)22C)26D)2

534、"有如下定义

structperson{charname[9];intage;};

strictpersonclass[10]={"Johu",17,

"Paul",19,

"Mary",18,

"Adam”,16,};

根据上述定义,能输出字母M的语句是

A)prinft("%c\n",class[3].mane);

B)pfintf("%c\n",class[3].name[1]);

C)prinft("%c\n",class[2].name[1])

D)printf("%c\n",class[2].name[0]);

35、"以下程序的输出结果是哪一项?

#include

main(){inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;

for(i=0;i<4;i++)

p[i]=&a[i*3];

printf("%d\n",p[3][2]);}

A.输出项不合法

B.6

C.8

D.

1236、"以下程序的输出结果是

unionmyun

{struct{intx,y,z;

}u;

intk;

}a;

main()

{a.u.x=4;a.u.y=5;a.u.z=6;

a.k=1;

printf("%d\n",a.u.y);}A)4B)5C)6D)

137、"以下关于结构体与共用体的说法,其中正确的是

A)共用体同一个内存段可以来存放几种不同类型的成员,但在某一时刻只能存放一个成员。

B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和。

C)共用体每个成员分别占有自己的内存单元。

D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中。

38、"以下程序的输出结果是

longfun(intn){longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;}main(){printf("%ld\n",fun

(5));}A)1B)2C)3D)

439、"下列程序段的输出结果为

intarr[]={6,7,8,9,10};

int*ptr;

ptr=arr;

*(ptr+2)+=2;

printf("%d,%d\n",*ptr,*(ptr+2));

A)8,

1040、"设有如下定义:

int(*ptr)();

则以下叙述中正确的是

A)ptr是指向一维组数的指针变量

B)ptr是指向int型数据的指针变量

C)ptr是指向函数的指针变量,该函数返回一个int型数据

D)ptr是一个函数名,该函数的返回值是指向int型数据的指针

1-5:

BCABC6-10:

CDBDA

11-15:

BCCDD16-20:

BCBDD

21-25:

BBDBA26-30:

CBAAD

31-35:

BACDD36-40:

DABD

B)6,8C)7,9D)6,10

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

当前位置:首页 > 高等教育 > 文学

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

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