又是c语言基础问题,大家进!!天啊!~要怎样我才不会做错啊??

来源:百度知道 编辑:UC知道 时间:2024/06/06 12:18:14
一,以下选项中,值为1的表达式是()
A.1-'0'
B.1-'\0'
C.'1'-0
D.'\0'-'0'

二,已定义ch为字符型变量,以下赋值语句中错误的是()
A.ch='\';
B.ch=62+3;
C.ch=NULL;
D.ch='\xaa';

各位老师来指导指导这类题目应注意一些什么地方,然后相关的定义又是怎样定义的??
本人基础不好,经常错在这类题目上,帮帮忙啊,针对题目讲得全面我会加分感谢啊!~
注意回答的大哥们先写出答案!~谢谢!~

1.B '\0'的值是0,‘1’的值是49,‘0’的值是48,知道这个就可以
2.A char可以和int互相转化,NULL就是0,BC对,D是用16进制ASCII转义的字符,要转义单引号应该是'\'',要转义斜杠是'\\'

PS D即使溢出也是有值的

1、B
2、A

这些题目是C语言中特有的。
就是因为C语言中char和int可以隐式转换,所以出现了char和int相互赋值以及混合运算的问题。
这就需要做题者对于一些常见的字符的ASCII码值,有所记忆。
如:'A','Z','a',z','0','9','\r','\t','\0','\n'等。

另外就是转义字符的问题,在C中字符‘\’有特殊的意义,所以不能单独作为一个字符,要给字符赋值\,就要用'\\'.

'\0'的ASCII码值为0 1-'\0'就等于1 选B
===================================
选D
a中ch为\
b中ch为a
c相当于空
d ASCII码值为170 溢出拉 呵呵
==================================

第一题B
'/0'的ASCII码为空
第二题选c
不能直接将字符串付给字符变量况且他也没加双引号
正确格式是ch='/null'

B D
这种题目最好经常上机调试,这样的话印象比较深刻~

A A