C程序设计复习资料知识点总结C语言良心出品必属精品.docx
《C程序设计复习资料知识点总结C语言良心出品必属精品.docx》由会员分享,可在线阅读,更多相关《C程序设计复习资料知识点总结C语言良心出品必属精品.docx(18页珍藏版)》请在冰豆网上搜索。
![C程序设计复习资料知识点总结C语言良心出品必属精品.docx](https://file1.bdocx.com/fileroot1/2022-11/16/666a8d90-5f1c-419e-b431-736794df8a1f/666a8d90-5f1c-419e-b431-736794df8a1f1.gif)
C程序设计复习资料知识点总结C语言良心出品必属精品
《C程序设计》知识点
都懂了,一定过!
第1章C语言概述
1.1.C语言属高级语言,区分字母的大小写,以函数为基本单位采用模块化程序设计,可直接访问内存,进而对硬件进行操作。
1.2.用C语言编写和程序称作C源程序,简称C程序,C程序可由若干个文本文件组成,文件扩展名为C(使用C++编译器时默认扩展名为CPP)。
C源程序经编译、连接后得到扩展名为EXE的可执行文件(目标程序)。
预处理编译、连接执行
若干个C程序文件----→C程序------→目标程序文件--→
1.3.C程序从主函数开始执行,每个C程序有且仅有一个主函数,因此,每个C程序文件中至多有一个主函数。
1.4.C语句以分号结尾,用{}括起来的一组语句称作复合语句,复合语句可省略花括号之后的分号。
1.5.允许一行内写多个C语句,也允许一个C语句占用多行,但保留字和标识符不可拆行。
1.6.在C集成环境VC++6.0中,新建工程、保存当前程序文件、编译当前程序、执行当前程序的快捷键依次为:
Ctrl+N、Ctrl+S、F7、Ctrl+F5。
第2章程序设计的灵魂——算法
2.1.解决问题的方法和步骤称作算法。
算法和数据结构是程序的两个主要要素。
2.2.算法具有确定性、有穷性、有效性等特点。
2.3.算法可用自然语言、流程图、N-S图、计算机语言、伪代码等描述。
伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。
2.4.
起止框
输入输出框
判断框
处理框
注释框……
连接点〇
流程线有向线段或折线
图2.1ANSI流程图符号
2.5.算法的基本结构分为:
顺序结构、选择结构、循环结构。
2.6.
↓
↓
↓
↓←-
--┐
Y┌
条件
┐N
条件
┐N
│
↓
↓
↓
↓Y
│
↓
│
│
条件
┘Y
↓
└---
→↓←
---┘
↓←-
--┘
↓N
图2.2顺序结构图2.3选择结构图2.4当循环图2.5直到循环
条件
条件
循环体
Y
N
循环体
条件
图2.6顺序结构图2.7选择结构图2.8当循环图2.9直到循环
2.7.由三种基本结构组成的程序称作结构化程序,结构化程序中的每个模块只有一个入口和一个出口。
结构化程序设计通常采用“自顶向下、逐步细化”的设计方法。
第3章数据类型、运算符与表达式
3.1.C的数据类型如下所示:
表3.1C语言的数据类型
数据类型
字节数
数值范围
基本类型
整型
无符号短整型(unsignedshortint)
4
0~216-1
有符号短整型(signedshortint)
2
-215~215-1
无符号长整型(unsignedlongint)
4
0~232-1
有符号长整型(signedlongint)
4
-231~231-1
实型
单精度实型(float)
4
长37位,6位有效
双精度实型(double)
8
长307位,15位有效
长双精度实型(longdouble)
10
长4931位,18位有效
字符型(char)
1
0~28-1
空类型(void)
1
构造类型
枚举类型
2
指针类型
2
数组类型
结构体类型
共用体类型
3.2.C符号常量名、变量名、函数名等统称标识符,标识符的命名规则为:
以字母或下划线开头,由字母、数字、下划线组成,超出32个字符部分被忽略(最好不超过8个字符)。
3.3.以0开头的整数为八进制整数,以0X或0x开头的整数为十六进制无符号整数。
3.4.-32768~32767为int型,0U~65535U为unsigned型,65536U~4294967295U和0UL~4294967295UL为unsignedlong型,-2147483648~-32769、32768~2147483647和-2147483648L~2147483647L为long型。
后缀U和L不区分大小写和次序。
3.5.数据的存储字节数可用运算符sizeof()查询,括号内可是数据、表达式或类型名。
3.6.有符号整数(int和long)按补码存储,因此,-65535U~-1U与1U~65535U依次相等,-4294967295UL~-1UL与1UL~4294967295UL依次相等。
3.7.定点数(含小数点数)和浮点数统称C实型常量,浮点数的一般形式为:
尾数e除码或尾数E除码
其含义为:
尾数×10除码
其中,尾数为定点数或整数,除码为整数。
标准浮点数的小数点在第1位非0数字之后。
后缀L或l的实型常量为长双精度,无后缀实型常量为双精度。
3.8.用一对单引号括起来的单个字符称作C字符常量,其值为该字符的ASCII码(1字节无符号整数)。
3.9.转义字符'\n'、'\t'、'\\'、'\''、'\"'分别表示回车符、制表符、反斜杠、单引号、双引号。
3.10.转义字符'\整数'、'\x整数'(或'\X整数')中的整数分别为八进制、十六进制,表示以此整数为ASCII码的字符。
3.11.用双引号括起来的一串字符称作C字符串型常量,串中字符数称作串长,可以为0。
字符串的存储形式为:
依次存储字符串中字符的ASCII码,并追加一个空字符'\0'(1字节无符号整数0)。
3.12.字符型、整型、实型数据统称数值型数据,不同类型的数值型数据可以混合运算,低精度数据被自动强制转换为高精度数据后方参与运算。
另外,字符常量为有符号短整数,两个字符型数据间的运算按有符号短整数处理。
3.13.如果将数值型数据赋给不同类型的数值型变量,则数值型数据将被自动强制转换为变量的数据类型。
3.14.C允许定义变量的同时赋初值。
3.15.C运算符及其优先级、结合性如附录C(教材第365页)所示。
3.16.强制数据类型转换的一般形式为:
(类型名)数据
3.17.自增++、自减--运算只能作用于变量,作用于右侧时,返回变量自增、自减前的值。
3.18.赋值表达式的格式为:
变量=表达式或变量op=表达式
其中,op为运算符+、-、*、/、%、>>、<<、&、^、|中某一个。
前者将右边表达式的值赋给左边的变量,后者将左边变量的当前值与右边表达式的值作相应运算后仍赋给左边的变量。
整个赋值表达式取左边变量所赋的新值。
3.19.用逗号分隔的一组表达式称作逗号表达式,其一般形式为:
表达式,表达式,…,表达式
其功能为:
从左至右依次计算各表达式的值,并以最后一个表达式的值为整个逗号表达式的值。
3.20.将数学式改为C表达式时应注意:
(1)乘号*不可省略;
(2)正确改写脚码、运算符、括号等;
(3)正确书写函数名;
(4)把握好运算优先级,分数线改为/时,分子、分母相应加括号;
(5)正确拆分不等式组;
(6)区分整数除法和实数除法。
第4章顺序结构程序设计
4.1.表达式后缀分号称作表达式语句,即,
表达式;
4.2.putchar、getchar、printf、scanf等输入输出函数的原型在头文件stdio.h中。
4.3.函数putchar和getchar的格式和功能如下:
(1)putchar
格式:
putchar(表达式)
功能:
向标准输出设备输出以指定表达式的值为ASCII码的字符,并以该值为函数值(自动强制转换为int型)。
(2)getchar
格式:
getchar()
功能:
从标准输入设备输入一个字符,并以该字符为函数值。
注意:
getchar可提取空格及回车、Tab等部分控制字符,而且只提取输入中相应位置上的一个字符,因此,输入字符间无须分隔,否则也被视为输入字符。
4.4.printf函数的格式和功能如下:
格式:
printf(格式控制串,输出表列)
功能:
(1)从右至左依次计算输出表列中各表达式的值;
(2)从左至右依次输出格式控制串中的字符,其中,%引导的格式控制符由输出表列中相应表达式的值所取代。
输出表列是一组用逗号分隔的表达式(又称输出项,可以为0项)。
格式控制串为字符串型数据(可以是表达式)。
其中,格式符用于控制输出表列中相应表达式的输出格式。
格式符及其功能如下表所示:
表4.1printf格式字符
格式符
说明
d或i
有符号十进制短整数(不输出正号)
u
无符号十进制短整数
o
无符号八进制短整数(无前缀0)
x或X
无符号十六进制短整数(无前缀0x,数字的大小写与x相同)
c
字符
s
字符串
f
定点数(默认6位小数)。
e或E
浮点数(浮点数中e的大小写与格式符e的大小写相同)
g或G
%f和%e中输出宽度较短者(e与g的大小写相同)
附加格式符
说明
l
插在%和d、i、u、o、x、X之间,表示输出相应长整数。
整数
插在%和其它格式符之间,前一个整数的绝对值为输出数据的宽度,后一个整数控制实际输出位数:
①输出整数时,指定输出位数,不足左补0,超出保留;②输出实数时,指定输出小数位数,不足右补0,超出四舍五入;③输出字符串时,指定输出字符数。
另外,第一个整数为负时,输出数据左对齐,否则右对齐。
.整数
整数.整数
4.5.scanf函数的格式和功能如下:
格式:
scanf(格式控制串,地址表列)
其中,格式控制串为字符串型数据(可以是表达式),地址表列是一组用逗号分隔的地址。
功能:
(1)右至左依次计算地址表列中各表达式的值;
(2)从标准输入设备提取数据,并从左至右依次存储到所指定的存储单元。
(3)地址表列中的地址可用表达式表示,通常形式为:
&变量
其中&是地址运算符,它表示取其后变量的存储(起始)地址。
说明:
(1)scanf函数格式符与printf函数的格式符的功能相似。
scanf的合法格式符不区分大小写、实型格式符均等效,另外,
表4.2scanf的附加格式符说明
附加格式符
说明
正整数
指定输入数据的最大宽度(插在%与其它格式符之间)
*
跳过当前一个数据(插在%与其它格式符之间)
*正整数
跳过当前指定个字符(插在%与其它格式符之间)
(2)如果格式控制串中有非格式符,则输入数据中对应位置上必须是该字符,且被跳过,这为指定数据间分隔符提供了方便。
(3)printf和scanf格式控制串中的每对%%(从左至右结合)按一个普通字符%对待。
第5章选择结构程序设计
5.1.C逻辑值为短整数(int),真、假分别为1、0。
另外,字符、数、指针作为逻辑量时,非0、非空为真(即1),0、空为假(即0)。
逻辑运算如下表所示:
表5.1逻辑运算真值表
左元
右元
!
右元
左元&&右元
左元||右元
假(0)
假(0)
真
(1)
假(0)
假(0)
假(0)
真(非0)
假(0)
假(0)
真
(1)
真(非0)
假(0)
真
(1)
假(0)
真
(1)
真(非0)
真(非0)