1.1入门
编写程序,编译,加载,运行,输出。
一个c语言程序,无论其大小如何,都是由 函数和变量组成的。
每个程序都必须在某个位置包含一个main函数。
函数之间进行数据交换的一种方法是调用函数向被调用函数提供一个值(成为参数)列表,
用双引号括起来的字符序列成为字符串或字符串常量。
1.2 变量与算术表达式
在C语言中,所有的变量都必须先声明后使用。
声明用于说明变量的属性, 由一个类型名和一个变量表组成。
我们建议每行只书写一条语句,并在运算符两边各加上一个空格字符。
虽然浮点常量取的是整型值,最好还是加上显示的小数点,可以强调其浮点性质。
%3.1f表示浮点数至少占3个字符宽,且小数点后面有1位数字。
1.3 for语句
c语言中的一个通用规则,在允许使用某种类型变量的任何场所,都可以使用该类型的更复杂的表达式。
for语句比较适合初始化和增加步长都是单条语句并且逻辑相关的情形。
1.4 符号常量
在程序中使用300、20之类的“幻数”不是好习惯, 几乎无法向以后阅读该程序的人提供什么信息。
#define指令可以把符号名定义为特定的字符串
#define 名字 替换文本
符号常量名通常用大写字母拼写
注意,#define指令行的末尾没有分号。1.5 字符输入/输出
1.5.1 文件复制
EOF定义在stdio.h文件中,值为-1。
linux通过Ctrl+d,windows 通过Ctrl+z输入EOF 1.5.2 字符计数
while和for语句的优点之一就是在执行循环体之前就对条件进行测试。
1.5.3 行计数 1.5.4 单词计数
nl = nw = nc = 0 等价于 n1 = (nw = (nc = 0)),赋值的次序是从右到左。
运算符&& 代表AND,他仅比|| 高一个优先级。
1.6 数组
数组下标可以是任何整型表达式,包括整型变量以及整型常量。
1.7 函数
我们通常把函数定义中园括号列表中出现的变量称为形式参数,而把函数调用中与形式参数对应的值称为实际参数。
ANSI C同较早版本C语言之间的最大区别在于函数的声明与定义方式的不同。按照C语言最初的定义,
power(base, n)
int base, n;
{
int i, p;
p = 1;
for (i = 1; i <= n; ++i)
p = p * base;
return p;
}
1.8 参数--传值调用
C语言中,所有函数参数都是“通过值”传递的。 传递给被调用函数的参数值存放在临时变量中,而不是存放在
原来的变量中。 被调用函数不能直接修改主调函数中变量的值,而只是修改其私有的临时副本的值。
1.9字符数组
编写程序,编译,加载,运行,输出。
一个c语言程序,无论其大小如何,都是由 函数和变量组成的。
每个程序都必须在某个位置包含一个main函数。
函数之间进行数据交换的一种方法是调用函数向被调用函数提供一个值(成为参数)列表,
用双引号括起来的字符序列成为字符串或字符串常量。
1.2 变量与算术表达式
在C语言中,所有的变量都必须先声明后使用。
声明用于说明变量的属性, 由一个类型名和一个变量表组成。
我们建议每行只书写一条语句,并在运算符两边各加上一个空格字符。
虽然浮点常量取的是整型值,最好还是加上显示的小数点,可以强调其浮点性质。
%3.1f表示浮点数至少占3个字符宽,且小数点后面有1位数字。
1.3 for语句
c语言中的一个通用规则,在允许使用某种类型变量的任何场所,都可以使用该类型的更复杂的表达式。
for语句比较适合初始化和增加步长都是单条语句并且逻辑相关的情形。
1.4 符号常量
在程序中使用300、20之类的“幻数”不是好习惯, 几乎无法向以后阅读该程序的人提供什么信息。
#define指令可以把符号名定义为特定的字符串
#define 名字 替换文本
符号常量名通常用大写字母拼写
注意,#define指令行的末尾没有分号。1.5 字符输入/输出
1.5.1 文件复制
EOF定义在stdio.h文件中,值为-1。
linux通过Ctrl+d,windows 通过Ctrl+z输入EOF 1.5.2 字符计数
while和for语句的优点之一就是在执行循环体之前就对条件进行测试。
1.5.3 行计数 1.5.4 单词计数
nl = nw = nc = 0 等价于 n1 = (nw = (nc = 0)),赋值的次序是从右到左。
运算符&& 代表AND,他仅比|| 高一个优先级。
1.6 数组
数组下标可以是任何整型表达式,包括整型变量以及整型常量。
1.7 函数
我们通常把函数定义中园括号列表中出现的变量称为形式参数,而把函数调用中与形式参数对应的值称为实际参数。
ANSI C同较早版本C语言之间的最大区别在于函数的声明与定义方式的不同。按照C语言最初的定义,
power(base, n)
int base, n;
{
int i, p;
p = 1;
for (i = 1; i <= n; ++i)
p = p * base;
return p;
}
1.8 参数--传值调用
C语言中,所有函数参数都是“通过值”传递的。 传递给被调用函数的参数值存放在临时变量中,而不是存放在
原来的变量中。 被调用函数不能直接修改主调函数中变量的值,而只是修改其私有的临时副本的值。
1.9字符数组