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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言习题集平时练习含答案.docx

1、C语言习题集平时练习含答案C语言习题集第一章 C语言概述复习要点:1.程序的构成,main函数和其他函数。2语句,注释3运行C程序的步骤和方法习题:1C程序是由 函数 构成的,一个C程序中至少包含 一个main函数 。2 函数 是C程序的基本单位。(最小单位是表达式)3C程序有且只有一个 main函数 。4C程序从 main函数 开始执行。5C程序注释符是由 /* 和 */ 组成,且不能嵌套使用。6C程序的语句是以 ; 结束。7C程序一条语句可分多行写,需要以 为连接符。8C程序可以用 和 将多条语句括起来,形成复合语句。9上机运行一个C程序必须经过 源代码输入 ,编译 , 连接 , 运行 4

2、个步骤。10C程序的源文件扩展名是 。c 。11以下叙述中正确的是( C)A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,main必须小写,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数12以下叙述中错误的是( D )A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非

3、执行语句最终都将被转换成二进制的机器指令13以下不是语句的是( A)A) a=10 B)a=b+c;c=20;C) ; D)a=b;b+;14运行以下程序main() int a=10; /* 定义一个变量 aa=20; */printf(“%d”,A); 此程序应该改写为:printf(“%d”,a) 输出的结果是 B 。A) 10 B)2015牢记VC+6.0的出错提示英文提示 中文实际意义missing ; , ( 等 表示缺少 ; ,( T : undeclared identifier T没有定义(T要先定义然后才能使用)sqrt undefined; sqrt如果是函数名则表示它的

4、头文件没有包含T : redefinition T重复定义(可能是多次定义了T)Cannot open include file 头文件的拼写或路径的不对第二章 数据类型,运算符与表达式复习要点:1.C的数据类型(整型,字符型,浮点型)及其定义方法。2.C运算符的种类、运算优先级和结合性。3.不同类型数据间的转换与运算。4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。习题:1.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为 大小写字母和下划线。2.字符常量使用一对 单引号 界定单个字符,而字符串常量使用一对

5、双引号 来界定若干个字符的序列。3浮点数有 十进制小数形式;(2)指数形式 两种表示形式。4. C语言%(取余的操作符)要求两个操作数是 整 型。5关系运算的值是 整 型。6Sizeof(int)的意义 返回int型变量在内存中占的字节数 。7假设所有变量均为整型:a=b=5;i=+a;j=b+;则i等于 6 j等于 5 。8假设所有变量均为整型:a=3;b=5;ab&+a;ab|+b则a等于 3 b等于 5 。9. 假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+B)的值为 9 。 提示:a=2,b=5,a+,b+,i=a,j=b,a+b的值10. a=(2,5,2+5) 则

6、a的值为 7 。11.表达式:(int)(7.2/2)的值是 3 。12.C语言中,不同运算符之间运算次序存在 先后 的区别,同一运算符之间运算次序存在 结合性 的规则。13.32与八进制数 40 相等,75与十六进制数 4b 相等14.已知x=2.5,a=7,y=4.7则x+a%3*(int)(x+y)%2/4的值是 2.5 15. 下列关于C语言用户标识符的叙述中正确的是( C )A) 用户标识符中可以出现下划线和字母,可以和关键字同名B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它

7、们都可以放在用户标识符的开头16.有以下程序#include main() char c1,c2;c1=A+8-4;c2=A+8-5;printf(%c,%dn,c1,c2);已知字母A的ASCII码为65,程序运行输出后的结果是( A )A)E,68 B)D,69 C)E,D D)输出无定值17.以下各组标识符中,合法的用户标识符是( D )A)B01 table_1 0_t k%B)Fast_ void pbl bookC)xy_ longdouble *p CHARD)sj Int _xy w_y2318.在C语言中,字符型数据在内存中以( D)形式存放。A)原码 B)BCD码 C)反码

8、 D)ASCII码19.已知字符A的ASC代码值是65,字符变量c1的值是A,c2的值是D。执行语句printf(%d,%d,c1,c2-2);后,输出结果是C A)A,B B)A,68 C)65,66 D)65,6820.1MB等于(D)A)1000字节 B)1024字节 C)1000*1000字节 D)1024*1024字节21. 与十六进制数200等值得十进制数为(B )A)256 B)512 C)1024 D)204822.设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( B )A)n=(n*100+0.5)/100.

9、0 B)m=n*100+0.5, n=m/100.0C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.023.以下叙述中错误的是(D )A)C程序中的#include和#define行均不是C语句B)除逗号运算符外,赋值运算符的优先级最低C)C程序中,j+;是具有赋值功能的语句D)C程序中,+、-、*、号是算术运算符,可用于整型和实型数的运算24.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(D )A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定25.已知x=10,y=20,则表达式

10、y+=5+x的值为( C )A) 25 B) -10 C) 35 D) 1026以下常量正确的是( B )A)0X7a, 078, 6a, 57L, B)10., -.5e3, 1e0, 0.0012e-101C) , ”, 0127, xffD) 56, -.3, .e2, 1.2e2.1 ,”xy”27.有以下定义语句,编译时会出现编译错误的是CA) char a=a; B)char a=n; C) char a=aa; D)char a=x2d;第三章 顺序结构复习要点:1. 赋值2.输入与输出函数的调用,正确输入数据并正确设计输出格式。3. 常见的编程题习题:1.已知x=1,y=2,则

11、表达式y*=5+x的值为 12 。2.putchar(getchar( );从键盘上输入A。则最终的输出是 A 。3.printf函数和scanf函数的格式说明都使用 % 字符开始。4. printf(“%-m . nf ”, A);其中-m表示 长度为m,左对齐 , n表示 小数位长度为n。5已知a=17则printf(“%o,%#o”,a,A);输出的结果是 。(#输出0八进制标志)6已知a=17则printf(“%*d,%d”,-5,a) ;输出的结果是 17 0 。;*表示跳过改项目,%d没有对应会输出07.scanf处理输入数据时,遇到下列情况时该数据认为结束: 空格 , Tab ,

12、 回车 。8.一般地,调用标准字符或格式输入输出库函数时,程序开头应有包含头文件的预编译命令: stdio。h 。9.下列符合语法的赋值语句是(cd )A)a=7+b=8; B)+a=7; C)a=b,b+,a+7; D)a+=2*b,c=+b;10.关于赋值过程中类型转换叙述错误的是(d )A)实数赋值给整数变量时,将小数位不会四舍五入,会直接截断B)整数赋值给实数变量时,整数位不变,小数位补0C)整型变量赋值给short 时,则只保留2个低字节D)Double变量赋值给float变量, 则只保留前面的7位有效数字E)长度相同的有符号整型变量和无符号整型变量可以直接赋值11.putchar

13、( )函数可以向终端输出一个。dA)整型变量表达式值 B)实型变量值C)字符串 D)字符或字符型变量值12.有以下程序main() printf(%dn,NULL); 程序运行后的输出结果是(A )A)0 B)1 C)-1 D)NULL没定义,出错13.执行下列程序片段时输出结果是( a )。unsigned int a=65535;printf(“%d”,A);A)65535 B)1 C)32767 D)114.执行下列程序片段时输出结果是( B )。float x=-1023.012printf(“n%8.3f,”,x);printf(“%10.3f”,x);A)1023.012, -10

14、23.012 B)-1023.012,-1023.012C)1023.012,-1023.012 D)1023.012, 1023.01215对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按( D ) 方式输入数据。int k1,k2,k3,k4;scanf(“%d%d”,&k1,&k2);scanf(“%d,%d”,&k3,&k4);A)1020 B)10 20 C)10,20 D) 10 2010 20 10 20 10,20 10,2016.若运行时输入:12345678,则下列程序运行结果为( d )。main ( ) int a,b;scanf(“%2d%2

15、d%3d”,&a,&b); 可以在后面加&c就对了aprintf(“%dn”,a+b);/按照教育部考试中心教材标准A)46 B)579 C)5690 D)出错17有定义语句:int x, y; scanf(x=%d,y=%d,&x,&y);若想让x值为11, y值为12,下面四组键盘输入正确的是( D )A)11 12 B)11, 12C)a=11,b=12 D)x=11,y=1218.阅读以下程序#include main ( ) int case ; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&printF); printf

16、(“%d %fn”,case,printF);该程序在编译时产生错误,其出错原因是AA) 定义语句出错,case是关键字,不能用作用户自定义标识符B) 定义语句出错,printF不能用作用户自定义标识符C) 定义语句无错,scanf不能作为输入函数使用D) 定义语句无错,printf不能输出case的值19. 有以下程序 #include main ( ) int a=1,b=0; printf(“%d,”,b=a+B); printf(“%dn”,a=2+B); 程序运行后的输出结果是DA)0,0 B)1,0 C)3,2 D)1,320. 有以下程序段int m=0,n=0; char c=

17、a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);若从键盘上输入:10A10,则输出结果是: AA) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,021在屏幕中显示如下字符(提示:用printf )*Hello*World=22从键盘输入一个小写字母,将其变成大写字母输出?(提示:1.假定输入的字母一定符合要求2.大小写字母ASCII码相差32)23.从键盘输入一个100999之间的数,将该数的个,十,百位数字相加的和输出?(提示:1.假定输入的数一定符合要求2.可以通过 %, / 实现)int a,b,c,num,

18、sum;scanf(“%d”,&num);a=num%10;b=num/10%10;c=num/100;sum=a+b+c;printf(“%d”,sum);第四章 选择结构复习要点:1.逻辑关系的表示。2.条件运算符。3.用if语句实现选择结构。4.用switch语句实现多分支选择结构。 5.选择结构的嵌套。 1.下面各逻辑表达式的值,设a=3,b=4,c=5。(1)abB)&!c| 1: 1 (3)!(x=A)&(y=B)&0: 0 2.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求( B )。A)x%2=0 B)!x%2!=0 C)(x/2*2-x)=0 D)!(x

19、%2)3.能正确表示“当x的取值在1,10和200,210范围内为真,否则为假”的表达式是( C )。A)(x=1) & (x=200) & (x=1) | | (x=200) | | (x=1) & (x=200) & (x=1) | | (x=200) | | (xb?(bc?1:0):0;功能等价的是(A )A)if(aB)&(bC) k=1; B) if(aB)|(bC) k=1else k=0;C)if(aB) k=1;else if(bC) k=1;else k=0;5.对if语句的理解错误的是: ( D )A)if结构,将判断表达式的值视为逻辑值 B)系统将if-else结构视为

20、一条语句C)else总是与其之前最近的且尚未配对的if配对 D)else可以独立出现(以下6到12题必须掌握)6有如下程序。 #includevoid main ( ) int n=20; if(n10); printf(n10) printf(n10 ); else printf(n10) printf(n10 ); else printf(n10 ); (2)#includevoid main ( ) int n; scanf(%d,&n); if(n!=10) if(n10) printf(n10 ); else printf(n10) printf(n10 ); else printf

21、(n10 ); 10.下面程序的输出结果是: #includemain()int x=100,a=20,b=10;int v1=5,v2=0;if(aB)if(b!=15)if(! v1)x=1;else if(v2)x=10;x=-1;printf(%d,x);11. 有如下程序段。if (aB)if (cD) x=1;elseif (aC)if (bD) x=2;else x=3;else x=6;else x=7;当a=1,b=3,c=5,d=4时执行完下面一段程序后x的值是 当a=4,b=3,c=5,d=4时执行完下面一段程序后x的值是 当a=1,b=3,c=4,d=3时执行完下面一段

22、程序后x的值是 当a=1,b=3,c=1,d=1时执行完下面一段程序后x的值是 12.有三个整数a,b,c,由键盘输入,输出其中最大的数。13.某商店推出打折活动,要求购物达到或超过2000元的打八折,购物达到或超过1000元不到2000元的打八五折,购物达到或超过500元不到1000元的减50元,购物不到500元的原价,请写出相应的程序(分别用switch和ifelse结构)13.随机给出一个不多于5位的数,计算出他的位数,按个十百千的顺序输出。第五章 循环结构复习要点:1.for循环结构。2.while和do- while循环结构。3.continue语句和break语句。4.循环的嵌套。

23、1.C语言三个循环语句分别是 while 语句, do-while 语句和 for 语句。2.至少执行一次循环体的循环语句是 do-while 。3.以下对循环结构相关知识描述错误的( E )。A)循环结构需要包含结束循环的条件,否则循环结构将陷入死循环B)break的意义是直接跳出循环结构,continue的意义是结束本次循环进入下次循环C)死循环是指无限循环下去,永远不结束,所以死循环一定是有害的 D)for循环结构的表达式1,只执行一次E)for循环结构的表达式1,2,3都可以省略,所以表达式1,2,3之间的分号可以省略F)for循环结构如表达式2省略,则系统认为表达式2的值永远为真4.

24、下面程序段int n=2;while (n=0) printf(“%d”,n);n-;则下面描述中正确的是( C )。A)while循环执行2次 B)循环是无限循环C)循环题语句一次也不执行 D)循环体语句执行一次5.下述程序段中,( C输出5150 ) 与其他程序段的作用不同。A)s=0;k=1; B)s=0;k=1;while (1) Repeat : s+=k ; s+=k ; k=k+1 ; if (+k100) break ; goto Repeat; printf(“n%d”,s) ; 输出5050printf(“n%d”,s) ; 输出5050C)k,s=0; D)s=0;k=1

25、;for (k=1;k=100;s+=+k); doprintf(“n%d”,s) ; s+=k;while (+k=100) ;printf(“n%d”,s) ;6.以下程序段的循环次数是( B ) 。for (i=2; i= =0; ) printf(“%d” , i-) ;A)无限次 B)0次 C)1次 D)2次7.有以下程序main( ) int i,n=0;for(i=2;i0; x-) if (x%3=0) printf(“%d”,-x); continue ;9.有以下程序main( ) int x=0,y=5,z=3;while(z-0&+x5) y=y-1;printf(“%d,%d,%dn”,x,y,z); 程序执行后的输出结果是 10.下面程序的功能是输出以下形

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

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