1.用户标识符只能有字母、数字、下划线组成,但是数字不能开头,不能用关键字作为用户标识符,define case sizeof 均为关键字
2.合法实数:(前有 后整)
实数的指数表示法e后面必须为整数。
实数的指数表示法e前必须有数。
3.char a=‘a’;float b=2.3;double c=41;int d;则执行语句d=a+b+c;后变量d的数据类型为答案是double,因为double的精度在里面是最高的。 Double 16位 flaot 6位
即转换优先级为:char < int < float < double 。
4.\t,相当于按了一下tab键 长度为一
a,字母a 长度为一
\017,表示8进制的ascll码对应的字符 长度为一
b,字母b 长度为一
c,字母c 长度为一
最后还有一个\0,不过字符串长度应该不算在内 字符串"\ta\017bc";的长度(不包括结束符)是 5个
5. 字符串"\“ABC”\" 占了7个字符
\ (斜杠)
" (引号)
A
B
C
"
\
6.
int x = 10, y = 9;
int a, b, c;
a = (–x == y++)? --x: ++y;
b = x++;
c = y;–x //x变为9
–x==y //表达式结果为真,即为1{
{
{
{不是先执行–x y++再进行比较}}}}}
y++ //y变为10
问号之前结果为真,执行–x,x变为8,所以a=8
b等于x++执行之前的值,即b=8,然后x变为9
c等于y,即c=10
- 而%d 表示以十进制形式输出数据 结果为-1;
%o表示以八进制形式输出数据 结果为177777;
%x表示以十六进制形式输出数据 结果为 ffff;
执行语句printf("%o",-1);后屏幕的显示为 C. 177777
8.若有变量定义int a; double b; 要输入数据存放在a和b中,则下面正确的输入数 scanf("%d%lf",&a,&b)
9.反斜杠开头后面跟数字做转义字符时只有两种情况,一是八进制,数字前面要加0,一是十六进制,数字前面要加x,这个4前面没有0, ‘\483’不合法
10. A.’\’ B. ‘’ C. ‘081’ D. ‘\0’ ‘\’(数转义字符)
A是输出‘’
B只用了\不算转义字符
C没用转义字符,错 wrong!!!