下面都是指针定义的例子:
float *pf; //定义了一个指向float型变量的指针pf
char *pc; //定义了一个指向char型变量的指针pc
char (*pch)[10]; //定义了一个指向10个char元素组成的数组的指针pch
int (*pi)(); //定义了一个返回值为int型的函数的指针pi
double **pd; //定义了一个指向指针的指针pd,被指向的指针指向
//一个double型变量
在定义指针变量时要注意两点:
(1)变量名前面的"*",表示该变量为指针变量,但"*"不是变量名的一部分。
(2)一个指针变量只能指向同一个类型的变量。如前面定义的pf 只能指向浮点变量,不能时而指向一个浮点变量,时而又指向一个字符变量。
在定义了一个指针后,系统会为指针分配内存单元。各种类型的指针被分配的内存单元上大小是相同的,因为每个指针都存放的是内存地址的值,所需要的存储空间当然相同。
下面通过实例说明指针的含义:
int n = 100;
int *p = &n;
这里首先定义了一个int型变量n,并初始化为100,然后定义了一个指针变量p,它指向该int 型变量。变量n的地址是通过取地址运算"&"得到的,并赋给指针变量p。也就是说,&n就表示int型变量n的地址,并把它作为p的初值。这样,p就成了指向变量n的指针
2005上半年二级(C语言程序设计)考试大纲
公共基础知识
基本要求
1.掌握算法的基本概念
2.掌握基本数据结构及其操作
3.掌握基本排序和查找算法
4.掌握逐步求精的结构化程序设计方法
5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力
6.掌握数据的基本知识,了解关系数据库的设计
考试内容
一、 基本数据结构与算法
1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算
5.线性单链表、双向链表与循环链表的结构及其基本运算
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)
二、 程序设计基础
1.程序设计方法与风格
2.结构化程序设计
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性
三、 软件工程基础
1.软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书
3.结构化设计方法,总体设计与详细设计
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试
5.程序的调试,静态调试与动态调试
四、 数据库设计基础
1.数据库的基本概念:数据库,数据库管理系统,数据库系统
2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略
考试方式
1、公共基础的考试方式为笔试,与C语言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的笔试部分合为一张试卷 公共基础部分占全卷的30分
2、公共基础知识有10道选择题和5道填空题
C语言程序设计基本要求(1999年09考次以后新大纲)
1.熟悉TURBO C集成环境
2.熟练掌握结构化程序设计的方法,具有良好的程序设计风格
3.掌握程序设计中简单的数据结构和算法
4.TURBO C的集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力
(一)C语言的结构
1 程序的构成,main函数和其他函数
2 头文件、数据说明、函数的开始和结束标志
3 源程序的书写格式
4 C语言的风格
(二)数据类型及其运算
1 C的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法
2 C运算符的种类、运算优先级和结合性
3 不同类型数据间的转换与运算
4 C表达式类型(赋值表达、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则
(三)基本语句
1 表达式语句,空语句,复合语句
2 数据的输入与输出,输入输出函数的调用
3 复合语句
4 goto语句和语句标号的使用
(四)选择结构程序设计
1 用if语句实现选择结构
2 用switch语句实现多分支选择结构
3 选择结构的嵌套
(五)循环结构程序设计
1 for循环结构
2 while和dowhile循环结构
3 continue语句和break语句
4 循环的嵌套
(六)数组定义和引用
1 一维数组和多维数组的定义、初始化和引用
2 字符串与字符数组
(七)函数
1 库函数的正确调用
2 函数的定义方法
3 函数的类型和返回值
4 形式参数与实在参数,参数值的传递
5 函数的正确调用,嵌套调用,递归调用
6 局部变量和全局变量
7 变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期
8 内部函数与外部函数
(八)编译预处理
1 宏定义:不带参数的宏定义;带参数的宏定义
2 “文件包含”处理
(九)指针
1 指针与指针变量的概念,指针与地址运算符
2 变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量 通过指针引用以上各类型数据
3 用指针作函数参数
4 返回指针值的指针函数
5 指针数组,指向指针的指针,main函数的命令行参数
(十)结构体(即“结构”)与共用体(即“联合”)
1 结构体和共用体类型数据的定义方法和引用方法
2 用指针和结构体构成链表,单向链表的建立、输出、删除与插入
(十一)位运算
1 位运算符的含义及使用
2 简单的位运算
(十二)文件操作
1 文件类型指针(FILE类型指针)
2 文件的打开与关闭(fopen,fclose)
3 文件的读写(fputc,fgetc,fputs,fread,fwrite,fprintf,fscanf函数),文件的定位(rewind,fseek函数)