收藏 分销(赏)

C语言练习题参考答案.doc

上传人:仙人****88 文档编号:5619596 上传时间:2024-11-15 格式:DOC 页数:6 大小:91KB
下载 相关 举报
C语言练习题参考答案.doc_第1页
第1页 / 共6页
C语言练习题参考答案.doc_第2页
第2页 / 共6页
C语言练习题参考答案.doc_第3页
第3页 / 共6页
C语言练习题参考答案.doc_第4页
第4页 / 共6页
C语言练习题参考答案.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、完成下列练习题:练习一单选题 (1) 下列 C语言表达式能正确表达数学计算式1 2x y。 A、 1/sqrt(2*3.14)*2*pow(x,y) B、1.0/sqrt(2p)*2*x*yC、 1.0/sqrt(6.28)*2xy D、 1/6.280.5*2*pow(x,y)(2) 执行以下程序段后, 输出结果为_(14)_. main( ) long a; a=(72*456-60)/2; printf(“%ldn”,a); A、 -16382 B、 16382 C、 16386 D、-16386(3) 可以用signed和unsigned 修饰的类型标识符是 。 int float d

2、ouble charA. B. C. D.(4) 以下常量中, (4) 是符合语法要求的。 0258 0xaa 1E-9 3.5f (1/2)e-2 3L 0xFFA. B. C. D. (5) 以下常量表示中错误的是 。Ae2 B-2L C2.5f D. 0xabcd(6) 以下符号中不能用作标识符的是 。 A. _256 B. scanf C. void D. Struct(7) 以下关于变量的叙述中错误的是 。 A. 所有变量在使用前都必须声明 B. 变量声明可放在函数体中任何位置C. 全局变量和局部变量可以同名D. 声明变量时必须给出变量的数据类型但可以缺省存储类型 (8) 若已声明:

3、 int a=7 ;char b=1;float x=2.0 , y=4.7 ; 则下列表达式的值不为2的是: 。 x+a%3*(int)(x+y)%2/4 sizeof A b+1 sizeof b (9) 以下关于main函数的叙述中,错误的是 。 A. main函数是自定义函数 B. main函数可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源文件的开头 D. 在一个源程序中只能有一个main函数(10) 已知有声明: char c=1 ; int x=300 ; float t=35000 ; double d=3.1234567e10 ; 则以下表达式求值时除

4、 外,其结果都可能是不准确的。 A、x=t/c B、t=d/x; C、t=d/1e5f D、t=x+c(11) 设有定义 float y=3.45678; int x; 则以下表达式中能实现将y中数值保留到小数点后2位,第3位四舍五入的表达式是 。 A、 y=(y*100+0.5)/100.0 B、 x=y*100+0.5, y=x/100.0 C、 y=y*100+0.5/100.0 D、 y=(y/100+0.5)*100.0(12) 以下局部变量声明中,正确的是 。 A、 int 2x=1,2y=0; B、 auto float x=2,y=sqrt(x); C、 char for=1;

5、 D、 double f=1.0;(13) 以下常量中, 是符合语法要求的。 0218 0x1a E-9 3.5f (1/2)e-2 3L 0xFF A、 B、 C、 D、 (14) C语言中要求两个操作数都必须是整型数的运算符是 。 A、= = B、 + C、 / D、 %(15) 在内存中需 个字节存储下列字符串: “t”NameAddressn” A、 19 B、 15 C、16 D、 17(16) 若已声明 unsigned a = 1024; ,则表达式 a = -a 的值为 64512 (17) 若有定义: int b=17; float a=4.5, c=6.5; 则表达式 a+

6、(int)(b/3*(int)(a+c)/2)%4的值为 7.500000 。(18) 下列哪些是C语言中的错误表达式 _ 。 +a+b “ABC” “abc” -a+ -+a +-a int(x) xy=2 (19)下列叙述中正确的是 (21) 。 A. main函数必须出现在其他函数之前 B. main函数中至少必须有一条语句 C. 程序总是从main函数的第一条语句开始执行D. 程序总是在执行完main函数的最后一条语句后结束(20). 以下常量表示中正确的是 。 A. xffB. 5LC. aEbD. 3.14u(21) 在以下各组标识符中,均可以用作变量名的一组是 。 A a01,

7、Int B table_1, a*.1 C 0_a, W12 D for, point(22) 若有声明“long a,b;”且变量a和b都需要通过键盘输入获得初值,则下列语句中正确的是 。A. scanf(%ld%ld,&a,&b);B. scanf(%d%d,a,b);C. scanf(%d%d,&a,&b); D. scanf(%ld%ld,&a,&b);(23) 若有程序段“char c=256; int a=c;”,则执行该程序段后a的值是 。A. 256 B. 65536C. 0D. -1(24) 已知在函数f中声明了局部变量x,如果希望f函数第一次被调用返回后变量x中存储的数据保

8、持到下次f函数被调用时仍可以使用,则在声明x时必须指定其存储类型为 。A. auto B. register C. static D. extern(25) 以下叙述中正确的是 。 A在编译时可以发现注释中的拼写错误BC语言程序的每一行只能写一条语句Cmain( )必须位于程序的开始DC语言程序可以由一个或多个函数组成(26) 以下选项中不能用作变量名的是 。 A_float Bswitch Csum D_123 (27) 已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!=3628800),变量f的类型应声明为 。Along int Bint Cshort int Du

9、nsigned int(28) 数学式在C程序中正确的表示形式为 。 Asqrt(a)/2*b Bsqrt(a)/2/b Csqrt(a)/2b Dsqrt a/(2*b)二、填空题1在C语言源程序中,不带任何修饰符的浮点数直接量(例如:3.14)都是按 double 类型数据存储的。 2可以改变局部变量的生存期、但不能改变它的作用域的存储类别是 static 。3C语言有效的预处理命令总是以 # 开头。 4若有声明“double x=10,y=5;”,则计算xy的库函数调用形式是 pow(x,y) 。5. 设有声明“int a=3, b=4; float x=4.5, y=3.5;”,则表达

10、式“(float)(a+b)/2+(int)x%(int)y”的值是 4.500000 。练习二(1) 语言表示逻辑假的值是 。 . 非零整数值 . . . FALSE(2) 已知有声明:int x=1,y=2,z=3;以下表达式中,表达式的值为0的是 。 x/y !x x=2 x=2 y-,y- zyx A. B. C. D. (3) 以下表达式中,可以正确地用于if(e)/else语句中的条件表达式e是 。A. +(x+1)=x+2B. t=!(y%4)&y%100|!(y%400) C. x+1=zD. x%2.0=0(4) 已知有char c;scanf(“%c”,&c);以下表达式均

11、用于判断c中存储的是否是字母编码,除 外都是正确的。 A. c=A& c=A& c=a& c=zC. !(cZ&cz)D. c=65 & c=97 & c=122(5) 以下程序段执行后,将输出 no 。 unsigned char x,a,b;x=0;a=x-1;b=x;if(ab)printf(“ok”);else printf(“no”);(6) 以下程序段执行后,变量t,x,y,z的值是 0 。 int t,x,y,z;x=y=z=0;t=(x+1,x+)&(y+=1)|z+; (7)执行以下程序段后输出结果为 。A.1,1,1 B.2,2,2 C.2,1,1 D.1,2,2main(

12、) int x,y,z;x=y=z=1;if(+x|+y&+z)printf(%d,%d,%d,x,y,z);(8) 2以下程序中,输出值是 。 #define M 3 #define N M+1 #define NN N*N/2 main( ) printf(%dn“ , NN ); A、5 B、6 C、7 D、8(9) 以下程序片段输出结果是 _。int a=2,b=-1,c=2; if(ab) if(b0) c=0; else c+=1;c-; printf(“%dn”,c); A、0 B、 2 C、3 D、1(10)下列有语法错误的程序是_ _ A. B. float PI=3.14;

13、#define PI 3.1 main() printf(“%fn”,PI); #define PI 3.1float PI=3.14;main() printf(“%fn”,PI); C. D. #define PI 3.1 main()float define=PI; printf(“%fn”,define); float PI=3.14; main() float PI=3.14;printf(“%fn”,PI); (11)以下程序执行时输出结果为 false #include void main() if(“A”=“A”) printf(true); elseprintf(false)

14、; (12)已有声明: int x=0 , y=0 , z=0; 以下表达式中与 +x & y+ | +z (值为1)的值不一样的表达式是 A,B 。 A、x += +x | x+ (值为2) B、 x = y = z 0 (值为0) C、!x (值为1) D、 x = y z (值为1) (13) 设有如下声明和语句: int a=2, b, c=5 ; scanf( “%d” , &b) ; b = c- | scanf (“%d” , &c ) & a+; 该程序段执行时,若从键盘上输入的数据是 43 (代表空格键) , 则变量c 的值为 4 。(14) 下列程序执行后的输出结果是 0

15、。 main( ) unsigned short x=65536; int y; printf(“%dn”, y=x); (15)执行语句 printf(“%d” , (a=2)&(b=-2) ); 后的输出是 1 。(16)若用n表示年龄,则在C语言中表示1到16岁, 或高于60岁的逻辑表达式是 n=1&n60 。(17)若有声明“int x=2,y=1,z=0;”,则下列关系表达式中有语法错误的是 。 . xy=2 . zyx . xy=1 . x=(x=0,y=1,z=2)(18) 若有声明 “ int a=5 , b=2 ; ” ,则表达式: b+=(float)(a+b)/2 运算后b的值为 15 。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服