C程序设计语言 笔记
2017-09-29 09:10
113 查看
第二章 类型符号表达式:
2.9
按位与 & 可用于屏蔽某些二进制位 如:n &= 0177
按位或 | 可以将某些位置1
如:n |= 011
按位取反 可以用于如将后六位置0 : n &= ~077;这样的用法比 n &= 0177700这样的表达式好很多,前者可移植性强。
左移右移的右值不能为负;
return(x>>(p+1-n)) & ~(~0<<n); 返回X中右起p位开始向右的n位数;
2.10
x *= y+1 等价于 x = x * (y+1);
将变量声明为无符号型可以保证右移的时候不论在什么机器上运行都能用0来填补而不是符号位;
2.11
a?b:c //首先计算a,如果不为0 则计算b并以该值作为条件表达式的值,否则计算c以其为表达式的值。
Z = (a>b) ? a:b // z = max (a,b)
示例: 每行打印10个元素,每列间用一个空格隔开,每行用一个换行符
for(i = 0;i<n;i++)
printf("%6d%c" , a[i] ,(i%10 == 9 || i == n-1) ? '\n' : ' ');
2.12
printf("%d %d\n",++n,power(2,n)) // 不同编译器可能有不同的结果
a[i] = i++; //也是取决于编译器的解释,C语言标准并未对这类问题 作具体规定;
如果代码的执行结果与求值顺序相关,则是不好的程序设计风格;
2.9
按位与 & 可用于屏蔽某些二进制位 如:n &= 0177
按位或 | 可以将某些位置1
如:n |= 011
按位取反 可以用于如将后六位置0 : n &= ~077;这样的用法比 n &= 0177700这样的表达式好很多,前者可移植性强。
左移右移的右值不能为负;
return(x>>(p+1-n)) & ~(~0<<n); 返回X中右起p位开始向右的n位数;
2.10
x *= y+1 等价于 x = x * (y+1);
将变量声明为无符号型可以保证右移的时候不论在什么机器上运行都能用0来填补而不是符号位;
2.11
a?b:c //首先计算a,如果不为0 则计算b并以该值作为条件表达式的值,否则计算c以其为表达式的值。
Z = (a>b) ? a:b // z = max (a,b)
示例: 每行打印10个元素,每列间用一个空格隔开,每行用一个换行符
for(i = 0;i<n;i++)
printf("%6d%c" , a[i] ,(i%10 == 9 || i == n-1) ? '\n' : ' ');
2.12
printf("%d %d\n",++n,power(2,n)) // 不同编译器可能有不同的结果
a[i] = i++; //也是取决于编译器的解释,C语言标准并未对这类问题 作具体规定;
如果代码的执行结果与求值顺序相关,则是不好的程序设计风格;
相关文章推荐
- C程序设计语言(K&R)学习笔记--9.输入输出
- C程序设计语言(K&R)笔记
- 【C程序设计语言】第一章 - 笔记
- C程序设计语言(K&R)第七章学习笔记
- C程序设计语言(K&R)学习笔记--8.结构体
- C++程序设计语言特别版 学习笔记(0)
- python 程序设计语言 笔记(三)
- C程序设计语言(K&R)学习笔记--4.const小结
- C程序设计语言笔记1
- C++程序设计语言学习笔记(一)
- C程序设计语言学习笔记
- C_PlusPlus学习笔记 - 3_类与对象 (C++语言程序设计【第三版】 郑莉等,清华大学出版社)
- C程序设计语言(K&R)第六章学习笔记
- C_PlusPlus学习笔记 - 4_C++程序结构 (C++语言程序设计【第三版】 郑莉等,清华大学出版社)
- C++语言程序设计笔记(3)
- C程序设计语言整理笔记(五)指针与数组
- [C语言程序设计]学习笔记总体规划
- C程序设计语言(K&R)笔记
- c程序设计语言阅读笔记(二)字符指针和字符数组
- C程序设计语言 chapter 1.1-1.9 阅读笔记