第一章 程序设计和C语言
-
计算机语言:机器语言、汇编语言、高级语言
-
最简单的C语言程序:头文件、主函数、返回值
预处理 :表符号 # 表示
数据声明
函数:C语言的基本模块
-
一个C语言源程序可以由一个或者多个函数组成,有且只有1个main()函数,可以放在程序中的任何位置;
-
函数的定义是平行的,不能嵌套定义,但可以进行嵌套调用;
-
一个C程序不论有几个函数,都是main()函数开始执行的;
-
C源程序文件的扩展名为 ".c"
-
-
C语言程序的完成实现过程包括4个基本步骤:
-
编辑,形成源文件 ( .c 文件)
-
编译,形成目标文件( .obj 文件)
-
链接,形成可执行文件( . exe 文件)
-
运行
-
-
标识符
按照C语言所定义的规则来命名的符号,用作变量名、数组名、函数名等
规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线
C语言中有32个关键字
第二章 算法
-
算法 + 数据结构 = 程序
-
算法是程序设计的核心,关键、灵魂
-
算法的表示:自然语言、流程图、伪代码
-
结构化程序设计的三种基本结构:顺序结构、选择结构、循环结构
第三章 顺序结构程序设计
1. 数据类型
C语言中,整型、实型、字符型实最基本的数据类型
此外,还有构造类型,如数组、结构体、共用体、联合体等
2. 常量
-
整型常量
-
实型常量
-
字符常量
-
字符串常量
-
符号常量
3. 变量
指在程序运行当中,他的值可以改变的,表示存储数据的空间,需要先定义
int a = 0;
float b = 0;
char c = ' 0 ';
4. 算术运算符
+ - * / % 自增 自减
三目运算符
5. 强制类型转化
可以利用强制类型转换运算符讲一个表达式转换成所需类型。例如:
(double)a; //将a转换成double型
(int)(x + y); //将x+y的值转换成int型
(float)(5 % 3); //将5%3的值转化成float型
其一般形式为:(数据类型)(表达式)
6. 数据的输入输出
重点:输入输出格式控制
-
printf 数据输出
格式:printf("格式符", 输出1,输出2 .....);
格式符 功能 %d 输出十进制整数 %c 输出字符 %f 输出实型浮点数 %s 输出字符串
-
scanf 数据输入
格式:scanf("格式符", 地址表列)
第四章 选择结构程序设计
1. if的一般形式
//单分支选择结构
if(表示式)
语句1;
//多分支选择结构
if(表示式)
语句1;
else
语句2;
//多分支选择结构
if(表示式1)
语句1;
else if (表示式2)
语句2;
else if (表达式3)
语句3;
....
else
语句n;
2. 关系运算符
> 、 < 、 >= 、 <=、 == 、!=
关系运算符的结果为真的,用1表示;结果为假,用0表示
3. 逻辑运算符
&& (逻辑与)、||(逻辑或)、 !(逻辑非)
优先级: !> && > ||
4.if的循环嵌套
5. switch语句
switch(常量表达式)
{
case 常量1: 语句1; break;
case 常量2: 语句2; break;
.....
default: 语句n;
}
循环结构程序设计
1. while 循环
while(条件表达式)
循环体
2. do while 循环
do
循环体
while(条件表达式)
3. for 循环
for(表达式1;表达式2;表达式3)
循环体
4. break语句
break 语句可以用在switch语句中,用于结束某分支的执行;还可以用在循环语句中,用于提前结束循环
5. continue 语句
用在循环体中用来跳过本次循环余下在语句,结束本次循环,开始下一次循环
第六章 利用数组处理批量数据
1. 数组的定义
数组是包含多项相同类型数据的一种数据结构,使用同一个名字来命名,用下标进行分量标识,数据元素下标是从0开始的,数组长度为n的时候,最后一个元素的下标n-1。
2. 定义一维数组
格式: 数据类型 数组名[数组长度]
注意:数组长度用整型常量表示,也可以用代表一个正整数的符号常量来表示
3. 一维数组的初始化
-
用一对大括号将数组的初值括起来
-
使用循环,键盘输入初值
4. 字符数组
字符串用字符数组存放。每元素存放一个字符。
字符串:用双引号将一串字符括起来成为字符串。
C语言中,利用一维数组来存放字符串,并且以空零作为结束标志。
空零就是'\0',也是0。占用空间但不计入串的实际长度。
5. 字符串常用函数
-
字符串拷贝函数
strcpy(s1, s2) //表示将s2复制到s1中
-
字符串连接函数
strcat(s1, s2) //表示将s2连接到s1后面形成一个新的字符串
-
字符串长度函数
strlen(s1) //计算出s的实际长度但是不包括'\0'
-
字符串比较函数
strcmp(s1, s2) /* 若s1 > s2,函数返回值大于0 ** 若s1 = s2,函数返回值等于0 ** 若s1 < s2, 函数返回值小于0 */
6. 定义二维数组
格式: 数据类型 数组名[一维上界] [二维上界]
二维数组的初始化
-
用嵌套的大括号将数组初值括起来
-
利用双重循环,利用键盘输出赋初值
注意:定义并初始化二维数组时,数组的列数不能省略
需要掌握的是:二维数组输入输出,如下
int a[M][N] = { 0 }; //定义一个二维数组
int i = 0, j = 0; //定义两个循环变量
//二维数组的输入
for( i = 0; i < M; i++)
{
for( j = 0; j < N; j++)
{
scanf("%d", &a[i][j]);
}
}
//二维数组的输出
for( i = 0; i < M; i++)
{
for( j = 0; j < N; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}