C语言题库.docx
- 文档编号:30184882
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:17
- 大小:24.56KB
C语言题库.docx
《C语言题库.docx》由会员分享,可在线阅读,更多相关《C语言题库.docx(17页珍藏版)》请在冰豆网上搜索。
C语言题库
1、一个C程序的执行是从____A_______
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序的main函数开始,到本程序文件的最后一个函数结束
D) 本程序文件的第一个函数开始,到本程序main函数结束
2、设x,y和z均为float型变量,则以下不合法的赋值语句是___B_______
A) ++x;B) y=(x%2)/10;C) x*=y+8;D) x=y=0;
4、要把高级语言编写的源程序转换为目标程序,需要使用D
A)编辑程序B)驱动程序C)诊断程序D)编译程序
5、若有定义:
inta=8,C,b=5;执行语句C=a/b+0.4;后,c的值为B
A)1.4B)1C)2.0D)2
6、若变量a是int类型,并执行了语句:
a=‘A'+1.6;,则正确的叙述是D
A)a的值是字符CB)a的值是浮点型
C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上1。
7、以下程序段的输出结果是C
inta=1234;
printf(“%2d\n”,a);
A)12B)34C)1234D)提示出错、无结果
8、算法具有五个特性,以下选项中不属于算法特性的是 B
A)有穷性 B)简洁性 C)可行性 D)确定性
9、若有说明语句:
inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A
A)scanf(“%d%d%d”,&a,&b,d);B)scanf(“%d%d%d”,&a,&b,&d);
C)scanf(“%d%d%d”,a,b,d);D)scanf(“%d%d%d”,a,b,*d);
10、若定义:
inta=511,*b=&a;则printf(“%d\n”,*b);的输出结果为D
A)无确定值B)a的地址C)512D)511
11、以下程序的输出结果是C
main()
{inta=5,b=4,c=6,d;
printf(“%d\n”, d=a>b?
(a>c?
a:
c):
(b));
}
A)5B)4C)6D)不确定
13、以下程序的输出结果是A
main()
{inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf(“%d\n”,d);
}
A)1B)0C)非0的数D)–1
14、以下程序的输出结果是B
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{
if((i%10)==0)break;
elsei--;
}
i+=11;
a+=i;
}
printh(“%d\n”,a);
}
A)21B)32C)33D)11
15、以下程序段的输出结果是A
chars[]=“\\141\141abc\t”;
printf(“%d\n”,strlen(s));
A)9B)12C)13D)14
16、以下程序的输出结果是D
intf()
{staticinti=0;
ints=1;
s+=i;i++;
returns;
}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf(“%d\n”,a);
}
A)20B)24C)25D)15
17、以下程序的输出结果是B
charcchar(charch)
{if(ch>=‘A’&&ch<=‘Z')ch=ch-‘A'+‘a';
returnch;
}
main()
{chars[]=“ABC+abc=defDEF”,*p=s;
while(*p)
{*p=cchar(*p);
p++;}
printf(“%s\n”,s);
}
A)abc+ABC=DEFdefB)abc+abc=defdefC)abcaABCDEFdefD)abcabcdefdef
19、若有定义:
inta[8];则以下表达式中不能代表数组元a[1]的地址的是C
A)&a[0]+1B)&a[1]C)&a[0]++D)a+1
20、以下程序的输出结果是A
f(intb[],intm,intn)
{inti,s=0;
for(i=m;i returns; } main() {intx,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf(“%d\n”,x); } A)10B)18C)8D)15 22、以下程序的输出的结果是C intx=3; main() {inti; for(i=1;i } ncre() {staicintx=1; x*=x+1; printf(“%d”,x); } A)33B)22C)26D)25 23、若以下定义: structlink {intdata; strucklink*next; }a,b,c,*p,*q; 且变量a和b之间已有如下图所示的链表结构: 指针p指向变量a,q指向变量c。 则能够把c插入到a和b之间并形成新的链表的语句组是: C A)a.next=c;c.next=b;B)p.next=q;q.next=p.next; C)p->next=&c;q->next=p->next;D)(*p).next=q;(*q).next=&b; 24、在说明语句: int*f();中,标识符f代表的是D A)一个用于指向整型数据的指针变量 B)一个用于指向一维数组的行指针 C)一个用于指向函数的指针变量 D)一个返回值为指针型的函数名 26、数字字符0的ASCII值为48,若有以下程序 main() { char a=‘1’,b=‘2’; printf(“%c,”,b++); printf(“%d\n”,b-a); } 程序运行后的输出结果是 C A)3,2B)50,2C)2,2D)2,50 27、有以下程序 main() { intm=12,n=34; printf(“%d%d”,m++,++n); printf(“%d%d\n”,n++,++m); } 程序运行后的输出结果是 A A)12353514 B)12353513 C)12343514 D)12343513 28、有定义语句: int b;char c[10];则正确的输入语句是 B A)scanf(“%d%s”,&b,&c); B)scanf(“%d%s”,&b,c); C)scanf(“%d%s”,b,c); D)scanf(“%d%s”,b,&c); 29、有以下程序 main() { int m,n,p; scanf(“m=%dn=%dp=%d”,&m,&n,&p); printf(“%d%d%d\n”,m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 A A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 30、有以下程序 main() { int a,b,d=25; a=d/10%9; b=a&&(-1); printf(“%d,%d\n”,a,b); } 程序运行后的输出结果是 B A)6,1B)2,1C)6,0D)2,0 31、有以下程序 main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf(“%d %d %d\n”,i,j,k); printf(“无输出值”); } 程序运行后的输出结果是 D A)1 2 3B)2 3 4C)无输出值D)2 3 3 32、若整型变量a、b、c、d中的值依次为: 1、4、3、2。 则条件表达式a a: c c: d的值 A A)1 B)2 c)3 D)4 33、有以下程序 main() { intp[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i]; printf(“%d\n”,j); } 程序运行后的输出结果是 B A)42 B)45 C)56 D)60 34、有以下程序 main() { char a[7]=“a0\0a0\0”;int i,j; i=sizeof(a); j=strlen(a); printf(“%d %d\n”,i,j); } 程序运行后的输出结果是 C A)2 2B)7 6C)7 2D)6 2 (4)有以下程序 #include“stdio.h” main() {inta=1,b=2; while(a<6){b+=a;a+=2;b%=10;} printf(”%d,%d\n”,a,b); } 程序运行后的输出结果是B A)5,11 B)7,1 C)7,11 D)6,1 (21)有以下程序 #include<stdio.h> main() {inty=10; while(y--); printf(“y=%d\n”,y); } 程序执行后的输出结果是B A)y=0 B)y=-1 C)y=1 D)while构成无限循环 (22)有以下程序 #include<stdio.h> main() {chars[]=”rstuv"; printf(”%c\n”,*s+2); } 程序运行后的输出结果是C A)tuv B)字符t的ASCII码值 C)t D)出错 (24)有以下程序 #include<stdio.h> int f(int x); main() {int n=1,m; m=f(f(f(n)));printf(“%d\n”,m); } int f(int x) {return x*2;} 程序运行后的输出结果是D A)1 B)2 C)4 D)8 (28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是d A)int a[5]=﹛0﹜; B)int b[]={0,0,0,0,0}; C)int c[2+3]; D)int i=5,d[i]; (29)有以下程序 #include<stdio.h> void f(int*p); main() {int a[5]={1,2,3,4,5},*r=a; f(r);printf(”%d\n”;*r); } voidf(int*p) {p=p+3;printf(”%d,”,*p);} 程序运行后的输出结果是D A)1,4 B)4,4 C)3,1 D)4,1 (35)有以下程序 #include<stdio.h> void fun(intx) {if(x/2>1)fun(x/2); printf(”%d”,x); } main() {fun(7);printf(”\n”);} 程序运行后的输出结果是D A)137 B)731 C)73 D)37 (36)有以下程序 #include<stdio.h> intfun() {staticintx=1; x+=1;returnx; } main() {inti;s=1; for(i=1;i<=5;i++)s+=fun(); printf(”%d\n”,s); } 程序运行后的输出结果是B A)11 B)21 C)6 D)120 (9)有以下程序 #include<stdio.h> main() {inti,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) {n[i]=n[i-1]*3+1;printf(”%d",n[i]);} } 程序运行后的输出结果是【141340】。 36、有以下程序 int f1(int x,int y){return x>y? x: y;} int f2(int x,int y){return x>y? y: x;} main() { int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-f; printf(“%d,%d%d\n”,e,f,g); } 程序运行后的输出结果是 A A)4,3,7B)3,4,7C)5,2,7D)2,5,7 37、已有定义: chara[]=“xyz”,b[]={‘x',‘y',‘z'};以下叙述中正确的是 C A)数组a和b的长度相同 B)a数组长度小于b数组长度 C)a数组长度大于b数组长度 D)上述说法都不对 39、有以下程序 prt(int *m,int n) { inti; for(i=0;i m[i]++; } main() { inta[]={1,2,3,4,5},i; prt(a,5); for(i=0;i<5;i++) printf(“%d,”,a[i]); } 程序运行后的输出结果是: B A)1,2,3,4,5,B)2,3,4,5,6,C)3,4,5,6,7,D)2,3,4,5,1, 40、有以下程序 main() { int a[]={1,2,3,4,5,6,7,8,9,0},*p;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库