C语言程序设计前五章总结
2021-12-16 11:46:19 7 举报
AI智能生成
C语言入门前五章超详细思维导图,包含很多小的、细的知识点,入门必备。
作者其他创作
大纲/内容
第一章 程序设计与C语言
1.2 程序与程序设计语言
1.2.1 程序设计语言的发展
1946年第一台电子计算机问世
1.<font color="#ff0000">机械语言 </font>
第一代计算机语言
0和1组成的二进制指令代码。机器指令的集合(即指令系统)就是该计算机的机器语言。
2.<font color="#ff0000">汇编语言 </font>
用助记符来代替机器指令的二进制串
3.<font color="#ff0000">高级语言 </font>
接近于数学语言或人的自然语言,不依赖于计算机硬件
(1)<font color="#0000ff">非结构化的语言 </font>
早期追求效率:FORTRAN、ALGOL、BASIC
(2)<font color="#0000ff">结构化语言 </font>
良好的基本结构:QBASIC、Pascal、<font color="#00ff00">C语言 </font>
(3)<font color="#0000ff">面向对象的语言 </font>
流水式:C++、C#、Visual Basic、JAVA
1.2.2 程序设计语言的功能
1.<font color="#ff0000">数据表达</font>(即定义变量)
数据类型就是对某些具有相同性质的数据集的总称
2.<font color="#ff0000">流程控制</font>(数据处理)
(1)顺序控制结构
(2)分支控制结构
(3)循环控制结构
<font color="#ff0000">共同特点 </font>
只有单一的入口和单一的出口
结构中的每个部分都有被执行的可能
结构内不应出现永不终止的死循环
1.2.3 程序的算法表示
软件的主体是程序,程序的核心是算法
算法特点
(1)确定性
(2)有穷性
(3)可行性
(4)有零个或多个输入
(5)有一个或多个输出
1.用文字描述算法
2.用流程图描述算法
顺序结构
选择结构
循环结构
3.伪代码表示
4.程序设计语言表示
程序<font color="#0000ff">特点 </font>
完成某一特定的任务
使用某种程序设计语言描述如何完成该任务
储存在计算机中,并且被运行后才能起作用
1.3 C语言程序设计的特点
1.3.1 C语言的发展历史
C语言是1972年由美国贝尔实验室的Dennis Ritchie设计
1.3.2 C语言的<font color="#ff0000">特点 </font>
语句简洁紧凑,使用方便灵活
9种控制语句
运算符丰富,表达能力强
C语言程序可移植性好
生成的目标代码质量高、运行效率高
语言处理能力强
C语言是一种结构化语言
<font color="#0000ff">不足 </font>
语法检查不严格
对数组下标越界不检查,导致程序出错
1.3.3 C语言的约定
一般将程序设计语言的规范称为语法
1.C语言中的约定
标识符
<font color="#ff0000">第一个字符必须是字母或下划线</font>
关键字
C语言中共有32个关键字
用户自定义标识符
预定义标识符
分隔符
逗号
类型说明和函数参数表中,分隔各个变量
空格
用于个单词之间作间隔符
2.C语言的语法成分
常量
变量
运算符
C语言提供了34种运算符
表达式
<font color="#ff0000">算术运算优先于关系运算</font>
语句
<font color="#0000ff">以分号结尾</font>
函数定义与调用
<font color="#0000ff">函数是完成特定功能的小模块</font>
输入与输出
1.4 C程序的编辑、编译、链接和运行
1.4.1 程序设计的任务
分析问题
设计算法
程序设计
运行并调试程序
分析程序运行结果
编写程序文档
1.4.2 运行C程序的<font color="#ff0000">步骤与方法 </font>
编辑源程序
对源程序进行编译
链接(库函数)
运行(目标程序)
第二章 数据类型、运算符和表达式
2.1引例
注释可以出现在程序中合适的地方,但必须成对出现
2.2 C语言的<font color="#ff0000">数据类型 </font>
基本类型
整形
字符型
实型(浮点型)
构造类型
数组类型
结构体类型
共用体类型
枚举类型
指针类型
空类型
2.3 C语言的常量
2.3.1 直接常量
1.整型常量
即整数,包括正整数、负整数、零
十进制表示:数字0~9,正、负号;
<font color="#ff0000">八进制</font>表示:以0为前缀,其后由数字0~7组成;一般无符号
<font color="#ff0000">十六进制</font>表示:<font color="#0000ff">以0x、0X为前缀</font>,其后由数字0~9和A~F组成;一般无符号
后加u、U认为是unsigned int;后加l、L认为是long int;
2.实型常量
实数又称为浮点数,C语言中,<font color="#0000ff">实数只能用十进制形式表示 </font>
小数形式:整数或小数为零时可以省略,但小数点不可以
指数形式:格式+-尾数E指数
E或e前后必须有数字,并且指数部分只能是整数
3.字符型常量
特点:
只能用单引号括起来,不能用双引号或其他
是单个字符,不能是字符串
可以是ASCII字符集中的任意字符,只占一个字符
<font color="#0000ff">\数字 表示八进制;\x数字 表示十六进制 </font>
\0放入函数,直接结束
4.字符串常量(双引号)
2.3.2 符号常量(用标识符表示常)
形式:#define 标识符 常量值
<font color="#ff0000">好处</font>:
增加程序的可读性
提高程序的可维护性
简化程序代码
方便数组定义
2.4 C语言的变量
2.4.1 变量的定义与使用
1.变量的定义
2.变量的初始化
3.变量的使用
2.4.2 整型变量
说明:
有符号整数以二进制<font color="#0000ff">补码</font>形式存储
无符号整数以二进制<font color="#0000ff">原码</font>形式存储
2.4.3 实型变量
单精度型数据能保留7位有效数字,双精度型数据能保留16位有效数字
双精度只保留6位小数,其余部分四舍五入
2.4.4 字符型变量
2.5 运算符和表达式
2.5.1 赋值运算符和赋值表达式
1.简单赋值运算符(”=“)
2.复合赋值运算符
3.赋值表达式
赋值语句属于表达式语句
<font color="#0000ff">赋值运算符左侧必须是一个变量 </font>
赋值表达式的末尾没有分号,而赋值语句的末尾必须有分号
2.5.2 算数运算符和算术表达式
1.基本的算术运算符
如果a和b中有一个是实型,则a和b都转换为double类型
2.自增、自减运算符
前缀方式:先计算,后使用
后缀方式:先使用,后计算
注意:
两个单目运算符不能出现在同一个式子中。
<font color="#ff0000">先单目,后双目</font>
3.算术运算符的优先级和结合性
<font color="#0000ff">单目右结合,双目左结合 </font>
4.算术表达式
2.5.3 逗号运算符和逗号表达式
执行顺序:从左到右依次计算每个表达式的值,并把最后一个表达式的值作为整个逗号表达式的值
2.5.4求字节数运算符(单目)
2.6 数据类型转换
2.6.1<font color="#ff0000">自动类型转换 </font>
把占用内存空间少的(低级)类型向占用空间多的(高级)类型转换
2.6.2<font color="#ff0000">强制类型转换 </font>
(类型说明符)(表达式)
注意:
需强制类型转换中的<font color="#0000ff">表达式</font>一定要括起来,否则只对紧随括号后的量进行类型转换
由高到低,会损失数据的精度
<font color="#0000ff">并不改变表达式中变量的类型和值 </font>
第三章 顺序结构程序设计
3.2 C语言的语句
1.说明语句
2.表达式语句
3.分支语句
4.循环语句
5.转向语句
6.复合语句
7.空语句
8.函数定义与调用
9.输入和输出
3.3 数据的输入和输出
C语言本身<font color="#0000ff">没有提供输入输出语句</font>,所有的数据输入输出功能都是由系统提供的<font color="#ff0000">库函数 </font>
3.3.1 输出函数(printf())和输入函数(scanf())
1.printf()函数
(1)格式控制说明
(2)普通字符
2.scanf()函数
(1)格式控制说明
(2)普通字符
3.3.2 整形数据的输入和输出
3.3.3 实型数据的输入和输出
3.3.4 字符型数据的输入和输出
1.使用scanf()函数和printf()函数对字符型数据进行输入输出
2.使用getchar()函数和putchar()函数对字符型数据进行输入输出
(1)getchar()函数
(2) putchar()函数
3.4 <font color="#ff0000">数学库函数 </font>
exp(x)即e的x次方
fabs(x)绝对值
以e为底的对数函数log(x)
幂函数pow(x,y)
平方根函数sqrt(x)
第四章 分支结构程序设计
4.2 关系运算符、逻辑运算符、条件运算符
4.2.1 关系运算符和关系表达式
1.关系运算符
注意:1.关系运算符都是<font color="#0000ff">双目运算符</font>,其结合方向是<font color="#0000ff">左结合 </font>
2.<font color="#ff0000">关系运算符的优先级低于算术运算符,但高于赋值运算符 </font>
3.关系运算符中,>,<,>=,<=的优先级相同,==,!=的优先级相同,前者的优先级高于后者
2.关系表达式
4.2.2 逻辑运算符和逻辑表达式
1.<font color="#ff0000">逻辑运算符 </font>
‘!’ 逻辑非 右结合 单目 高
‘&&’ 逻辑与 左结合 双目 |
‘||’ 逻辑或 左结合 双目 低
2.逻辑表达式
说明:可以是任何类型的数据,最终都是以非0和0来判断
a&&(b=0)正确
当计算出一个值表达式的值,确定了整个逻辑表达式的值,此后就<font color="#0000ff">不再计算右边表达式的值</font>,这种情况叫做“短路”
只有当“&&”左边的表达式值为真时才计算右边表达式的值
只有当“ | | ”左边的表达式值为假时才计算右边表达式的值
<font color="#ff0000">运算符优先级</font>:
! 算术运算符 关系运算符 &&和|| 赋值运算符
右结合 左结合 右结合
高——————————————————————————低
4.2.3 条件运算符和条件表达式
1.条件运算符
条件运算符由”?"和“:”两个符号组成,由于条件求值,它是一个<font color="#0000ff">三目运算符</font>,需要有三个操作数,条件运算符的优先级低于逻辑运算符,高于赋值运算符,它是右结合的。
2.条件表达式
形式:表达式1?表达式2:表达式3
<font color="#ff0000">顺序</font>:计算1,非0真,执行2;否则执行3;
4.3 使用if-else实现分支结构
4.3.1 if-else语句
1.双分支if语句
2.单分支if语句
4.3.2 if 语句的嵌套
4.3.3 多分支if语句
4..4 使用switch语句实现分支结构
说明:switch后的表达式可以是任何表达式,但<font color="#0000ff">值只能为整形、字符型、枚举型之一 </font>
每个case后面的常量表达式的值互不相同,否则就会出现互相矛盾的现象
各个case和default的出现次序不影响执行结果
可以让多个case共用一组执行语句
switch语句允许嵌套使用
4.5 分支结构程序设计示例
第五章 循环结构程序设计
5.2 使用<font color="#ff0000">for语句</font>实现循环结构
for语句是C语言提供的功能强大、使用广泛的一种循环结构,不仅可以解决循环次数未知的循环问题,特别适合解决循环次数已知的循环问题
若输入的数字字符是‘7’,其ASCII码是55,而字符‘0’的ASCII码是48,二者相减即为数字7.这是一种将<font color="#0000ff">数字字符转换为数字的常用方法 </font>
5.3 使用<font color="#ff0000">while语句</font>实现循环语句
在C语言中,使用while语句完成不定次数的循环。如果满足循环条件,则反复执行循环语句,当循环条件不满足时退出循环
语句中的表达式可以是任意类型的表达式,若表达式的值为非0,则表示循环条件为“真”,执行循环体语句,若表达式的值为0,则表示循环条件为“假”,不执行循环体语句,结束循环,执行循环结构的下一条语句。
5.4 使用<font color="#ff0000">do-while语句</font>实现循环语句
在C语言中,do ——while语句也用于完成不定次数的循环控制。与while语句不同的是,do ——while语句首先执行一次循环体,然后判断循环条件,如果满足则反复执行循环体语句,否则结束循环。
一般来说,如果题目中给出的循环次数首选for循环语句,如果循环次数不明确,需要通过其他条件控制循环。通常选用while循环语句,如果需要先执行语句,然后再根据条件判断是否执行循环体,则do while语句最合适。
5.5 改变循环结构的跳转语句
5.5.1 <font color="#ff0000">break语句 </font>
当break语句用于循环语句中时,可使程序终止循环而转去执行循环语句的后续语句。通常<font color="#0000ff">break语句总是与if一起</font>配合使用,即满足条件时便跳出循环。
5.5.2 <font color="#ff0000">continue语句 </font>
continue语句的作用是跳过循环体中continue后面的语句,继续下一次循环。continue语句只能用在循环语句中,常与 if语句一起使用
注意continue语句与break语句有本质的区别;continue语句只是结束<font color="#0000ff">本次循环</font>,并不终止整个循环的执行;而break语句的作用是强制终止<font color="#0000ff">整个循环程序 </font>
5.6 循环嵌套
循环嵌套格式中的内外循环不允许出现交叉,即<font color="#0000ff">外循环要完全包括内循环 </font>
循环嵌套时,内循环中使用break语句和continue语句时,只影响包含它们的内循环,与外循环无关
5.7 典型算法举例
5.8 循环程序设计示例
0 条评论
下一页