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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言练习题及参考答案.docx

1、C语言练习题及参考答案练习题1及参考答案1. 单项选择题(1)以下并非C语言的特点的是 。A. C语言简洁和紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好【答】B(2)一个C程序的执行是从 。A. main()函数开始,直到main()函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D. main()函数开始,直到最后一个函数结束【答】A(3)在C程序中,main()的位置 。A. 必须作为第一个函数B. 必须作为最后一个函数C. 可以任意D. 必须放在它所调用的函数之后【答】C(4)一个C程序是由 。A.

2、一个主程序和若干子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成【答】B(5)下列说法正确的是 。A. 在执行C程序时不是从main()函数开始的B. C程序书写格式限制严格,一行内必须写一个语句C. C程序书写格式比较自由,一个语句可以分行写在多行上D. C程序书写格式严格要求一行内必须写一个语句,并要求行号【答】C2. 填空题(1)一个C源程序至少有 个main()函数和 个其他函数。【答】一 若干(2)任何C语句必须以 结束。【答】分号(3)C语言源程序的基本单位是 。【答】函数(4)C编译程序的功能是 。【答】将C源程序编译成目标代码 练习题2及参考答案1. 单

3、项选择题(1)以下字符串为标识符的是 。A. _MY B. 2_2222 C. short D. LINE 5【答】A(2)下列符号可以作为变量名的是 。A. +a B. *p C. _DAY D. next day【答】C(3)设c是字符变量,则以下表达式正确的是 。A. c=666 B. c=c C. c=c D. c=abcd【答】B(4)23+m+3.6-123.45/b的结果是 型数据。A. char B. double C. int D. long int【答】3.6和123.45均为double型,运算结果也是double型。本题答案为B。(5)若变量已正确赋值,以下符合C语言语

4、法的表达式是 。A. a=a+7; B. a=7+b+c,a+C. int(12.3%4) D. a=a+7=c+b【答】选项A错误,以分号结尾是一个语句而不是表达式;选项B正确,是一个逗号表达式;选项C错误,因为%求模运算的两个运算数必须均为整数;选项D错误,给一个表达式(a+7)而非变量赋值是不正确的。本题答案为B。(6)整型变量x=1,y=3,经下列计算后,x的值不等于6的表达式是 。A. x=(x=1+2,x*2) B. x=y2?6:5C. x=9-(-y)-(-y) D. x=y*(int)(4.8/2)【答】选项A的计算过程x=1+2=3,再计算x=x*2=6;选项B的计算过程y

5、2为真,x=6;选项C的计算过程式中有两个-运算,最后y=1,x=9-1-1=7;选项D的计算过程x=y*(int)(4.8/2)=y*2=6。本题答案为C。(7)若定义int m=7,n=12;则能得到值为3的表达式是 。A. n%=(m%=5) B. n%=(m-m%5)C. n%=m-m%5 D. (n%=m)-(m%=5)【答】A、B、C、D选项各表达式的值分别是0、2、2、3。本题答案为D。(8)以下程序的运行结果是 。#include main() int i=5,j=6,m=i+j; printf(%d,%d,%dn,i,j,m);A. 6,6,11 B. 5,6,11 C. 5

6、,6,12 D. 6,6,12【答】m=i+j等价于m=(i+)+j。本题答案为A。(9)以下程序的运行结果是 。#include void main() double f=3.14159; int n; n=(int)(f+10)%3; printf(%dn,n);A. 1 B. 0 C. 2 D. 3【答】f+10=13.14159,(int)(f+10)=13,13%3=1。本题答案为A。(10)以下程序的运行结果是 。#include void main() int n,i=2,j=4; n=(+i=j-); printf(%dn,n);A. 0 B. 1 C. 2 D. 3【答】+i

7、返回3,j-返回4,两者不等,故n=0。本题答案为A。2. 填空题(1)表达式语句与表达式的不同是 。【答】语句必须以分号结尾,而表达式结尾没有分号;语句可以出现在函数体中数据定义或声明语句后面的任何位置,而表达式只能出现在语句中规定的位置或表达式中(嵌套出现)。(2)在C语言中可以利用 将一个表达式的值转换成指定的类型。【答】强制类型转换(3)写出完成下列功能的表达式: 如果变量c是大写字母,则将c转换成对应的小写,否则c的值不改变。 如果d是数字,则将d转换成相应的整数,否则d的值不改变。 返回两个整数x、y中较大者。 返回三个整数x、y和z中最大者。 【答】 c=(c=A & c=0 &

8、 dy) ? x : y (xy) ? (xz ? x : z) : (yz ? y : z) 或 (xy & xz) ? x : (yz ? y : z)(4)以下程序的运行结果是 。#include #include main() char s=abnrb; printf(%d,%dn,sizeof(s),strlen(s);【答】字符串s由字符a、b、n、r、b等7个字符组成,故长度为7,但字符串本身有一个结束标志0。所以,s的长度为7,在内存中占用8个字节。输出为:8,7。(5)以下程序的运行结果是 。#include main() int a=2,b=4,c=6,x,y; y=(x=

9、a+b),(b+c); printf(y=%d,x=%dn,y,x);【答】结果为y=6,x=6。(6)以下程序的运行结果是 。#include main() char a,b; a=a;b=b; a=a-32;b=b-32; printf(%c,%c,%d,%dn,a,b,a,b);【答】A,B,65,66(7)以下程序的运行结果是 。#include main() int i,j,x,y; i=5;j=7; x=+i;y=j+; printf(%d,%d,%d,%dn,i,j,x,y);【答】执行x=+i后,i=6,x=6;执行y=j+后,j=8,y=7;所以输出为:6,8,6,7。(8)

10、以下程序的运行结果是 。#include main() int a=1; char c=a; float f=2.0; printf(:%dn,a+2!=c-100); printf(:%dn,(ac)=(f4); printf(:%dn,!a=!f); printf(:%dn,(!a&1)!=(!c|1); printf(:%dn,(!a2)?3:0)c的结果是0(假),f4的结果是0,表达式结果=1):1(!a的结果是0,!f的结果是0,表达式结果=1):1(!a&1的结果是0,!c|1的结果是1,表达式结果=1):0(!a2的结果是0,(!a2)?3:0的结果是0,f!=1的结果是1,(

11、f!=1)?0:1的结果是0,表达式结果=0):1((1,2,3)表达式的结果是3,(3,3,3)的结果是3 练习题3及参考答案1. 单项选择题(1)以下说法正确的是 。A. 输入项可以为一个实型常量,如scanf(%f,3.5)B. 只有格式控制没有输入项也能进行正确输入,如scanf(%d)C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f)D. 当输入数据时,必须指明变量的地址,如scanf(%f,&f)【答】D(2)若a为整型变量,则以下语句 。a=-2L;printf(%dn,a);A. 赋值不合法 B. 输出值为-2C. 输出为不确定值 D

12、. 输出值为2【答】B(3)若x和y均定义为int型,z定义为double型,以下scanf()函数调用语句不合法的是 。A. scanf(%d%lx,%le,&x,&y,&z); B. scanf(%2d*%d%lf,&x,&y,&z);C. scanf(%x%*d%o,&x,&y); D. scanf(%x%o%6.2f,&x,&y,&z);【答】scanf()函数中没有精度控制。本题答案为D。(4)若a,b,c均定义为int型,要给它们输入数据,正确的输入语句是 。A. read(a,b,c); B. scanf(%d%d%d,a,b,c);C. scanf(%D%D%D,a,b,c);

13、 D. scanf(%d%d%d,&a,&b,&c);【答】D (5)若有定义和语句:int n=10;printf(%n,n);其输出结果是 。A. 输出10 B. 输出一空行 C. 没有输出 D. 编译不通过【答】D(6)若a是float型变量,b是unsigned型变量,以下输入语句中合法的是 。A. scanf(%6.2f%d,&a,&b); B. scanf(%f%n,&a,&b);C. scanf(%f%3o,&a,&b); D. scanf(%f%f,&a,&b);【答】C(7)字母a的ASCII码为97,则下列语句的运行结果为 。char a=a;a-;printf(%d,%c

14、n,a+2-0,a+3-0);A. b,c B. a-运算不合法,故有语法错C. 98,c D. 格式描述和输出项不匹配,输出无定值【答】C(8)若k1,k2,k3,k4均为int型变量,为了将整数10赋给k1和k3,将整数20赋给k2和k4,则对应以下scanf()函数调用语句的正确输入方式是 。scanf(%d%d,&k1,&k2);scanf(%d,%d,&k3,&k4);A. 1020B. 10 20C. 10,20D. 10 20102010 2010,2010,20【答】D(9)有如下程序,输入数据12345 678后,x的值是 ,y的值是 。#include main() int

15、 x; float y; scanf(%3d%f,&x,&y); A. 12345 B. 123 C. 45 D.345 A. 45.000000 B. 45678.000000 C. 678.000000 D.123.000【答】 B A(10)有如下程序,输入数据25,13,10后,正确的运行结果是 。#include main() int x,y,z; scanf(%d%d%d,&x,&y,&z); printf(x+y+z=%dn,x+y+z);A. x+y+z=48 B. x+y+z=35C. x+y+z=38 D. 不确定值【答】输入的数据与scanf()函数的格式不匹配。本题答案

16、为D。(11)有如下程序,输入数据12 345后,x的值是 ,y的值是 。#include main() int x; float y; scanf(%3d%f,&x,&y); A. 12 B. 123 C. 12345 D. 0 A. 12.000000 B. 345.000000 C. 12345.000000 D. 0.000000【答】 A B(12)有如下程序,输入数据9876543210后,程序的运行结果是 。#include main() int a; float b,c; scanf(%2d%3f%4f,&a,&b,&c); printf(a=%d,b=%f,c=%fn,a,b

17、,c);A. a=98,b=765,c=4321 B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000 D. a=98,b=765.0,c=4321.0【答】C(13)以下程序的运行结果是 。#include main() float a=3.1415; printf(|%6.0f|n,a);A. |3.1415| B. | 3.0| C. | 3| D. | 3.|【答】C(14)以下程序的运行结果是 。#include main() float a=3.1415; printf(|%06.0f|n,a);A. |000003| B.

18、|3.1415| C. |00003.0| D. | 3|【答】A(15)以下程序的运行结果是 。#include main() float a=3.1415; printf(|%-6.0f|n,a);A. |3 | B. |000003| C. |3.1415| D. |3.0 |【答】A (16)以下程序的运行结果是 。#include main() int i=010,j=10; printf(%d,%dn,+i,j-);A. 11.10 B. 9,10 C. 010,9 D. 10,9【答】B(17)以下程序的运行结果是 。#include main() int x=10,y=10;

19、printf(%d,%dn,x-,-y);A. 10,10 B. 9,9 C. 9,10 D. 10,9【答】D2. 填空题(1)以下程序的运行结果是 。#include main() float f=3.1415927; printf(%f,%5.4f,%3.3f,f,f,f);【答】3.141593,3.1416,3.142(2)以下程序的运行结果是 。#include main() float f=3.5; printf(%f,%g,f,f);【答】3.500000,3.5(3)以下程序的运行结果是 。#include main() float f=31.41592; printf(%f

20、,%e,f,f);【答】31.415920,3.141592e+001(4)以下程序的运行结果是 。#include main() int x=0177; printf(%3d,%6d,%6o,%6x,%6un,x,x,x,x,x);【答】127, 127, 177, 7f, 127(5)以下程序的运行结果是 。#include main() int x=0177; printf(%-3d,%-6d,%-6o,%-6x,%-6un,x,x,x,x,x);【答】127,127 ,177 ,7f ,127 (6)以下程序的运行结果是 。#include main() char c=A+10; pr

21、intf(c=%cn,c);【答】c=K(7)以下程序输入123456后,其运行结果是 。#include main() int a,b; scanf(%2d%3d,&a,&b); printf(a=%d,b=%dn,a,b);【答】a=12,b=345(8)以下程序输入ABC后,其运行结果是 。#include main() char c; scanf(%3c,&c); printf(c=%cn,c);【答】c=A(9)以下程序输入100后,其运行结果是 。#include main() int n; scanf(%o,&n); printf(n=%dn,n);【答】n=64(10)以下程序输入x=1.23,y=50后,其运行结果是 。#include main() float x,y; scanf(x=%f,y=%f,&x,&y); printf(x=%7.2f,y=%7.2fn,x,y);【答】x= 1.23,y

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2