绪论
1.二级C语言的题型有单项选择题、程序填空题、程序改错题、程序设计题?
答案:对
第一章
1.构成c程序的基本单位是函数,有且只有一个主函数答案:对
2.c语言一行可以写多条语句答案:对
3.c语言一条语句只能写在一行上答案:错
4.一个c语言程序里可以有多个主函数答案:错
5.一个C程序是由一个或多个函数组成的答案:对
6.C语言中每个函数都能实现一个或多个功能答案:对
7.在c语言中,调用的可以是库函数,也可以是用户自定义的函数答案:对
8.''是换行符答案:对
9.c程序是用小写的英文字母编写的答案:对
10.c语言主函数的名字是mian答案:错
第二章
1.c语言中整型常量有二进制整数、八进制整数、十进制整数答案:错
2.%求余运算符要求两侧的运算对象必须是整数答案:对
3.'='和'*='的优先级是一样的答案:对
4.以下选项中可用作C程序合法实数的是答案:0.1e0
5.以下程序的输出结果是#include <stdio.h>void main(){ int x=10,y=10;
printf("%d %d",x–,–y);}答案:10 9
6.若有定义语句:int a=3,b=2,c=1;以下选项中错误的赋值表达式是答
案:a=(b=4)=3;
7.写出下面程序的运行结果:#include <stdio.h>void main( ){int
x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d ",x,y,z);} 答案:2,3,1
8.写出下面程序的运行结果:#include <stdio.h>void main( ){int
a=1,b=0;printf("%d,",b=a+b);printf("%d",a=2*b);}答案:1,2
9.写出下面程序的运行结果是#include <stdio.h>void main(){ int a,b,c=9;
a=3,b=4; c%= a+b; printf(“%d”,c)} 答案:2
10.写出下面程序的运行结果:#include <stdio.h> void main(){ int a=4,b,c;
c=a+(b=2); a+=a-=a*a; printf("%d,%d,%d ",a,b,c);}答案:-24,2,6
第三章
关于printf函数正确的是1.有以下程序#include <stdio.h>void main(){char
a,b,c,d;scanf(“%c%c“,&a,&b);c=getchar( );d=getchar( );printf(“%c%c%c%c”,
a,b,c,d);}当执行程序时,按下列方式输入数据12↙34↙则输出结果是答案:12
回车 3
2.若有定义:int a,b;通过语句scanf("%d;%d",&a,&b);能把整数3赋给
变量a,5赋给变量b的输入数据是答案:3分号5
3.以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的
ASCIl码值为97)答案:printf("%d",'A');
4.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能
将变量c中的大写字母转换为小写字母的语句是答案:c=(‘A’+c)%26-‘a’;
5.在C语言中,每个语句和数据定义是用______结束答案:分号
6.在C程序中printf函数和scanf函数是输出和输入函数答案:对
7.在C程序中printf函数和scanf函数是格式输出输入函数,用这两个函数时,
必须指定格式答案:对
8.“c”是字符常量答案:错
9.下列程序段是对还是错int a,b,c;scanf(”%f%f%f”,a,b,c);答案:错
第四章
1.以下程序段的输出结果是 #include <stdio.h>void main(){ int i=1,j=1,k=2;
if((j++||k++)&&i++) printf("%d,%d,%d",i,j,k);}答案:2,2,2
2.当c的值不为0时,能正确将c的值赋给变量a,b的是答案:(a=c)&&(b=c)
3.以下程序的运行结果是 #include <stdio.h>void main(){ int a=010, b=10;
printf("%d,%d" , ++a, b--);}答案:9, 10
4.已知int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是答案:2,2
5.#include <stdio.h>void main(){ int x=1,y=0;if(!x) y++;else if(x==0)
if (x) y+=2;else y+=3;printf("%d",y);}程序运行后的输出
结果是答案:0
6.#include <stdio.h>main(){int x=1,y=0,a=0,b=0; switch(x) {case 1: switch(y)
{case 0:a++;break; case1:b++;break;} case 2:a++;b++;break; case
3:a++;b++;break; default:a++;b++;}printf(“a=%d,b=%d”,a,b);}A.a=1,b=0
B.a=2,b=1
C.a=1,b=1
D.a=2,b=2以上程序的输出是答案:a=2,b=1
7.下面程序的输出结果是:#include<stdio.h>void main(){ int a=2, b=-1, c=2;
if(a<b) if(b<0) c=0; else c+=1; printf("%d", c); }答案:2
8.下程序功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位
的顺序拆分并输出,请填空。#include<stdio.h>void main(){int
x=256;printf(“%d-%d-%d”,_______,x/10%10,x/100);}答案:x%10
9.有以下程序#include <stdio.h>void main(){ int x; scanf("%d",&x); if(x>15)
printf("%d",x-5); if(x>10) printf("%d",x); if(x>5) printf("%d ",x+5);}若程序
运行时从键盘输入12<;回车>,则输出结果为_________答案:12 17
10.有以下程序(说明:字符0的ASCII码值为48)#include
<stdio.h>main(){ char c1,c2; scanf("%d",&c1); c2=c1+9; printf("%c%c
",c1,c2);}若程序运行时从键盘输入48<;回车>,则输出结果为_________答案:09
第五章
1.下述for循环语句________ int i,k; for (i=0,k=-1;k=1;i++,k++) printf(“***”);答案:
是无限循环
2.#include <stdio.h>main( ) { int x=0,y=5,z=3; while(z–>0&&++x<5) y=y-1;
printf(“%d,%d,%d”,x,y,z); }程序执行后的输出结果是答案:3,2,-1
3.有以下程序#include <stdio.h>main( ) { int i,s=0;for(i=1;i<10;i+=2)
s+=i+1;printf(“%d”,s); }程序执行后的输出结果是答案:自然数1~10中的偶
数之和
4.以下程序执行后的输出结果是#include <stdio.h>main( ) { int i,n=0;
for(i=2;i<5;i++) { do { if(i%3) continue; n++;} while(!i); n++;}
printf(“n=%d”,n);}答案:n=4
5.程序运行后的输出结果是#include<stdio.h>main(){ int i,j,m=2;
for(i=1;i<3;i++) {for(j=3;j>0;j–) {if(i+j>3) break; m=i j;} } printf(“m=%d”,m);}
答案:m=2
6.以下程序运行后的输出结果是#include<stdio.h>main(){ int a=1,b=2;
for(;a<8;a++) { b+=a;a+=2;} printf(“%d,%d”,a,b);}答案:10,14
7.以下程序运行后的输出结果是 #include <stdio.h>main() { int c=0,k;
for(k=1;k<3;k++) switch(k) {default:c+=k;
case2:c++;break; case4:c+=2;break; } printf("%d",c);}答案:3
8.以下程序的运行结果是 #include <stdio.h> main() { int x=8; for( ; x>0; x–)
{ if(x%3) { printf(“%d,”,x–); continue; } printf(“%d,”,–x);}} 答案:8,5,4,2 9.下述程序的输出结果#include<stdio.h>main(){ int y=10; while(y–);
printf(“y=%d”,y);}答案:y=-1
10.下面的程序的结果是:#include <stdio.h>main(){ int x=3;do {printf("%d",x-
=2);}while(!(–x));}答案:输出的是1和-2
11.下述for语句int i,x;for (i=0,x=1;i<=9&&x!=876;i++)scanf(%d”,&x);答案:最
多循环10次
12.有以下程序#include <stdio.h>main(){int
s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case
2:printf("%d",s+4); break;case
3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<;回车>,则输出结果是答案:6566456
第六章
1.若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4
的表达式是答案:a['d'-c]
2.以下程序运行后的输出结果是#include<stdio.h>main(){int
a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=1;i<3;i++)
s=s+a[b[i]];printf(“%d”,s);}答案:5
3.#include<stdio.h>main(){int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=1;i<3;i++)
for(j=1;j<=1;j++) t+=b[i][b[j][i]];printf(“%d”,t);}程序运行后的输出结果是答
案:4
4.若有以下定义和语句char
s1[10]="abcd!",s2[10]="123";printf("%d,%d",strlen(s1),strlen(s2));则输出结果是答案:55
5.#include <stdio.h> main() { char s[]={"012xy"}; int i,n=0;
for(i=0;s[i]!=0;i++) if(s[i]>'a'&&s[i]<='z')n++;
printf("%d",n); } 程序运行后的输出结果是答案:2
6.以下程序的运行结果是 #include <stdio.h> main() { int
s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++) c[s[i]]++;
for(i=1;i<5;i++) printf(“%d”,c[i]); printf(“”);}答案:4 3 3 2
7.有以下程序#include <stdio.h>main(){ char s[]="012xy8s34f4w2"; int i,n=0;
for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d",n);}程序运
行后的输出结果是答案:3
8.#include<stdio.h>main(){ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};int
b[3]={0},i;for(i=1;i<3;i++)
b[i]=a[i][2]+a[2][i];for(i=1;i<3;i++)printf(“%d”,b[i]);printf(“ ”);}程序运行后
的输出结果是答案:1418
9.以下程序用以删除字符串中所有空格,横线处需要填哪条语句
#include<stdio.h>main(){char[100]={“Our teacher teach c language!”};int
i,j;for(i=j=0;s[i]!=’’;i++) if(s[i]!=‘ ’) {s[j]=s[i];j++;}s[j]=______;printf(“%s”,s); }
答案:0
第七章
1.#include<stdio.h> int fun() {static int x=1; x*=2;return x;} main() {int i,s=1;
for(i=1;i<=2;i++) s=fun(); printf(“%d”,s);} 程序运行后的输出结果是答案:4 2.#include <stdio.h> int f(int t[],int n); main() {int a[4]={1,2,3,4},s;
s=f(a,4);printf(“%d”,s);} int f(int t[],int n) {if (n>0) return t[n-1]+f(t,n-1); else return 0;} 程序运行后的输出结果是答案:10
3.#include <stdio.h> int f(int n); main() { int a=3,s;
s=f(a);s=s+f(a);printf("%d",s);} int f(int n) {static int a=1;
n+=a++; return n; } 程序运行后的输出结果是答案:9
4.#include <stdio.h> void fun(int p) {int d=2; p=d++;
printf("%d",p); } main() {int a=1; fun(a); printf("%d",a); } 程序运行后的输出结果是答案:21
5.#include<stdio.h>int fun(int x,int y){ if(x==y) return(x);else
return((x+y)/2);}main(){ int a=4,b=5,c=6;printf("%d",fun(2*a,fun(b,c))); }程
序运行后的输出结果是答案:6
6.#include <stdio.h> int fun(int a,int b) { if(b==0) return a; else return(fun(–a,–
b)); } main() { printf("%d", fun(4,2));} 程序的运行结果是答案:2
7.#include <stdio.h> void fun(int a[], int n) { int i, t; for(i=0; i<n/2; i++){t=a[i];
a[i]=a[n-1-i]; a[n-1-i]=t;} } main() { int k[10]={1,2,3,4,5,6,7,8,9,10}, i; fun(k,5);
for(i=2; i<8; i++) printf("%d", k[i]); printf("");} 程序的运行结果是答
案:321678
8.有以下程序 void swap1(int c[]) { int t; t=c[0];c[0]=c[1];c[1]=t; } void
swap2(int c0,int c1) {int t; t=c0;c0=c1;c1=t; } main() {int
a[2]={3,5},b[2]={3,5}; swap1(a);
swap2(b[0],b[1]);printf(“%d %d %d %d”,a[0],a[1],b[0],b[1]); }执行后输出的结果是:答案:5 3 3 5
9.有以下程序#include <stdio.h>int fun(){ static int x=1;x=2;
return x;}main(){ int i,s=1; for(i=1;i<=3;i++) s=fun();
printf("%d",s);}程序运行后的输出结果是答案:64
10.int fun(int n){if(n==1) return 1;else return(n+fun(n-1));}main(){int
x;scanf("%d",&x);x=fun(x);printf("%d",x);}执行程序时,给变量x输入10,
程序输出结果是:答案:55
第八章
1.下列语句组中,正确的是答案:char *s;s= " Olympic ";
2.void fun(char c,int d) { c=c+1; d=d+1; printf(“%c,%c,”,c,d);} main() { char
b=‘a’,a=‘A’; fun(&b,a); printf(“%c,%c”,b,a);}程序运行后的输出结果是答案:
b,B,b,A
3.设有定义double a[10],s=a;以下能够代表数组元索a[3]的是答案:(s+3)
4.#include<stdio.h> #define N 8 void fun(int x,int i) {x=*x+i;} main() {int
a[N]={1,2,3,4,5,6,7,8},i; fun(a,2);for(i=0;i<N/2;i++) { printf(“%d”,a[i]);}
printf(“”);} 程序运行后的输山结果是答案:3234
5.#include <stdio.h> main() {int m=1,n=2,p=&m,q=&n,r;  r=p;p=q;q=r;
printf("%d,%d,%d,%d",m,n,p,*q); } 程序运行后的输出结果是答案:1,2,2,1
6.#include <stdio.h> #include <string.h> main()
{charstr[][20]={"One World","One Dream!"}; char p=str[1];
printf(“%d,”,strlen(p)); printf("%s",p); } 程序运行后的输出结果是答
案:10,One Dream!
7.下列函数的功能是 fun(char a,char b) {while((b=a)!=''){a++;b++;}}答案:将
a所指字符串赋给b所指空间
8.#include<stdio.h> main(){char s=“ABC”; do {printf
(“%d”,s%10);s++;}while(*s);}字母A的ASCII码值为65.程序的输出结
果是答案:567

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。