程序设计基础复习知识点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计基础》复习知识点
知识点:
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
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)含义:先执行循环体,然后再判断表达式,若表达式是否为真,则再执行循环体;