c语言练习题1-5及参考答案

上传人:第*** 文档编号:34051778 上传时间:2018-02-20 格式:DOC 页数:31 大小:191KB
返回 下载 相关 举报
c语言练习题1-5及参考答案_第1页
第1页 / 共31页
c语言练习题1-5及参考答案_第2页
第2页 / 共31页
c语言练习题1-5及参考答案_第3页
第3页 / 共31页
c语言练习题1-5及参考答案_第4页
第4页 / 共31页
c语言练习题1-5及参考答案_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《c语言练习题1-5及参考答案》由会员分享,可在线阅读,更多相关《c语言练习题1-5及参考答案(31页珍藏版)》请在金锄头文库上搜索。

1、1练习题 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 程序是由

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

3、译成目标代码3练习题 2 及参考答案1. 单项选择题(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 型,运算结果也是 doubl

4、e 型。本题答案为 B。(5)若变量已正确赋值,以下符合 C 语言语法的表达式是 。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

5、)(4.8/2)【答】选项 A 的计算过程x=1+2=3,再计算 x=x*2=6;选项 B 的计算过程y2 为真,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

6、=5,j=6,m=i+j;4printf(%d,%d,%dn,i,j,m);A. 6,6,11 B. 5,6,11 C. 5,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

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

8、字,则将 d 转换成相应的整数,否则 d 的值不改变。 返回两个整数 x、y 中较大者。 返回三个整数 x、y 和 z 中最大者。 【答】 c=(c=A & c=0 & dy) ? x : y (xy) ? (xz ? x : z) : (yz ? y : z) 或 (xy & xz) ? x : (yz ? y : z)5(4)以下程序的运行结果是 。#include #include main()char s=abnrb;printf(%d,%dn,sizeof(s),strlen(s);【答】字符串 s 由字符a、b、n、r、b等 7 个字符组成,故长度为 7,但字符串本身有一个结束标志

9、0。所以,s 的长度为 7,在内存中占用 8 个字节。输出为:8,7。(5)以下程序的运行结果是 。#include main()int a=2,b=4,c=6,x,y;y=(x=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+

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

11、结果=1):1(!a&1 的结果是 0,!c|1 的结果是 1,表达式结果=1):0(!a2 的结果是 0,(!a2)?3:0 的结果是 0,f!=1 的结果是 1,(f!=1)?0:1 的结果是 0,表达式结果=0):1((1,2,3)表达式的结果是 3,(3,3,3)的结果是 3 7练习题 3 及参考答案1. 单项选择题(1)以下说法正确的是 。A. 输入项可以为一个实型常量,如 scanf(%f,3.5)B. 只有格式控制没有输入项也能进行正确输入,如 scanf(%d)C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf(%4.2f,&f)D. 当输入数据时,必

12、须指明变量的地址,如 scanf(%f,&f)【答】D(2)若 a 为整型变量,则以下语句 。a=-2L;printf(%dn,a);A. 赋值不合法 B. 输出值为-2C. 输出为不确定值 D. 输出值为 2【答】B(3)若 x 和 y 均定义为 int 型,z 定义为 double 型,以下 scanf()函数调用语句不合法的是 。A. scanf(%d%lx,%le,C. scanf(%x%*d%o,【答】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); D. scanf(%d%d%d,【答】D (5)若有定义和语句:int n=10;printf(%n,n);其输出结果是 。A. 输出 10 B. 输出一空行 C. 没有输出 D. 编译不通过【答】D(6)若 a 是 float 型变量,b 是 unsigned 型变量,以下输入语句中合法的是 。A. scanf(%6.2f%d,C. scanf(%f%3o,【答】C(7)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号