当前位置:文档之家› C语言数据类型与表达式习题及答案

C语言数据类型与表达式习题及答案


表达式运算后 a 的值
a/=a+a a%=(n%=2) a+=a-=a*=a
0 0 0
12.设 int a;float f;double i;则表达式 10+’a’+i*f 值的数据类型是 double 。 13.若 a 为 int 型变量,则表达式(a=4*5,a*2),a+6 的值为 26 。 14.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为 9 。 15.已知 a,b,c 是一个十进制数的百位,十位,个位,则该数的表达式是 a*100+b*10+c 。 16.定义: double x=3.5,y=3.2;则表达式(int)x*0.5 的值是 1.5 , 表达式 y+=x++ 的值是 6.7 。 17.定义:int m=5,n=3;则表达式 m/=n+4 的值是 0 ,表达式 m=(m=1,n=2,n-m) 的值是 -1 ,表达式 m+=m- = (m=1)*(n=2)的值是 -2 。 19.若 a 是 int 变量,则执行表达式 a=25/3%3 后,a 的值是 2 。 20.数学式子 x 2 x 3x 4 x 5 x 6 x 7 的 C 语言表达式为: x* x* x* x* x* x-2* x* x* x* x* x +3* x* x* x* x +4* x* x* x -5* x* x +6*x+7 三.判断题 1.在 C 程序中对用到的所有变量都必须指定其数据类型。 【 T 】 2.一个变量在内存中占据一定的存储单元。 【 T 】 3.一个实型变量的值肯定是精确的。 【 F 】 4.对几个变量在定义时赋初值可以写成:int a=b=c=3;【 F 】 5.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。 【 T 】 6.在 C 程序的表达式中,为了明确表达式的运算次序,常使用括号“ () ” 。 【 7.%运算符要求运算数必须是整数。 【 T 】 8.若 a 是实型变量,C 程序中允许赋值 a=10,因此实型变量中允许存放整型数。 【 F 】 9.在 C 程序中,逗号运算符的优先级最低。 【 T 】 10.C 语言不允许混合类型数据间进行运算。 【 F 】 四.简答题 1.为什么 C 语言的字符型可以进行数值运算? 2.简述‘a’和“a”的区别。 3.程序:int m=12; m=15;为什么整型变量 m 的值在运算后不是当初的 12,而是 15? 6.华氏温度 F 与摄氏温度 c 的转换公式为: c 。
6 5 4 3 2
T

5 ( F 32) ,则 float c,F;c=5/9*(F-32)是 9
其对应的 C 语言表达式吗?如果不是,为什么?(因为 5ห้องสมุดไป่ตู้9 的值为 0) 五.程序阅读题
1.写出以下程序运行的结果。 aa bb cc A N abc
main ( ) { char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’116’; printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3); printf(“\t\b%c %c”,c4,c5); } 2.写出以下程序运行的结果。9,11,9,10 main ( ) { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 六.编程题 1.假设 m 是一个三位数,则写出将 m 的个位,十位,百位反序而成的三位数(例如:123 反 序为 321)的 C 语言表达式。 2.已知 int x=10,y=12;写出将 x 和 y 的值互相交换的表达式。
1 a x ax 的 C 语言表达式为 2 4a 3ae 的 C 语言表达式为 bc
(1.0/2)*( a*x+(a+x)/(4*a) ) 3*a*e/(b*c)

9.数学式子
。 38(溢
10.已知:char a=’a’,b=’b’,c=’c’,i;则表达式 i=a+b+c 的值为 出) 。 11.已知 int a=12,n=5;则: 表达式 a+=a a-=2 a*=2+3 24 10 60
x y 不等价的 C 语言表达式是 uv
A
。 D)x/(u*v)*y D)非法数
A)x*y/u*v B)x*y/u/v 14.在 C 语言中,数字 029 是一个 D A)八进制数 B)十六进制数
C)x*y/(u*v) 。 C)十进制数
16.对于 char cx=’ \039’;语句,正确的是 A 。 A)不合法 B)cx 的值是’\03’ C)cx 的值为四个字符 D)cx 的值为三个字符 17.若 int k=7,x=12;则能使值为 3 的表达式是 D 。 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 18.为了计算 s=10!(即 10 的阶乘) ,则 s 变量应定义为 C 。 A)int B)unsigned C)long D)以上三种类型均可
第一章 数据类型,运算符与表达式 一.选择题 1.不合法的常量是 A 。 A) ‘/2’ B) “” C) ‘’ D) “483” 2. B 是 C 语言提供的合法的数据类型关键字。 A) Float B) signed C) integer D)Char 3.在以下各组标识符中,合法的标识符是(1) A , ( 2) C , (3) D 。 (1)A)B01 B) table_1 C) 0_t D) k% Int t*.1 W10 point (2)A)Fast_ B) void C)pbl D)<book> Fast+Big abs fabs beep (3)A)xy_ B)longdouble C)*p D)CHAR 变量 1 signed history Flaut 4. 不属于合法的 C 语言长整型常量的是 C 。 A)5876273 B)0L C)2E10 D)(long)5876273 7.下面选项中,均是合法浮点数的是 B 。 A)+1e+1 B)-0.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-1 5.e-0 8.在 C 语言中,要求参加运算的数必须是整数的运算符是 C 。 A)/ B)* C) % D) = 9.在 C 语言中,字符型数据在内存中以 D 形式存放。 A)原码 B)BCD 码 C)反码 D)ASCII 码 10.下列语句中,符合语法的赋值语句是 C 。 A)a=7+b+c=a+7; B)a=7+b++=a+7; C)a=7+b,b++,a+7; D)a=7+b = c=a+7; 11. B 是非法的 C 语言转义字符。 A) ‘\b’ B) ‘\0xf’ C) ‘\037’ D) ‘\’ ’ 12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中, B 是正确的。 A)语法错误 B)f 为 5.0 C)f 为 0.0 D)f 为 2.0 13.与代数式
19.以下所列的 C 语言常量中,错误的是 B 。 A)0xFF B)1.2e0.5 C)2L D)’\72’ 20.假定 x 和 y 为 double 型,则表达式 x=2,y=x+3/2 的值是 D 。 A)3.500000 B) 3 C)2.000000 D)3.000000 21.设变量 n 为 float 型,m 为 int 类型,则以下能实现将 n 中的数值保留小数点后两位,第 三位进行四舍五入运算的表达式是 B 。 A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0 22.以下合法的赋值语句是 A 。 A)x=y=100 ; B)d―― ; C)x+y ; D)c=int(a+b) ; 23.以下选项中不属于 C 语言的类型是 D 。 A)signed short int B)unsigned long int B)unsigned int D)long short 24.设以下变量均为 int 类型,则值不等于 7 的表达式是 C 。 A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1) C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1) 25. 在 16 位 C 编译系统上, 若定义 long a;, 则能给 a 赋 40000 的正确语句是 D 。 A)a=20000+20000; B)a=4000*10; C)30000+10000; D)a=4000L*10L; 二.填空题 1.在 C 语言中 (以 16 位 PC 机为例) , 一个 char 数据在内存中所占字节数为 1 , 其数值范围为 -128~127 ; 2.C 语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为 字母或下划线 。 3.字符常量使用一对 ‘ 界定单个字符, 而字符串常量使用一对 “ 来 界定若干个字符的序列。 4.在 C 语言中, 不同运算符之间运算次序存在 优先顺序 的区别, 同一运算符之 间运算次序存在 结合性 的规则。 5.设 x,i,j,k 都是 int 型变量, 表达式 x=(i=4,j=16,k=32)计算后, x 的值为 32 。 6.设 x=2.5,a=7,y=4.7, 则 x+a%3*(int)(x+y)%2/4 为 2.5 。 7.设 a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y 为 3.5 。 8.数学式子
相关主题