C Primer Plus(第6版)的笔记

P47

printf()函数输出八进制或十六进制,在输出前显示0和0x的操作

void main(void)
{
	int temp = 100;
	printf("10:%d  8:%o  16:%x\n", temp, temp, temp);
	printf("10:%d  8:%#o  16:%#x\n", temp, temp, temp);/*加 # 可使得输出进制前加上说明*/
	system("pause");
}
/*输出
10:100  8:144  16:64
10:100  8:0144  16:0x64
*/
P48

整数的溢出,其实结果很简单,若是有符号则从负的最小重新开始,若是无符号,则从0开始,不过一句话还是挺耐人寻味
“溢出行为是未定义的行为,C标准并未定义有符号类型的溢出规则,所以以上描述的溢出行为比较有代表性,但是也可能出现其他情况

P52

这里介绍一个有趣的转义字符 \a 它可以进行蜂鸣器报警

void main(void)
{
	char temp = '\a';
	printf("%c" , temp);
	system("pause");
}
/*运行这段代码后,可以听到一声蜂鸣器........原来还是这样的操作*/
P65

转义字符 \r \n \r\n这几项,\r意味着将光标转到开始,\n意味着将光标换行,那么问题来了,\r\n应该是先将光标转到开始,然后再换行,我们用word的时候会有这个印象,在段落的最前面按下回车的话,是在当前行的上面新建一个行,但是在这里并不是这样,\r 意味着一个回车

P71-101

printf() 和scanf()的一些高级的用法

P111

二元运算符+ - * / 在执行结合律是是从左往右 而= 号是从右往左

P114

求模运算符 % 只能用于整数,不能用于浮点数

P115

负数求模如何运算?
如果第一个运算符是负数,则求模的结果为负数,如果第一个运算符为正数,则求模结果为正。
11/5 得 2 , 11%5 得 1
11/-5 得 -2 , 11%-5 得 1(书上这里写的是11%-2,给人感觉像是不小心写错了,但是并没有什么影响)
-11/-5 得 2 , -11%5 得 -1
-11/5 得 -2 , -11%5 得 -1

计算机内求模(a%b)的表达式: a - (a/b) * b

P119

递增和递减运算符的一些小细节
若有这样的语句:
n = 3;
y = n++ + n++;
结果y的值存在多种可能,因为编译器可以自己选择先对哪个参数求值,所以可能y = 3+3 或y = 3+4。
所以,一个表达式中不对出现多次的变量使用递增和递减。(虽然也没有这么做过,但是这些细节以前没有去想过)

P122

这里提到C语言的副作用和序列点的概念,是第一次了解到

P143

利用循环和scanf来跳过输入的内容(比如说跳过输入到达第一个既不是空白也不是数字的位置)的一种方法

while(scanf("%d",&num) == 1)
{
	;	/*注意这个*/
}
P144

关系运算符可以用来比较浮点数,但是注意,在比较浮点数时,尽量只使用<和>,因为浮点数的舍入误差会导致在逻辑上应该相等的两个数不相等,比如:
3乘以1/3的积是1.0,但是如果把1/3用小数点表示后6位,则是0.999999,不等于1;
另外,比较浮点数可以使用fabs()函数,在头文件<math.h>中

P145

在C中,一般而言,所有非0值都视为真,只有0被视为假,“真”的概念很宽

P147

如果scanf()读取指定形式的输入失败,就把无法读取的输入留在输入队列中,供下次读取

P154

for循环可以有这样的写法:

for(printf("do you know that?\n");num!=6;)
{

}
P156

C语言中的逗号表达式运用

p164

一个要注意的潜在陷阱,也是很多内存出错问题的来源,考虑到执行的速度,C编译器不会去检查数组的下标是否正确

P182

字符的判断,可以使用<ctype.h>系列函数,比如是否是数字,是否是字母,是否是大写等等。可参考P182-183

P191

帮助记忆 | |和 &&的区别,书中给了很方便记忆的一条公式
(练习&&时间 == 完美)

P192

求值顺序,这里将再次讲到序列点的知识。感觉最好还是不要再一个表达式中对对此出现的变量执行++或–保险一点

p209

C语言不建议使用goto语句,但是goto一个可能出现的地方就是,goto可以从一组嵌套循环中跳出,而break只能跳出当前循环

在这里插入图片描述在这里插入图片描述

发布了46 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42718004/article/details/100662627