admin 管理员组文章数量: 1086019
2023年12月16日发(作者:shiro框架搭建教程)
第一章 数据类型,运算符与表达式
一.选择题
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)
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.与代数式xy不等价的C语言表达式是 A 。
uvA)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y
14.在C语言中,数字029是一个 D 。
A)八进制数 B)十六进制数 C)十进制数 D)非法数
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)以上三种类型均可
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 3.1456 。
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.数学式子1axax的C语言表达式为 (1.0/2)*( a*x+(a+x)/(4*a) ) 。
24a9.数学式子3ae的C语言表达式为 3*a*e/(b*c) 。
bc10.已知:char a=’a’,b=’b’,c=’c’,i;则表达式i=a+b+c的值为 38(溢出) 。
11.已知int a=12,n=5;则:
表达式
a+=a
a-=2
a*=2+3
24
10
60
表达式运算后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.数学式子x2x3x4x5x6x7的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程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。【 T 】
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的转换公式为:c654325(F32),则float c,F;c=5/9*(F-32)是9其对应的C语言表达式吗?如果不是,为什么?(因为5/9的值为0)
五.程序阅读题
1.写出以下程序运行的结果。
aa bb cc abc
A N
main ( )
{
char c1=’a’,c2=’b’,c3=’c’,c4=’101’,c5=’116’;
printf(“a%c b%ctc%ctabcn”,c1,c2,c3);
printf(“tb%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的值互相交换的表达式。
版权声明:本文标题:C语言数据类型与表达式习题及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1702711078a427694.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论