0%

day3

C primer plus

p51

there are some differences between C and python
for example “ and ‘

something in “ “ is strings.

如果要把一个字符常量初始化为字母 A,不必背下 ASCII 码,用计算机语言很容易做到。通过以下初始化把字母A赋给grade即可:
char grade = ‘A’;
在C语言中,用单引号括起来的单个字符被称为字符常量(character constant)。编译器一发现’A’,就会将其转换成相应的代码值。单引号必不可少。下面还有一些其他的例子:
char broiled; /* 声明一个char类型的变量 /
broiled = ‘T’; /
为其赋值,正确 /
broiled = T; /
错误!此时T是一个变量 /
broiled = “T”; /
错误!此时”T”是一个字符串 /
如上所示,如果省略单引号,编译器认为T是一个变量名;如果把T用双引号括起来,编译器则认为”T”是一个字符串。字符串的内容将在第4章中介绍。
char grade = 65; /
对于ASCII,这样做没问题,但这是一种不好的编程风格 */在本例中,虽然65是int类型,但是它在char类型能表示的范围内,所以将其赋值给grade没问题。由于65是字母A对应的ASCII码,因此本例是把A赋给grade。注意,能这样做的前提是系统使用ASCII码。其实,用’A’代替65才是较为妥当的做法,这样在任何系统中都不会出问题。因此,最好使用字符常量,而不是数字代码值。

本来’B’对应的数值66储存在32位的存储单元中,现在却可以储存在8位的存储单元中(grade)。利用字符常量的这种特性,可以定义一个字符常量’FATE’,即把4个独立的8位ASCII码储存在一个32位存储单元中。如果把这样的字符常量赋给char类型变量grade,只有最后8位有效。因此,grade的值是’E’。

website

update // friends ,about,the icon of tag and the heart icon

------------- The end -------------

Welcome to my other publishing channels