c语言习题(1-4章).doc

上传人:飞****2 文档编号:60901025 上传时间:2022-11-19 格式:DOC 页数:12 大小:46.50KB
返回 下载 相关 举报
c语言习题(1-4章).doc_第1页
第1页 / 共12页
c语言习题(1-4章).doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述

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

1、习题11. C语言的主要特点是什么?答:u C语言是具有低级语言功能的高级语言;u C语言简洁、紧凑,使用方便、灵活;u 运算符丰富,表达能力强;u 数据结构丰富,便于数据的描述与存储;u C语言是结构化、模块化的编程语言;u 编译预处理;u 允许直接访问物理地址,对硬件进行操作;u 可移植性好;u 书写格式自由;u C程序的执行总是从main函数开始,并在main函数中结束;u main函数可以调用其他任何函数;u C语言本身没有输入输出语句。2. 请参照本章例题,编写一个c程序,输出以下信息:This is my first program.答 #include “stdio.h”main

2、()printf(“This is my first program./n”);renturn 0;3.C语言源程序文件、目标文件和可执行文件的扩展名是什么? 答; 源程序文件 .c 目标文件 .obj 可执行文件 .exe4. 用Turbo C2.0或Visual C+6.0调试本章的三个程序。习题2一、选择题1.下列变量定义中合法的事(C) A.int _a=.e1; B. double b=1+1e1.1; C. long x=2.5; D. float 2_and=1-e-3;2.运算符有优先级,在C语言中关于运算符优先级的正确叙述是(B) A.逻辑运算符高于算术运算符,算术运算符高于

3、关系运算符; B.算术运算符高于关系运算符,关系运算符高于逻辑运算符; C.算术运算符高于逻辑运算符,逻辑运算符高于关系运算符; D.关系运算符高于逻辑运算符,逻辑运算符高于算术运算符。3. C语言并不是非常严格的算法语言,在以下关于C语言不严格的叙述中,错误的是(D)。A. 任何不同数据类型都不可以同用B. 有些不同类型的变量可以在一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符在不用的场合可以有不同的含义4.以下选项中属于C语言的数据类型是(C)。A. 复数型 B.逻辑型 C.双精度型 D.集合型5. 设有说明语句:char c=101;,

4、则变量c(A)A. 包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法6. 下列常数中不能作为c语言常量的是(D)。A. OxA5 B.2.5e-2 C.3e2 D.05827.在C语言中,数字091是一个(D)A. 八进制数 B.十六进制数 C.十进制数 D.非法数8. 下列可以正确表示字符型常量的是(B)A.”a” B.t C.”n” D.1689.已知int i; float f;, 正确的语句是(D)A. int(f)2.0; B.int(f)i;C. int(fi); D(int)fi;10.设有以下变量定义,并已赋确定的值:char c; int i; float f

5、; double d;则表达式c+i+f/d值的数据类型为(D)。A. char B.int C.float D.double11.已知int i, a;,执行语句i (a6,a*5), a+6; 后,变量i的值是(C)A.6 B.12 C.30 D.36 12.下列程序的输出结果是(D)#include stdio.hvoid main() float d=2.2;int x,y; x=6.2;y=(x+3.8)/5.0; printf(%dn,d*y); A.4 B.4.4 C.2 D.0二、阅读程序题1.下面程序的输出是(10,10,9,10).#include stdio.hvoid

6、main() int a=10,b=10; printf(%d,%d,%d,%dn,a-,a,-b,b); 2.下面程序的输出是(2,1 2,2 1,2 1,1 10,6).#include stdio.hvoid main() int i=1,j,k; j=i+;printf(j=%d,i=%dn,j,i); k=+i;printf(k=%d,i=%dn,k,i); j=i-;printf(j=%d,i=%dn,j,i); k=-i;printf(k=%d,i=%dn,k,i); i=j=5; printf(i+j=%d,+j=%dn,i+j,+j);结果:j=2,i=1 k=2,i=2 j

7、=1,i=2 k=1,i=1 i+j=10,+j=6习题31. 若x,y,z都定义是int类型且初值为0,则以下不正确的赋值语句是(D )A. x=y=z+10; B.x+=y+2; C.z+; D.x+y+z;2. 下面不是C语言语句的是(C )A. int i; B.; C.a=1,b=5 D.;3. 以下合法的 c语言赋值语句是( D )A. a=b=58 B.k=a+bC.a=58 ,b=58 D.-i 4. 运行下面的程序;#includeVoid main() Int a=5,b=3;printf(“%dn”,a=a/b);则输出结果是( B )A.5 B.1 C.3 D.25 若

8、变量以说明为int类型,要给a、b、c输入数据,以下正确的输入语句是( A )A scanf (“%d%d%d”,&a,&b,&c);B scanf ( “%d%d%d,”a,b,c);C scanf ( “%D%D%D”,&a;&b,&c);D scanf (“%d%d%d”,&a,&b,&c);6 已知a、b、c为float类型,执行语句:scanf (“%f%f%f”,&a,&b,&c);使得a为10,b为20,c为30,则以下不正确的输入形式是( B )A 10B 10.0,20.0,30.0 20.0 30.0C 10.0 30D 10 207. 若变量已定义,现要将a和b中的数据进

9、行交换,下面不正确的是( C )。A. a=a+b, b=b-a, a=a-b;B. t=a, a=b, b=t;C. a=t; t=b; b=a;D. t=b; b=a; a=t;8. 执行下面的程序: #include Void main() int a=1,b=2,c=3; c= (a+=a+2), (a=b,b+3); printf(“%d,%d,%dn”,a,b,c); 则输出结果是( A )A. 2,2,4 B. 4,2,3 C. 4,2,5 D. 5,5,39. 执行下面的程序: #include void main() int a; float b,c; scanf(“%2d%

10、3f%4f”,&a,&b,&c); printf(“na=%d,b=%.1f,c=%.1n”,a,b,c); 运行时,从键盘上输入,则输出结果是( C )A. a=12, b=345, c=6543B. a=12, b=123, c=1234C. a=12, b=345.0 , c=6543.0D. a=12.0 , b=345.0 , c=6543.010. 执行下面的程序: #include void main() int a=3,b=7;printf(“a=%d,b=%dn”,a,b); 则输出结果是( B )A. a=%3, b=%7 B.a=%d, b=%dC. a=%d, b=%d

11、 D. a=3, b=7二、 阅读程序,写出程序运行结果1. #include void main() float d,f; long k; int i; i=f=k=d=20/3;printf(“%3d%3ld%5.2f%5.2f%5.2fn”,i,k,f,d);答案:6 6 6.00 6.002. #include void main() int x=0177; float y=123.4567; printf(“ x=%2d,x=%6d,x=%o,x=%xn”,x,x,x,x); printf(“y=%8.4f,y=%8.2f,y=%.5n”,y,y,y);答案:x=127, x=127

12、, x=177 y=123.4567,y=123.46, y=123.456703 #includevoid main()Int a=1,b=2;a+=b;b=a-b;a-=b;Printf(“%d,%dn”,a,b);答案:2,14#includevoid main()Int a=1234;Printf(“%2dn”,a);答案:12345#includevoid main()Int x=3,y=5;Printf(“%d,%dn”,(x-,-y),x+);答案:4,36#includevoid main()Int a=3;Printf(“%d,%dn”,a,(a-=a*a);答案:-6,-6

13、三,程序设计题1,编程求方程2x2-3x-6=0的根。#include#includemain()float a,b,c,d,x1,x2;a=2,b=-3,c=-6;d=b*b-4a*c;x1=(-b+sqrt(d)/(2*a);x2=(-b+sqrt(d)/(2*a);printf(“x1=%.2f,x2=%.2fn”,x1,x2);2,已知正方体的棱长为3.2,求正方体的体积和表面积(保留2位小数)。#includemain()Float a,v,s;Scanf(“%f”,&a);V=a*a*a;S=6*a*a;printf(“s=%.2f,v=%.2fn”,s,v); 3、输入三个整数a

14、、b、c、,编程交换它们的值,即把a中的值给b,把b中的值给c,把c中的值给a。 4、编程将任意输入的小写字母转化成大写字母并输出。习题4一、 选择题1、若x为int类型,则下面与逻辑表达式!x等价的C语言关系表达式是( C )。 A. x=1 B. x!=1 C. x=0 D. x!=02、能正确表示逻辑关系a 5或a -1的C语言表达式是( D )。 A. a=5 or a= -1 B. a=5 | a= -1 C. a=5 & a= -1 D. a=5 | a= -13、if语句的控制条件是( D )。 A. 只能用关系表达式 B. 只能用关系表达式或逻辑表达式 C. 只能用逻辑表达式

15、D. 可以用任何表达式4、设int x=2,y=1;,则表达式 (!x | y-) 的值是 ( B )。 A. 0 B. 1 C. 2 D. -1 5与y=(x0?1:x0) y=0; B.if (x) else if (x0) y=1; else y=0; else if (x=0) if(x0) y=1; if(x0) y=1; else if(x=0) y=0; else y=-1; else y=-1;6.假定w、x、y、z、m均为整型变量,且w=1,x=2,y=3,z=4,则执行语句m=(wx)?w:x;m=(my)?m:y;m=(mz)?m:z;后,m的值是(D)。A4 B. 3

16、C. 2 D. 17.有如下程序段: int a=14,b=15,x; char c=A; x=(a&b)&(cB);执行该程序段后,x的值为(D)A ture B. false C. 0 D. 18.设x、y、t均为int型变量,则执行语句x=y=2;t=+x|+y;后,y的值为(B)。A不确定 B. 2 C. 3 D. 19.若有定义:float w;int a,b;,则合法的switch语句是(c) A switch(w) case1.0:printf(*n); case 2.0:printf(*n); B:switch(a); case 1:printf(*n); case 2:pri

17、ntf(*n); C:switch(b) case1:printf(*n); default:printf(n) case 1+2:printf(*n); D:switch(b); case1:printf(*n) case 2:printf(*n) default:printf(n) 10.有如下程序: #include Void main() int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+; Printf(“a=%d,b=%dn”,a,b); ) 该程序的输出结果是(A)A. a=2,b=1 B.a=1,b=1 C

18、.a=1,b=0 D.a=2,b=211.有如下程序: #include main() int a=3,b=-1,c=1; if(ab) if(b0) c=0; else +c; printf(%dn,c); 该程序的输出结果是(B)A.0B.1C.2D.312. 若变量c为char类型,能正确判断出c为大写字母的表达式是( D )A. A=c=A)(c=Z)C. (A=c)D. (c=A)&(c=Z)13. 运行下列程序:#includevoid main()int n=c;Switch(n+)casea:caseA:caseb:caseB:printf(“good”);Break;case

19、c:caseC:printf(“pass”);cased:caseD:printf(“warn”);Default:printf(“error”);break;则输出结果是( D )A. good B.pass C.warn D.passwarn14 设a、b、c 、 d、m、 n均为整型变量,且a=5 , b=7, c=3 , d=8, m=2 ,n=2, 则逻辑表达式( m=ab) & (n=cd) 运算后,n的值为 ( C )。A0 B . 1 C. 2 D. 315. 以下程序的输出结果是 ( A )。#include void main()int a ,b ;for(a=1,b=1:

20、a=10) break ; if(b%3= =1)b+=3; continue ; printf(“%dn”,a) ;A. 101 B. 3 C. 4 D. 516.运行下列程序#include Void main() int a=0,b=1,c=2,d; d=!a&!(-b)|!c+; printf(“%dn”,c);则输出结果是(B)A.3 B.2 C.1 D.017.运行下列程序#include Void main() int x; Scanf(“%d”,&x); f(x60) printf(“%d”,x); if(x40) printf(“%d”,x); if(x30) printf(

21、“%d,x);若从键盘输入58 ,则输出结果是(B)A. B.5858 C.585 D.5818.运行下列程序#include Void main() int a=16,b=21,m=0; Switch(a%3) case 0:m+;break; Case 1:m+; Switch(b%2) default:m+; Case 0:m+;break;Printf(“%dn”,m);则输出结果是(C)A.1 B.2 C.3 D.4二、阅读程序题 1、有如下程序: #include Void main() Int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+

22、; case 2:a+;b+; Printf(“a=%d,b=%dn”,a,b); 该程序的输出结果是a=2,b=1 2、有如下程序: #include Void main() Int a=3,b=-1,c=1; If(ab) If(b0) c=0; else c+; printf(“c=%dn”,c); 该程序的输出结果是c=1三、程序设计题1、设计一个简单的计算机程序,用户输入运算数和四则运算符(+、*、/),输入计算的结果。2、 根据输入X的值求Y的值,当X大于0时,y=(x+1)/(x-2);当x等于0或2时,y=0;当x小于0时,y=(x-1)/(x-2)。3、 编写程序,从键盘输入学生成绩,输入对应的等级(100分为A,9099分为B,8089分为C,7079分为D,6069分为E,小于60分为F)4、编写程序,输入一个不多于4位的正整数,判断它是几位数。如输入168,则输出3。

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

当前位置:首页 > 教育专区 > 教案示例

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

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