C语言基础 (5) 常用操作符

01 课程回顾

变量的起名:字母数字下划线 不能是关键字

常量

 

变量提升:老的编译器这样会报错

 

运算符:sizeof、+、-、x … …

 

进制:

1111

8421

 

计算机几乎都是二进制系统,而且是以补码形式存储

 

八进制一位对应二进制三位

十六进制一位对应二进制四位

 

rwx可读可写可执行  这个权限其实是八进制

000  (十进制中的0)

111  (十进制中的7)

 

 

计算机存储的最小单位为1字节

1个字节=8位

1k=1024字节

1m=1024k

1g=1024m

 

B与b:byte和bit

 

原码反码补码:

 

 

再举个正数的例子:

 

0x9… 即1001  但是unsigned说明是一个无符号数

如果以%d来处理,就是以有符号来处理的

%u表示以无符号处理

 

char类型的范围:

 

 

无符号数:

 

 

char的本质就是1个字节大小的整型

(小写转大写-32 大写转小写+32 八进制(\后面三个数字)、十六进制转义字符(\x后面两个数字))

 

\0和数字0等价

man ascii:

 

 

三、输出的使用:

 

 

打印% 要写两个%%(转义)

 

putchar:

四、输入的使用

整形的输入:

 

 

字符的输入:

 

(看一下打印出的ascII码是多少:

 

man ascii

发现数字10是回车键

 

为什么会发生这样的情况呢?

 

三个的时候就没事了,

 

因为第一次输入完结束的时候 \n也读到缓冲区里面了

到第二个char b 的时候 直接把缓冲区里的\n给读走了

 

怎么解决呢?

 

就别print了

 

 

·用char b 吃掉\n

 

·或者可以使用getchar()吃掉

 

有输入getchar,对应其实还有一个输出putchar

 

五、单引号输出问题

 

六、两数相除得小数说明

 

 

 

 

(1/2也骚操作了 变成00000 而不是0.5)

// 两个数相除,要想得到小数,分子分母必须有一个是小数,否则结果只会取整

这样也行:

 

07前置和后置区别

 

a++ 先用后加

++a 先加后用

结果是 a为2 b为2

 

 

08_比较和逻辑运算符

 

posted @ 2019-01-01 23:29  hh9515  阅读(239)  评论(0编辑  收藏  举报