C语言学习前五章思维导图式总结(超详细,复习必备)

简介: C语言学习前五章思维导图式总结(超详细,复习必备),源文件在 process  on(在线流程图)上面,同名,需要多多支持。

C语言程序设计

 

·       第一章 程序设计与C语言

o   1.2 程序与程序设计语言

§  1.2.1 程序设计语言的发展

·      1946年第一台电子计算机问世

·      1.机械语言

o   第一代计算机语言

o   01组成的二进制指令代码。机器指令的集合(即指令系统)就是该计算机的机器语言。

·      2.汇编语言

o   用助记符来代替机器指令的二进制串

·      3.高级语言

o   接近于数学语言或人的自然语言,不依赖于计算机硬件

o   1)非结构化的语言    

§  早期追求效率:FORTRANALGOLBASIC

o   (2)结构化语言

§  良好的基本结构:QBASICPascalC语言

o   3)面向对象的语言

§  流水式:C++C#Visual BasicJAVA  

§  1.2.2 程序设计语言的功能

·      1.数据表达(即定义变量)

o   数据类型就是对某些具有相同性质的数据集的总称

·      2.流程控制(数据处理)

o   1)顺序控制结构

o   2)分支控制结构

o   3)循环控制结构

·      共同特点

o   只有单一的入口和单一的出口

o   结构中的每个部分都有被执行的可能

o   结构内不应出现永不终止的死循环

§  1.2.3 程序的算法表示

·      软件的主体是程序,程序的核心是算法

·      算法特点

o   1)确定性

o   2)有穷性

o   3)可行性

o   4)有零个或多个输入

o   5)有一个或多个输出

·      1.用文字描述算法

·      2.用流程图描述算法

o   顺序结构

o   选择结构

o   循环结构

·      3.伪代码表示

·      4.程序设计语言表示

§  程序特点  

·      完成某一特定的任务

·      使用某种程序设计语言描述如何完成该任务

·      储存在计算机中,并且被运行后才能起作用

o   1.3 C语言程序设计的特点  

§  1.3.1 C语言的发展历史  

·      C语言是1972年由美国贝尔实验室的Dennis Ritchie设计

§  1.3.2 C语言的特点

·      语句简洁紧凑,使用方便灵活

o   9种控制语句

·      运算符丰富,表达能力强

·      C语言程序可移植性好

·      生成的目标代码质量高、运行效率高

·      语言处理能力强

·      C语言是一种结构化语言  

o   不足

§  语法检查不严格

§  对数组下标越界不检查,导致程序出错

§  1.3.3 C语言的约定

·      一般将程序设计语言的规范称为语法

·      1.C语言中的约定

o   标识符

§  第一个字符必须是字母或下划线

o   关键字

§  C语言中共有32个关键字

o   用户自定义标识符

o   预定义标识符

o   分隔符

§  逗号

·      类型说明和函数参数表中,分隔各个变量

§  空格

·      用于个单词之间作间隔符

·      2.C语言的语法成分

o   常量

o   变量

o   运算符

§  C语言提供了34种运算符

o   表达式

§  算术运算优先于关系运算

o   语句

§  以分号结尾

o   函数定义与调用

§  函数是完成特定功能的小模块

o   输入与输出

o   1.4 C程序的编辑、编译、链接和运行

§  1.4.1 程序设计的任务

·      分析问题

·      设计算法

·      程序设计

·      运行并调试程序

·      分析程序运行结果

·      编写程序文档

·      1.4.2 运行C程序的步骤与方法

o   编辑源程序

o   对源程序进行编译

o   链接(库函数)

o   运行(目标程序)

·       第二章 数据类型、运算符和表达式

o   2.1引例

§  注释可以出现在程序中合适的地方,但必须成对出现

o   2.2 C语言的数据类型  

§  基本类型

·      整形

·      字符型

·      实型(浮点型)

§  构造类型

·      数组类型

·      结构体类型

·      共用体类型

·      枚举类型

§  指针类型

§  空类型

o   2.3 C语言的常量

§  2.3.1 直接常量

·      1.整型常量

o   即整数,包括正整数、负整数、零

o   十进制表示:数字0~9,正、负号;

o   八进制表示:以0为前缀,其后由数字0~7组成;一般无符号

o   十六进制表示:以0x0X为前缀,其后由数字0~9A~F组成;一般无符号  

o   后加uU认为是unsigned int;后加lL认为是long int;

·      2.实型常量

o   实数又称为浮点数,C语言中,实数只能用十进制形式表示

o   小数形式:整数或小数为零时可以省略,但小数点不可以

o   指数形式:格式+-尾数E指数  

§  Ee前后必须有数字,并且指数部分只能是整数

o   3.字符型常量

o   特点:

§  只能用单引号括起来,不能用双引号或其他

§  是单个字符,不能是字符串

§  可以是ASCII字符集中的任意字符,只占一个字符

§  \数字  表示八进制;\x数字 表示十六进制

§  \0放入函数,直接结束

o   4.字符串常量(双引号)

§  2.3.2 符号常量(用标识符表示常)

§  形式:#define  标识符  常量值

§  好处:

·      增加程序的可读性

·      提高程序的可维护性

·      简化程序代码

·      方便数组定义

o   2.4 C语言的变量  

§  2.4.1 变量的定义与使用

·      1.变量的定义

·      2.变量的初始化

·      3.变量的使用

§  2.4.2 整型变量

§  说明:

·      有符号整数以二进制补码形式存储

·      无符号整数以二进制原码形式存储

§  2.4.3 实型变量

·      单精度型数据能保留7位有效数字,双精度型数据能保留16位有效数字

·      双精度只保留6位小数,其余部分四舍五入

§  2.4.4 字符型变量

o   2.5 运算符和表达式

§  2.5.1 赋值运算符和赋值表达式

·      1.简单赋值运算符(”=“

·      2.复合赋值运算符

·      3.赋值表达式

o   赋值语句属于表达式语句

o   赋值运算符左侧必须是一个变量

o   赋值表达式的末尾没有分号,而赋值语句的末尾必须有分号

§  2.5.2 算数运算符和算术表达式

·      1.基本的算术运算符

o   如果ab中有一个是实型,则ab都转换为double类型

·      2.自增、自减运算符

o   前缀方式:先计算,后使用

o   后缀方式:先使用,后计算

o   注意:

§  两个单目运算符不能出现在同一个式子中。

§  先单目,后双目

·      3.算术运算符的优先级和结合性

o   单目右结合,双目左结合

·      4.算术表达式

§  2.5.3 逗号运算符和逗号表达式

·      执行顺序:从左到右依次计算每个表达式的值,并把最后一个表达式的值作为整个逗号表达式的值

§  2.5.4求字节数运算符(单目)

o   2.6 数据类型转换

§  2.6.1自动类型转换

·      把占用内存空间少的(低级)类型向占用空间多的(高级)类型转换

§  2.6.2强制类型转换

·      (类型说明符)(表达式)

·      注意:

o   需强制类型转换中的表达式一定要括起来,否则只对紧随括号后的量进行类型转换

o   由高到低,会损失数据的精度

o   并不改变表达式中变量的类型和值

·       第三章 顺序结构程序设计

o   3.2 C语言的语句

§  1.说明语句

§  2.表达式语句

§  3.分支语句

§  4.循环语句

§  5.转向语句

§  6.复合语句

§  7.空语句

§  8.函数定义与调用

§  9.输入和输出

o   3.3 数据的输入和输出

§  C语言本身没有提供输入输出语句,所有的数据输入输出功能都是由系统提供的库函数  

§  3.3.1 输出函数(printf())和输入函数(scanf()

·      1.printf()函数

o   1)格式控制说明

o   2)普通字符

·      2.scanf()函数  

o   1)格式控制说明

o   2)普通字符

§  3.3.2 整形数据的输入和输出

§  3.3.3 实型数据的输入和输出

§  3.3.4 字符型数据的输入和输出

·      1.使用scanf()函数和printf()函数对字符型数据进行输入输出

·      2.使用getchar()函数和putchar()函数对字符型数据进行输入输出

o   1getchar()函数

o   2 putchar()函数

o   3.4 数学库函数

§  exp(x)ex次方

§  fabs(x)绝对值

§  e为底的对数函数logx

§  幂函数powxy

§  平方根函数sqrtx

·       第四章 分支结构程序设计  

o   4.2 关系运算符、逻辑运算符、条件运算符

§  4.2.1 关系运算符和关系表达式

·      1.关系运算符

o   注意:1.关系运算符都是双目运算符,其结合方向是左结合

o             2.关系运算符的优先级低于算术运算符,但高于赋值运算符

o             3.关系运算符中,>,<>=,<=的优先级相同,==,!=的优先级相同,前者的优先级高于后者

·      2.关系表达式

§  4.2.2 逻辑运算符和逻辑表达式

·      1.逻辑运算符

o   ’   逻辑非 右结合     单目     高

o   ‘&amp;&amp;’ 逻辑与  左结合    双目      |

o   ‘||’     逻辑或  左结合    双目     低

·      2.逻辑表达式

·      说明:可以是任何类型的数据,最终都是以非00来判断

o   a&amp;&amp;b=0)正确

o   当计算出一个值表达式的值,确定了整个逻辑表达式的值,此后就不再计算右边表达式的值,这种情况叫做短路

§  只有当“&amp;&amp;”左边的表达式值为真时才计算右边表达式的值

§  只有当“ | |  ”左边的表达式值为假时才计算右边表达式的值

·      运算符优先级:

·           !            算术运算符     关系运算符      &amp;&amp;和||       赋值运算符

·      右结合                                     左结合                               右结合

·      ——————————————————————————

§  4.2.3 条件运算符和条件表达式

·      1.条件运算符

o   条件运算符由”?"两个符号组成,由于条件求值,它是一个三目运算符,需要有三个操作数,条件运算符的优先级低于逻辑运算符,高于赋值运算符,它是右结合的。

·      2.条件表达式

o   形式:表达式1?表达式2:表达式3

o   顺序:计算1,非0真,执行2;否则执行3

o   4.3 使用if-else实现分支结构

§  4.3.1 if-else语句

·      1.双分支if语句

·      2.单分支if语句

§  4.3.2 if 语句的嵌套

§  4.3.3 多分支if语句

o   4..4 使用switch语句实现分支结构  

§  说明:switch后的表达式可以是任何表达式,但值只能为整形、字符型、枚举型之一

§             每个case后面的常量表达式的值互不相同,否则就会出现互相矛盾的现象

§             各个casedefault的出现次序不影响执行结果

§             可以让多个case共用一组执行语句

§              switch语句允许嵌套使用

o   4.5 分支结构程序设计示例

·       第五章 循环结构程序设计  

o   5.2 使用for语句实现循环结构  

§  for语句是C语言提供的功能强大、使用广泛的一种循环结构,不仅可以解决循环次数未知的循环问题,特别适合解决循环次数已知的循环问题

§  若输入的数字字符是‘7’,其ASCII码是55,而字符‘0’ASCII码是48,二者相减即为数字7.这是一种将数字字符转换为数字的常用方法

o   5.3 使用while语句实现循环语句  

§  C语言中,使用while语句完成不定次数的循环。如果满足循环条件,则反复执行循环语句,当循环条件不满足时退出循环

§  语句中的表达式可以是任意类型的表达式,若表达式的值为非0,则表示循环条件为,执行循环体语句,若表达式的值为0,则表示循环条件为,不执行循环体语句,结束循环,执行循环结构的下一条语句。  

o   5.4 使用do-while语句实现循环语句  

§  C语言中,do ——while语句也用于完成不定次数的循环控制。与while语句不同的是,do ——while语句首先执行一次循环体,然后判断循环条件,如果满足则反复执行循环体语句,否则结束循环。

§  一般来说,如果题目中给出的循环次数首选for循环语句,如果循环次数不明确,需要通过其他条件控制循环。通常选用while循环语句,如果需要先执行语句,然后再根据条件判断是否执行循环体,则do while语句最合适。

o   5.5 改变循环结构的跳转语句

§  5.5.1 break语句

·      break语句用于循环语句中时,可使程序终止循环而转去执行循环语句的后续语句。通常break语句总是与if一起配合使用,即满足条件时便跳出循环。

§  5.5.2 continue语句

·      continue语句的作用是跳过循环体中continue后面的语句,继续下一次循环。continue语句只能用在循环语句中,常与 if语句一起使用

§  注意continue语句与break语句有本质的区别;continue语句只是结束本次循环,并不终止整个循环的执行;而break语句的作用是强制终止整个循环程序

o   5.6 循环嵌套

§  循环嵌套格式中的内外循环不允许出现交叉,即外循环要完全包括内循环

§  循环嵌套时,内循环中使用break语句和continue语句时,只影响包含它们的内循环,与外循环无关

o   5.7 典型算法举例

o   5.8 循环程序设计示例

相关文章
|
6月前
|
存储 C语言
C语言学习记录——动态内存函数介绍(malloc、free、calloc、realloc)
C语言学习记录——动态内存函数介绍(malloc、free、calloc、realloc)
473 1
|
6月前
|
编译器 C语言 C++
C语言学习记录——位段(内存分配、位段的跨平台、位段的应用)
C语言学习记录——位段(内存分配、位段的跨平台、位段的应用)
63 0
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
19 0
|
4月前
|
编译器 C语言
C语言函数的学习
掌握函数的使用是学习C语言的关键一环,理解和应用这些基本的函数概念将使你能够更有效地利用C语言的强大功能。
26 0
|
6月前
|
存储 程序员 Go
|
6月前
|
存储 编译器 C语言
c语言学习历程【1】
c语言学习历程【1】
82 1
|
6月前
|
C语言
C语言学习记录——枚举(定义、与结构体的区别、优点)
C语言学习记录——枚举(定义、与结构体的区别、优点)
66 3
|
6月前
|
C语言
C语言学习记录——通讯录(静态内存)
C语言学习记录——通讯录(静态内存)
37 2
|
6月前
|
存储 C语言
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
110 2
|
6月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
51 1