《程序设计基础》复习知识点
知识点:
1、C语言程序的结构
a) 一个程序由一个或多个源程序文件组成。在一个源程序文件中可以包括3个部分:预处理指令、全局声明、函数定义;
b) C是函数式语言,C的基本单位是函数,函数是C程序的主要组成部分。一个C语言程序是由一个或多个函数组成,其中必须包含且只能有一个main函数;
c)
函数的首部
一个函数由两部分组成:int max (int x, int y)
函数体
(由最外层的一对{}括起来的部分)
{ 声明部分;
执行部分;
}
d) C程序总是从main函数开始执行的,在main中结束,与main函数的位置无关。
e) 每个语句和数据声明的最后必须有一个分号。
f) C语言中用于结构化程序设计的三种基本结构是顺序结构、选择结构、循环结构
2、标识符、变量和常量
a) 在C语言中,标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线
b) 在程序运行过程中,其值不能被改变的量称为常量,常量类型分为:
i. 直接常量:整型常量(如100,125)、实型常量(如3.14,1.24e3)、字符常量(如’a’
、’3’、’\n’)、字符串常量(如”boy”、”123”)
ii. 符号常量:用#define指令,指定一个标识符代表一个常量
c) 变量代表内存中具有特定属性的一个存储单元,在程序运行期间,变量的值是可以改变的。注意:变量必须先定义,后使用,C语言的关键字不能用作变量名。
3、C的基本数据类型:整型((unsigned)int, (unsigned)short, (unsigned)long,)、浮点型(float,double)、字符型(char)
a) 常量的表示方法
b) 变量的定义方法以及如何进行正确赋值
c) 数据类型的取值范围
4、常用的C运算符及优先级顺序
a) 赋值运算符:=
b) 算术运算符:+、-、*、/、%,其中特别要注意/和%的用法
i. /的右边不能为0,且当/的两端都是整数时做整除运算,否则执行实数除法
ii. %为模运算符,要求%的两端都必须是整数
c) 关系运算符:<、<=、>、>=、==、!=
d) 逻辑运算符:!、&&、||,!的优先级比&&和||高
e) 自增、自减运算符:++、——
i. ++i是先将i的值加1后,再使用i的值
ii. i++是先使用i的值,再将i的值加1
f) 强制类型转换符:( 类型说明符 ) (表达式),如
g) sizeof运算符:获得变量或数据类型所占内存的大小(以字节为单位),如sizeof(int)、sizeof(a)
h) 复合运算符,如sum+=i等价于sum=sum+i
i) 逗号运算符,例如:a+3, b=4, b++。逗号表达式的求值顺序是从左向右依此计算用逗号分隔的各表达式的值,而最后一个表达式的值就是整个逗号表达式的值。
j) 上述运算符的优先级顺序:强制类型转换符、sizeof运算符>自增、自减运算符>算术运算符>关系运算符(>,<,>=,<=高于!=,==)>逻辑运算符(!高于&&,||)>复合运算符、赋值运算符>逗号运算符
5、数据的输入输出
a) 头文件stdio.h,程序中的使用方法:#include <stdio.h>
b) 格式化输出函数:printf(“常规字符/格式控制符”,表达式1,...,表达式n)
i. 表达式的个数应与格式控制符的个数一致,若格式控制符的个数更多时,多出的格式控制符输出的内容是不确定的,若表达式的个数更多时,多出的表达式将不输出
ii. 常用的格式控制符:int型(%d、%u、%o、%x)、short型(如%hd)、long型(如%ld)
、char型(%c)、字符串(%s)、float型/double型(%f、%e,其中%m.nf,表示输出数据的宽度为m个字符宽度,并保留小数点后n位)
iii. 根据表达式的类型选择正确的格式控制符,否则将导致后面的数据输出出错
c) 格式化输入函数:scanf(“格式控制字符串”,变量1的地址,...,变量n的地址)
i. 如何正确输入数据?看格式控制字符串。
若相邻两个格式控制符之间没有指定数据分隔符,则默认两个输入数据用一个空格或回车分隔,若格式控制字符串中出现常规字符,务必原样输入。
ii. 格式控制符的个数必须与后面的变量地址个数一致
iii. 常用的格式控制符:int型(%d、%ld、%hd、%u)、short型(如%hd)、long型(如%ld)、字符型(%c)、字符串(%s)、float型(%f)、double型(%lf)
iv. 根据变量类型选择正确的格式控制符,否则将导致输入的变量值出错或内存溢出的错误
d) 字符型数据的非格式化输入getchar( )、输出putchar( )
i. getchar( )函数的功能是从终端输入一个字符,如
while(getchar()!=’\n’)
;
上述语句常用在两次scanf( )间清空输入的缓冲
ii. putchar( )函数的功能是向终端输出一个字符,如putchar(‘\n’)语句的功能是输出一个换行符
6、用if语句实现选择结构
a) 基本格式:
if (expr)
语句1;
else
语句2;
b) if语句后面的expr必须用括号括起来;
c) expr非零时表示条件为真,表达式为零时表示条件为假;
d) 语句1、语句2为多个语句时,必须把这一组语句用{ }括起来,且在}之后不能再加分号;若为单条语句时,{ }可省略
e) 在if的嵌套语句中,else总是与之前最近且尚未配对的if配对
7、条件运算符和条件表达式
a) 基本格式:expr1?expr2:expr3
b) 含义:若expr1为真,那么执行expr2,否则执行expr3
举例:请写出“若ch是大写字母则将其转换成对应的小写字母”的条件表达式
ch=(ch>=’A’&& ch<=’Z’)?(ch+32):ch;
8、用switch语句实现多分支选择结构
a) 基本格式:
switch ( 表达式)
{
case E1:语句组 1;break;
case E2:语句组 2;break;
…….
case En:语句组 n;break;
[default:语句组 ;break;]
}
b) switch后面的“表达式”,只可以是int、char和枚举型中的一种。
c) 每个case后面“常量表达式”的值,必须各不相同
d) 每个case后面的表达式中不能包含变量
e) 每个case部分内容结束后必须加上break语句,以便结束switch语句
f) 多个case子句,可共用同一语句(组)
举例:用switch语句编写下列程序:给出一百分制成绩,要求输出成绩等级’A’、‘B’、‘C’、‘D’、‘E’,90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
9、用while语句实现循环
a) 基本格式:
while (表达式)
循环体语句;
b) 含义:当表达式为真时,执行循环体;循环的终止条件是当表达式为假时
c) while后面的括号( )不能省
d) 循环体若由多条语句组成,应用{}括起来,且}后面不要加;号
10、用do...while语句实现循环
a) 基本格式:
do
循环体语句;
while(表达式);
b) 含义:switch语句表示范围先执行循环体,然后再判断表达式,若表达式是否为真,则再执行循环体;循环的终止条件是当表达式为假时
c) 与while语句不同,如果do-while后的表达式的值一开始就为假,循环体还是要执行一次。
11、用for语句实现循环
a) 基本格式:
for (表达式1;表达式2;表达式3)
循环体语句;
b) for后面的括号( )不能省。
c) 表达式1:给循环变量设置初值,只执行一次。
d) 表达式2:是循环条件表达式,用来判定是否继续循环。
e) 表达式3:增加或减少循环变量的值,是在执行完循环体后才进行的。
f) 表达式之间用分号分隔。
语句部分称为循环体,当需要执行多条语句时,应用{}括起来,且}后不加;号。
12、break语句:用于提前终止循环
a) 功能:在循环语句和switch语句中,终止并跳出循环体或开关体
b) break不能用于循环语句和switch语句之外的任何其它语句之中。
c) break只能终止并跳出最近一层的结构。
13、continue语句:用于提前结束本次循环
a) 功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断。
b) 仅用于循环语句中
c) 在嵌套循环的情况下,continue语句只对包含它的最内层的循环体语句起作用。
14、一维数组的定义:数据类型符 数组变量名[整型常量表达式];
a) 数组定义时,必须指定数组的大小,数组大小必须是整型常量表达式,不能是变量或变
量表达式
b) 数组定义后,系统将给其分配一定大小的内存单元,其所占内存单元的大小与数组元素的类型和数组的长度有关。
15、一维数组的引用:数组变量名[下标]
a) 下标可以是整型常量、整型变量或整型表达式。C语言规定,只能逐个引用数组元素,不能一次引用整个数组
b) 数组引用要注意越界问题。数组下标的最小值是0,最大值则是数组大小减1 。
16、一维数组的赋值
a) 初始化赋值:
数据类型符 数组变量名[常量表达式]
= {表达式1,表达式2,…,表达式n};
i. “=”后面的表达式列表一定要用{ }括起来,被括起来的表达式列表被称为初值列表,表达式之间用“,”分隔;
ii. 表达式的个数不能超过数组变量的大小;
iii. 如果表达式的个数小于数组的大小,则未指定值的数组元素被赋值为0;
b) 在程序中赋值:除了在定义数组变量时用初值列表对数组整体赋值以外,无法再对数组变量进行整体赋值,只能通过C语句对数组中的数组元素逐一赋值。
17、字符串与字符数组
a) 字符串是一种以“\0”结尾的字符数组
b) 字符数组赋值:在用字符数组来存放某个字符串常量时,如果要指定字符数组的大小,那么其大小至少要比字符串的长度大1(多定义一个单元用于存放'\0')。
c) 字符串的输入函数:
i. gets函数:从键盘输入一以回车结束的字符串放入字符数组中,并自动加'\0'
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论