第二章
注释
/*
*/
字符串
双引号+一串字符=字符串
:表示转移运算符(将其原来的意思转变为其他的
使用\r\n作为换行符
常量
字符常量
可以是单字符,也可以是转义序列,用‘ ’, ~~ 可以理解为转义字符为单字符
~~
比如:‘ }’ ‘ a ’ ‘ \n’
转义序列:就只相当于一个字符 他本身是两个字符。但是在编译后的可执行文件中被替换为一个换行符。
** 和字符串字面值中使用转义序列有一点区别,如果在字符常量中要表示双引号"和问号?,既可以使用转义序列"和?,也可以直接用字符"和?,而要表示’和\则必须使用转义序列**
' \\ ' 表示\
' \''表示 '
占位符:
即转换说明,即%c%d%f之类的
总结:
对于打印的字符串"character: %c\ninteger: %d\nfloating point: %f\n"
\n,在编译后的可执行文件中被替换为一个换行符。而其他的在可执行文件中是原来的样子,%c之类的是不变的,再执行可执行文件中的printf函数时候,%c才被解释为占位符,解释为它的转换说明。
习题
打印%
%c之类的类似于转移序列的作用,而打印\则需要\
类比可得printf("%%");
变量
确确定定所以定义需要空间
标识符
自己命名的名字。
赋值
比如函数调用print是吧从这里储存的空间中的值取出来,替换在他出现的地方。
表达式
常量和变量都可以参与加减乘除运算,例如1+1、hour-1、hour*·
60 + minute、minute/60等。
这里的± * /称为运算符(Operator),而参与运算的变量和常量称为操作数(Operand),上面四个由运算符和操作数所组成的算式称为表达式(Expression)。
左值一定是存储空间
(a=b)=c
错误的
m+1=n
除法
59/60=0.没有四舍五入这一说法。直接砍掉小数部分。
59%60,直接取小数部分
类型转化:14.3
字符类型和字符编码
空白字符
空格,水平tab,垂直tab,换行\n\r,分页符,\f
'\0’的ASCLL码为0,因为‘\0’表示NUL
‘0’的ASCLL码为48.
就是这个字符所对应的码用来储存。
比如char a=’#’,一定是将那个值存放在a所申请的空间里面