C语言复习题.docx

上传人:b****7 文档编号:10574952 上传时间:2023-02-21 格式:DOCX 页数:19 大小:18.73KB
下载 相关 举报
C语言复习题.docx_第1页
第1页 / 共19页
C语言复习题.docx_第2页
第2页 / 共19页
C语言复习题.docx_第3页
第3页 / 共19页
C语言复习题.docx_第4页
第4页 / 共19页
C语言复习题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言复习题.docx

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

C语言复习题.docx

C语言复习题

一、填空共16题(共计60分)

第1题(2.0分)题号:

24

以下程序运行后的输出结果是【1】

main()

{inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{case0:

m++;n++;break;

case10:

n++;break;

default:

k++;n++;

}

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

}

 

答案:

=======(答案1)=======

132

 

第2题(2.0分)题号:

25

以下程序段的输出结果是【1】

intk,n,m;

n=10;m=1;k=1;

while(k<=n){m*=2;k++;}

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

 

答案:

=======(答案1)=======

1024

 

第3题(2.0分)题号:

26

下列程序的输出结果是【1】

#include

main()

{charb[30];

strcpy(&b[0],"CH");

strcpy(&b[1],"DEF");

strcpy(&b[2],"ABC");

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

}

 

答案:

=======(答案1)=======

CDABC

 

第4题(6.0分)题号:

27

以下程序运行后的输出结果第1行是【1】第2行是【2】第3行是【3】

main()

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

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

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

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

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

printf("\n");

}

}

 

答案:

=======(答案1)=======

123

=======(答案2)=======

056

=======(答案3)=======

009

 

第5题(4.0分)题号:

28

以下程序运行后的输出结果第1行是【1】第2行是【2】

inta=5;

voidfun(intb)

{staticinta=10;

a+=b++;

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

}

main()

{intc=20;

fun(c);

a+=c++;

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

}

 

答案:

=======(答案1)=======

30

=======(答案2)=======

25

 

第6题(2.0分)题号:

29

以下程序运行后的输出结果是【1】

main()

{inti=10,j=0;

do

{j=j+i;i--;

}while(i>2);

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

}

 

答案:

=======(答案1)=======

52

 

第7题(2.0分)题号:

30

下面程序的运行结果是【1】

main()

{intk=0;

charc='A';

do

{switch(c++)

{case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;continue;

case'E':

k=k*10;break;

default:

k=k/3;

}

k++;

}while(c<'G');

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

}

 

答案:

=======(答案1)=======

k=4

 

第8题(2.0分)题号:

31

以下程序的输出结果是【1】

main()

{chars[]="abcdef";

s[3]='\0';

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

}

 

答案:

=======(答案1)=======

abc

 

第9题(6.0分)题号:

32

设有以下程序

main()

{inta[3][3],i,j;

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

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

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

for(j=0;j<3;j++)

a[i][j]=a[(a[i][j]+1)%2+1][(a[j][i]+2)%2+1];

}

若输入的数据为:

135792468执行程序后,

a[0][0]=【1】,a[1][1]=【2】,a[2][2]=【3】.

 

答案:

=======(答案1)=======

2

=======(答案2)=======

2

=======(答案3)=======

6

 

第10题(2.0分)题号:

33

以下程序运行后的输出结果是【1】

#defineN2

#defineMN+1

#defineNUM2*M+1

intfib(intn)

{

return(n<3?

2:

fib(n-1)+fib(n-2));

}

main()

{

printf("%5d%5d\n",NUM,fib(5));

}

 

答案:

=======(答案1)=======

610

 

第11题(6.0分)题号:

42

下面程序的功能是:

输出100以内能被3整除且个位数为6的所有整数,请填空.

main()

{inti,j;

for(i=0;【1】;i++)

{j=i*10+6;

if(【2】)continue;

printf("%d",j);

}

}

 

答案:

=======(答案1)=======

i<10

=======(答案2)=======

j%3!

=0

 

第12题(6.0分)题号:

43

以下程序的功能是:

将无符号八进制数字构成的字符串转换为十进制整数.例如,输入的字

符串为:

556,则输出十进制整数366.请填空.

#include

main()

{chars[6];

intn,i=0;

gets(s);

n=【1】-'0';

while(【2】!

='\0')n=n*8+s[i]-'0';

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

}

答案:

=======(答案1)=======

s[0]

=======(答案2)=======

s[++i]

 

第13题(3.0分)题号:

44

以下函数的功能是:

求x的y次方,请填空.

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i

returnz;

}

 

答案:

=======(答案1)=======

z*=x

 

第14题(6.0分)题号:

45

下面程序的功能是:

计算1到10之间奇数之和及偶数之和,请填空.

main()

{inta,b,c,i;

a=c=【1】;

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

{a+=i;

【2】;

c+=b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c);

}

 

答案:

=======(答案1)=======

0

=======(答案2)=======

b=i+1

 

第15题(6.0分)题号:

46

下面程序的功能是求1!

+2!

+3!

+4!

+5!

请填空.

main()

{inti,j,f,sum=0;

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

{f=1;

for(j=1;【1】;j++)

【2】;

sum=sum+f;

}

printf("5!

=%d",sum);

}

 

答案:

=======(答案1)=======

j<=i

=======(答案2)=======

f=f*j

 

第16题(3.0分)题号:

47

以下函数的功能是删除字符串s中的所有数字字符.请填空.

voiddele(chars[])

{intn=0,i;

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

if(s[i]<'0'||s[i]>'9')

s[n++]=s[i];

s[n]=【1】;

}

 

答案:

=======(答案1)=======

'\0'

 

二、单项选择共20题(共计40分)

第1题(2.0分)题号:

41

以下常量中表示正确的是________.

A:

\xff

B:

5L

C:

aEb

D:

3.14U

 

答案:

B

第2题(2.0分)题号:

42

若有声明"floatf=123.45678;",则执行语句"printf("%.3f",f);"后,输出结果是________.

A:

1.23e+02

B:

123.457

C:

123.45678

D:

1.234e+02

 

答案:

B

第3题(2.0分)题号:

43

若有声明"intx=2,y=1,z=0;",则下列关系表达式中有语法错误的是________.

A:

x>y=2

B:

z>y>x

C:

x>y==1

D:

x==(x=0,y=1,z=2)

 

答案:

A

第4题(2.0分)题号:

44

若有声明"inti,k=1;unsignedj;",则下列语句执行时会出现无限循环的是_______.

A:

for(j=15;j>0;j-=2)k++;

B:

for(j=0;j<15;j+=2)k++;

C:

for(i=15;i>0;i-=2)k++;

D:

for(i=0;i<15;i+=2)k++;

 

答案:

A

第5题(2.0分)题号:

45

以下选项均以fun函数定义的头部,其中错误的是________.

A:

intfun(intx,inty[])

B:

intfun(intx,inty[x])

C:

intfun(intx,inty[3])

D:

intfun(intx,int*y)

 

答案:

B

第6题(2.0分)题号:

46

已知有预处理命令#include和声明chars[10]="Thankyou";inti;,要求输出

字符串"Thankyou",以下选项中不能达到要求的语句是________.

A:

puts(s);

B:

printf("%s",s[10]);

C:

for(i=0;s[i]!

='\0';i++)printf("%c",s[i]);

D:

for(i=0;s[i]!

='\0';i++)putchar(s[i]);

 

答案:

B

第7题(2.0分)题号:

47

以下关于函数定义的叙述中,正确的是________.

A:

构成C语言源程序的基本单位之一是函数定义

B:

所有被调用的函数必须在调用之前定义

C:

main函数定义必须放在其他函数定义之前

D:

main函数定义的函数体中必须至少有一条语句声明

 

答案:

A

第8题(2.0分)题号:

48

设有下列程序段:

staticcharb=2;

voidY()

{staticfloatd=4;……}

inta=1;

voidX()

{intc=3;……}

关于程序段中各变量的属性,以下叙述中错误的是________.

A:

a是全局变量,函数X可以访问,函数Y不能访问

B:

b是全局变量,函数X和函数Y都可以访问

C:

c是动态变量,函数X可以访问,函数Y不能访问

D:

d是静态变量,函数X和函数Y都可以访问

 

答案:

D

第9题(2.0分)题号:

49

设有声明floata=1.23456;inti;,欲将a中的数值保留小数点有两位,第三位进行四舍五入

运算,能实现该功能的表达式是________.

A:

i=a*100+0.5,a=i/100.0;

B:

a=(a*100+0.5)/100.0;

C:

a=((int)a*100+0.5)/100.0;

D:

a=(a/100+0.5)/100.0;

 

答案:

A

第10题(2.0分)题号:

50

程序段"intx=3;do{printf("%d",x--);}while(!

x);"执行结果是________.

A:

321

B:

2

C:

3

D:

死循环

 

答案:

C

第11题(2.0分)题号:

51

若程序中已有相应的声明,下列语句中错误的是________.

A:

printf(i==4?

"%6d\n":

"%6d",i);

B:

i==4?

printf("%6d\n",i):

printf("%6d",i);

C:

for(i=10;;i--)if(i==1)break;

D:

for(i=10;;i--)if(i--);break;

 

答案:

D

第12题(2.0分)题号:

52

以下声明中,错误的是________.

A:

inta=0xFF;

B:

doublea=1.2e0.5;

C:

longa=2L;

D:

chara='\72';

 

答案:

B

第13题(2.0分)题号:

53

有声明intx=2;,以下表达式中值不等于8的是________.

A:

x+=2,x*2

B:

x+=x*=x

C:

(x+7)/2*((x+1)%2+1)

D:

x*7.2/x+1

 

答案:

D

第14题(2.0分)题号:

54

下列程序段中,能将变量x、y中值比较大的数保存到变量a、值比较小的数保存到b的程序段

是________.

A:

if(x>y)a=x;b=y;elsea=y;b=x;

B:

if(x>y){a=x;b=y;}elsea=y;b=x;

C:

if(x>y){a=x;b=y;}else{a=y;b=x;}

D:

if(x>y){a=x;b=y;}else(x

 

答案:

C

第15题(2.0分)题号:

55

若已定义一个有返回值的函数,则以下关于调用该函数的叙述中错误的是_____.

A:

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

B:

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

C:

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

D:

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

 

答案:

D

第16题(2.0分)题号:

56

以下关于C语言源程序的叙述中,错误的是________.

A:

一个C源程序必须有且仅有一个名为main的函数定义

B:

函数定义由函数头部和函数体两部分组成

C:

在一个函数定义的函数体中允许定义另外一个函数

D:

在一个函数定义的函数体中允许调用另外一个函数或调用函数自身

 

答案:

C

第17题(2.0分)题号:

57

以下程序运行后的输出结果是________.

main()

{chara[7]="a0\0a0\0";inti,j;

i=sizeof(a);j=strlen(a);

printf("%d%d",i,j);

}

A:

22

B:

72

C:

75

D:

62

 

答案:

B

第18题(2.0分)题号:

58

下面关于循环语句for、while、do_while的叙述中,正确的是________.

A:

三种循环语句的循环体都必须放入一对花括号中

B:

三种循环语句中都可以缺省循环终止条件表达式

C:

三种循环语句的循环体都至少被无条件地执行一次

D:

三种循环语句都可能出现无穷循环

 

答案:

D

第19题(2.0分)题号:

59

若有数组A和B的声明“staticcharA[]="ABCDEF",B[]={'A','B','C','D','E','F'};”

则数组A和数组B的长度分别是________.

A:

7,6

B:

6,7

C:

6,6

D:

7,7

 

答案:

A

第20题(2.0分)题号:

60

已知函数fun的定义如下:

voidfun(intx[],inty)

{intk;

for(k=0;k

x[k]+=y;

}

若main函数中有声明inta[10]={10};及调用fun函数的语句,则正确的fun函数调用形式

是________.

A:

fun(a[],a[0]);

B:

fun(a[0],a[0]);

C:

fun(&a[0],a[0]);

D:

fun(a[0],&a[0]);

 

答案:

C

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

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

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

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