二级C语言程序选择题精选.docx

上传人:b****5 文档编号:8172201 上传时间:2023-01-29 格式:DOCX 页数:40 大小:29.99KB
下载 相关 举报
二级C语言程序选择题精选.docx_第1页
第1页 / 共40页
二级C语言程序选择题精选.docx_第2页
第2页 / 共40页
二级C语言程序选择题精选.docx_第3页
第3页 / 共40页
二级C语言程序选择题精选.docx_第4页
第4页 / 共40页
二级C语言程序选择题精选.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

二级C语言程序选择题精选.docx

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

二级C语言程序选择题精选.docx

二级C语言程序选择题精选

C语言题库

1.表示关系x<=y<=z的c语言表达式为A

A)(X<=Y)&&(Y<=Z)

B)(X<=Y)AND(Y<=Z)

C)(X<=Y<=Z)

D)(X<=Y)&(Y<=Z)

2.不能把字符串:

Hello!

赋给数组b的语句是:

B

A)charb[10]={'H','e','l','l','o','!

'};

B)charb[10];b="Hello!

";

C)charb[10];strcpy(b,"Hello!

");

D)charb[10]="Hello!

";

3.表达式:

10!

=9的值是D

A)true

B)非零值

C)0

D)1

4.C语言中,运算对象必须是整型数的运算符是A

A)%

B)\

C)%和\

D)*

5.C语言可执行程序的开始执行点是(C)

A)程序中第一条可执行语句

B)程序中第一个函数

C)程序中的main函数

D)包含文件中的第一个函数

6.C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为__D___。

A、该数组的长度。

B、该数组的元素个数。

C、该数组中各元素的值。

D、该数组的首地址。

7.程序中若有如下说明和定义语句A

charfun(char*);

main()

{

char*s="one",a[5]={0},(*f1)()=fun,ch;

......

}

以下选项中对函数fun的正确调用语句是

A)(*f1)(a);B)*f1(*s);C)fun(&a);D)ch=*f1(s);

8.C语言规定,程序中各函数之间A

A)既允许直接递归调用也允许间接递归调用

B)不允许直接递归调用也不允许间接递归调用

C)允许直接递归调用不允许间接递归调用

D)不允许直接递归调用允许间接递归调用

9.C语言中函数返回值的类型是由(D)决定。

A)return语句中的表达式类型

B)调用函数的主调函数类型

C)调用函数时临时

D)定义函数时所指定的函数类型

10.在C语言程序中,可以用做变量名的是_B___

A)2e5B)a1C)intD)*p

11.C语言程序的三种基本结构是__A__

A、顺序结构,选择结构,循环结构

B、递归结构,循环结构,转移结构

C、嵌套结构,递归结构,顺序结构

D、循环结构,转移结构,顺序结构

12.当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为B

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

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

13.对于基类型相同的两个指针变量之间,不能进行的运算是C

A)<

B)=

C)+

D)-

14.当执行下面程序且输入:

ABC时,输出的结果是A

main(){

charss[10]="12345";

gets(ss);

printf("%s",ss);

}

A)ABCB)ABC9C)123456ABCD)ABC45

15.当调用函数时,实参是一个数组名,则向函数传送的是____B

A)数组的长度

B)数组的首地址

C)数组每一个元素的地址

D)数组每个元素中的值

16.设有如下定义:

intx=10,y=3,z;则语句printf("%d",z=(x%y,x/y));的输出结果是A

A)1B)0C)4D)3

17.intf(inta)

{returna%2;}

main()

{

ints[8]={1,3,5,2,4,6},i,d=0;

for(i=0;f(s[i]);i++)

d+=s[i];

printf("%d\n",d);

}

程序运行后的输出结果是____9____.

18.假定x和y为double型,则表达式x=2,y=x+3/2的值是:

__D_______

A、3.500000B、3C、2.000000D、3.000000

19.假定int类型变量占用两个字节,其有定义:

intx[10]={0,2,4};,则数组x在内存中所占字节数是D

A)3

B)6

C)10

D)20

20.假定有以下变量定义:

intk=7,x=12;则能使值为3的表达式是D

A)x%=(k%=5)

B)x%=(k-k%5)

C)x%=k-k%5

D)(x%=k)-(k%=5)

21.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:

A

A)7和5B)6和3C)7和4D)6和4

main(){

intx;

scanf("%d",&x);

if(x++>5)printf("%d",x);

elseprintf("%d",x--);

}

17main()

{

inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

printf("%d\n",c);

}

以上程序的输出结果:

C

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

21.main(A)

{

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

int*p=a+5,*q=NULL;

*q=*(p+5);

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

}

程序运行后的输出结果是

A)运行后报错B)66C)611D)510

22.main()

{

inta=1,b;

for(b=1;b<=10;b++)

{

if(a>=8)break;

if(a%2==1){a+=5;continue;}

a-=3;

}

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

}

程序运行后的输出结果是___4_____.

23.main()

{

intj,k,s;

for(k=2;k<6;k+=2)

{

s=1;

for(j=k;j<6;j++)s=s+j;

}

printf("%d",s);

}

程序运行后的输出结果是____10____.

24.main()

{

intnum[4][4]={{1,2,3,4},

{5,6,7,8},

{9,10,11,12},

{13,14,15,16}

},i,j;

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

{

for(j=0;j<=i;j++)printf("%4c",'');

for(j=___i__;j<4;j++)printf("%4d",num[i][j]);

printf("\n");

}

}

若要按以下形式输出数组右上半三角

1234

678

1112

16

则在程序下划线处应填入的是

25.求x的y次方,填空。

doublefun(doublex,inty)

{inti;doublez;

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

z=____z*x________;

returnz;}

25.若有定义和语句:

D

chars[10];

s="abcd";

printf("%s",s);

则结果是(以下u代表空格)

A)输出abcd

B)输出a

C)输出abcduuuuu

D)编译不通过

26.若有以下定义:

chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为D

A)floatB)intC)charD)double

27.若变量a是int类型,并执行了语句:

a=‘A'+1、6;,则正确的叙述是B

A)a的值是字符C

B)a的值是浮点型

C)不允许字符型和浮点型相加

D)a的值是字符‘A’的ASCII值加上1

28.若有以下函数调用语句:

fun(a+b,(x,y),fun(n+k,d,(a,b)));A

在此函数调用语句中实参的个数是

A)3B)4C)5D)6

29.若有以下定义:

chars[20]="programming",*ps=s;A

则不能代表字符o的表达式是

A)ps+2

B)s[2]

C)ps[2]

D)ps+=2,*ps

30.若有以下说明:

A

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

int(*p)[4]=w;

则数值为4的表达式是

A)*w[1]+1

B)p++,*(p+1)

C)w[2][2]

D)p[1][1]

31.若有以下定义和语句

charc1='b',c2='e';

printf("%d,%c",c2-c1,c2-'a'+"A");

则输出结果是:

B

A)2,M

B)3,E

C)2,E

D)输出项与对应的格式控制不一致,输出结果不确定

32.若已定义x和y为double类型,则表达式:

x=1,y=x+3/2的值是C

A)1

B)2

C)2.0

D)2.5

33.若有以下说明和语句,请选出D是对c数组元素的正确引用intc[4][5],(*cp)[5];cp=c;

A)cp+1

B)*(cp+3)

C)*(cp+1)+3

D)*(*cp+2)

34.若有以下定义和语句:

A

intu=010,v=0x10,w=10;

printf("%d,%d,%d",u,v,w);

则输出结果是:

A)8,16,10

B)10,10,10

C)8,8,10

D)8,10,10

35.设有说明语句:

chara='\72';则变量aA

A)包含1个字符

B)包含2个字符

C)包含3个字符

D)说明不合法

36.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是C

A)-3

B)9

C)-12

D)6

37.若执行以下程序时从键盘上输入9,则输出结果是B

A、11B、10C、9D、8

main()

{

intn;

scanf("%d",&n);

if(n++<10)printf("%d\n",n);

elseprintf("%d\n",n--);}

38.若执行下面的程序时从键盘上输入5,则输出是___B___

main()

{

intx;

scanf("%d",&x);

if(x++>5)printf("%d",x);

elseprintf("%d",x--);

}

A)7B)6C)5D)4

39.若执行下面的程序时从键盘上输入6,则输出是A

main()

{

intx;

scanf("%d",&x);

if(x++>6)

printf("%d",x);

else

printf("%d",x--);

}

A)7

B)6

C)5

D)4

40.若有以下定义和语句:

D

doubler=99,*p=&r;*p=r;

则以下正确的叙述是

A)以下两处的*p含义相同,都说明给指针变量p赋值

B)在"doubler=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元

C)语句"*p=r;"把变量r的值赋给指针变量p

D)语句"*p=r;"取变量r的值放回r中

41.若有以下定义和语句:

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

则不能表示a数组元素的表达式是D

A)*pB)a[10]C)*aD)a[p-a]

42.若有以下说明和语句:

D

intc[4][5],(*p)[5];p=c;

能正确引用c数组元素的是:

________

A)p+1B)*(p+3)

C)*(p+1)+3D)*(p[0]+2))

43.数字字符0的ASCII值为48,若有以下程序C

main()

{chara='1',b='2';

printf("%c,",b++);

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

}

程序运行后的输出结果是:

________

(A)3,2(B)50,2(C)2,2(D)2,50

44.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

B

scanf("i=%d,f=%f",&i,&f);

为了把100和765.12分别赋给i和f,则正确的输入为

A、100765.12

B、i=100,f=765.12

C、100765.12

D、x=100y=765.12

45.设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的值为_C___

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

46.sizeof(float)是(C)

A)一种函数调用

B)一个不合法的表示形式

C)一个整型表达式

D)一个浮点表达式

47.设x、y、t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,

y的值为:

__C______

A、不定值B、4C、3D、1

48.设有说明语句:

chara='\72';则变量aA

A)包含1个字符

B)包含2个字符

C)包含3个字符

D)说明不合法

49.设x和y均为int型变量,则以下语句:

x+=y;y=x-y;x-=y;的功能是D

A、把x和y按从大到小排列

B、把x和y按从小到大排列

C、无确定结果

D、交换x和y中的值

50.设intx=1,y=1;表达式(!

x||y--)的值是B

A)0B)1C)2D)-1

51.设x、y、z和k都是int型变量,则执行表达式:

x=(y=4,z=16,k=32)后,x的值为c

A4B16C32D52

52.设有如下定义:

char*aa[2]={"abcd","ABCD"};则以下就法中正确的是C

A)aa数组成元素的值分别是"abcd"和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符'a'和'A'的地址

53.设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是Dprintf("%d,%d",x--,--y);

A)10,3B)9,3C)9,2D)10,2

54.设有数组定义:

chararray[]="China";则数组array所占的空间为C

A)4个字节B)5个字节C)6个字节D)7个字节

55.设有如下定义:

intx=10,y=3,z;则语句printf("%d",z=(x%y,x/y));的输出结果是D

A)1B)0C)4D)3

56.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是___D_____

A)'a'&&'b'

B)a<=b

C)a||b+c&&b-c

D)!

((a

c||1)

57.设有说明int(*ptr)[m];其中的标识符ptr是:

__C______

A)M个指向整型变量的指针

B)指向M个整型变量的函数指针

C)一个指向具有M个整型元素的一维数组的指针

D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

58.t为int类型,进人下面的循环之前,t的值为0while(t=l){……}则以下叙述中正确的是B

A)循环控制表达式的值为0

B)循环控制表达式的值为1

C)循环控制表达式不合法

D)以上说法都不对

59.voidf(int*x,int*y)D

{

intt;

t=*x;*x=*y;*y=t;

}

main()

{

inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;

p=a;q=&a[7];

while(p

{

f(p,q);

p++;

q--;

}

for(i=0;i<8;i++)printf("%d,",a[i]);

}

程序运行后的输出结果是

A)8,2,3,4,5,6,7,1,B)5,6,7,8,1,2,3,4,

C)1,2,3,4,5,6,7,8,D)8,7,6,5,4,3,2,1,

60.voidfunc(int*a,intb[])6

{b[0]=*a+6;}

main()

{

inta=0,b[5];

b[0]=3;

func(&a,b);

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

}

61.下列运算符其优先级最高的是____c___。

A、||B、&&C、+D、=

62.下面程序的输出是_D___

intw=3;

main()

{

intw=10;

printf("%d",fun(5)*w);

}

fun(intk)

{

if(k==0)returnw;

return(fun(k-1)*k);

}

A)360B)3600C)1080D)1200

63.下列条件语句中,功能与其他语句不同的是:

_____D___

A)if(a)printf("%d\n",x);elseprintf("%d\n",y);

B)if(a==0)printf("%d\n",y);elseprintf("%d\n",x);

C)if(a!

=0)printf("%d\n",x);elseprintf("%d\n",y);

D)if(a==0)printf("%d\n",x);elseprintf("%d\n",y);

64.下列程序段的输出结果为___A_____

inty=1;

while(y--);

printf("y=%d",y);

A、y=-1

B、y=0

C、死循环

D、y=9

65.下面程序的输出是:

B

#include

main(){

inty=9;

for(;y>0;y--)

{

if(y%3==0)

{

printf("%d",--y);

continue;

}

}

}

A)741B)852C)963D)875421

66.下列描述中不正确的是C

A)字符型数组中可以存放字符串

B)可以对字符型数组进行整体输入、输出

C)可以对整型数组进行整体输入、输出

D)不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

67.下列程序的输出结果是C

A、非法B、a[4]的地址C、5D、3

main()

{

inta[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

printf("%d",*--p);

}

68.下面函数的功能是:

A

intfun(char*x)

{

char*y=x;

while(*y++);

return(y-x-1);

}

A)求字符串的长度

B)比较两个字符串的大小

C)将字符串x复制到字符串y

D)将字符串x连接到字符串y后面

69.下面函数的功能是:

C

intfun(char*s,char*t)

{

while((*s)&&(*t)&&(*t++==*s++));

return(*s-*t);

}

A)求字符串的长度

B)比较两个字符串的大小

C)将字符串s复制到字符串t中

D)将字符串s接续到字符串t中

70.下列说法中正确的是____B____。

A、在switch语句中一定要使用break语句

B、在switch语句中不一定要使用break语句

C、break语句是switch语句的一部分

D、break只能用于switch语句中

71.#include

intm=13;

intfun2(intx,inty)

{

intm=3;

return(x*y-m);

}

main()

{

inta=7,b=5;

printf("%d",fun2(a,b)/m);

}

A)1B)2C)7D)10

72.下面程序的输出是A

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

main()

{

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

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

}

73.有以下程序:

B

main()

{

charstr[][10]={"China","Beijing"},*p=str;

printf("%s\n",p+10);

}

程序运行后的输出结果是

A)ChinaB)BeijingC)ngD)ing

74.以下程序运行后,输出结果是C

A)8,15B)8,16C)8,17D)8,8

func(inta,intb)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main()

{intk=4,m=1,p;

p=func(k,m);printf("%d,",p);

p=func(k,m);printf("%d\n",p);

}

75.有以下程序A

main()

{

chars[]="159",*p;

p=s;

printf("%c",*p++);

printf("%c",*p++);

}

程序运行后的输出结果是:

________

A)15B)16C)12D)59

76.下面程序的输出是A

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

main()

{

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

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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