《高级语言程序设计》复习提纲。
2015级计科、软工)
三、注意。题量比较大,少数位置有陷阱,认真复习,考试时抓紧时间,注意细节。
四、常用算法。
求和。求阶乘。
求一元二次方程的根。
输出图形(如星号*组成的菱形,杨辉三角形等)
整数逆序。大小写字母互换。
简单的递归。
交换排序、选择排序。
五、各章知识点。
1、c语言程序设计概述。
掌握c程序的构成,基本书写形式,例如:每条语句以分号结束。
掌握c程序的编写和实现过程,以及各阶段生成的文件。(编辑。c、编译。obj、连接。exe、运行)
掌握标识符的命名规则:字母或下划线开头的,字母、数字、下划线的组合。
2、c语言的基本数据类型与表达式。
掌握基本的数据类型(主要是int、float、double、char)及其占用的字节数。
掌握基本类型的常量(主要是数值常量、 0x35和字符常量’d’、’t’、#define)的说明方式。
理解变量的定义、左值和右值、定义和声明的区别。
字符数据和整型数据的计算。
运算符的优先级和结合性。
掌握常用的运算符,如算术、关系、逻辑、赋值、条件、逗号运算符之间的优先关系,以及各表达式的值(特别是赋值表达式)
掌握自增自减运算符(++的前缀形式和后缀形式的运算规则。
理解逻辑表达式的操作数和值。
类型转换(强制类型转换、自动类型转换)
例如:int a=123; 则a/100的值为( )a/10%10的值为( )
例如:赋值语句的类型转换:int a=23.6;则a的值为23
例如:表示10>a>3的表达式为( )
例:x=0与x==0的区别。
、顺序结构、选择结构、循环结构程序设计。
顺序结构:c语言中常用输入输出函数的用法(getchar、putchar、gets、puts、scanf、printf) (
选择结构。if语句:三种形式,嵌套,复合语句(块语句)
switch语句:形式、语义、表达式的类型要求、技巧、语句中的break。
循环结构。while循环、do-while循环和指定次数的循环(for循环)的形式和使用,执行流程,以及区别。
循环结束条件。
循环控制变量的使用。
指定次数循环的提前结束方法(break,continue)。
多重循环(两层)例如:交换和选择排序算法。
6、函数与编译预处理。
c程序由函数驱动,主函数、普通函数、主调函数、被调函数等概念及其关系。
c程序的执行,从main函数开始,到main函数结束,main函数位置任意。
函数的定义、调用、声明(原型)的写法;return语句的作用,以及函数的返回类型。
函数参数的形式(形式参数与实际参数)和传递方式(传值、传地址)。
理解函数调用机制。
理解函数间数据联系的渠道(参数、返回值、全局变量)
掌握简单问题的递归函数的写法(递归出口、递归体)
作用域与生命期。
作用域(局部变量和全局变量)、可见性、::运算符的用法、支配(覆盖)规则。
生命期(动态、局部、静态)和存储类别(自动、静态、寄存器,外部)
理解静态局部变量、静态全局变量。
预处理命令都以#开头。
7、数组。一维数组的概念,定义、引用和初始化方式。
二维数组的概念,存放次序,定义、引用和初始化方式。
数组名是数组分配到的连续空间的首地址,并且是地址常量。在函数中,用数组名作函数参数实现地址传递。(此时,形参形为数组,实为指针)
下标表示数组元素在数组中的位置,即从首地址出发的偏移量,从0开始;下标运算符的用法。
字符数组的定义和赋值、输入输出、字符串结束标志(‘\0’)、理解字符串处理函数(strcat,strlen,strcpy,strcmp)的用法及写法 (
例如:char s1[80],s2[80]=”abc”; 则strcpy(s1,s2)和strcmp(s1,s2)的作用,strlen(s1)与sizeof(s1)的区别。
8、指针。间接访问运算符*、取地址运算符&的用法。
指针的定义和赋值(建立指针),指针的基类型和大小,间接访问。
例如:int n,*m; 则m=&n的作用是( )
指针作函数参数(传地址)与普通参数传递的不同。要会区分不同的情况(是传地址还是传值),及对实参的影响。例如,什么时候会修改实参的值,什么时候不会。理解交换函数的写法及含义。
指针与数组:
指向数组元素的指针:定义、访问数组元素及其指针移动。
int a[10],*p=&a[3]; 则*p++的作用是( )
指向一维数组的指针(数组指针):定义、赋值、使用,区别于指针数组。
int a[3][4];/注意理解*(a+i)+j和*(*a+i)+j)的含义。
int (*p1)[4]=a; /p1是数组指针。
int *p2[4];/p2是指针数组。
指针与字符串:
指向字符串的指针实为指向字符串中的第一个字符。
char *p=”hello!”;p指向’h’
printf(”%c”,*p);/输出h
printf(”%s”,p);/输出hello!
指针与函数:
函数指针:定义、赋值、调用。
int max(int,int);
int (*p)(int,int); 定义。
p=max赋值。
c=(*p)(a,b调用。
指向指针的指针:多级指针(二级以上)
int a=5,*p1=&a,**p2=&p1;
例如:int a, *p1,**p2,*p3[4],(p4)[4]; p1=&a; p2=&p1;则p1、p2、p3、p4的含义是( )p1、p2的内容是()。
例:char ch1[ ]xyz123”, p = ch1; 要输出字符’1’,有ch1[3]、*ch1+3)、 p+3)、p[3]多种方式。
9、结构体数据类型与链表。
结构体类型声明,struct,末尾有分号,不分配空间。
struct student
int number;
char name[20];
结构体变量定义,分配空间。
struct student s=;
结构体变量中的成员访问(三种方式,用到成员运算符 . 和->)
struct student s=,*p=&s;
和p->number都可以访问变量s的number成员。
typedef的用法。
链表(不考)
10、共用体。
11、文件。
六、复习重点。
1. c语言中基本数据类型有哪些?
2. 变量所分配的内存空间大小由变量的___决定。
3. 程序设计的三种基本结构分别是什么?
4. 使用语句scanf函数接收键盘输入时,注意必须把格式控制字符串中普通字符原样输入。
5. 复合赋值语句的用法,如:int n=2,a=2; a/=a*=5*n+n*n; a=?
6. if语句中注意else与if的配对原则,注意条件判断的真假值:数值转化为逻辑值——非0即真只有0为假;逻辑值转化为数值:
真为1假为0;逻辑非:非真即假、非假即真。如:
if(a%8)、if(!a)、if(2<=a<8)、if(a=2)的含义是什么?
7. switch语句的用法:从某个case入口进去开始执行其冒号后的**,直到遇到break语句为止。
8. do-while语句构成的循环能否用其他语句构成的循环来代替?
9. 在c语言中break和continue的作用分别是什么?
10. 函数返回值的类型是由函数的___类型决定。
11. 全局变量、局部变量、静态变量的作用域,函数的运行机制:局部变量在本函数内起作用,并覆盖同名的全局变量。
注意区分同名变量是局部变量还是全局变量——若在局部没有变量定义就是全局变量。
12. 指针变量可以使用一个整型数赋值吗?
13. 若有语句char *c[5];该语句定义了一个指针___它有5个元素,可以指向5个___
14. 在c语言中,字符串常量代表字符串的首地址,数组名代表数组的___函数名代表函数的___
15. 二维数组一般用二重循环采用行优先进行访问二维数组元素:先对行下标进行循环再对列下标进行循环;但也可以按列优先访问二维数组元素:即先对列下标进行循环再对行下标进行循环。
16. 排序算法(交换法)、数组作为函数参数,参见p203-p205。
17. 通过二维数组的列指针引用二维数组元素,即用一级指针指向二维数组元素的用法,参见p300倒数第9行至p301第4行。
注意理解通过二维数组的行指针和列指针引用二维数组元素的区别:
—(1)定义指针变量不同:前者是二级指针,后者是一级指针;
—(3)引用二维数组元素的表达形式不同:前者是二级指针的引用,后者是一级指针的引用。
高级语言程序设计复习提纲
高级语言程序设计a 复习提纲。认真复习教师上课所讲授内容,下面列举出一些最基本的概念和最基本的题型。一 最基本概念。1c 语言合法的标识符如何定义?如class,x y等是否是标识符。2调试环境下常用的快捷键有哪些?3常见字符的ascii码值。4全局变量和局部变量的含义。5数组所占空间怎么计算?如i...
高级语言程序设计复习提纲
1 掌握c语言程序基本结构及要素,能写出完整程序。理解oj系统中的单测试用例及多测试用例,单测试用例输入数据的时候用标准scanf语句即可,多测试用例用while scanf d n eof 类似的循环语句,可连续输入测试数据。2 掌握基本的数据输入输出及处理办法,掌握基本数据类型int,float...
《高级语言程序设计 VB 》复习提纲
第一章 visual basic程序设计概述。1.vb程序设计的主要特点是 面向对象的可视化设计和事件驱动编程机制。2.vb集成开发环境。例1 1 在vb编程状态下,双击窗体中的对象后将显示的窗口是。a 项目 工程 窗口 b 工具箱c 窗口d 属性窗口。例1 2 在设计阶段,要选定窗体上的多个控件,...