C语言程序设计知识点总结有哪些?

2026-04-28 14:352阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计3746个文字,预计阅读时间需要15分钟。

C语言程序设计知识点总结有哪些?

《C语言程序设计》课程学习了以下内容:(1)C语言程序设计的基本概念;(2)程序设计语言的基本知识,包括字母表、标识符、关键字/保留字,以及与数据概念相关的概念(如数据类型、数据结构、数据模型);(3)与数据处理相关的概念。

《c语言程序设计》课程学了些什么?

(1)、程序设计语言的基本知识 字母表,标识符,关键字/保留字,数据相概念关的概念(数据类型、数据结构、数据模型),对数据处理相关的概念(算法、架构)

常量、变量、数据类型、运算符、表达式、优先级、结合性、类型转换、语句、控制流、函数、数组、指针、结构体、共用体、文件、数据结构、算法。

(2)利用c语言进行程序设计

C语言程序设计知识点总结有哪些?

​ c程序开发过程、常见算法设计、库函数的使用、程序设计风格养成、模块化程序设计、软件工程工具与思想。

c程序基本结构:

​ 1、由一个或多个函数构成

​ 2、这些函数分布在一个或多个文件中。

​ 3、每个文件称为一个可编译单元。

​ 4、每个c程序都有且仅有一个main函数

​ 5、main函数是程序的入口,它直接或间接地调用其他函数来完成功能。

​ 6、函数的基本结构:

​ 返回类型 函数名(形式参数列表)

​ {

​ 数据定义;

​ 数据加工处理;

​ return 返回值;
​ }

​ 7、c程序结构中的其它成分:注释,头文件,编译预处理。

函数的分类:

​ 1、库函数:由系统提供,经过精心编写和反复测试及使用,可靠而安全,推荐多使用。

​ 2、用户自定义函数:用户自己编写的函数。

​ 3、main函数:每一个c程序都有且仅有一个。

常量(Constant):

在程序执行过程中不发生变化的量。常量可分为字面常量、符号常量和常变量三种形式。
字面常量:直接写出其值的常量。如:32,3.1415,‘a’ 等。
符号常量:给字面常量命名。如:#define PI 3.1415
常变量:用const关键字修饰的变量,只允许赋值一次。const int x = 0x10;

变量(Variable):

​ 在程序执行过程中会发生变化的量。变量是内存中若干个连续的存储单元的抽象。无论常量还是变量都有相应的数据类型。

数据类型(Data Type) :

1. 在内存中占几个连续的存储单元。(取值的范围) 2. 以什么样的存储格式存储。 3. 允许执行什么样的操作。(允许的操作)

C语言中提供了sizeof运算符来测试某种类型所占的字节数。
注意:sizeof可作用于常量、变量或数据类型。

C程序设计语言中提供的数据类型:基本数据类型、构造数据类型
基本数据类型:整型,浮点型,字符型,空类型,枚举型等。
构造数据类型:指针,数组,结构体,共用体,文件等。

整型:
  1. 采用补码表示,能精确表示与运算。

  2. 取值范围与溢出问题。

  3. 整型常量的书写:前缀:0,0x,0X,后缀:l或L。

  4. 整型变量:short,int,long。

  5. 分为带符号整数signed和无符号整数unsigned。

  6. 数据类型与平台相关。

浮点型:
  1. 采用IEEE754标准存储表示,不能精确表示与运算。

  2. 取值范围与溢出问题。

  3. 浮点型常量的书写:十进制与十六进制形式,指数形式。

  4. 浮点型变量:float,double。

  5. 浮点型常量:默认为double。

字符型:
  1. 英文采用8位ASCII编码,汉字采用16位内码。
    牢记:‘0’——30H,‘A’——41H,‘a’——61H

  2. 字符间的比较本质是ASCII码间的比较。

  3. 字符常量的书写与转义字符。
    (1) ‘A’ , ‘a’,‘?’
    (2) ‘\ddd’ (最多三位八进制数书写的ASCII码)
    (3) ‘\xhh’ (最多两位十六进制数书写的ASCII码)
    (4) ‘\n’ (转义字符)

转义字符形式 意 义

\n 换行 \t 水平制表 \v 垂直制表 \b 退格 \r 回车 \f 走纸换页 \a 报警(如铃声) \\ 反斜杠 \? 问号 \“ 双撇号 \’ 单撇号 \ddd 1~3位八进制常数 \xhh 1~2位十六进制常数

运算符(Operator):
代表计算机完成某种基本操作的符号。如:+(加),-(减),*(乘),/(除)等。
表达式(Expression):
将常量、变量和函数调用通过各种运算符和圆括号组织在一起,具有唯一确定值
(某种类型)的式子。单独的常量、变量和函数调用都是表达式。
如:a + b,a > b,3 * (x – y )/ 2,sin(x) / 2等。
优先级(Precedence):
当一个表达式中有多个运算符时,先算谁,后算谁。如 3 + 2 / 4 – 5 * 6。
结合性(Associativity):
当一个表达式中有多个优先级相同的运算符时,是由左向右算还是由右向左算。
如 3 + 2 – 5,a = b = c = 3。

运算符的优先级与结合性:

Operator Associativity () [] -> . left to right ! ~ ++ -- + - * & (type) sizeof right to left * / % left to right + - left to right << >> left to right < <= > >= left to right == != left to right & left to right ^ left to right | left to right && left to right || left to right ?: right to left = += -= *= /= %= &= ^= |= <<= >>= right to left , left to right 常见的运算符:

算术运算符: +,-,*,/,%,++,--
关系运算符: >,>=,<,<=,==,!=
赋值运算符: =,op=
逻辑运算符: &&,||,!,&,|
位运算符: &,|,~,<<,>>,^
其它运算符:(类型) , ?: () [ ] . -> sizeof * &

算术运算符:

+ :加法或正号 - :减法或负号 * :乘法 / :除法 (两数都是整数时做整除,否则做实数除法) % : 求余数(两数必须是整数,结果符号与第一个数相同,数值为两数绝对值做求余) ++ :自加1(只能对变量操作,分为前++和后++) -- :自减1 (只能对变量操作,分为前--和后--) (前++:先加1,再用变量的值;后++:先用变量的值,再加1)

关系运算符:

> :大于 >= :大于等于或不小于 < :小于 <= :小于等于或不大于 == :等于(=是赋值运算符,不是等于符) != :不等于 注意:1. 有两个符号构成的运算符中间不能加空格,如!=不能写成! =。 2. 关系运算的结果为:1(逻辑真) 0(逻辑假)

赋值运算符:

= :简单赋值 op= :复合赋值(op和=之间不能加空格) 注意:1. op可以为+,-,*,/,%,<<,>>,&,|,^之一。 2. 赋值号左端必须为代表内存单元的变量。 3. 赋值号右端为表达式。 4. i *= 3 + 2含义是 i = i * (3 + 2)而不是i = i * 3 + 2。 5. a = b = c = 3;从右向左算。

逻辑运算符:

&& :逻辑短路与 || :逻辑短路或 ! :逻辑非 & :逻辑与 | :逻辑或 注意:1. exp1 && exp2,如果exp1已经确定为假,则不再计算exp2。exp1 || exp2,如果exp1已经确定为真,则不再计算exp2。 2. exp1 & exp2,无论exp1为真为假,均要计算exp2。exp1 | exp2,无论exp1为真为假,均要计算exp2。 3. C语言中任何非0值表示逻辑真,0值表示逻辑假。 位运算符: & :按位与 (常用于将某些位清0) | :按位或(常用于将某些位置1) ^ :按位异或(常用于将某些位取反) ~ :按位取反 << :左移右补0 >> :右移补符号位 注意:先将参与运算的两操作数转换为二进制再逐位运算。 其它运算符: (类型) :强制类型转换 , :逗号运算符,从左向右算,表达式的值为最右边的那个表达式的值 ?: :条件运算符(三目运算符) () :函数调用 [ ] :数组下标引用 . :结构体成员引用 -> * & :指针引用相关 sizeof :测试数据或类型在内存中所占的字节数 注意:exp1 ? exp2 :exp3,整个是一个表达式,其值为:如果exp1的值为真,则为exp2 的值,否则为exp3的值。 流程控制三种基本结构:顺序、选择、循环。 顺序结构:

空语句: 仅由单独的分号构成: ; 空语句含义为什么也不做。 复合语句: 用{和}将若干条语句括起来,逻辑上当成一条语句, 称为复合语句。{ 语句1;…,语句n} 表达式语句: 单独的表达式加上分号: 表达式; 函数调用语句: 单独的函数调用加上分号: 函数名(实在参数); 赋值语句: 1. 变量名 = 表达式;2. 变量名 op= 表达式; 将右边表达式的值赋予左边的变量。 return语句: 返回函数的值。 return 返回值; 选择结构:

//双分支if语句: 格式1: if (条件表达式) 语句1; 语句逻辑:当条件表达式为真(非0)时,做语句1,否则不做。 格式2: if (条件表达式) 语句1; else 语句2; 语句逻辑:当条件表达式为真(非0)时,做语句1,否则做语句2。 //多分支switch语句: 格式: switch (整型表达式){ case 常量表达式1: 语句序列1 break; case 常量表达式2: 语句序列2 break; … case 常量表达式n: 语句序列n break; default: 语句序列n+1 } 语句逻辑:计算整型表达式的值,与常量表达式1到n匹配,若与某个匹配,则执行对应的语句序列,若没有匹配的,则执行语句序列n+1。在执行过程中遇到break则退出switch语句,否则不再匹配,顺序往下执行,直到退出为止。 //if语句的嵌套: 含义: if语句中的语句又含有if语句。 格式: if (条件表达式1) 语句1; else if (条件表达式2) 语句2; else 语句3; 语句逻辑:从后向前,else只和相邻的还未配对的if配对。 循环结构:

//循环结构: while循环语句: 格式1: while (条件表达式) 循环体语句序列; 语句逻辑:当条件表达式为真(非0)时,做一次循环体语句序列,然后再次检测条件表达式的值,直到条件表达式的值为假时退出该循环。 //do while循环语句: 格式 : do { 循环体语句序列; } while (条件表达式); 语句逻辑:先做一次循环体语句序列,然后检测条件表达式的值是否为真,如果为真,继续做循环体,直到条件表达式的值为假时退出该循环。 //for循环语句: 格式 : for (exp1; exp2; exp3) 循环体语句序列; 语句逻辑:先做一次exp1,然后检测exp2的值是否为真,如果为真,做一次循环体,然后做一次exp3,然后再次检测exp2的值,直到exp2的值为假时退出。 等价于: exp1; while (exp2) { 循环体语句序列; exp3; } 注意:1. 三个表达式均可省略,但分号不能省略。 2. for (; ; )含义等价于while (1),为永真循环。 3. exp1称为初始条件;exp2称为结束条件;exp3称为步进条件。

break语句:含义:退出当前的这一层循环语句或switch语句。

continue语句:含义:跳过当前的这一层循环体中后面的语句,直接进入下一次循环。

函数(function):

一段代码构成的模块。它对输入的数据(称为参数)进行处理,产生想要的输出(称为返回值)。对函数的调用通过函数名进行。 使用函数的优点:便于模块化设计;便于软件重用。 //函数的结构与定义(definition): 返回值类型 函数名(形式参数) { 数据定义语句; 数据处理语句; return 返回值; } //函数声明(declartion): 如果在定义之前使用函数或者使用别的编译单元中的函数,则必须先声明(告诉编译器函数的返回值类型,函数名和参数信息,以便进行编译检查)。 如果函数在使用之前已经定义,则无需声明。 //函数的调用(call): 语法格式: 函数名(实在参数) 注意:实在参数与形式参数必须在个数和类型等方面对应一致。 //参数传递: 将实在参数传递给形式参数的过程称为参数传递。 形式参数:在定义函数时的参数,简称形参。 实在参数:在调用函数时的参数,简称实参。 参数传递方法: 1. 传值:将实参的值传给形参,然后两者无任何瓜葛。 2. 传地址:将实参的地址传给形参,对形参的任何修改就是对实参的修改。两者合二为一。 注意:C语言在传递参数时是从右向左计算参数的值。

本文共计3746个文字,预计阅读时间需要15分钟。

C语言程序设计知识点总结有哪些?

《C语言程序设计》课程学习了以下内容:(1)C语言程序设计的基本概念;(2)程序设计语言的基本知识,包括字母表、标识符、关键字/保留字,以及与数据概念相关的概念(如数据类型、数据结构、数据模型);(3)与数据处理相关的概念。

《c语言程序设计》课程学了些什么?

(1)、程序设计语言的基本知识 字母表,标识符,关键字/保留字,数据相概念关的概念(数据类型、数据结构、数据模型),对数据处理相关的概念(算法、架构)

常量、变量、数据类型、运算符、表达式、优先级、结合性、类型转换、语句、控制流、函数、数组、指针、结构体、共用体、文件、数据结构、算法。

(2)利用c语言进行程序设计

C语言程序设计知识点总结有哪些?

​ c程序开发过程、常见算法设计、库函数的使用、程序设计风格养成、模块化程序设计、软件工程工具与思想。

c程序基本结构:

​ 1、由一个或多个函数构成

​ 2、这些函数分布在一个或多个文件中。

​ 3、每个文件称为一个可编译单元。

​ 4、每个c程序都有且仅有一个main函数

​ 5、main函数是程序的入口,它直接或间接地调用其他函数来完成功能。

​ 6、函数的基本结构:

​ 返回类型 函数名(形式参数列表)

​ {

​ 数据定义;

​ 数据加工处理;

​ return 返回值;
​ }

​ 7、c程序结构中的其它成分:注释,头文件,编译预处理。

函数的分类:

​ 1、库函数:由系统提供,经过精心编写和反复测试及使用,可靠而安全,推荐多使用。

​ 2、用户自定义函数:用户自己编写的函数。

​ 3、main函数:每一个c程序都有且仅有一个。

常量(Constant):

在程序执行过程中不发生变化的量。常量可分为字面常量、符号常量和常变量三种形式。
字面常量:直接写出其值的常量。如:32,3.1415,‘a’ 等。
符号常量:给字面常量命名。如:#define PI 3.1415
常变量:用const关键字修饰的变量,只允许赋值一次。const int x = 0x10;

变量(Variable):

​ 在程序执行过程中会发生变化的量。变量是内存中若干个连续的存储单元的抽象。无论常量还是变量都有相应的数据类型。

数据类型(Data Type) :

1. 在内存中占几个连续的存储单元。(取值的范围) 2. 以什么样的存储格式存储。 3. 允许执行什么样的操作。(允许的操作)

C语言中提供了sizeof运算符来测试某种类型所占的字节数。
注意:sizeof可作用于常量、变量或数据类型。

C程序设计语言中提供的数据类型:基本数据类型、构造数据类型
基本数据类型:整型,浮点型,字符型,空类型,枚举型等。
构造数据类型:指针,数组,结构体,共用体,文件等。

整型:
  1. 采用补码表示,能精确表示与运算。

  2. 取值范围与溢出问题。

  3. 整型常量的书写:前缀:0,0x,0X,后缀:l或L。

  4. 整型变量:short,int,long。

  5. 分为带符号整数signed和无符号整数unsigned。

  6. 数据类型与平台相关。

浮点型:
  1. 采用IEEE754标准存储表示,不能精确表示与运算。

  2. 取值范围与溢出问题。

  3. 浮点型常量的书写:十进制与十六进制形式,指数形式。

  4. 浮点型变量:float,double。

  5. 浮点型常量:默认为double。

字符型:
  1. 英文采用8位ASCII编码,汉字采用16位内码。
    牢记:‘0’——30H,‘A’——41H,‘a’——61H

  2. 字符间的比较本质是ASCII码间的比较。

  3. 字符常量的书写与转义字符。
    (1) ‘A’ , ‘a’,‘?’
    (2) ‘\ddd’ (最多三位八进制数书写的ASCII码)
    (3) ‘\xhh’ (最多两位十六进制数书写的ASCII码)
    (4) ‘\n’ (转义字符)

转义字符形式 意 义

\n 换行 \t 水平制表 \v 垂直制表 \b 退格 \r 回车 \f 走纸换页 \a 报警(如铃声) \\ 反斜杠 \? 问号 \“ 双撇号 \’ 单撇号 \ddd 1~3位八进制常数 \xhh 1~2位十六进制常数

运算符(Operator):
代表计算机完成某种基本操作的符号。如:+(加),-(减),*(乘),/(除)等。
表达式(Expression):
将常量、变量和函数调用通过各种运算符和圆括号组织在一起,具有唯一确定值
(某种类型)的式子。单独的常量、变量和函数调用都是表达式。
如:a + b,a > b,3 * (x – y )/ 2,sin(x) / 2等。
优先级(Precedence):
当一个表达式中有多个运算符时,先算谁,后算谁。如 3 + 2 / 4 – 5 * 6。
结合性(Associativity):
当一个表达式中有多个优先级相同的运算符时,是由左向右算还是由右向左算。
如 3 + 2 – 5,a = b = c = 3。

运算符的优先级与结合性:

Operator Associativity () [] -> . left to right ! ~ ++ -- + - * & (type) sizeof right to left * / % left to right + - left to right << >> left to right < <= > >= left to right == != left to right & left to right ^ left to right | left to right && left to right || left to right ?: right to left = += -= *= /= %= &= ^= |= <<= >>= right to left , left to right 常见的运算符:

算术运算符: +,-,*,/,%,++,--
关系运算符: >,>=,<,<=,==,!=
赋值运算符: =,op=
逻辑运算符: &&,||,!,&,|
位运算符: &,|,~,<<,>>,^
其它运算符:(类型) , ?: () [ ] . -> sizeof * &

算术运算符:

+ :加法或正号 - :减法或负号 * :乘法 / :除法 (两数都是整数时做整除,否则做实数除法) % : 求余数(两数必须是整数,结果符号与第一个数相同,数值为两数绝对值做求余) ++ :自加1(只能对变量操作,分为前++和后++) -- :自减1 (只能对变量操作,分为前--和后--) (前++:先加1,再用变量的值;后++:先用变量的值,再加1)

关系运算符:

> :大于 >= :大于等于或不小于 < :小于 <= :小于等于或不大于 == :等于(=是赋值运算符,不是等于符) != :不等于 注意:1. 有两个符号构成的运算符中间不能加空格,如!=不能写成! =。 2. 关系运算的结果为:1(逻辑真) 0(逻辑假)

赋值运算符:

= :简单赋值 op= :复合赋值(op和=之间不能加空格) 注意:1. op可以为+,-,*,/,%,<<,>>,&,|,^之一。 2. 赋值号左端必须为代表内存单元的变量。 3. 赋值号右端为表达式。 4. i *= 3 + 2含义是 i = i * (3 + 2)而不是i = i * 3 + 2。 5. a = b = c = 3;从右向左算。

逻辑运算符:

&& :逻辑短路与 || :逻辑短路或 ! :逻辑非 & :逻辑与 | :逻辑或 注意:1. exp1 && exp2,如果exp1已经确定为假,则不再计算exp2。exp1 || exp2,如果exp1已经确定为真,则不再计算exp2。 2. exp1 & exp2,无论exp1为真为假,均要计算exp2。exp1 | exp2,无论exp1为真为假,均要计算exp2。 3. C语言中任何非0值表示逻辑真,0值表示逻辑假。 位运算符: & :按位与 (常用于将某些位清0) | :按位或(常用于将某些位置1) ^ :按位异或(常用于将某些位取反) ~ :按位取反 << :左移右补0 >> :右移补符号位 注意:先将参与运算的两操作数转换为二进制再逐位运算。 其它运算符: (类型) :强制类型转换 , :逗号运算符,从左向右算,表达式的值为最右边的那个表达式的值 ?: :条件运算符(三目运算符) () :函数调用 [ ] :数组下标引用 . :结构体成员引用 -> * & :指针引用相关 sizeof :测试数据或类型在内存中所占的字节数 注意:exp1 ? exp2 :exp3,整个是一个表达式,其值为:如果exp1的值为真,则为exp2 的值,否则为exp3的值。 流程控制三种基本结构:顺序、选择、循环。 顺序结构:

空语句: 仅由单独的分号构成: ; 空语句含义为什么也不做。 复合语句: 用{和}将若干条语句括起来,逻辑上当成一条语句, 称为复合语句。{ 语句1;…,语句n} 表达式语句: 单独的表达式加上分号: 表达式; 函数调用语句: 单独的函数调用加上分号: 函数名(实在参数); 赋值语句: 1. 变量名 = 表达式;2. 变量名 op= 表达式; 将右边表达式的值赋予左边的变量。 return语句: 返回函数的值。 return 返回值; 选择结构:

//双分支if语句: 格式1: if (条件表达式) 语句1; 语句逻辑:当条件表达式为真(非0)时,做语句1,否则不做。 格式2: if (条件表达式) 语句1; else 语句2; 语句逻辑:当条件表达式为真(非0)时,做语句1,否则做语句2。 //多分支switch语句: 格式: switch (整型表达式){ case 常量表达式1: 语句序列1 break; case 常量表达式2: 语句序列2 break; … case 常量表达式n: 语句序列n break; default: 语句序列n+1 } 语句逻辑:计算整型表达式的值,与常量表达式1到n匹配,若与某个匹配,则执行对应的语句序列,若没有匹配的,则执行语句序列n+1。在执行过程中遇到break则退出switch语句,否则不再匹配,顺序往下执行,直到退出为止。 //if语句的嵌套: 含义: if语句中的语句又含有if语句。 格式: if (条件表达式1) 语句1; else if (条件表达式2) 语句2; else 语句3; 语句逻辑:从后向前,else只和相邻的还未配对的if配对。 循环结构:

//循环结构: while循环语句: 格式1: while (条件表达式) 循环体语句序列; 语句逻辑:当条件表达式为真(非0)时,做一次循环体语句序列,然后再次检测条件表达式的值,直到条件表达式的值为假时退出该循环。 //do while循环语句: 格式 : do { 循环体语句序列; } while (条件表达式); 语句逻辑:先做一次循环体语句序列,然后检测条件表达式的值是否为真,如果为真,继续做循环体,直到条件表达式的值为假时退出该循环。 //for循环语句: 格式 : for (exp1; exp2; exp3) 循环体语句序列; 语句逻辑:先做一次exp1,然后检测exp2的值是否为真,如果为真,做一次循环体,然后做一次exp3,然后再次检测exp2的值,直到exp2的值为假时退出。 等价于: exp1; while (exp2) { 循环体语句序列; exp3; } 注意:1. 三个表达式均可省略,但分号不能省略。 2. for (; ; )含义等价于while (1),为永真循环。 3. exp1称为初始条件;exp2称为结束条件;exp3称为步进条件。

break语句:含义:退出当前的这一层循环语句或switch语句。

continue语句:含义:跳过当前的这一层循环体中后面的语句,直接进入下一次循环。

函数(function):

一段代码构成的模块。它对输入的数据(称为参数)进行处理,产生想要的输出(称为返回值)。对函数的调用通过函数名进行。 使用函数的优点:便于模块化设计;便于软件重用。 //函数的结构与定义(definition): 返回值类型 函数名(形式参数) { 数据定义语句; 数据处理语句; return 返回值; } //函数声明(declartion): 如果在定义之前使用函数或者使用别的编译单元中的函数,则必须先声明(告诉编译器函数的返回值类型,函数名和参数信息,以便进行编译检查)。 如果函数在使用之前已经定义,则无需声明。 //函数的调用(call): 语法格式: 函数名(实在参数) 注意:实在参数与形式参数必须在个数和类型等方面对应一致。 //参数传递: 将实在参数传递给形式参数的过程称为参数传递。 形式参数:在定义函数时的参数,简称形参。 实在参数:在调用函数时的参数,简称实参。 参数传递方法: 1. 传值:将实参的值传给形参,然后两者无任何瓜葛。 2. 传地址:将实参的地址传给形参,对形参的任何修改就是对实参的修改。两者合二为一。 注意:C语言在传递参数时是从右向左计算参数的值。