C语言程序设计习题及答案
更新时间:2023-11-15 05:28:01 阅读量: 教育文库 文档下载
第一部分 C语言基础
一、 单项选择
1.以下不是C语言的特点的是( )。
(A) C语言简洁、紧凑 (B)能够编制出功能复杂的程序 (C) C语言可以直接对硬件进行操作 (D)C语言移植性好 2.下列浮点数的表示中正确的有( )。
(A)223 (B).719E22 (C ) e23 (D) 12e2.0 3.字符型常量在内存中存放的是( )。
(A)ASCII代码 (B)BCD代码 (C)内部码 (D)十进制码 4. “BB\\n\\\\\\123\\r”在内存中占的字节数是( ),此字符串的长度为( )。 (A)6 (B)7 (C)8 (D)9 (E)10 (F)11
5.对于语句scanf (“%f□%f,z=%f”,&x,&y,&z ); ,其合法的输入形式为( )。 (A)□14.7□2.0□15.3 (B)14.7,2.0,15
(C)14.7□□2.0,15.3 (D)14.7□□□2.0,z=15 6.下列运算符中,结合方向为自左向右的是( )。 (A)= (B) , (C)+= (D)――
7.若有int x ; 则sizeof(x)和sizeof(int )两种描述( ) 。 (A)都正确 (B)值不一样 (C)前者正确 (D)后者正确 8.整型变量x=1,y=3,经下列计算后,x的值不等于6的是( ) 。
(A)x=(x=1+2,x*2) (B)x=y>2?6:5 (C)x=9 - (- -y) - (- -y) (D)x=y*4.2/2 9.单精度变量x=3.0, y=4.0,下列表达式中y的值为9.0的是( ) 。
(A)y/=x*27/4 (B)y+=x+2.0 (C)y- =x+8.0 (D)y*=x-3.0 10.若整型变量i=3,j=4,作运算j=i+ + + j + i后,i的值为( ),j 的值为( ) 。 (A)10 (B)4 (C)3 (D)11
11.设有整型变量x=10,表达式(x&&1535)&(x|55&100)的值为( ) 。 (A)0 (B)1 (C)10 (D)11
12.设有整型变量x,其值为25,则表达式:(x&20>>1)|(x>10|7&x^33)的值为( ) 。 (A)35 (B)41 (C)11 (D)3
13有整型变量x,单精度变量y=5.5,表达式:x=(float)(y*3+((int)y)%4)执行后, x的值为 ( ) 。 (A)17 (B)17.500000 (C)17.5 (D)16
14.表达式:0?2:0,3/2,0= =3>=2?55:6.0,4%3的值为( ) 。 (A)1.3333333 (B)1 (C)6.0 (D)1.5 15.以下选项中属于C语言中数据类型的是( ) 。
(A) 复数型 (B) 逻辑型 (C)双精度型 (D) 集合型 16.在C语言中,不正确的int 类型的常数是( ) 。
(A) 32768 (B)0 (C)037 (D)0xAF
17.语句: printf( “ %d\\n”,(a = 2 ) && ( b = - 2 )); 的输出结果是( ) 。 (A) 无输出 (B) 结果不确定 (C)-1 (D) 1
18.当c 的值为0 时,在下列选项中能正确将c的值赋给变量a,b 的是( ) 。
(A) c = b = a ; B) ( a = c )|| (b = c ); (C) ( a = c ) && ( b = c ); (D) a = c = b ;
19.下列程序的输出结果是( ) 。
(A)3 (B)3.2 (C)0 (D)3.07 main( )
{ double d = 3.2; int x, y; x = 1.2; y= ( x + 3.8 ) /5.0; printf ( “%d \\n “, d * y ); }
20.下列变量定义中合法的是( )。
(A) short _a= 1 - .1e-1; (B) double b = 1+ 5e 2.5 ; (C ) long do = 0xfdaL; (D) float 2_and = 1 – e –3; 21.设 int x = 1, y = 1 ; 表达式( ! x || y -- ) 值是
(A) 0 (B) 1 (C) 2 (D) -1 22.下列程序执行后的输出结果是( )。
(A) G (B) H (C) I (D)J main( )
{ int x = ?f ? ; printf ( “ % c \\n “, ?A? + ( x – ? a ? + 1 )) ; } 23. 下列程序执行后的输出结果是( )。
(A) -32767 (B)FFFE (C)-1 (D) -32768 main( )
{ char x = 0xFFFF ; printf( “ %d \\n “ , x --) ; } 24.设有如下定义:
int i = 8 , k , a , b ; unsinged long w = 5;
double x = 1.42 , y = 5.2 ; 则以下符合C语言语法的表达式是:
(A) a + = a - = ( b = 4 )* ( a = 3 ) (B) x% ( - 3 )
(C) a = a * 3 = 2 (D) y = float ( i ) 25.以下程序的执行结果是( )。
int a=2,c=5; printf(“a=%%d,b=%%d\\n”,a,c);
(A) a=%2,b=%5 (B) a=2,b=5 (C) a=%%d,b=%%d (D) a=%d,b=%d
26.在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是( (A) a=20000+20000; (B) a=4000*10; (C) a=30000+10000; (D) a=4000L*10L; 27.以下叙述正确的是
(A) 可以把define和if定义为用户标识符。
(B) 可以把define定义为用户标识符,但不能把if定义为用户标识符。 (C) 可以把if定义为用户标识符,但不能把define定义为用户标识符。 (D) define和if都不能定义为用户标识符。 28. 以下程序的输出结果是 main()
{ int a=3; printf(\ }
)。
(A) -6 (B)12 (C) 0 (D) –12 29.下列程序执行后的输出结果是(小数点后只写一位)
(A) 6 6 6.0 6.0 (B) 6 6 6.7 6.7 (C) 6 6 6.0 6.7 (D) 6 6 6.7 6.0 main()
{ double d; float f; long l; int i; i=f=1=d=20/3; printf(\ }
30. 已定义x为float型变量。
X=213.82631; printf(\ 则以上程序运行结果为( )。
(A).输出为-213.82 (B).输出为213.83
(C).输出为213.82 (D).输出格式描述符的域宽不够,不能输出 二、填空
1.C语言规定,标识符只能由_______ ,_______ , _______三种字符组成,而且,第一个字符必须是_____或______.
2. 一个C程序一般由若干函数构成的,程序中有且只有一个______. 3. 一个C函数是由_________和____________两部分组成的。 4.一个C程序总是从_______开始执行的.
5.C语言的基本数据类型有_______.________.________和实型数据,其中实型数据又分为_________和_________.
6.在内存中占据16位的无符号整型变量的范围是_______到_________. 7.在C语言中,八进制整常量以_____开头,十六进制整常量以_______开头.
8.十进制数7转化为八进制为________,十进制数 –2248转化为十六进制为________. 9.在C语言中,&运算符用作_________运算和_________运算,而 * 运算符用作________和_________运算.
10.将下列运算符按优先级从高到低顺序排列:> = ! = ! +&&( )| | >> % & 是_______________________.
11.?x?在内存中占_____字节,”x”在内存中占______字节,”\\101”在内存中占_____字节. 12.若x为整型变量,执行语句x= ?b? - ?A?;后,x的值为________.
13.浮点单精度变量x,执行表达式语句x =8.7 +123.7 * 6 – ?a?%7;后,x的值为______________.
14.整型变量i和j,i的初值为3,执行表达式语句j=(i++)+(i++)+(i++);后,变量i的值为_____,变量j的值为______.
15.整型变量a, b ,c它们的初值都是0,运行表达式:+ +a && b+ + && + + c后,a.b.c的值分别为:_____,______,_____.若在同样的初值的条件下,运行表达式: + +a | | b+ + | | + + c后,a ,b ,c的值分别为:_______, ______,________.
16.输出语句printf(“%-8.4s, %5.3f, M”, ”MAYAPP”, ”35.1753”, 12346);的输出结果为_______________________.
17.若x为单精度型变量,y为字符型变量,z为整型变量,执行如下的输入语句:scanf(%f%c%d”, &x,&y, &z);后,从键盘输入12.77A79A86.此时,变量x, y, z的值分别
为_______, _______, _______.
18.欲将一个16位二进制的整型变量的高8位清零,而只保留低8位,可用的方法是_______________________________________.
19.已知有a.b两个数,执行x=b; b=a; a=x操作后,执行的效果是____________. 20.位运算符_______(填能或不能)用于浮点数. 21.将下列数学式改写成C语言的表达式.
(1) ax3+bx2+cx+d写成____________________.
22a?b (2)
a*b
写成 22.分析下面的程序的运行结果. main( )
{ int x=0, y=0, z=0;
x= + +y+ (+ +z); print(“%d, %d,%d*”,x,y,z); x=y+ + +z+ +; printf(“%d,%d,%d*”,x,y,z); x= - -y + z - -; printf(“%d,%d,%d*”,x,y,z); }
程序结果为:_____________________.
23.由C语言编成的程序文件FILE1.C经编译后的文件名是 。
24.程序文件中若有语句getchar ( );该程序文件头应有予编译命令 。
25.若有说明语句 float x=8; int a[2]; 则表达式sizeof (x) = = sizeof (a)的值
是 。
26.整型变量a = 5, b = 7 ; 表达式 b/a * 100的值是 。 27.以下程序段运行的结果是 。 int a = 5, b = 3;
printf ( “ a+b = % 4d , ”, a+=b+= a+b); printf ( “ a –b=% 4d \\n”, a- =b- = a- b);
28.设有以下变量定义,并已赋确定的值
char w; int x ; float y ; double z ;
则表达式:w* x + z – y 所求得值的数据类型为 。
29.写出与代数式 (x+2)e x+2对应的C语言表达式: 。 30.写出“若char 类型变量ch是大写英文字母,改变ch为对应小写字母”的C表达
式:
三、判断正误
1. C语言程序设计是一种面向过程的结构化设计语言。 2. C语言程序是由函数构成的。
3. 任何C语言编写的文件必须至少包含一个main()函数。 4. 一个C语言程序可以在不同的文件中。 5. C语言程序不允许直接访问物理地址。 6. 函数的过程体实际是一个复合语句。
7. 用宏定义的符号型常量必须是用大写字母来表示。 8. void型数据类型是指数据不存在。 9. C语言中变量必须先定义,后使用。 10. C语言中,scanf与Scanf等同。
11. 当有如下定义unsigned int I ; 时,做如下赋 值 I =-1;是不允许的。 12. 有如下定义float x=1.2345;执行printf(“%f”,x) ; 结果输出为1.2345。 13. 如下定义 char c1=?a?,c2=?b?,c3=c1-c2;执行printf(“%c”,c3);结果为无任何显示。 14. 可以有如下定义:int a=b=c=0;
15. int x=4,y=5;float z=x/y;则z的值为0.8; 16.int i=4;x=(i++,i++);后,x的值为5;
17.空语句没有任何意义,所以在C程序中不应该出现空语句。
18.要求出某一变量占用内存空间的长度可以用函数sizeof(变量)实现。 19.要判断x,y,z的大小顺序可以用如下表达式x>y>z;
20.在do{ }while(P);结构中,当条件P成立时,结束循环。 21.Switch结构中必须要有defau l t 项。
22.在main()函数中若加入return语句,则编译出错。 23.for循环语句中括号内至少必须要有一个表达式。 24.各种循环结构可以相互替代。 25. if (i=1) i++;编译时不能通过。
26. 以下定义是否正确:int a = 120, b++=a ;
27. 以下语句是否正确:float a[10] ; int i = 0 ; while ( i++ <10 ) scanf( “%f “, a[i]); 28. 以下语句是否正确:int R = getchar ( ) & 0200;
29. 设有 int x= 11; 则表达式 x ++ * 1/3 ;的值是4 。
30.若有“int x ; float y=1.6, z = 2.4 ; ”则执行“x =(int)y+ z ;”后,x 的值是3。 四、阅读程序, 写出运行结果 1.#include “stdio.h” main()
{int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); } 2.#include “stdio.h” main()
{int i,j,x,y; i=5; j=7; x=++i; y=j++; printf(“%d,%d,%d,%d”,i,j,x,y); } 3.#include “stdio.h” main()
{float f=13.8; int n; n=((int) f)%3; printf(“n=%d”,n); } 4.#include “stdio.h” main()
{int n=2; n+=n-=n*n; printf(“n=%d”,n); } 5.#include “stdio.h” main()
{int a,b,x; x=(a=3,b=a--); printf(“x=%d, a=%d, b=%d”,x,a,b); } 6.#include “stdio.h”
正在阅读:
C语言程序设计习题及答案11-15
仪器设备台账一览表05-11
iso9001内审员转版培训试题答案04-11
利兹大学管理与市场营销本科08-25
小学生一年级写冬天的雨的作文06-14
小学三年级奥数讲义全集12-01
你也读读这本书吧作文500字07-09
五人制足球比赛战术05-28
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 习题
- 程序设计
- 答案
- 语言