二级C语言上机题库02.docx

上传人:b****4 文档编号:3464042 上传时间:2022-11-23 格式:DOCX 页数:26 大小:24.08KB
下载 相关 举报
二级C语言上机题库02.docx_第1页
第1页 / 共26页
二级C语言上机题库02.docx_第2页
第2页 / 共26页
二级C语言上机题库02.docx_第3页
第3页 / 共26页
二级C语言上机题库02.docx_第4页
第4页 / 共26页
二级C语言上机题库02.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

二级C语言上机题库02.docx

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

二级C语言上机题库02.docx

二级C语言上机题库02

一、选择题答案

1.若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:

A)10<回车>

22<回车>

33<回车>

B)10.0,22.0,33.0<回车>

C)10.0<回车>

22.033.0<回车>

D)1022<回车>

33<回车>

你所选择的答案是:

*,正确答案是:

2.若变量c为char类型,能正确判断出c为小写字母的表达式是

A)'a'<=c<='z'

B)(c>='a')||(c<='z')

C)('a'<=c)and('z'>=c)

D)(c>='a')&&(c<='z')

你所选择的答案是:

*,正确答案是:

D

3.以下程序的输出结果是

fun(intx,inty,intz)

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

main()

{inta=31;

fun(5,2,a);

printf("%d",a);

}

A)0

B)29

C)31

D)无定值

你所选择的答案是:

*,正确答案是:

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

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)2143

B)1212

C)1234

D)2112

你所选择的答案是:

*,正确答案是:

5.以下程序的输出结果是

main()

{inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

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

}

A)20

B)21

C)22

D)23

你所选择的答案是:

*,正确答案是:

6.以下程序的输出结果是

main()

{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

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

for(j=0;j<=i;j++)s+=a[i][j];

printf("%dn",s);

}

A)18

B)19

C)20

D)21

你所选择的答案是:

*,正确答案是:

7.阅读以下程序:

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d"'x);

elseprintf("%d"'x++);

}

程序运行后,如果从键盘上输人5,则输出结果是

A)3

B)4

C)5

D)6

你所选择的答案是:

*,正确答案是:

8.以下程序的输出结果是

main()

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

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

}

A)0650

B)1470

C)5430

D)输出值不定

你所选择的答案是:

*,正确答案是:

9.以下程序的输出结果是

amovep(intp,int(a)[3],intn)

{inti,j;

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

for(j=0;j

}

main()

{int*p,a[3][3]={{1,3,5},{2,4,6}};

p=(int*)malloc(100);

amovep(p,a,3);

printf("%d%d\n",p[2],p[5]);free(p);

}

A)56

B)25

C)34

D)程序错误

你所选择的答案是:

*,正确答案是:

10.以下程序的输出结果是

inta,b;

voidfun()

{a=100;b=200;}

main()

{inta=5,b=7;

fun();

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

}

A)100200

B)57

C)200100

D)75

你所选择的答案是:

*,正确答案是:

11.下面的程序执行后,文件testt.t中的内容是

#include

voidfun(char*fname.,char*st)

{FILE*myf;inti;

myf=fopen(fname,"w");

for(i=0;i

fclose(myf);

}

main()

{fun("test","newworld";fun("test","hello,"0;)

A)hello,

B)newworldhello,

C)newworld

D)hello,rld

你所选择的答案是:

*,正确答案是:

12.若定义:

inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为

A)无确定值

B)a的地址

C)512

D)511

你所选择的答案是:

*,正确答案是:

13.以下程序的输出结果是

main()

{

inta=0,i;

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

{

switch(i)

{

case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}

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

}

A)31

B)13

C)10

D)20

你所选择的答案是:

*,正确答案是:

14.以下程序的输出结果是

#include

main()

{

inti=0,a=0;

while(i<20)

{

for(;;)

{

if((i%10)==0)break;

elsei--;

}

i+=11;a+=i;

}

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

}

A)21

B)32

C)33

D)11

你所选择的答案是:

*,正确答案是:

15.以下程序调用findmax函数返回数组中的最大值

findmax(int*a,intn)

{int*p,*s;

for(p=a,s=a;p-a

if()s=p;

return(*s);

}

main()

{intx[5]={12,21,13,6,18};

printf("%d\n",findmax(x,5));

}

在下划线处应填入的是

A)p>s

B)*p>*s

C)a[p]>a[s]

D)p-a>p-s

你所选择的答案是:

*,正确答案是:

16.以下程序的输出结果是

main()

{charcf[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}

A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"

你所选择的答案是:

*,正确答案是:

17.已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是

A)6

B)0

C)2

D)1

你所选择的答案是:

*,正确答案是:

18.以下叙述中错误的是

A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以

B)在程序结束时,应当用fclose函数关闭已打开的文件

C)在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据

D)不可以用FILE定义指向二进制文件的文件指针

你所选择的答案是:

*,正确答案是:

19.有以下程序

structSTU

{charnum[10];floatscore[3];};

main()

{structstus[3]={{"20021",90,95,85},

{"20022",95,80,75},

{"20023",100,95,90}},*p=s;

inti;floatsum=0;

for(i=0;i<3,i++)

sum=sum+p->score[i];

printf("%6.2f\n",sum);

}

程序运行后的输出结果是

A)260.00

B)270.00

C)280.00

D)285.00

你所选择的答案是:

*,正确答案是:

20.阅读以下函数

  fun(char*s1,char*s2)

  {inti=0;

  while(s1[i]==s2[i]&&s2[i]!

='\0')i++;

  return(s1[i]==&&s2{i}!

=='\0');

  }

此函数的功能是( )。

 A)将s2所指字符串赋给s1

 B)比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0

 C)比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0

 D)比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0

你所选择的答案是:

*,正确答案是:

21.以下叙述中正确的是( )。

 A)全局变量的作用域一定比局部变量的作用域范围大

 B)静态(static)类别变量的生存期贯穿于整个程序的运行期间

 C)函数的形参都属于全局变量

 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

你所选择的答案是:

*,正确答案是:

22.有以下程序

voidfun(int*a,inti,intj)

{

intt;

if(i

{

t=a[i];a[i]=a[j];a[j]=t;

fun(a,++i,--j);

}

}

main()

{

inta[]={1,2,3,4,5,6},i;

fun(a,0,5);

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

printf("%d",a[i]);

}

执行后的输出结果是

A)654321

B)432156

C)456123

D)123456

你所选择的答案是:

*,正确答案是:

23.有定义语句:

inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是( )。

A)if(c

 elseif(b

 elsex=3;

C)if(a<3)x=3;

 if(a<2)x=2;

 if(a<1)x=1;

B)if(a<3)x=3;

elseif(a<2)x=2;

elsex=1;

D)if(a

if(b

 if(c

你所选择的答案是:

*,正确答案是:

24.有以下程序

  main()

  {ints=0,a=1,n;

  scanf("%d",&n);

  do

  {s+=1;a=a-2;}

  while(a!

=n);

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

  }

若要使程序的输出值为2,则应该从键盘给n输入的值是( )。

 A)-1

 B)-3

 C)-5

 D)0

你所选择的答案是:

*,正确答案是:

25.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。

 A)函数调用可以作为独立的语句存在

 B)函数调用可以作为一个函数的实参

 C)函数调用可以出现在表达式中

 D)函数调用可以作为一个函数的形参

你所选择的答案是:

*,正确答案是:

26.以下不能正确定义二维数组的选项是( )。

 A)inta[2][2]={{1},{2}};

 B)inta[][2]={1,2,3,4};

 C)inta[2][2]={{1},2,3};

 D)inta[2][]={{1,2},{3,4}};

你所选择的答案是:

*,正确答案是:

27.以下能正确定义一维数组的选项是( )。

A)intnum[];

B)#defineN100

 intnum[N];

C)intnum[0..100];

D)intN=100;

 intnum[N];

你所选择的答案是:

*,正确答案是:

28.下列函数定义中,会出现编译错误的是( )。

A)max(intx,inty,int*z)

{*z=x>y?

x:

y;}

B)intmax(intx,y)

 {intz;

z=x>y?

x:

y;

  returnz;

 }

C)max(intx,inty)

{intz;

z=x>y?

x:

y;return(z);

}

D)intmax(intx,inty)

 {return(x>y?

x:

y);}

你所选择的答案是:

*,正确答案是:

29.以下符合C语言语法的实型常量是( )。

A)1.2E0.5  B)3.14.159E   C).5E-3   D)E15

你所选择的答案是:

*,正确答案是:

30.以下4组用户定义标识符中,全部合法的一组是( )。

A)_main

 enclude

 sin

B)If

 -max

 turbo

C)txt

 REAL

 3COM

D) int

 k_2

 _001

你所选择的答案是:

*,正确答案是:

31.以下程序段中与语句k=a>b?

(b>c?

1:

0):

0;功能等价的是( )。

A)if((a>B)&&(b>C))k=1;

elsek=0;

B)if((a>B)||(b>C))k=1

 elsek=0;

C)if(a<=B)k=0;

elseif(b<=C)k=1;

D)if(a>B)k=1;

 elseif(b>C)k=1;

你所选择的答案是:

*,正确答案是:

32.有以下程序

main()

{inti,n=0;

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

{do

{if(i%3)continue;

   n++;

}while(!

i);

   n++;

}

printf(“n=%d\n”,n);

}

程序执行后的输出结果是( )。

A)n=5  B)n=2  C)n=3  D)n=4

你所选择的答案是:

*,正确答案是:

33.有以下程序段

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

b=p[5];

b中的值是( )。

A)5  B)6  C)8  D)9

你所选择的答案是:

*,正确答案是:

34.有以下程序

main()

{chara[]=”abcdefg”,b[10]=”abcdefg”;

printf(“%d%d\n”,sizeof(A),sizeof(B));

}

执行后输出结果是( )。

A)77   B)88   C)810  D)1010

你所选择的答案是:

*,正确答案是:

35.有以下程序

structSTU

{charname[10];

intnum;

intScore;

};

main()

{structSTUs[5]={{“YangSan”,20041,703},{“LiSiGuo”,20042,580},

{“wangYin”,20043,680},{“SunDan”,20044,550},

{“Penghua”,20045,537}},*p[5],*t;

inti,j;

for(i=0;i<5;i++)p[i]=&s[i];

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

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

if(p[i]->Score>p[j]->Score)

{t=p[i];p[i]=p[j];p[j]=t;}

printf(“5d%d\n”,s[1].Score,p[1]->Score);

}

执行后输出结果是( )。

A)550550  B)680680  C)580550  D)580680

你所选择的答案是:

*,正确答案是:

36.下列选项中,不能用作标识符的是( )。

A)_1234_

B)_1_2

C)int_2_

D)2_int_

你所选择的答案是:

*,正确答案是:

37.有以下定义语句

doublea,b;intw;longc;

若各变量已正确赋值,则下列选项中正确的表达式是( )。

A)a=a+b=b++

B)w%(int)a+b)

C)(c+w)%(int)a

D)w=a==b;

你所选择的答案是:

*,正确答案是:

38.有以下程序

  main()

  {chara,b,c,d;

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

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

  }

若运行时从键盘上输入:

6,5,65,66<回车>。

则输出结果是( )。

A)6,5,A,B

B)6,5,65,66

C)6,5,6,5

D)6,5,6,6

你所选择的答案是:

*,正确答案是:

39.s12和s2已正确定义并分别指向两个字符串。

若要求:

当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是( )。

A)if(s1>s2)S;

B)if(strcmp(s1,s2))S;

C)if(strcmp(s2,s1)>0)S;

D)if(strcmp(s1,s2)>0)S;

你所选择的答案是:

*,正确答案是:

40.有以下程序

main()

{

chars[]="ABCD",*p;

for(p=s+1;p

}

程序运行后的输出结果是( )。

A)ABCD

 BCD

 CD

 D

B)A

 B

 C

 D

C)B

 C

 D

D)BCD

 CD

 D

你所选择的答案是:

*,正确答案是:

41.设有定义语句:

charc1=92,c2=92;,则以下表达式中值为零的是( )。

A)c1^c2

B)c1&c2

C)~c2

D)c1|c2  

你所选择的答案是:

*,正确答案是:

42.以下叙述中正确的是( )。

 A)用C程序实现的算法必须要有输入和输出操作

 B)用C程序实现的算法可以没有输出但必须要有输入

 C)用C程序实现的算法可以没有输入但必须要有输出

 D)用C程序实现的算法可以既没有输入也没有输出

你所选择的答案是:

*,正确答案是:

43.有以下程序

#defineP3

#defineF(intx){return(P*x*x);}

main()

{

printf("%d",F(3+5));

}

程序运行后的输出结果是( )。

 A)192

 B)29

 C)25

 D)编译出错

你所选择的答案是:

*,正确答案是:

44.有以下程序

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=1;j<=i;j++)printf("%c",'');

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

printf("");

}

}

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

1234

678

1112

16

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

 A)i-1

 B)i

 C)i+1

 D)4-i

你所选择的答案是:

*,正确答案是:

45.以下叙述中错误的是( )。

  A)用户所定义的标识符允许使用关键字

  B)用户所定义的标识符应尽量做到“见名知意”

  C)用户所定义的标识符必须以字母或下划线开头

  D)用户定义的标识符中,大、小写字母代表不同标识

你所选择的答案是:

*,正确答案是:

46.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( )。

  A)k%2   B)k%2==1   C)(k%2)!

=0   D)!

k%2==1

你所选择的答案是:

*,正确答案是:

47.以下能正确定义且赋初值的语句是( )。

  A)intn1=n2=10;      B)charc=32;

  C)floatf=f+1.1;      D)doublex=12.3E2.5;

你所选择的答案是:

*,正确答案是:

48.有以下程序段

  intn,t=1,s=0;

  scanf("%d",&n);

  do{s=s+t;t=t-2;}while(t!

=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数

你所选择的答案是:

*,正确答案是:

49.有以下程序

  #include

  main()

  {charc1='1',c2='2';

  c1=getchar();c2=getchar();putchar(c1);putchar(c2);

  }

当运行时输入:

a<回车>后,以下叙述正确的是( )。

  A)变量c1被赋予字符a,c2被赋予回车符

  B)程序将等待用户输入第2个字符

  C)变量c1被赋予字符a,c2中仍是原有字符2

  D)变量c1被赋予字符a,c2中将无确定值

你所选择的答案是:

*,正确答案是:

50.有以下程序

  main()

  {inta[]={

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

当前位置:首页 > 表格模板 > 合同协议

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

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