C语言上机题.docx
- 文档编号:28089798
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:56
- 大小:33.50KB
C语言上机题.docx
《C语言上机题.docx》由会员分享,可在线阅读,更多相关《C语言上机题.docx(56页珍藏版)》请在冰豆网上搜索。
C语言上机题
一、选择题
1、对于字符串“08\\10\\04\n”;以下说法正确的是:
字符串在内存中占据10个字节
2、有以下程序
#include
voidmain()
{inti=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s+=i;
}while(i<7);
printf("%d\n",s);
}
执行后输出的结果是__16____。
3、设x为int型变量,则执行以下语句后,x的值为:
0
intx=10;
x*=x/=-x;
printf("%d\n",--x);
4、若以下选项中的变量已正确定义,则正确的赋值语句是_x3=0x12_____。
5、有如下程序段
inta=14,b=15,x;
charc='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为___1___。
6、有如下程序
#include
voidmain()
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
该程序的输出结果是__2____。
7、请选出合法的C语言赋值语句_i++_____。
8、有以下程序段
intk=0;
while(k=1)k++;
while循环执行的次数是_无限次_____。
9、若输入3.6,2.4,下面程序的输出是_1.600000___。
#include
main()
{floatx,y,z;
scanf("%f,%f",&x,&y);
z=x/y;
while
(1)
{if(fabs(z)>1.0)
{x=y;
y=z;
z=x/y;
}
elsebreak;
}
printf("%f\n",y);
}
10、有以下程序
#include
voidmain()
{inti;
for(i=1;i<40;i++)
{if(i++%5==0)
if(++i%8==0)printf("%d",i);
}
printf("\n");
}
执行后的输出结果是32
11、表达式3.6-5/2+1.2+5%2的值是3.8
12、若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
_10.0,22.0,33.0_____。
13、以下程序的输出结果是__4____。
#include
voidmain()
{inta=5,b=4,c=6,d;
printf("%d\n",d=a>c?
(a>c?
a:
c):
(b));
}
14、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。
以下不能将变量c的大写字母转换为对应小写字母的语句是c=('A'+c)%26-'a'
15、已知字符'A'的ASCII代码值是65,字符变量c1的值是'A',c2的值是'D'。
执行语句printf("%d,%d",c1,c2-2);后,输出结果是65,66
16、以下选项中,当x为大于1的奇数时,值为0的表达式是x%2==0
17、设n为整型变量,则不能正确表达数学关系:
10 18、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言表达式是_x/y*z_____。 19、以下4个选项,不能看作一条语句的是_if(b==0)m=1;n=2_____。 20、有以下程序 #include voidmain() {inty=10; while(y--);printf("y=%d\n",y); } 程序执行后的输出结果是y=-1 21.已知字母A的ASCII码为十六进制数41,则下面程序段的运行结果为: (67C) charc='A'; c=c+'F'-'D'; printf("%d%c\n",c,c); 22.假定w、x、y、z、m均为int型变量,有如下程序段: w=1;x=2;y=3;z=4 m=(w w: x;m=(m m: y;m=(m m: z; 则该程序段执行后,m的值是___1___。 23.有以下程序段 intm=0,n=0;charc='a'; scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入: 10A10↙,则输出结果是_10A10_____。 24.以下程序执行后sum的值是__不确定____。 #include voidmain() {inti,sum; for(i=1;i<6;i++)sum+=i; printf("%d\n",sum); } 25.有以下程序 #include 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); }程序运行后的输出结果是___2___。 26.#include voidmain() { inta=0,b=0; a=10;/*给a赋值*/ b=20;/*给b赋值*/ printf("a+b=%d\n",a+b);/*输出计算结果*/ } 程序运行后的输出结果是a+b=30 27.有以下程序 #include voidmain() {inta;charc=10; floatf=100.0;doublex; a=f/=c*=(x=6.5); printf("%d%d%3.1f%3.1f\n",a,c,f,x); } 程序运行后的输出结果是_1651.56.5_____。 28.判断char型变量ch是否为'0'~'9'数字字符的正确表达式是((ch>='0')&&(ch<='9'))。 29.表达式: 10! =9的值是__1____。 30.若变量a、i已正确定义,且i已正确赋值,合法的语句是_++i_____。 31.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是_x=(int)(x*100+0.5)/100.0;_____。 32.有以下程序 #include voidmain() {intc; while((c=getchar())! ='\n'){ switch(c-'2'){ case0: case1: putchar(c+4); case2: putchar(c+4);break; case3: putchar(c+3); default: putchar(c+2);break;} } } 从第一列开始输入以下数据,↙代表一个回车符。 2473↙ 程序的输出结果是_668977_____。 33.设有定义: inta;floatb;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0<回车>,a和b的值分别是87和6.000000 34.设x、y、t均为int型变量,则执行语句: x=y=3;t=++x||++y;后,y的值为___3___。 35.若有数学表达式 若b=1,c=2,d=3,下面C语言表达式计算结果中有一个选项与其计算结果不同是(4*b*c/7*d) 36.若有charc;则正确的赋值表达式是c='\101' 37.设x为int型变量,则执行以下语句后,x的值为: 0 intx=10; x*=x/=-x; printf("%d\n",--x); 38.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言表达式是_x/y*z_____。 39.以下叙述中错误的是C程序中,+、-,*、/、%号是算术运算符,可用于整型和实型数的运算 40.有定义语句: inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是 _if(a<3)x=3; if(a<2)x=2; if(a<1)x=1;_____。 41.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_2.0_____。 42.以下的for循环: for(x=0,y=0;(y! =123)&&(x<4);x++) 循环4次 43.能正确表示a和b同时为正或同时为负的逻辑表达式是__a*b>0____。 44.以下不合法的数值常量是8.0E0.5 45.有如下程序段 inta=14,b=15,x; charc='A'; x=(a&&b)&&(c<'B'); 执行该程序段后,x的值为__1____。 46.有如下程序 #include voidmain() {floatx=2.0,y; if(x<0.0)y=0.0; elseif(x<10.0)y=1.0/x; elsey=1.0; printf("%f\n",y); } 该程序输出结果是_0.500000_____。 47.以下符合C语言语法的实型常量是_.5E-3_____。 48.有以下程序 #include voidmain() {intk=5; while(--k)printf("%d",k-=3); printf("\n"); } 执行后有输出结果是1 49.以下选项中非法的表达式是_x+1=x+1_____。 50.以下程序的输出结果是__4____。 #include voidmain() {inta=5,b=4,c=6,d; printf("%d\n",d=a>c? (a>c? a: c): (b)); } 51.若要求表示“a不等于0”的关系,则能正确表示这一关系的表达式为a! =0 52.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是_! ((a c||1)_____。 53.阅读以下程序 #include voidmain() {intx; scanf("%d",&x); if(x--<5)printf("%d\n",x); elseprintf("%d\n",x++); } 程序运行后,如果从键盘上输入5,则输出结果是__4___。 54.设有定义: longx=-123456L;,则以下能够正确输出变量x值的语句是__printf("x=%ld\n",x);____。 55.当执行以下程序时,输入1234567890<回车>,则其中while循环将执行0次。 #include voidmain() {charch; while((ch=getchar())=='0')printf("#"); } 56.若有代数式 (其中e代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是sqrt(fabs(pow(n,x)+exp(x))) 57.已知inti=1;执行语句while(i++<4);后,变量i的值为__5__。 58.有以下程序 #include voidmain() {inta=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); elseif((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2); } 执行后输出的结果是__3____。 59.下列定义变量的语句中错误的是floatUS$; 60.以下选项中,值为1的表达式是1-'\0' 61.若变量均已正确定义并赋值,以下合法的C语言赋值语句是x=y==5; 62.下面程序的输出是_2870___。 main() {intx,i; for(i=1;i<=100;i++) {x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf("%d",x); } 63.下面程序 #include voidmain() { intx=10,y=3; printf("%d\n",y=x/y); } 的输出是__3____。 64.以下程序中,while循环的循环次数是__死循环,不能确定次数____。 #include voidmain() {inti=0; while(i<10) {if(i<1)continue; if(i==5)break; i++; } ...... } 65.有以下程序 #include voidmain() {chara,b,c,d; scanf("%c,%c,%d,%d",&a,&b,&c,&d); printf("%c,%c,%c,%c\n",a,b,c,d); } 若运行时从键盘上输入: 6,5,65,66↙。 则输出结果是__6,5,A,B____ 66.已知intx=12,y=3;执行下述程序后,变量x的值是_程序运行有错误___。 do {x/=y--; }while(x>y); printf("%d\n",x);} 67.在C语言中,合法的字符常量是'\t' 68.下列条件语句中,功能与其他语句不同的是_if(a==0)printf("%d\n",x);elseprintf("%d\n",y);_____。 69.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是__! ((a c||1)____。 70.C语言中while和dowhile循环的区别是(dowhile循环的循环体至少执行一次) 71.有以下程序段 intj;floaty; scanf("%2d%f",&j,&y); 当执行上述程序段,从键盘上输入555667777后,y的值为566.0 72.有以下程序段 intn=0,p; do{scanf("%d",&p);n++;}while(p! =12345&&n<3); 此处do-while循环的结束条件是_p的值等于12345或者n的值大于等于3_____。 73.在C语言中,若有以下定义和语句: inta=010,b=0x10,c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是8,16,10 74.已有定义: charc;,程序前面已在命令行中包含ctype.h文件。 不能用于判断c中的字符是否为大写字母的表达式是'A'<=c<='Z' 75.以下4个选项,不能看作一条语句的是_if(b==0)m=1;n=2;_____。 76.请读程序: #include main() { inta,b; for(a=1,b=1;a<=100;a++){ if(b>=20)break; if(b%3==1){b+=3;continue;} b-=5; } printf("%d\n",a); } 上面程序的输出结果是__8____。 77.若有以下程序: #include voidmain() {intk=2,i=2,m; m=(k+=i*=k);printf("%d,%d\n",m,i); } 执行后的输出结果是__6,4____。 78.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是(E==0) 79.有一函数 ┌1x>0 y=┤0x=0 └-1x<0 以下程序段中不能根据x的值正确计算出y的值的是_y=0;if(x>=0)if(x>0)y=1;elsey=-1;_____。 80.以下不能定义为用户标识符的是__int____。 81.以下程序的输出结果是___B___。 #include voidmain() {intnum=0; while(num<=2) {num++;printf("%d\n",num);} } A)B)C)D) 1111 222 33 4 82.有以下程序 #include voidmain() {inti,s=0; for(i=1;i<10;i+=2)s+=i+1; printf("%d\n",s); } 程序执行后的输出结果是_自然数1~10中偶数之和_____。 83.若x是int型变量,且有下面的程序片段 for(x=3;x<6;x++)printf((x%2)? ("**%d"): ("##%d\n"),x); 上面程序片段的输出结果是__④____。 ①**3②##3③##3④**3##4 ##4**4**4##5**5 **5##5 84.有以下程序段 intj;floaty; scanf("%2d%f",&j,&y); 当执行上述程序段,从键盘上输入555667777后,y的值为566.0 85.请读程序: #include main() { inta,b; for(a=1,b=1;a<=100;a++){ if(b>=20)break; if(b%3==1){b+=3;continue;} b-=5; } printf("%d\n",a); } 上面程序的输出结果是__8____。 86.以下程序的输出结果是_20_____。 #include voidmain() {intn=4; while(n--)printf("%d",--n); } 87.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是_6.000000_____。 88.有以下程序 #include voidmain() {inti,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++) {if(j%2)continue; x++; } x++; } printf("x=%d\n",x); } 程序执行后的输出结果是x=8 89.如果inta=1,b=2,c=3,d=4;则条件表达式"a a: c c: d"的值是 (1) 90.在以下字符常量中,合法的是'\x43' 91.以下不合法的字符常量是'\018' 92.有以下程序 #include voidmain() {chara='a',b; printf("%c,",++a); printf("%c\n",b=a++); } 程序运行后的输出结果是__b,b____。 93.在C语言中,以下程序段中内循环体总的执行次数是20 for(i=5;i;i--) for(j=0;j<4;j++) {...内循环体...} 94.以下关于逻辑运算符两侧运算对象的叙述中正确的是可以是任意合法的表达式 95.设有定义: floata=2,b=4,h=3;,以下C语言表达式中与代数式(a+b)h/2计算结果不相符的是_(1/2)*(a+b)*h_____。 96.以下关于long、int和short类型数据占用内存大小的叙述中正确的是由C语言编译系统决定 97.有以下程序 #include voidmain() {intm=3,n=4,x; x=-m++; x=x+8/++n; printf("%d\n",x); } 程序运行后的输出结果是__-2____。 98.有以下程序 #include voidmain() {inta=0,b=0,c=0,d=0; if(a=1)b=1;c=2; elsed=3; printf("%d,%d,%d,%d\n",a,b,c,d); } 程序输出编译有错 99.在C语言中,合法的基本数据类型关键字是long、short 100.以下程序的输出结果是d=20。 main() {inta=0,b=1,c=0,d=20; if(a)d=d-10; elseif(! b) if(! c)d=15; elsed=25; printf("d=%d\n",d); } 101.设有以下程序段,运行的结果是(1,2,0)。 #include voidmain() { inta=1,b=2,c=2,t; while(a {t=a;a=b;b=t;c--;} printf("%d,%d,%d",a,b,c); } 102.能正确表示“当x的取值在(-∞,-2)和[2,+∞)范围内为真,否则为假”的表达式是((x<-2)||(x>=2)) 103.设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值是_-12_____。 104.有以下程序 #include voidmain() {charc1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c5=getchar();c6=getchar(); putchar(c1);putchar(c2); printf("%c%c\n",c5,c6); } 程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是1245 105.有以下程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机