c语言选择题.docx

上传人:b****5 文档编号:28269698 上传时间:2023-07-10 格式:DOCX 页数:33 大小:33.73KB
下载 相关 举报
c语言选择题.docx_第1页
第1页 / 共33页
c语言选择题.docx_第2页
第2页 / 共33页
c语言选择题.docx_第3页
第3页 / 共33页
c语言选择题.docx_第4页
第4页 / 共33页
c语言选择题.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

c语言选择题.docx

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

c语言选择题.docx

c语言选择题

1.以下运算符中优先级最低的是(C)。

A、&&B、|C、||D、&

2.不合法的if语句是:

(D)

A、if(表达式)语句1else语句2B、if(表达式)语句

C、if(表达式1)语句1elseif(表达式2)语句2else语句3。

D、if关系表达式语句1else语句2

3.以下不是无限循环的语句为(D)。

A、while

(1){x++;}B、for(;;x++=i);

C、for(i=10;;i--)sum+=i;D、for(y=0,x=1;x>++y;x=i++)i=x;

4.调用函数时,基本类型变量做函数参数,实参和对应的形参(B).

A、不占用存储单元B、各自占用独立的存储单元

C、同名时才能共用存储单元D、共占用一个存储单元

5.已知有宏定义#defineF(a)a*(a+2),则F(4+3)的值为(D).

A、24B、15C、63D、31

a[10];给数组a的所有元素分别赋值为1、2、3、……的语句是(D)

A、for(i=1;i<11;i++)a[i]=i;B、for(i=1;i<11;i++)a[0]=1;

C、for(i=1;i<11;i++)a[i+1]=i;D、for(i=1;i<11;i++)a[i-1]=i;

7.若有说明:

inta[3][4];则数组a中各元素(A)。

A、不能得到确定的初值B、可在程序的编译阶段得到初值0

C、可在程序的运行阶段得到初值0D、可在程序的编译或运行阶段得到初值0

8.已定义floata;inti;选择正确的输入语句(C).

A、scanf("%6.2f%3d",&a,&i);B、scanf("%f%s",&a,&i);

C、scanf("%6f%3d",&a,&i);D、scanf("%f%d",a,i);

9执行下面程序段后,k的值是:

(B)

intk=2;

switch(k+1)

{case3:

k+=1;

case4:

k--;break;

case5:

k*=3;

case6:

++k;}A、10B、2C、28bD、27

11.以下程序段中,能够正确地执行循环的是(B)。

A、ints=6;m:

if(s<100)exit(0);elses-=2;gotom:

B、ints=6;dos-=2;while(s);

C、for(i=1;i>10;i++)

D、staticinta;while(a)

12.运行结果是"1112"的程序段是:

请在A处填写正确内容(B)。

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

___A___

A、for(j=1;j<=2;j++)printf("%3d",10*i+j);break;

B、{for(j=1;j<=2;j++)printf("%3d",10*i+j);break;}

C、for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;

D、{for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;}

13.设有以下定义:

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

int*p=a;

则数值为6的表达式是(D).

A、p+5B、*p+6C、*(p+6)D、*p+=5

14.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(B)(说明:

'\b'是退格符)。

A、a\bre\'hi\'y\\\bouB、re'hi'youC、a\bre\'hi\'y\bouD、abre'hi'y\bou

14.执行下面程序段后,i的值是(A).

inti=10;

switch(i)

{case9:

i+=1;

case10:

i--;

case11:

i*=3;

case12:

++i;}A、28B、10C、9D、27

15.从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句(D)。

#include""

main()

{intmin=0,a;

do

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

if(min>a)min=a;}

while(___A___);

printf("%d",min);}A、a=0B、a==0C、a>0&&a<0D、a!

=0

16.下面程序的运行结果是:

(B)。

#include""

voidmain()

{intx,i;

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

{x=i;

If(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf("%d",x);}}A、4284B、2870C、3981D、2668

17.以下函数的类型是(C)。

fff(floatx)

{return5;}AvoidB、与参数x的类型相同C、int类型D、无法确定

18设有以下宏定义:

#defineM4

#defineT(t)((M+1)*t)则执行语句:

y=2*(M+T(4+1));后,y的值为(B).

A、28B、50C、出错D、58

19.下面判断正确的是(D)。

A、charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

B、charstr[10]={"china"};等价于charstr[10];str[]={"china"};

C、char*a="china";等价于char*a;*a="china";

D、char*s="china";等价于char*s;s="china";

20.以下不正确的叙述是(B)。

A、在C程序中所用的变量必须先定义后使用

B、当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值

C、程序中,APH和aph是两个不同的变量

D、若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变

21.设:

longw=65535,t=7654321;

根据下面的输出结果,正确的程序段是(C).

w=65535,t=7654321

end

A、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');

B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");

C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");

D、printf("w=%5u,t=%7u\n",w,t);printf("end");

23.在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式(C)。

A、只能用逻辑表达式或关系表达式B、只能用关系表达式C、可用任意表达式D、只能用逻辑表达

25.以下语句中,循环次数不为10次的语句是(A)。

A、for(i=1;i<10;i++);B、i=1;do{i++;}while(i<=10);

C、i=10;do{i--;}while(i>0);D、i=10;while(i>0){--i;}

26下面程序的运行结果是(A).

#include""

voidmain()

{inta=1,b=10;

Do

{a++;

b-=a;}

while(b-->0);

printf("a=%d,b=%d",a,b);}

A、a=4,b=-2B、a=4,b=-1C、a=2,b=-1D、a=2,b=-2

27.设j和k都是int类型,则下面的for循环语句(D)。

for(j=0,k=0;j<=9&&k!

=876;j++)scanf("%d",&k);

A、最多执行9次B、是无限循环C、循环体一次也不执行D、最多执行10次

28.若有说明:

inta[][4]={0,0};则下面不正确的叙述是(A)。

A、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

B、数组a的每个元素都可得到初值0C、二维数组a的第一维大小为1

D、因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1

29.以下错误的描述是:

函数调用可以(D)。

A、出现在执行语句B、做为一个函数的实参C、出现在一个表达式中D、做为一个函数的形参

30.下列说法中正确的是(C).

A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.

C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.

31.与实际参数为实型数组名相对应的形式参数不可以定义为(C)。

A、float*a;B、float(*a)[3];C、floata;D、floata[];

32.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。

A、x+n=I;B、x==5;C、x=n/;D、5=x=4+1;

33.用scanf函数输入数据,使得x=,y=选择正确的输入语句(D).

A、scanf("x=%3f",x);scanf("y=%5f",&y);B、scanf("x=%f",&x);scanf("y=%f",y);

C、scanf("x=%3.1f",&x);scanf("y=%f",&y);D、scanf("x=%f",&x);scanf("y=%f",&y);

34.下面叙述中错误的是(B)。

A、在其它函数中定义的变量在主函数中也不能使用B、主函数中定义的变量在整个程序中都是有效的

C、复合语句中定义的变量只在该复合语句中有效D、形式参数也是局部变量

35.设有宏定义#defineMAX(x,y)(x)>(y)(x):

(y),则F=4*MAX(2,3)的值为(B).

A、3B、2C、12D、8

36.设有以下定义:

intw[3][4]={{0,1},{2,4},{5,8}};

int(*p)[4]=w;

则数值为4的表达式是(B).

A、*w[1]+1B、p[1][1]C、p++,*(p+1)D、w[2][2]

37.执行以下程序段后,输出结果和a的值是(B)。

inta=10;printf("%d",a++);

A、11和10B、10和11C、11和11D、10和10

38.以下不正确的if语句形式是(B)。

A、if(x

=y)scanf("%d",&x)elsescanf("%d",&y);

C、if(x>y&&x!

=y);D、if(x==y)x+=y;

39.对for(表达式1;;表达式3)可以理解为(C).

A、for(表达式1;表达式3;表达式3)B、for(表达式1;表达式1;表达式3)

C、for(表达式1;1;表达式3)D、for(表达式1;0;表达式3)

40.运行结果是"1112"的程序段是:

请在A处填写正确内容(D)。

for(i=1;i<=2;i++)___A___

A、for(j=1;j<=2;j++)printf("%3d",10*i+j);break;

B、{for(j=1;j<=2;j++)printf("%3d",10*i+j);break;}

C、for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;

D、{for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;}

charstr[10]="China";数组元素个数为(A)。

A、6B、9C、5D、10

42.以下程序的输出结果是:

(C).

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf("%d",a);}A、无定值B、29C、31D、0

43.文件包含中,被包含文件(B).

A、可以是可执行文件.B、可以嵌套其它文件.C、可以是目标文件或源文件.D、必须用".h"为后缀.

44.下列程序段的输出结果是:

(C).

voidfun(int*x,int*y)

{printf("%d%d",*x,*y);*x=3;*y=4;}

main()

{intx=1,y=2;

fun(&y,&x);

printf("%d%d",x,y);}A、2112B、1234C、2143D、1212

45.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(B)。

A、6B、-12C、9D、-3

47.下列程序段的输出结果为(C)。

floatx=;printf("%3d",(int)x);

A、B、213.83C、213D、

b为整型变量,二者均不为0,以下关系表达式中恒成立的是(A)。

A、a/b*b+a%b==aB、a/b*b==aC、a*b/a*b==1D、a/b*b/a==1

49C语言的switch语句中case后(C)。

A、可为任何量或表达式B、可为常量或表达式或有确定值的变量及表达式

C、只能为常量或常量表达式D、只能为常量

50.执行语句for(i=1;i++<4;);后变量i的值是(B)。

A、3B、5C、4D、不定

51.以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);(C)。

A、3次B、循环次数不定C、4次D、是无限循环

52.下述对C语言字符数组的描述中,错误的是(C).

A、不可以用关系运算符对字符数组中的字符串进行比较.B、字符数组中的字符串可以整体输入、输出.

C、可以通过赋值运算符"="对字符数组整体赋值.D、字符数组中可以存放字符串.

53以下对C语言函数的描述中,正确的是(B)。

A、C函数既可以嵌套定义又可以递归调用B、C程序必须由一个或一个以上的函数组成

C、函数必须有返回值,否则不能使用函数D、C程序中有调用关系的所有函数必须放在同一个程序文件中

54在TurboC运行环境下,下列说法中正确的是(C).

A、双引号中字符串的字符,如果与宏名相同,就要替换.B、用宏定义不可以得到多个返回值.

C、双引号中字符串的字符,即使与宏名相同,也不替换.D、调用函数可以得到多个返回值.

56.能够完成求出两个正整数a,b最小公倍数max的程序段.请在下划线处填写正确内容(D)。

if(a>=b)t=a;

elset=b;

for(i=t;;i++)

if(i%a==0&&i%b==0)

___________

printf("%d",max);

A、{max=i;continue;}B、max=i;break;C、max=i;continue;D、{max=i;break;}

57.以下能对一维数组a进行正确初始化的语句是(B)。

A、inta[10]={};B、inta[]={0};C、inta[10]={10*1};D、inta[10]=(0,0,0,0,0)

58.以下只有在使用时才为该类型变量分配内存的存储类说明是(D)。

A、auto和staticB、register和staticC、extern和registerD、auto和register

中有命令,#include<>,若中有全局静态变量a,则(B).

A、a在中应用extern说明.B、a在中有效,不必用extern说明.

C、a在中不生效D、a在和中均不生效.

60.在说明语句:

int*f();中,标识符f代表的是(A)。

A、一个返回值为指针型的函数名B、一个用于指向函数的指针变量

C、一个用于指向一维数组的行指针D、一个用于指向整型数据的指针变量

61.设有说明语句:

chara='\72';则变量a(C)

A、说明不合法B、包含3个字符C、包含1个字符D、包含2个字符

62.已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是(A)。

A、65,66B、65,68C、A,68D、A,B

63.已知键盘输入a=4,b=3,下面程序输出的结果是(C).

main()

{inta,b,s;

scanf("a=%d,b=%d",&a,&b);

s=a;

if(a

s=s*s;

printf("%d\n",s);}A、9B、13C、16D、15

65.以下程序的执行结果是(B)。

main()

{intnum=0;

while(num<=2){num++;printf("%d,",num);}}

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

67.C语言中while和do-while循环的主要区别是(A)。

A、do-while的循环体至少无条件执行一次B、do-while的循环体不能是复合语句

C、do-while允许从外部转到循环体内D、while的循环控制条件比do-while的循环控制条件更严格

68.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(C)。

A、chart[]="abcdefg",*s=t;B、chars[10]="abcdefg";

C、chars[10];s="abcdefg";D、chars[10];strcpy(s,"abcdefg");

69.在所有函数之前,定义一个外部变量的形式为staticintx;那么错误的叙述是(A).

A、x的值不可以永久保留B、将变量存放在静态存储区

C、使变量x可以由系统自动初始化为0D、使x只能被本文件中的函数引用

程序中的宏展开是在(C)。

A、编辑时进行的B、编译时进行的

C、编译前预处理时进行的D、程序执行时进行的

程序中的宏展开是在(D)。

A、编辑时进行的B、编译时进行的

C、编译前预处理时进行的D、程序执行时进行的

("a\rHappi\by");在屏幕上正确的输出形式是(A).

A、HappyB、HappiC、aHappiD、aHappy

74.执行下面程序段后,s的值是(C)。

ints=5;

switch(++s)

{case6:

case7:

s+=2;

case8:

case9:

s+=2;}A、8B、7C、10D、6

75.假定所有变量均已正确定义,下列程序段运行后x的值是(A)。

k1=1;

k2=2;

k3=3;

x=15;

if(!

k1)x--;

elseif(k2)x=4;

elsex=3;A、4B、15C、3D、14

76.下列程序的输出为(A)。

main()

{inty=10;

while(y--);

printf("y=%d\n",y);}A、y=-1B、y=0C、y=1D、while构成无限循环

77.以下程序段中,能够正确地执行循环的是(B)。

A、ints=6;m:

if(s<100)exit(0);elses-=2;gotom:

B、ints=6;dos-=2;while(s);

C、for(i=1;i>10;i++)D、staticinta;while(a)

78.若有说明:

inta[10];则对a数组元素的正确引用是(A)。

A、a[10-10]B、a[10]C、a(5)D、a[3,5]

79.以下程序的输出结果为(C)。

#include""

voidmain()

{inta=1,b=2,c=3,d=4,e=5;

printf("%d\n",func((a+b,b+c,c+a),(d+e)));}

intfunc(intx,inty)

{return(x+y);}A、9B、15C、13D、函数调用出错

80.以下叙述中不正确的是(A)。

A、C程序在执行过程中对预处理命令行进行处理B、在程序中凡是以#号开始的语句行都是预处理命令行

C、预处理命令行都必须以#号开始D、以下是正确的宏定义#defineIBMPC

81.下列不正确的C语言语句是(B).

A、x++;B、y=int(x);C、x=1,y=2;D、x=y=5;

83.下面程序的功能是计算1~100中所有9的倍数的数值之和,请在A处填写正确语句.(D)。

#include""voidmain(){inti,sum=0;for(i=1;i<=100;i++)

if(i%9!

=0)___A___elsesum=sum+i;printf("sum=%d",sum);}

A、i--;B、break;C、goto;D、continue;

84.列是能够完成求出两个正整数a,b最大公约数max的程序段.请在下划线处填写内容正确内容(B)。

if(a>=b)t=b;elset=a;for(i=1;i<=t;i++)____max=i;printf("%d",max);

A、if(a%i==0||b%i==0)B、if(a%i==0&&b%i==0)C、if(a%i!

=0&&b%i!

=0)D、if(a%i!

=0||b%i!

=0)

85.在C语言中,一维数组的定义方式为:

类型说明符数组名(B)。

A、[整型常量]或[整型表达式]B、[正整型常量表达式]

C、[整型表达式]D、[常量表达式]

86.如果在一个函数中的复合语句中定义了一个变量,以下正确的说法是(C).

A、该变量在本程序范围内均有效B、该变量在主函数中有效

C、该变量只在该复合语句中有效D、该变量在该函数中有效

88.若有inti=3,*p;p=&i;下列语句中输出结果为3的是(A)。

A、printf("%d",*p);B、printf("%d",*i);C、printf("%d",p);D、printf("%d",&p);

89.选择正确的输入语句(D)。

:

(其中:

charstring[20];)使得string的内容为"Iamstudent".

A、scanf("%s",string);B、scanf("%c",&string);C、scanf("%s",&string);D、gets(string);

91.根据下面的输出结果,正确的输出语句是:

(D);

x=,y

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

当前位置:首页 > 求职职场 > 职业规划

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

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