C语言程序设计题目及解答–02
一、判断题?(20分)
1. C语言中的任何类型数据都可进行四则运算。2分
2. 对整型常量可进行自加或自减运算,而对变量或表达式不可以。2分
3. 算术运算符和赋值运算符的结合方向均有左自右。2分
4. 在进行逻辑运算时,非0整型值表示“真”。2分
5. x*=y+8 等价于 x=x*(y+8)。2分
6. C语言中"%"运算符的运算对象必须是整型.2分
7. 在进行赋值转换时,变量的类型被自动转换为赋值号右边的表达式值的类型。2分
8. 表达式1/4+2.75的值是3。2分
9. 字符型数据和整数之间是不可以通用的。2分
10. 若有int =10, j=0;则执行完语句if (j=0)+ +; else ⅰ- -; ⅰ的值为11。2分
二、选择题?(20分)
1.在C语言中,运算对象必须是整型数的运算符是( )。???[A] 2分
A. %?????B. /?????C. %和/?????D. =
2.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )。???[B] 2分
A. a:=b+1?????B. a=b=c+2?????C. int 18.5%3?????D. a=a+7=c+b
3.设x和y均为int型变量,则语句“x+=y;y=x–y;x– =y;”的功能是( )。???[D] 2分
A. 把x和y按从小到大排列?????B. 把x和y按从大到小排列?????C. 无确定结果?????D. 交换x和y中的值
4.有定义int a=9;,语句“a+=a– =a+a;”执行后,变量的值是( )。???[C] 2分
A. 18?????B. 9?????C. -18?????D. -9
5.设int x=3,y=4,z=5;,下列表达式中值为0的是( )。???[D] 2分
A. 'x'&&'y'?????B. x<=y?????C. x||y+z&&y–z?????D. !((x
6.设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x++y&&++z;,则执行这个语句后t的值为( )。???[B] 2分
A. 2?????B. 1?????C. 0?????D. 不定值
7.以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是( )。???[A] 2分
A. x/y*z?????B. x*(1/(y*z))?????C. x/y*1/z?????D. x/y/z
8.设有整型变量x,下列说法中,错误的是( )。???[A] 2分
A. “5.0”不是表达式?????B. “x”是表达式?????C. “!x”是表达式?????D. “sqrt(x)”是表达式
9.判断char型变量c为数字字符的正确表达式为( )。???[B] 2分
A. '0'<=c<='9'?????B. '0'<=c&&c<='9'?????C. c>='0'||c<='9'?????D. c>=0&&c<=9
10.设int a=2;,表达式“a%2!=0”的值为???[B] 2分
A. 1?????B. 0?????C. 假?????D. 真
三、程序填空题?(20分)
#include
int main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y){__(1)__}
if(x>z){__(2)__}
if(y>z){__(3)__}
printf("small to big: %d %d %d\n",x,y,z);
}
(1)答案 4分 t=x;x=y;y=t;
(2)答案 3分 t=z;z=x;x=t;
(3)答案 3分 t=y;y=z;z=t;
2、功能:将两个数对调。不用第三个变量,实现两个数的对调操作。
#include
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("a=%d,b=%d\n",a,b);
a= a+b ;
b= __(1)__;
a= __(2)__;
printf("a=%d,b=%d\n",a,b);
retu