C语言程序设计:现代方法2
2017-10-17 09:37
246 查看
6.循环
逗号运算符,优先级最低,从左致右,形如:表达式1,表达式2,…最后一个表达式的值代表整体。
for(int i = 0, j = 0; i <= N; i++) j += i;
不执行任何乘法操作而计算连续的平方值。
odd = 3; odd += 2; suqare += odd;
break只能跳出一层嵌套,可用于switch和循环,而continue只能用于循环。情景如检测是否为无效数据时,且检测过程特别复杂,则用continue则非常适合。
goto对嵌套循环的退出是很有效的。
C程序员习惯性把空语句单独放一行。空语句其实用途较少,比如设置goto的标号时,标号想在一段复合语句的末尾,但标号后必须得跟语句,则可以用空语句。当然空语句不适合阅读,那么建议放个大括号{ }即复合语句即可。
7.基本类型
有符号16位最大值32767(2^15 -1),32位是2147 483 647(2^31-1),对于无符号来说16位65535,32位为4 294 967 295。对于可移植技巧,大家应明确signed或unsigned。与原码、反码不同,数值0的补码只有一个
在以12为模的系统中,凡是减10的运算都可以用加2来代替,这就把减法问题转化 成加法问题了(注:计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法)。10和2对模12而言互为补数。
八进制,十六进制适合于低级编程。有一些编译器会将符合int范围的long int改写成int, 为了防止这种情况可将常量后面加一个L/l,U/u或F/f。
%hd,%ld,%o,%x,%u
读写浮点数时候,double时读scanf中在e,f,g前加l,注意显示printf中不能用小的,long double时,读写都可以L。
转义字符可能比较晦涩,建议大家用宏定义出来。
scanf读入字符时不会跳过空白,所以一般这样scanf(” %c”,&a);这意味着跳过多个或一个空白符。对于字符的读写putchar和getchar,优于scanf和printf,因为专一性及宏实现,并返回读入带的字符。
隐式转换:
1.算术表达式类型不同;2.return返回与函数返回类型;3.函数形参;
4.赋值类型不同。int->unsigned int->long int->un long int;
小心溢出发生在强制转换类型之前。C语言标准中,对有符号溢出结果是未定义的,但无符号是取模运算。
typedef 类型定义可以使阅读更容易理解,另外为了可移植性,大家应该重新定义常用型别。
对于printf操作,%x%o只能正确显示无符号整数,否则会输出很大的数。
三字符序列以??开头,极少使用目的是表示出键盘上没有的字符。
编码 对应的字符
8.数组
对数组长度的定义,较好的方法使用宏定义。如果初始化比数组短,其余都为0。相关文章推荐
- C语言程序设计:现代方法4
- C语言程序设计:现代方法3
- C语言程序设计:现代方法
- 开始读《C语言程序设计----现代方法》
- <setjmp.h>非局部跳转(来自C语言程序设计--现代方法第二版)
- C语言程序设计:现代方法5
- C语言程序设计现代方法P198
- 关于C语言程序设计:现代方法(第2版)的读后感
- C语言程序设计:现代方法 中文高清PDF版下载
- C语言程序设计现代方法---第六章:循环
- C语言程序设计现代方法 第九章练习题P214
- C语言程序设计:现代方法
- C语言程序设计—现代方法之Chapter 3 格式化输入输出(一)
- C语言程序设计:现代方法6
- c语言程序设计:现代方法-
- 概论-组合最优化问题、计算复杂性和启发式算法概念(现代优化计算方法)
- 人工智能-一种现代的方法 全文总览
- [C语言程序设计_现代方法(第2版)] 第二章 C语言基本概念
- 《人工智能——一种现代方法》(第二版)【第1章 绪论】小结
- 读书笔记:C语言程序设计_现代方法