C语言错题集1:运算符和表达式
Posted 歌咏^0^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言错题集1:运算符和表达式相关的知识,希望对你有一定的参考价值。
一、单项选择题
1、下列表达式中,正确的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
答案:A,B错误,赋值号左边不能有明确值;D是逗号表达式
2、以下程序语句运行结果为_____;
int a;
printf("a = %d\\n",a);
A、编译错误 B、1024 C、NULL D、不正确值
答案:D
二、填空题
1、C语言中的逻辑值“真”是用____表示的,逻辑值“假”是用_____表示的。
答案:非零,零
2、C语言中有符号数据类型(signed)和无符号数据类型(unsigned)的本质区别为____;
答案:signed:最高位为符号位
unsigned:都是数据位
3、设float x=2.5,y=4.7;int a =7; , 表达式x+a%3*(int)(x+y)%2/4的值为_____;
答案:表达式==2.5+7%3*(int)(2.5+4.7)%2/4==2.5+1*7%2/4==2.5+0==2.5,,强制转换符的优先级大于算数运算符
===========================================
4、在C语言中,如下程序输出结果为
char a=250;
unsigned char d;
char f;
d = c + 249;
f = c + 249;
printf("d = %d\\n",d);____________
printf("d = %u\\n",d);____________
printf("f = %d\\n",f);_____________
printf("f = %u\\n",f);_____________
答案:c:2^8 - 250 = 6 ---> c == -6
无符号d== -6 + 249 == 243
有符号f=243 ----> 2^8 - 243 ==3 ----> f = -13
=============================================
5、以下程序输出结果为______
#include
int main()
{
int a;
a = (int)(double)(3/2)+0.5+(int)1.99*2;
printf("%d\\n",a);
}
答案:表达式==1+0.5+1*2==3.5,printf要求整形输出,打印出来的结果为3,,强制转换符的优先级大于算数运算符
===============================================
6、有以下程序(说明:字符0的ASCII码值为48)
#include <stdio.h>
int main()
{
char c1,c2;
scanf("%d",&c1);
c2=c1+9;
printf("%c%c\\n",c1,c2);
}
若程序运行时从键盘输入48<回车>,责输出结果为_____
答案:printf()函数在屏幕中打印出来的结果为:0 9,屏幕上字符不显示引号
以上是关于C语言错题集1:运算符和表达式的主要内容,如果未能解决你的问题,请参考以下文章