南邮《高级语言程序设计》期末总复习及模块一

2020-05-05 13:59

《高级语言程序设计》期末总复习

课程的全部内容可分为五大模块: (1) 基础知识

(2) 三种基本结构及流程控制 (3) 函数 (4) 数据类型 (5) 文件

下面按这五大模块分别作回顾

模块一:基础知识部分

需要掌握的知识要点:

(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、double、float、enum、union、struct、typedef、static、

register、auto、extern,还有一些如:void 、sizeof 等; 能正确定义标识符(在程序中,符号常量名、变量名、函数名都是用户自定义标识符),自定义标识符的正确与否可从以下几方面判断:①是否以字母或下划线开头;②是否是只有字母、数字、下划线的序列③是否选用了关键字

练习:下列哪一个是合法的用户自定义标识符______。 A、_do_while; B、begin?end; C、for; D、1st_run;

掌握所有的运算符及其优先级、结合方向及特殊的运算规则: 34种运算符的优先级关系大致为: [ ]、( )、->、.---?一元运算符---?乘除类算术运算符---?加减类算术运算符---?移位运算符---?有大小关系的关系运算符---?等与不等的关系运算符---?位运算符---?逻辑与---?逻辑或---?条件运算符---?各种赋值运算符---?逗号运算符。

结合方向:一元运算符、条件运算符、赋值运算符三种为自右向左结合,其它均为自左向右结合

能改变变量值的运算符:赋值、++、- -,注意前后++、- -的区别

具有特殊运算规则的运算符:逻辑与&&、逻辑或||、条件运算符,具有断路功能,表达式中的某些部分可能不运算;%运算符要求两个运算对象均为int型

注意两个运算符的区别:=与= =

表达式运算过程中可能进行类型转换,原则:低类型自动向高类型转换 练习:

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是定义符号常量只有一种方法:#define 常量名 串 C中的字面常量有五种:整型常量、实型常量、字符常量、字符串常量、枚举常量(不作要求)

整型常量有三种合法制式:十、八(如012)、十六(如oxa3),另外还可以有 L(l)、U(u)作后缀,分别表示长整型及无符号常量

实型常量有两种表示形式:小数形式、指数形式,注意:小数形式要求一定要有小数点,小数点前面或后面的数字可以缺省;指数形式一定要有E(e),并且在其左边一定是合法的整数或小数形式的实数,右边必须是合法的整数。

字符常量是以一对单‘’括起的单个字符(‘\\191’错),需要特

别注意的是以右\\开头的转义字符的三种形式:‘\\n’、‘\\121’、‘\\xa5’,记住’A’、’a’、‘0’、‘\\n’的ASCII码分别为:65、97、48、10,字符常量的大小就是其ASCII码值的大小 小写转大写:ch=ch-32;大写转小写:ch=ch+32;

字符串常量是以一对双“括起的0个或多个字符,需要特别注意字符串的长度与字符串所占的字节数之间相差1 练习:

1、字符串\的长度是______,占____字节。 2、char c=’m’;c=c-35;putchar(c);的输出结果是____ 3、下列哪一个不是合法的常量

A、027 B、2.5e2.5 C、 0xfdaL D、10.e+0

变量:在程序运行过程中其值可变的量,需要先定义后使用。 每一个变量都具有:变量名、变量的当前值、变量的地址、变量的存储属性,指针变量中存的是地址,其余变量中存放的是值。 在所有函数之外定义的变量称为全局变量,其作用域为定义点开始到程序结束(去掉含同名局部量的作用区域);在函数内部定义的变量称为局部变量(形式参数也是局部变量),局部变量分auto(默认)和static两种,前者是在函数被调用时分配空间,每次函数执行完毕后将不再存在,但是static型的局部变量在


南邮《高级语言程序设计》期末总复习及模块一.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:JIRA用户指南

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: