




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言练习题总汇一、 单选题:【顺序结构程序设计】1己知 int k,m=1; 执行语句 k=-m+; 后 k 的值是( A )。(提示: 负号与自加运 算符同级,结合方向从右向左 )A)-1B) 0C)1D)22若有定义 int x=4 ;则执行语句 x + = x * = x + 1 ;后, x 的值为( C )。 A)5B)20C)40 D) 无答案3若有定义: float a= ,b=,c=;则表达式 1/2 *(a+b+c) 的值为( C )。A) B)6 C) D) 无答案4以下程序段的输出结果是( C )。(提示: a 当约束过严时,约束失效。按自 由格式输出。 )int a=1
2、234;printf(%2dn,a);A)12 B)34 C)1234 D) 提示出错,无结果5. 下列程序段的输出结果是( C)。int a=1234 ;float b= ;double c= ;printf ( %2d,%,%,a, b,c);A)无输出B)12, , C)1234, D)1234,6. 设 x, y 均为整型变量,且 x=8, y=5, 则以下语句的输出结果是( D)printf (%d, %dn, x- ,+y);A)8,5 B)7,5 C) 7,6 D) 8,67. 以下程序的输出结果是( A )。int main () int a=20 , b=10;printf(
3、%d,%dn ,a+b,a-b ); A) 30,%d B)30,10 C)30,%10 D) 以上答案均不正确(%d中第一个 %后面的表示字符)8下列程序的运行结果是( A)。int main () float x= ;int y;y= (int ) x;printf (x=%f ,y=%d,x,y); A) x=,y=2 B)x=,y=2 C)x=2,y=2 D) x=,y=9. 以下程序的输出结果是( A)。int main () char c= z ;字母共有 26 个,而 z 是最后一个 )printf (%c,c-25 );A)a B)z C)z-25 D)y (10下面程序的输出
4、结果是( C) int main( ) double d= ;int x= , y ;y=(x+/ ;printf(%dn,d*y) ; A) 3 B) C)0 D)11. 下面程序的输出结果是 ( C ) 。( 提示:输出时无定界符 )int main() int k=17 ;printf(%d , %o,%xn ,k,k,k) ;A)17,17,17 B)17,021,0x11 C)17,21,11 D)17,0x11,021 12下列程序执行后的输出结果是( C)。int main () char x =OxFFFF ;printf(%dn , x- );A)-32767 B)FFFE
5、C)-1 D)=-32768 (abrehiyboun);的输出结果是( C)。A)abrehiybou B)abrehiybouC)rehiyou D)abrehiybou14有定义语句: int x,y; 若要通过 scanf(%d,%d,&x,&y); 语句使变量 x 得到 数值 11,变量 y 得到数值 12,下面四组输入形式中错误的是( A)。A)1112B)11 ,12C)11,12D)11,1215有以下程序段:int m=0,n=0;char c= a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);若从键盘上输入: 10A10 回
6、车 ,则输出结果是( A)。A)10,A,10 B)16,a,10 C)10,a,0 D)10,A,016. 若变量已正确说明为 int 类型,要通过语句 scanf(%d %d %d ,&a,&b,&c);给 a 赋值 1,b 赋值 2,c 赋值 3,不正确的输入形式是( B)。A) 1 空格 2空格 3回车 B)1,2,3 回车 C)1 回车 2空格 3回车 D)1空格 2回车 3回车, b,c 被定义为 int 型变量,若从键盘给 a, b,c 输入数据,正确的输入语句是 (D) A)input a,b,c; B)read(%d%d%d,&a,&b,&c); C)scanf(%d%d%d
7、,a,b,c);D)scanf(%d%d%d,&a,&b,&c);18已知 a,b,c 为 int 型变量,若从键盘输入 :1,2,3 回车,使 a的值为 1,b的 值为 2,c 的值为 3, 以下选项中正确的输入语句是( B)。A)scanf(%2d,%2d,%2d , a,b,c); B)scanf(%d,%d,%d,&a,&b,&c);C)scanf(%d %d %d,&a,&b,&c); D)scanf(i=%dj=%d,k=%d,&a,&b,&c);19. 执行下程序时输入 :123空格456空格789回车,输出结果是 ( D ) 。int main () char s ;int c
8、 ,i ;scanf( %c ,&c);scanf( %d,&i );scanf( %c ,&s);printf(%c,%d,%cn ,c,i ,s);A)123,456,789 B)1,456,789 C)1,23,456,789 D) 1,23,20. 已定义 c 为字符型变量,则下列语句中正确的是( C ) 。A)c=97 B )c=“97 “ C ) c=97D)c=“a”21. 以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面积 s 。程序在编译时出错。#include void main()int r;float s;scanf(%d,&r);s=p*r*r;printf
9、(s=%fn,s);出错的原因是( )。A) 注释语句书写位置错误B) 存放圆半径的变量 r 不应该定义为整型C) 输出语句中格式描述符非法D) 计算圆面积的赋值语句中使用了非法变量 答案: D22. 有以下程序#include void main( )int m=12,n=34;printf(%d%d,m+,+n); printf(%d%dn,n+,+m); 程序运行后的输出结果是( )。答案: A23. 数字字符 0 的 ASCII 值为 48,若有以下程序 #include void main( )char a=1,b=2;printf(%c,b+); printf(%dn,b-a);
10、程序运行后的输出结果是 。A) 3,2 B ) 50,2C)2,2 D )2,50答案: C24. 有以下程序#include void main( )char c1=1,c2=2;c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2); 当运行时输入: a 后,以下叙述正确的是 A)变量 c1 被赋予字符 a, c2 被赋予回车符B) 程序将等待用户输入第 2 个字符C) 变量 c1 被赋予字符 a, c2 中仍是原有字符 2D) 变量 c1 被赋予字符 a, c2 中将无确定值 答案: A25.【选择结构程序设计】1. 有变量说明语句
11、int a,b ,c; ,顺序执行下面语句:a=b=c=1 ;+a|+b&+c;那么,变量 b 的值应是( B )a 的值应该是( B )A2 B 1 C 0 D 32. 有变量说明 int a=3;, 则表达式 a1 的运算结果和A0和 2 B 0和3 C 1和2 D 1和 33. 设 int a=3,b=4,c=5;,列表达式的值不为 1 的是( AA)a+bc&b=cB) a|b+c&b-cC) !(ab)&!c|1D)!(a+b)+c-1&b+c/24. #includeint main( )int a,b,c;a=10;b=50;c=30;if(ab) a=b;b=c;c=a;pri
12、ntf( “a=%d,b=%d,c=%dn”,a,b,c);程序的输出结果是( C )。=10, b=50, c=10 B. a=10, b=50, c=30=10, b=30, c=10 D. a=50, b=30, c=505. 若整型变量 a、b、c、d 中的值依次为: 1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是 ( A ) 。( A)1(B)2(C)3(D)46. 若 x和 y 代表整型数,以下表达式中不能正确表示数学关系 |x-y|10 的是( C )。 A) abs(x-y)-10&x-y10 C ) !(x-y)10 D ) (x-y)*(x-y)1007. 若
13、有定义: int a 7;f1oat x , y;则表达式 x+a 3*(int)(x+y) 24 的值是 ( A ) 。A)B ) C ) D )8. 若有定义和语句:int s,p ;s=p=5; p=s+ , +p,p+2,p+; 则执行语句后 p 的值是( C )A)9 B)8 C)7 D)69. 若有定义: int a ,b;则表达式 a=4 ,b=3,a+b+2,a+,a+b+2 的值为( C )A) 12 B)11 C)10 D) 无答案10. 己知 int k=10 , m=3,n; 则下列语句的输出结果是( B )。printf%dn , n=k%m, k/m);A) 2 B
14、)3 C)4 D)511. 设 x 和 y 均为 int 型变量,则以下语句: A) 把 x 和 y 按从大到小排列 B) C) 无确定结果 D) 答案: D12. 设 int i=2,j=3,k=4,a=4,b=5,c=3;, ()。A) 0 B ) 1 答案: D 13. 若 x、a、 b、 A) 4B答案: Cc均 为 int )8x+=y; y=x-y; x-=y; 把 x 和 y 按从小到大排列 交换 x 和 y 中的值则执行表达式(型变量,则执行表达式C) 12x=D的功能是()。a=ik)&(c=i,j,k)后, c 值是= 4,)24b = 8, c = 12) 后, x 的值
15、为14. 以下程序的输出结果是 #include void main() int a=-1, b=4, k;k = ( +a 0) & ( b += 5); printf (%d%d%d n, k, a, b );A) 答案: D104 B )103 C)003)00415. 下列运算符中,结合方向为自左向右的是()。A)?:B)C)+ = ( D) + +答案:(B)16. 下列运算符中优先级最高的是(A)! B )% C )- = D )& 答案:(A)17. 有以下程序#include void main( )int m=3,n=4,x;x=-m+;x=x+8/+n;printf(%dn
16、,x); 程序运行后的输出结果是( )。A)3 B ) 5 C )-1 D ) -2 答案: D18.【循环结构练习题】1. 下面有关 for 循环的正确描述是 ( )A for 循环只能用于循环次数已经确定的情况B for 循环是先执行循环体语句,后判定表达式C在 for 循环中,不能用 break 语句跳出循环体D for 循环体语句中,可以包含多条语句,但要用花括号括起来 答案: D2. 对于 for( 表达式 1; 表达式 3) 可理解为( )A for( 表达式 1:1;表达式 3)B for( 表达式 1;1;表达式 3)C for( 表达式 1;表达式 1;表达式 3)D for
17、( 表达式 1;表达式 3;表达式 3) 答案: B3. 以下正确的描述是 ( ) 。A continue 语句的作用是结束整个循环的执行B只能在循环体内和 switch 语句体内使用 break 语句 C在循环体内使用 break 语句或 continue 语句的作用相同 D从多层循环嵌套中退出时,只能使用goto 语句答案: B4. 下面程序段不是死循环的是 ( ) 。A int I=100;B for ( ; ; );while(1) I=I%100+1;if(I100) break;C int k=0;D int s=36;do- -k; while(s);while(k=0);-s;
18、答案: C5. 以下能正确计算 1*2*3* *10 的程序是 ( ) 。Adoi=1;s=1;B doi=1;s=0;s=s*i;s=s*i;i+;i+;while(i=10);Ci=1;s=1;do s=s*i;i+;while(i=10);答案: C6. 下面程序的运行结果是 ( )#include int main( ) int y=10;doy-;while(-y);printf(%dn,y-);A-1B 1 C答案: D7. 下面程序的运行结果是 ( )#includeint main() int num=0;while(num=2)while(i=10);D i=1;s=0do
19、s=s*i;i+;while(i=10);。8 D 0num+;printf(%dn,num);A1B1 2C1 2 3D1 2 3 4答案: C8. 若运行以下程序时,从键盘输入 ( 表示回车),则下面程序的运行结果是 ( ) 。#include#includevoid main( ) float x,y,z;scanf( “%f%f”,&x,&y);z=x/y;while(1) if(fabs(z) x=y;y=z;z=x/y;elsebreak;printf( “%f n”,y);A B C D 答案: B9. 有以下程序:#include void main( )int i=0,s=0
20、;for(; ;)if(i=3|i=5)continue;if(i=6) break;i+;s+=i;printf(%dn,s);程序运行后的输出结果是( )。A)10B)13C ) 21 D )程序进入死循环答案: D10. 若有程序段:for (m=1;m=100;m+)scanf(%d,&y);if(y0) continue;printf(%3d,m);正确的描述是( )。A)当 y=0 时什么也不输出D )最多允许输出 100 个非负整数D )无任何结果二、填空题【顺序结构程序设计】1有以下程序: int main () int m ,n, p;scanf (m=%dn=%dp=%,d
21、 &m, n, &p);printf (%d%d%dn,m, n,p);若想从键盘上输入数据, 使变量 m中的值为 123, n中的值为 456, p 中的值为 789, 则正确的输入是m=123n=456p=789。2. 以下程序段的输出结果是 28 。int main () int a=2 , b=3,c=4 ;a* 16 +(b+)-(+c) ;printf ( %d,a);3以下程序段的输出结果是 5 。int x=17 ,y=26 ;printf (%d,y/= ( x%=6); 4下列程序的输出结果为 12 。 int main () int x=3 , y=5 ;printf (
22、%d,x= (x- )* (-y) );5. 若有以下程序:int main () char a ;a= H-A+0;( 0, o)printf ( %c, %dn , a,a ); 执行后的输出结果是 7,55 。6. 以下程序段的输出结果是 261 。void main () int a=177printf( %on ,a);7. 以下程序的输出结果是 0 (-3276732767int) void main( ) unsigned short a=65536; int b;printf(%dn,b=a); 提示:当 unsigned short 和 int 均占 2 个字节时。8. 输入
23、“ 12345,xyz ”,下列程序输出的结果是 。 int main( ) int x;char y;scanf ( “ %3d%3”c ,&x,&y);printf ( “%d,%c” ,x,y);答案: 123, 49. 以下程序的运行结果是。#include void main( )int i=8,j=9,m,n; m=+i;n=j+; printf(%d,%d,%d,%dn,i,j,m,n);答案: 9,10,9, 910. 下列程序的输出结果是。#include void main( )int a = 3 , b = 14 , c = 5 ;c = c + a *a + b % 5
24、 * 10 ; printf(%on , c ); 答案: 6611. 阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后#include void main( )int a, b, c;a = (b = (c = 3) * 5)*5;printf (a=%d, b=%d, c=%d n, a, b, c); 运行结果是: 答案:运行结果是a = 75, b = 15, c = 312.【选择结构程序设计】1. 以下程序运行的结果是 #include void main( )int a,b,c;a=1;b=2;c=3;a=b-=a|a+b!=c; printf(%d,%d,a,b
25、);答案: 1,12. 以下程序的运行结果是 。 #include void main( )int a,b,c;a=b=c=1;if (a+|+b) c+;printf(%d,%d,%dn,a,b,c);答案: 2,1, 23. 以下程序的输出结果是 #include void main( )int k, i=0, j=2;k = i+&j+;printf (%d,%d,%dn, i, j, k);答案: 1,2, 04.【循环结构程序设计】,则下面程序的运行结果是 v0=12,v1=4,v2=121. 若运行以下程序时, 从键盘输入 ADescriptor #include void mai
26、n( )char c;int v0=0,v1=0,v2=0;doswitch(c=getchar()case a:case A: case e: case E case i : case I :case o: case O:case u:case U: v1+=1; default : v0+=1; v2+=1; while(c!= n );,v0,v1,v2);printf( “ v0=%d,v1 d,v2=%dn2. 下面程序的运行结果是 8,-2 #include void main( ) int i,b,k=0;for(i=1;i=0) k+;printf( “ %d,%d” ,k,b
27、);3. 下面程序的运行结果是 8,22 #include void main( ) int a,b;for (a=1,b=1;a=20) break;if(b%3=1) b+=3; continue; b-=5;printf( “ %dn” ,a ,b);4. 下面程序的运行结果是 x=8 。 #include void main( ) int i,j,x=0;for (i=0;i2;i+) x+;for(j=0;j=3;j+) if(j%2) continue;x+;x+;printf( “ x=%d n” ,x);5. 下面程序的运行结果是 *#*#*#$ #include void m
28、ain( ) int i;for (i=1;i=5;i+) if(i%2) printf(“* ”);else continue;printf( “#”);printf( “$ n” );6. 下面程序的运行结果是 4 。#includevoid main()int i,j,a=0;for(i=0;i2;i+) for (j=0; j4; j+) if (j%2) break;a+;a+;printf( “ %d n” ,a);7. 有以下程序 , 若从键盘输入: 247,则程序的输出结果是。#include void main( )int c;while (c=getchar()!=n)switch (c-2)case 0:case 1: putchar(c+4);case
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国木麻黄栲胶项目商业计划书
- 哈尔滨市中医院心脏功能测定考核
- 通辽市中医院溶栓药物不良反应处理考核
- 中国四丁基四氟硼酸铵项目商业计划书
- 天津市中医院老年疾病影像考核
- 运城市人民医院肝静脉成形技术考核
- 邯郸市人民医院现金流量表编制与分析试题
- 唐山市人民医院文化建设在人事工作中的落地试题
- 大庆市中医院肿瘤遗传咨询与家族风险评估考核
- 中国紫外线涂料项目经营分析报告
- 预防医学考试题+答案
- 二年级上册数学北师大版课件第5课时 小熊开店
- 跌倒坠床原因分析预防措施
- 52206马工程组织行为学课件
- 我和我的祖国课件
- 各类食物营养与配餐(蛋类的营养)课件
- 公司内账管理系统
- 全国细菌耐药监测网信息系统-附件
- 妇产科产前诊断技术服务临床医师考核题(附答案)
- 校园欺凌工作台账(完整资料)
- DB33∕T 1146-2018 浙江省城市轨道交通规范
评论
0/150
提交评论