ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:29.24KB ,
资源ID:12773108      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12773108.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(级C语言复习资料.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

级C语言复习资料.docx

1、级C语言复习资料2002级C语言复习资料一、C语言基础知识1. C语言的主要特点有哪些?(多选) A.简洁、紧凑,使用方便、灵活,易于学习和应用。 B.语言是面向结构化程序设计的语言。 C.语言允许直接对位、字节和地址进行操作。 D.数据类型丰富。 E.语言生成的目标代码质量高。2. C语言程序由什么组成?(单选) A. 子程序 B. 主程序和子程序 C. 函数 D. 过程3. 源程序要正确地运行,必须要有什么函数?(单选) A. printf函数 B. 自定义的函数 C. main函数 D. 不需要函数4. 指出下面合法的标识符:(多选) A. 3ab B. int C. ABC D. a_

2、3 E. sum.a F. #abc G. _stu2 H. abc f5. 指出下面哪些是保留字:(多选) A. char B. abc C. printf D. Int E. float F. define G. include H. PI 6. 指出下面哪些是合法的用户定义的标识符?(多选) A. P-S B. putchar C. double D. _908 E. *par F. sheep! G. wind H. x y7. C语言的基本类型哪些:(多选) A. 整型 B. 枚举型 C. 数组型 D. 指针型 E. 字符型 F. 构造型 G. 实形 H. 空类型8. 这段程序中的常

3、量有:(多选) #define PI 3.14 void main() int sum; sum = 10 + 15; printf(sum=%dn,sum); printf(result is 25n); 这段程序中常量有: A. 10 B. sum C. 15 D. 25 E. main F. PI9. C语言中整形常量按进制划分,有以下几种:(多选) A. 十六进制常量 B. 十进制常量 C. 八进制常量 D. 二进制常量10. 75的十六进制写法为_,八进制写法为_。 0x75的八进制写法为_,十进制写法为_。 075的十进制写法为_,十六进制写法为_。11. 如果要把常量327存入变

4、量a中,a可以定义成哪些类型?(多选) A. int B. char C. long D. float12. 下面哪些写法是对的,而且是常量?(多选) A. 125 B. -.456 C. 1.25e20 D. AB E. E6 F. 0238 G. 0xabcdef H. n12313. 下面哪个表达式的值为4.(单选) A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5)14. 已知整型变量a=6,b=7,c=1,则下面表达式的值为多少? a+3 _ (b-a*3)/5 _ c*(a+b)+b*(c+a) _ 3.2*(a+b+c) _

5、15. 已知整型变量a=6,字符型变量ch=A,浮点数变量f=2.1,则下面表达式的值为多少? (提示:A的ASCII码为65) a+4.5 _ ch+a+f _ (a+30)/5 _ (a+30)/5.0 _16. 指出下面错误的表达式:(多选) A. a+b=5 B. 56=a11 C. i=i+ D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=717. 若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?(多选) A. f=(f*100+0.5)/100.0 B. i=f*100+0

6、.5,f=i/100.0; C. f=(int)(f*100+0.5)/100.0; D. f=(f/100+0.5)*100.0;18. 写出下面这个程序的结果。 void main() int count,i; int x,y,z; x=y=z=0; scanf(%d,&count); for(i=0;i0|a0 B. a C. !a=0 D. !a20.若要输出下列各种类型的数据,应使用什么转换说明符。(答题请打上双引号) 字段宽度为4的十进制数应使用%4d,字段宽度为6的十六进制数应使用_,八进制整数应使用_,字段宽度为3的字符应使用_,字段宽度为10,保留3位小数的实数应使用_,字段

7、宽度为8的字符串应使用_。21. 该源程序执行后,屏幕上显示什么?(单选) void main() int a; float b; a=4; b=9.5; printf(a=%d,b=%4.2fn,a,b); A. a=%d,b=%fn B. a=%d,b=%f C. a=4,b=9.50 D. a=4,b=9.522. 下面哪些是非法的C语言转义字符?(多选) A. t B. 08 C. 0xaf D. 23. 以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a,b,c的值。请填空。 #include main() _ int temp; pr

8、intf(Enter a,b,c:); scanf(%d%d%d,_); _ a=b; b=c; _ printf(a=%d b=%d c=%dn,a,b,c); 24. 若a为整型变量,且有以下语句_。(单选) a=-017L; printf(%dn,a); 则下面哪个说法是正确的? A. 赋值不合法 B. 输出值为-17 C. 输出为不确定值 D. 输出值为-1525. 若ch为char型变量,a为int型变量,(已知字符a的ASCII十进制代码为97)则执行以下语句后的输出为哪一个?(单选) char ch; int a; ch=a; a=12; printf(%x,%o,ch,ch,a

9、); printf(k=%dn,k); A. 61,141,12,k=%d B. 输出项与格式描述符个数不符,输出为零值或不定值 C. 61,141,k=%d D. 61,141,k=%1226. 若有以下说明语句:(单选) char s=092; 则下面哪一项是正确的. A. 使s的值包含2个字符 B. 说明语句不合法 C. 使s的值包含6个字符 D. 使s的值包含4个字符27.若k,g均为int型变量,则以下语句的输出为哪一项?(单选) int k,g; k=017; g=111; printf(%d,k); printf(%xn,g); A. 15,6f B. f,6f C. f,111

10、 D. 15,11128. 请从下面的选项中选出正确的C语言的转义字符。(多选) A. / B. C. t D. n E. 1011 F. /018 G. /123 H. xaa29. 如这程序所示,如果运行时,输入 18,18 ,那么 b的值为多少?(单选) void main() int a,b; scanf(%d,%o,&a,&b); b+=a; printf(%d,b); A. 36 B. 34 C. 输入错误,b的值不确定 D. 1830. 读懂程序并填空。 #include void main() char ch=0x31; printf(%dn,ch);/屏幕显示_ printf

11、(%on,ch);/屏幕显示_ printf(%xn,ch);/屏幕显示_ printf(%cn,ch);/屏幕显示_ 二、结构化程序设计1. C程序的结构可分为哪几类?(多选) A.顺序结构 B.循环结构 C.程序结构 D.选择结构2. 输入两个实数a,b,然后交换它们的值,最后输出(提示:要交换两个数得借助一个中间变量temp。首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)。 void main() float a,b,temp; printf(请输入a和b的值:); scanf(%d,%d,_); temp = a; _ _ printf(交换后, a=%d ,

12、b=%dn,_); 3. 当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1)if(ac) a=b;b=c;c=a; else a=c;c=b;b=a; 执行后a,b,c的值为_,_,_ (2)if(ac) a=c; else a=b;c=b;b=a; 执行后a,b,c的值为_,_,_ (3)if(a!=c) ; else a=c;c=b;b=a; 执行后a,b,c的值为_,_,_4. 当a=3,b=4,c=5时,写出下列各式的值。 ab的值为_, ac&b=c的值为_。5. 假设所有变量均已说明,写出下列各程序段运行后x的值。(多选) ok1=1; ok2=2;

13、 ok3=0; x=15; a=3; b=4; (1)if(!ok1) x+; else if(ok2) if(ok3) x=3; else x=4; 运行后x的值为下面哪一个? A. 15 B. 3 C. 16 D. 4 (2)if(ok1) if(ab) a=b,b=c;c=a; printf(a=%d b=%d c=%dn,a,b,c); A. a=7 b=8 c=7 B. a=7 b=9 c=7 C. a=8 b=9 c=7 D. a=8 b=9 c=8 9. 该程序的运行结果是:(单选) void main() int a,b,c; a=2;b=7;c=5; switch(a0) c

14、ase 1: switch(bn) m=m-n; while(nm) n-=m; printf(m=%dn,m); 输出结果为: A. m=13 B. m=11 C. m=1 D. m=211. 该程序的输出结果是多少?(单选) for(i=0;i5;i+) for(j=1;j10;j+) if(j=5) break; if(i2) break; printf(%d,j); printf(%dn,i); 输出结果为: A. 10,3 B. 5,2 C. 5,3 D. 10,212. 该程序的输出结果是什么?(单选) #include void main() int n; n=0; while(

15、n8) switch(n%3) case 2: putchar(2); case 1: putchar(i); break; case 0: putchar(H); n+; A. Hi2Hi2Hi B. Hi2 C. Hi2iHi2i D. Hi2iHi2iHi13. 该程序的输出结果是多少?(单选) #include main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2) continue; x+; printf(x=%dn,x); A. x=4 B. x=8 C. x=6 D. x=1214. 若k为整型,以下while

16、循环执行_次.(单选) k=2; while(k=0) printf(%d,k),k-; printf(n); A. 无限次 B. 0次 C. 1次 D. 2次15. 下面这个程序的输出是什么?(单选) #include main() int y=10; while(y-); printf(y=%dn,y); A. y=0 B. while构成死循环 C. y=1 D. y=-116. 以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.请填空. #include main() _ n,i,j

17、; printf(输入非零的整数(输入零结束程序); i=j=0; scanf(%d,&n); while_ if(n0) i=_; if(n0) j=_; _; printf(i=%4d j=%4dn,i,j); 17. 圆周率pi的近似率可用下面的公式求得: pi*pi/6 约等于 1/(1*1) +1/(2*2) +.+1/(n*n) 由以上公式可知,若n取值10000,则最后一项的值为1E-4,认为可达到精度要求。 以下程序用来求pi的近似值。请填空。(其中函数sqrt(a)用于求a的平方根)(单选) #include #include main() long i; float pi;

18、 pi=0.0; for(i=1;i=10000;i+) pi+=_; pi=sqrt(6.0*pi); printf(pi=%10.6lfn,pi); A. 1/i*i B. 1/(i*i) C. 1.0/i*i D. 1.0/(i*i)18. 斐波哪契数列中的头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:0,1,1,2,3,5,8,13,21,.等。下面这个程序就是求斐波哪契数列的前20个数。请填空。 #include void main() int f,f1,f2,i; f1=0;f2=_; printf(%dn%dn,f1,f2); for(i=3;i=30;_) f=

19、_; printf(%dn,f); f1=f2; f2=_; 19. 下面这个程序执行后i和s的值为多少?(单选)#include void main() int i,s; i=0;s=0; while(i10); s+=(i+); printf(%dn,s); printf(i=%dn,i); A. i值为9,s值为45 B. i值为10,s值为45 C. i值为10,s值为36 D. 程序陷入了死循环20. 下面这个程序打印出以下这个三角形.请填空。0112223333444445555556666666777777778888888889999999999 void main() int

20、 i,j; for(i=0;i=_;i+) for(j=0;j_;j+) printf(_); _ 21. 读懂下面的程序并填空。 #include void main() long a,b,r; scanf(%ld,&a); b=0; do r=a%10; a=a/10; b=b*10+r; while(a); printf(%ld,b); 程序运行时如果输入 37 , 输出为_。 程序运行时如果输入 -345 , 输出为_。 程序运行时如果输入 10239, 输出为_。22. 如图所示,该算式在四个字母所在处欠缺四个数位,下面这个程序用穷举法搜寻解法。请填空。 1A8 * 3B _ C73

21、D #include void main() int A,B,C,D; int x,y,z; for(A=1;A=9;A+) for(B=1;B=9;B+) for(C=1;C=9;C+) for(D=1;D=9;D+) x=100 + _ + 8; y=_; z=_+700 +30 +_; if(_) printf(A=%d,B=%d,C=%d,D=%dn, A,B,C,D); 三、数组及字符串1. 请改正下面这个远程序的错误:#include main() int i,j,list(10); for(i=0,i=0,j-) printf(%dn,listj); 2. 指出下面各说明语句中哪

22、些是合法的:(多选) A. int abcd0x80; B. char 9ab10; C. char chi-200; D. int aaa5=3,4,5; E. float key=3.0,4.0,1,0; F. char disk; G. int n,floppyn; H. int cash4=1,2,3,4,5,6;3.根据以下说明,写出正确的说明语句。 (1)men是一个有10个整型元素的数组。 _ (2)step是一个有4个实型元素的数组,元素值分别为1.9, -2.33, 0, 20.6。 _ (3)grid是一个二维数组,共有4行,10列整型元素。 _4. 请回答下列问题。 (1

23、)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。 _ (2)该数组下标的取值范围是从_到_(从小到大)。 (3)如何用scanf函数输入数组的第二个元素。 _ (4)如何用赋值语句把39存入第一个元素。 _ (5)如何表示把第六个和第四个元素之和存入第一个元素。 _5. 写出以下初始化数组的长度。 (1)int chn3; 数组chn的长度为_。 (2)float isa=1.0,2.0,3.0,4.0,5.0; 数组isa的长度为_。 (3)int doom8; 数组doom的长度为_。 (4)float pci42; 数组pci的长度为_。 (5)int ast33; 数组ast的长度为_。 (6)int att34; 数组att的长度为_。 (7)float dell3=1,4,7

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1