C语言复习题.docx
- 文档编号:10574952
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:19
- 大小:18.73KB
C语言复习题.docx
《C语言复习题.docx》由会员分享,可在线阅读,更多相关《C语言复习题.docx(19页珍藏版)》请在冰豆网上搜索。
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 字符串"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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题