文档介绍:《高级语言程序设计》期末总复****br/>课程的全部内容可分为五大模块:
基础知识
三种基本结构及流程控制
函数
数据类型
文件
下面按这五大模块分别作回顾
模块一:基础知识部分
需要掌握的知识要点:
(1)冯·诺依曼体系结构的计算机组成:运算器、控制器、存储器、输入设备、输出设备,以及各部分的主要功能。
(2)C语言程序的组成:由一个或多个文件组成,每个文件由一个或多个函数组成,函数是C程序的基本单位,一个程序有且只有一个main( )函数,这是程序的入口函数
(3)从C的源程序到可执行的文件的全过程:编辑、编译、链接最后才能运行,各阶段生成的文件扩展名分别为:.c、.obj、.exe,头文件的扩展名:.h
(4)函数的组成:函数首部和函数体,函数中可有注释行/* …*/
(5)编译预处理有三种:文件包含、宏、条件编译:预处理命令
行都必须以“#”号开始
宏定义#define宏名串也是一种编译预处理,取消宏定义用:#undef宏名 C程序中定义一个符号常量是借助于宏定义实现的,例如: #define NUM 35 注意:不在行末加分号,因为在对源程序编译过程中(不是运行时)进行宏替换时,将宏所代表的字符串原样替换进去,有时加了分号是要出错的,例如: int arr[NUM] 。宏替换因为只在编译时进行,所以不占运行时间,只占编译时间
带参数的宏可以完成一些简单函数的功能,例如:
#define MUL(x,y) x*y
主函数中如果有变量定义如下:int a=2,b=3,c;用形如:c= MUL(a,b);实现求a、b的乘积。但是请大家思考,如果用
c= MUL(a+2,b+5),则变量c的值为?
因此,一般将宏中的参数在所定义的串中打上括号,如:
#define MUL(x,y) (x)*(y)再求c= MUL(a+2,b+5)
(6)C程序中的六种符号:关键字、标识符、运算符、分隔符、其它符号、数据(包括常量和变量)
熟记所有常见关键字,关键字中最多的是流程控制语句中的关键字,如:for、while、do、if、else、switch、case、default、break、continue、goto、return等,还有一大类是变量类型及存储类别的,如:int、short、long、signed、unsigned、char、doubl
e、float、enum、union、struct、typedef、static、register、auto、extern,还有一些如:void 、sizeof 等;
能正确定义标识符(在程序中,符号常量名、变量名、函数名都是用户自定义标识符),自定义标识符的正确与否可从以下几方面判断:①是否以字母或下划线开头;②是否是只有字母、数字、下划线的序列③是否选用了关键字
练****下列哪一个是合法的用户自定义标识符______。
A、_do_while; B、begin?end; C、for; D、1st_run;
掌握所有的运算符及其优先级、结合方向及特殊的运算规则:
34种运算符的优先级关系大致为: [ ]、( )、->、.---à一元运算符---à乘除类算术运算符---à加减类算术运算符---à移位运算符---à有大小关系的关系运算符---à等与不等的关系运算符---à位运算符---à逻辑与---à逻辑或---à条件运算符---à各种赋值运算符---à逗号运算符。
结合方向:一元运算符、条件运算符、赋值运算符三种为自右向左结合,其它均为自左向右结合
能改变变量值的运算符:赋值、++、- -,注意前后++、- -的区别
具有特殊运算规则的运算符:逻辑与&&、逻辑或||、条件运算符,具有断路功能,表达式中的某些部分可能不运算;%运算符要求
两个运算对象均为int型
注意两个运算符的区别:=与= =
表达式运算过程中可能进行类型转换,原则:低类型自动向高类型转换
练****br/>1、表达式a=4,a*5,b=a+3的结果是?
x/=(a=4,b=a*5,b++)+9执行后,变量a、b、x的值分别是多少?表达式的值呢?
2、if (!x) …此处!x相当于x= =0
if (x) …此处x相当于x! =0
常量与变量:
常量是其值不可变化的量,有两种表现形式:字面常量和符号常量,C是定义