C语言第1-2章练习题5页word.doc

上传人:1595****071 文档编号:33863609 上传时间:2022-08-12 格式:DOC 页数:5 大小:204KB
返回 下载 相关 举报
C语言第1-2章练习题5页word.doc_第1页
第1页 / 共5页
C语言第1-2章练习题5页word.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《C语言第1-2章练习题5页word.doc》由会员分享,可在线阅读,更多相关《C语言第1-2章练习题5页word.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、如有侵权,请联系网站删除,仅供学习与交流C语言第1-2章练习题【精品文档】第 5 页C语言第1、2章练习题一、选择题1. 下列运算符中,(C)结合性从左到右。A.三目B.赋值C.比较D.单目2. 下列for循环的次数为(B):for ( i=0,x=0;! x & i=5;i+)A.5B.6C.1D.无限3. 下述关于循环体的描述中,(C)是错误的。A 循环体中可以出现break语句和continue语句;B循环体中还可以出现循环语句;C 循环体中不能出现goto语句;D.循环体中可以出现开关语句。4下列变量名中,(A)是合法的。ACHINA; Bstudent-num;CdoubleDA+b

2、5有以下程序段: int n=0,p;do scanf(”%d”, &p);n+; while(p!=12345&n3);此处do-while循环的结束条件是(D)。 Ap的值不等于12345并且n的值小于3Bp的值等于12345并且n的值大于等于3 Cp的值不等于12345或者n的值小于3Dp的值等于12345或者n的值大于等于36若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为(B)A1.4 B1 C2.0 D27 以下程序中,while循环的循环次数是(D)main( ) int i=0;while(i10) if(i=2|!b&b4B. b-a&!a|a

3、-b&a/bC. a-!a%b&!b-!b%bD.a+b&a-b&b-3&a|b12请选出合法的C语言赋值语句CA.a=b=58B.i+;C.a=58,b=58 D.k=int(a+b);13若有以下定义和语句:Bchar c1=b,c2=e; printf(%d,%cn,c2-c1,c2-a+A); 则输出结果是: A. 2,MB. 3,EC. 2,E D. 输出项与对应的格式控制不一致,输出结果不确定。14运行以下程序段后变量a的值是:Dint a=0, b=3;switch(a+b&a+&b-a&a) case 0:a+; case 1:b+; case 2:a+=b; break; c

4、ase 3:a-=b; default:a;(A)-3(B)1 (C)5 (D)615.在以下一组运算符中,优先级最高的运算符是:C (A)=(B)=(C)%(D)&16.设 int a=12,则执行完语句 a+=a-=a*a后,a的值是D(A)552(B)264(C)144(D)-26417.C语言中基本数据类型包括 B(A)整型、实型、逻辑型(B)整型、实型、字符型 (C)整型、字符型、逻辑型(D)整型、实型、逻辑型、字符型18.执行下面程序片段的结果是Bint x=23; do printf(%2d,x - -); while(!x);(A)打印出321(B)打印出23 (C)不打印任何

5、内容(D) 陷入死循环19.若k是int型变量,且有下面的程序片段:Dk = -3;if(k=y)&(y=z)(B)(x=y)AND(y=z) (C)(x=y=z)(D)(x=y)&(y=z)21. 若c为char类型变量,能正确判断出c为小写字母的表达式是DA) a=c=a) | (c=a | c=z D) c=a22下面程序执行后输出sum的值是DA)15 B) 14 C) 0 D) 不确定main() int i,sum; for(i=0;i6;i+) sum+=i; printf(%dn,sum);23.以下叙述正确的是:DA) 可以把include和if定义为用户标识符B) 可以把i

6、nclude定义为用户标识符,但不能把if定义为用户标识符C) 可以把if定义为用户标识符,但不能把include定义为用户标识符D) include和if都不能定义为用户标识符二、 判断下列描述的正确性,对者划,错者划。1 switch语句中必须有break语句,否则无法退出switch语句。02 C中标识符内的大小写字母是没有区别的。03 隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。04 运算符的优先级和结合性可以确定表达式的计算顺序。15 while循环语句的循环体至少执行一次。06 开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。07 C语言在编译时不检查语法

7、;08 在C语言中,”A”是错误的char类型的常数;19 字符(char)型数据在微机内存中的存储形式是ASCII码;110 C语言的源程序不必通过编译就可以直接运行;011 “Int”是合法的C语言关键字;02. void main()int i =1, sum=0;while (i=5)sum+=i; i+;printf(“sum=%d”, sum);15三、写出下列程序的运行结果。1. void main() int a=4,b=5,c=0,d;d=!a&!b|!c; printf(“%d”, d); 14. void main()int a=15,b=21,m=0;switch(a%

8、3) case 0:m+;break; case 1:m+; switch(b%2) default:m+; case 0:m+;break; ;printf(“%d”,m); 13. void main() int a=0,i;for(i=1;ibc);printf(%dn,d);先计算ab结果为真,得到1然后计算1c结果为假得到005从键盘输入1325。 void main() int n1,n2; scanf(%d,&n2); while(n2!=0) n1=n2%10; n2=n2/10; printf(%d,n1); 52317. void main() int s,i;for(s=

9、0,i=1;i3;i+,s+=i);printf(%dn,s);5四、完成程序。2. 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。#include void main() int i,j; for(i=0; _i10_; i+) j=i*10+6; if(_j%3!=0_) continue; printf(%d,j); 1. 程序的功能是:分别计算1到10之间奇数之和及偶数之和void main()int a,b,c,i; a = c = 0; for(i=0;i=10;i+=2) a += i; b = _i+1_; c += b; printf(偶数之和=%dn,a

10、); printf(奇数之和=%dn,_c_); i4.求某数的泰勒(台劳)级数的前n+1项之和。x的泰勒级数: void main ()int i,n; float x; float t=1.0,sum=1.0;scanf(“%f, %d”, &x, &n);for(i=1;in;i+)t*= ( x/i ) sum+=t;printf(“%f”, sum);3.以下程序的功能是判断输入的正整数是否为素数。#include void main() int m,i,k; scanf(%d,&m); k=sqrt(m); for (i=2;i=k+1) printf(%d 是素数n,m)else

11、 printf(%d 不是素数n,m);5. 得到一个输入数字的反转数,然后一次输出这个整数。void main()int n, right_digit, newnum = 0; printf(Enter the number: );scanf(%d,&n);printf(reverse order is );do right_digit = n % 10;/生成所输入数字的反转数newnum=newnum*10+right_digit; n = while (n != 0);printf(%dn,newnum);6. 输入学号,并输出其中能被7或9整除的学号,当学号输入0值时结束循环。voi

12、d main() int num; do scanf (“%d”, &num); if ( num/7=0|num/9=0 ) printf(“%d ”, num); while ( num!=0 );五、程序设计题2输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。#include void main()char ch; int letter=0,space=0, digit=0,other=0;while( ( ch=getchar( ) ) !=n) if(ch=a & ch=A & ch=0 & ch=9) digit+;else if(ch= ) space+;els

13、e other+;printf(%d,%d,%d,%d,letter,digit,space,other); 1.求1-5的阶乘之和。n!=(n-1)! * n sum:和。初值为0。factorial:积。初值为1。#include void main()int i, factorial=1, sum=0;for( i=1;i=5;i+) factorial*=i;sum+=factorial;printf(“%d”,sum);4. 求前20项之和: (选做) 找规律: #include void main()float sum=0; int a=1,b=2, t;for(int i=1;

14、i=20; i+)sum+=(float)b/a; /sum+=bi/ai t=a+b; /t=ai+bia=b; /ai+1=bib=t; /bi+1=ai+bi printf(“%f”,sum);3.求Sn=a+aa+aaa+aaa 的值。其中a是一个数字。n由键盘输入。Sn=term1+term2+term3+termnterm1 =a term2 = term1*10+a termi+1 = termi*10+a void main()int n,a,i; float term,sum; scanf(%d,%d, &a, &n);term=a; sum=term; for(i=1;in

15、;i+)/termi+1 = termi*10+a term=term*10+a; sum+=term; printf(sum=%f,sum); 5. 打印图案。(选做)void main()int i,j,k;for(i=0;i=3;i+)for(j=0;j=2-i;j+) printf( );for(k=0;k=2*i;k+) printf(*);printf(n);for(i=0;i=2;i+)for(j=0;j=i;j+) printf( );for(k=0;k=4-2*i;k+) printf(*);printf(n);6. 输入两个正整数m和n, 用辗转相除法求最大公约数和最小公倍

16、数。(选做)void main()int a,b,m,n,temp;printf(Please input the two number:n);scanf(%d,%d,&m,&n);if(mn)/将两个数中较大的放在m中temp=m; m=n; n=temp;a=m;b=n;while(b!=0) /*a中放的是最大公约数*/temp=a%b; a=b; b=temp; printf(最大公约数是:%dn,a);printf(最小公倍数是:%dn,m*n/a); 7 .键盘输入若干个数,直至输入0为止,输出偶数及其个数。void main()int x; int count=0;scanf(“%d”,&x);while(x!=0)if(x%2=0) printf(“%dn”,x);count+;scanf(“%d”,&x); printf(%dn,count);7. 设计具有以下功能的程序:从键盘上输入若干个非负整数,统计并输出最大数和最小数,当输入负数时结束输入。(自己完成,并上机验证)#includevoid main()int i,j,max=0,min=0;doscanf(%d,&i);if(maxi)min=i;while(i=0);printf(%d %dn,max,min);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁