C语言习题.docx
- 文档编号:14543787
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:34
- 大小:25.27KB
C语言习题.docx
《C语言习题.docx》由会员分享,可在线阅读,更多相关《C语言习题.docx(34页珍藏版)》请在冰点文库上搜索。
C语言习题
基本语句练习
1、若有以下程序段
#include”stdio.h”
voidmain()
{inta=2,b=5;
printf(“a=%%d,b=%%d\n”,a,b);
}
其输出结果是()
A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d
2、以下程序段
floata=3.1415;printf(“|%6.0f|\n”,a);
其输出结果是()
A、|3.1415|B、|3.0|C、|3|D、|3.|
3、以下程序段的输出结果是()
floata=57.666;printf(“*%010.2f*\n”,a);
A、*0000057.66*B、*57.66*C、*0000057.67*D、*57.57*
4、下面语句printf(“|%8.5f|\n”,3461.45);的输出结果是()
A、|61.45000|B、|3461.450|C、|3461.45000|D、|3461.4500|
5、若变量都已经正确说明,则以下程序段:
a=2;b=3;printf(a>b?
”***a=%d”:
“###b=%d”,a,b);
其输出结果是
A、没有正确的输出格式控制B、输出为:
***a=2
C、输出为:
###b=2D、输出为:
***a=2###b=3
6、执行下列程序时输入1234567,程序的运行结果为()
#include”stdio.h”
voidmain()
{intx,y;
scanf(“%2d%2ld”,&x,&y);
printf(“%d\n”,x+y);
}
A、17B、46C、15D、9
7、已知chara;intb;floatc;doubled;则表达式a*b+c-d结果为()型。
A、doubleB、intC、floatD、char
8、根据定义和数据的输入方式,输入语句的正确形式是()
已有定义floatf1,f2;
数据的输入方式:
4.52
3.5
A、scanf(“%f,%f”,&f1,&f2);B、scanf(“%f%f”,&f1,&f2);
C、scanf(“%3.2f%2.1f”,&f1,&f2);D、scanf(“%3.2f,%2.1f”,&f1,&f2);
9、以下程序的输出结果为()*3.140000,3.142*
#include”stdio.h”
voidmain()
{printf(“*%f,%4.3f*\n”,3.14,3.1415);}
10、结构化程序流程图中一般包含3种基本结构,在下述结构中不属于其基本结构的是()。
A、顺序结构B、嵌套结构C、循环结构D、选择结构
11、若有语句:
inta=7;floatx=2.5,y=4.7;则表达式x+a%3×(int)(x+y)%2/4的值是()。
A、2.500000B、2.750000C、3.500000D、0.000000
12、设有说明语句:
intx=43,y=0;charch=’A’;则表达式x>=y&&ch<’B’&&!
y的值是()。
A、语法错误B、0C、假D、1
13、若a为int类型,且其值为3,则执行完表达式a+=a*a后,a的值是_______。
14、inta;表达式(a=3*4,a*2),a+8的值为_______。
15、表达式8.0*(1/2)的值为。
16、下列符号中,可以作为变量名的是()。
A、3aBB、$XC、_bD、if
17、设intx=1,y=1;表达式(!
x||y)的值是()。
A、0B、1C、2D、-1
18、下列标识符中,合法的标识符是()。
A、—abc1B、8abcC、_abc1D、for
19、下列关系表达式中结果为假的是()。
A、0!
=1B、2<=8C、(a=2*2)==2D、y=(2+2)==4
选择结构
1、对下述程序,正确的判断是()
#include”stdio.h”
voidmain()
{intx,y;
scanf(“%d,%d”,&x,&y);
if(x>y)
x=y;y=x;
else
x++;y++;
printf(“%d,%d”,x,y);
}
A、有语法错误,不能通过编译B、若输入数据3和4,则输出4和5
C、若输入数据4和3,则输出3和4D、若输入数据4和3,则输出4和4
2、以下程序的输出结果是()
#include”stdio.h”
voidmain()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{
case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;
}
printf(“\na=%d,b=%d”,a,b);
}
A、a=1,b=0B、a=2,b=1C、a=1,b=1D、a=2,b=2
3、以下程序的输出结果是()
#include”stdio.h”
voidmain()
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec+=1;
printf(“%d\n”,c);
}
A、0B、1C、2D、3
4、以下程序的输出结果是()
#include”stdio.h”
voidmain()
{intw=4,x=3,y=2,z=1;
Printf(“%d\n”,(w w: z z: x)); } A、1B、2C、3D、4 5、以下程序的运行结果是() #include”stdio.h” voidmain() {intk=2; switch(k) {case1: prinft(“%d\n”,k++); break; case2: printf(“%d\n”,k++); case3: printf(“%d\n”,k++); break; case4: printf(“%d\n”,k++); default: printf(“Full! \n”); } } A、1B、2C、2D、3 3322 6、请写出以下程序的输出结果() #include”stdio.h” voidmain() {inta=100; if(a>100) printf(“%d\n”,a>100); else printf(“%d\n”,a<=100); } 7、当a=1,b=2,c=3时,以下语句执行后,a,b,c中的值分别是、、。 if(a>c) b=a;a=c;c=b; 8、若变量已经正确定义,以下语句段的输出结果是。 x=0;y=2;z=3; switch(x) { case0: switch(y==2) {case1: printf(“*”);break; case2: printf(“%”);break; } case1: switch(x) { case1: printf(“$”); case2: printf(“*”);break; Default: printf(“#”); } } 9、如下程序的输出结果是() #include”stdio.h” voidmain() {inta=12,b=5,c=-3; if(a>b) if(b<0)c=0; elsec++; printf(“%d\n”,c); } A、0B、1C、-2D、-3 10、以下程序运行后,如果从键盘输入5,则输出结果是() #include”stdio.h” voidmain() {intx; scanf(“%d”,&x); if(x--<5)printf(“%d”,x); elseprintf(“%d”,x++); } A、3B、4C、5D、6 11、以下程序的输出结果是() #include”stdio.h” voidmain() {inta=15,b=21,m=0; switch(a%3) {case0: m++;break; case1: m++; switch(b%2) {default: m++; case0: m++;break: } } printf(“%d\n”,m); } A、1B、2C、3D、4 12、两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是() #include”stdio.h” voidmain() {intx; scanf(“%d”,&x); if(x++>5)printf(“%d”,x); elseprintf(“%d\n”,x--);} A、7和5B、6和3C、7和4D、6和4 13、以下程序的输出结果是() #include”stdio.h” voidmain() {inta=-1,b=1,k; if((++a<0)&&! (b--<=0)) printf(“%d%d\n”,a,b); else printf(“%d%d\n”,b,a); } A、-1B、0C、1D、0 1100 14、以下关于运算符优先顺序的描述中正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑运算符 B、逻辑运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑运算符 15、若从键盘输入58,则以下程序输出的结果是() #include”stdio.h” voidmain() {inta; scanf(“%d”,&a); if(a>50)printf(“%d”,a); if(a>40)printf(“%d”,a); if(a>30)printf(“%d”,a); } 16、以下程序输出的结果是() #include”stdio.h” voidmain() {inta=5,b=4,c=3,d; d=(a>b>c); printf(“%d\n”,d); } 17、以下程序输出的结果是() #include”stdio.h”: voidmain() {intx=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf(“%d,%d\n”,x,y); } 18、inta=2,b=3,c=4;则执行语句a*=16+(b++)–(++c);后a的值是。 19、以下程序的输出结果是。 #include”stido.h” main() {intx=2,y=-1,z=2; if(x if(y<0)z=0; elsez+=1; printf(“%d\n”,z); } 20、若从键盘输入B,则以下程序输出的结果是。 main() {chargrade;scanf("%c",&grade); case‘A’: printf(">=85\t"); case’B’: case’C’: printf(">=60\t"); case’D’: printf("<60\t"); } 循环结构 1、下述for循环语句() inti,k; for(i=0,k=-1;k=1;i++,k++) printf(“***”); A、判断循环结束的条件非法B、是无限循环C、只循环一次D、一次也不循环 2、以下程序的输出结果是() #include”stdio.h” voidmain() {inti; for(i=1;i<=5;i++) {if(i%2) putchar(‘<’); else continue; putchar(‘>’); } putchar(‘#’); } A、<><><>#B、><><><#C、<><>#D、><><# 3、以下程序段的输出结果是() intx=3; do {printf(“%d”,x-=2);}while(! (--x)); A、1B、30C、1-2D、死循环 4、以下程序的输出结果是() #include”stdio.h” voidmain() {inty=10; for(;y>0;y--) if(y%3==0) {printf(“%d”,--y); continue; } } A、741B、852C、963D、8754321 5、若x是int型变量,以下程序段的输出结果是() for(x=3;x<6;x++) printf((x%2)? (“**%d”): (“##%d\n”),x); A、**3B、##3C、##3D、**3##4 ##4**4**4##5**5 **5##5 6、以下程序的输出结果是() #include”stdio.h” voidmain() {intx=2; while(x--); printf(“%d”,x); } 7、以下程序段的输出结果是() inti=0,sum=1; do {sum+=i++;} while(i<5); printf(“%d\n”,sum); 8、下述程序的运行结果是() #include”stdio.h” voidmain() {ints=0,k; for(k=7;k>4;k--) {switch(k) {case1: case4: case7: s++;break; case2: case3: case6: break; case0: case5: s+=2;break; } } printf(“s=%d”,s); } 9、下面程序输出结果是。 #include”stdio.h” voidmain() {inta; for(a=0;a<6;a++) {if(a%2) printf(“%%”); else continue; printf(“@”); } printf(“\n”); } 10、以下循环体的执行次数是() #include”stdio.h” voidmain() {inti,j; for(i=0,j=1;i<=j+1;i+=2,j--)printf(“%d\n”,i); } A、3B、2C、1D、0 11、以下程序中,while循环的次数是() #include”stdio.h” voidmain() {inti=0; while(i<10) {if(i<1)continue; if(i==5)break; i++; } } A、1B、10C、6D、死循环,不能确定次数 12、以下for循环的循环次数() for(x=0,y=0;(y! =123)&&(x<4);x++); A、无限循环B、循环次数不定C、循环执行4次D、循环执行3次 13、执行下面程序片段的结果是() intx=23; do { printf(“%d”,x--); }while(! x) A、321B、23C、没有输出D、死循环 13、下面程序的输出结果是() #include”stdio.h” voidmain() {intk,j,m; for(k=5;k>=1;k--) {m=0; for(j=k;j<=5;j++) m=m+k*j; } printf(“d\n”,m); } A、124B、25C、36D、15 14、下面程序的输出结果是() #include”stdio.h” voidmain() {intx=10,y=10,i; for(i=0;x>8;y=++i) printf(“%d%d”,x--,y); } A、10192B、9876C、10990D、101091 15、下面程序段的输出结果是() a=1;b=2;c=2; while(a printf(“%d,%d,%d”,a,b,c); A、1,2,0B、2,1,0C、1,2,1D、2,1,1 16、若有如下语句,则程序段() intx=6; do{printf(“%d\n”,x-=2);} while(--x); A、输出的是1B、输出的是4和1C、输出的是3和0D、死循环 17、下面程序的功能是计算1~10之间的奇数之和与偶数之和,请填空。 #include”stdio.h” voidmain() {inta,b,c,i; a=c=0; for(i=0;i<=10;i+=2) {a+=i; ___________; c+=b;} } printf(“%d”,a); printf(“%d”,c); } 18、以下程序的输出结果是。 #include”stdio.h” voidmain() {inti=10,j=0; do {j=j+i; i--; }while(i>2); printf(“%d\n”,j); } 19、有以下程序 #include”stdio.h” voidmain() {charc; while((c=getchar())! =’? ’)putchar(--c); } 程序运行时,如果从键盘输入: Y? N? 则输出结果是。 20、下面程序段的运行结果是() x=2; do{printf(“*”);x--;}while(x); 21、下面程序的运行结果是。 #include”stdio.h” voidmain() {inty,a; y=2;a=1; while(y--! =-1) {do{a*=y;a++;}while(y--);} printf(“%d,%d”,a,y); } 数组 1、合法的数组说明语句是() A、inta[]=”string”;B、inta[5]={0,1,2,3,4};C、chara=”string”; D、chara[]={0,1,2,3,4,5}; 2、调用strlen(“abcd\0ef\0g”)的返回值是() A、4B、5C、8D、9 3、若有以下语句,则正确的描述是() charx[]=”12345”; chary[]={‘1’,‘2’,‘3’,‘4’,‘5’}; A、x数组和y数组的长度相同B、x数组的长度大于y数组长度 C、x数组的长度小于y数组长度D、x数组等价于y数组 4、下面程序的运行结果是。 charc[5]={‘a’,’b’,’\0’,’c’,’\0’}’ printf(“%s”,c); 5、阅读程序,写出执行结果。 #include”stdio.h” voidmain() {charstr[30]; scanf(“%s”,str); printf(“%s”,str); } 运行程序,输入FortanLanguage 6、阅读程序,写出执行结果。 #include func(intb[]) {intj; for(j=0;j<4;j++) b[j]=j; } main() {inta[4],i func(a); for(i=0;i<4;i++) printf(“%d”,a[i]); } 7、下列程序执行后的输出结果是() #include”stdio.h” voidmain() {chararr[2][4]; strcpy(arr,”you”);strcpy(arr[1],“me”); arr[0][3]=’&’; printf(“%s\n”,arr); } A、you&meB、youC、meD、err 8、有如下程序 #include”stdio.h” voidmain() {intn[5]={0,0,0},i,k=2; for(i=0;i printf(“%d\n”,n[k]); } 该程序的输出结果是() A、不定值B、2C、1D、0 9、如下程序的输出结果是() #include”stdio.h” voidmain() {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j printf(“%d\n”,s); } A、14B、19C、20D、21 10、当执行下面的程序是,如果输入ABC,则输出的结果是() #include”stdio.h” #include”string.h” voidmain() {charss[10]=”1,2,3,4,5”; gets(ss);strcat(ss,“6789”);printf(“%s\n”,ss); } A、ABC6789B、ABC67C、12345ABC6D、ABC456789 11、以下程序的输出结果是() #include”stdio.h” 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)