码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 基础 (5)

时间:2019-01-02 01:26:26      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:区别   解决   执行   最小   image   下划线   getc   输出   而不是   

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_比较和逻辑运算符

 

C++ 基础 (5)

标签:区别   解决   执行   最小   image   下划线   getc   输出   而不是   

原文地址:https://www.cnblogs.com/eret9616/p/10206602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!