《C语言程序设计II》期末复习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计II》期末复习

一、复习内容:

⏹第1~4讲指针

●指针的概念:内存单元的排列方式、地址的概念、不同数据类型内存单元的

个数、存储方式不同,两种变量的存取方式,指针即是地址,NULL;

●指针变量:概念和定义方法(空悬指针、空类型与空指针),指针的两个特殊

运算符(*与&),指针变量作为函数参数(通过函数调用得到n个要改变的

值);

●指针运算:指针与整数的运算、++(--)、比较、相减;

●指针与一维数组:对数组名的理解,指针与一维数组(指向数组元素的指针、

引用数组元素时的指针运算、通过指针引用数组元素的几种方法、用数组名作函数参数);

●指针与二维数组:理解二维数组中行指针、列指针的类型,加减1所移动的

字节数,如何利用它们访问二维数组元素,用作函数参数参数时在主调函数中如何给出实参。

●通过指针引用字符串:字符串的引用方式,字符指针作函数参数,使用字符

指针变量和字符数组的比较;

●指向函数的指针:什么是函数指针,怎样定义和使用指向函数的指针变量,

用指向函数的指针作函数参数;

●返回指针值的函数:函数的返回值是一个地址,定义格式,使用;

●指针数组和多重指针:什么是指针数组,指向指针数组的指针,指针数组作

main函数的形参;

●动态内存分配:动态内存分配的概念、必要性,与动态内存分配相关的4个

函数,动态数组的建立;

●有关指针的小结:指针、指向、指针变量,void *类型与NULL的比较,指

针与数组的关系,各类指针类型的比较,指针的几类运算;

●结构体指针:什么是结构体指针,用结构体指针访问成员的简便写法,指向

结构体数组的指针,结构体变量与结构体指针作函数参数;

●用指针处理链表:什么是链表,建立静态链表,建立动态链表,输出链表。

(理解链表的概念,本次考试不包含这一部分内容)。

⏹第5讲位运算和预处理指令

●位运算与位运算符:位运算概念,6种基本的位运算符(&、|、^、~、<<、>>),

&和^运算符的一些用法,位运算的复合赋值运算符;

●位段:问题的提出,位段的概念与定义,位段的使用,注意事项;(这一部

分内容不考)

●预处理:概念,主要工作,功能类型,书写要求;

●宏定义:不带参数的宏定义,带参数的宏定义;

●“文件包含”处理:格式,作用,带<>与””的差别;

●条件编译:概念,好处,几种基本格式。

(理解条件编译的概念,本次考试不包含这一部分内容)。

⏹第6~8讲文件操作与综合案例

●C文件的有关基本知识:文件的概念与组成,文件的分类,读文件与写文件,

缓冲文件系统,文件类型指针;

●文件的打开与关闭:文件打开与关闭的含义,文件打开的多种方式,打开文

件出错时处理,fopen()、fclose()的使用;

●顺序读写数据文件:顺序读写的概念,文件操作的主要步骤,fputc()与

fgetc()、 fputs()与fgets()、 fprintf()与fscanf()、 fread()与fwrite()的使用,文件是否结束的判断(EOF和feof());

●随机读写数据文件:文件读写位置指针,文件定位函数(rewind()、fseek()

和ftell())的用法;

●文件读写出错检测函数 (ferror()和clearerr())的用法;(这一部分内容

不考)

●综合案例:设计与实现的基本思路

二、考核的知识点:

●考核的主要知识点:指针、结构体、位运算、预处理、文件操作、综合案例●涉及的知识点:程序结构、表达式、程序控制结构、数给、字符串、函数等

三、样题

单选题:

1、变量的指针,其含义是该变量的【】

A)值B)地址C)名D)一个标志

2、下面程序段的运行结果是【】

char *s=”abcde”;

s+=2; p rintf(“%d”,s);

A)cde B)字符’c’C)字符’c’的地址D)无确定的输出结果是

3、现有定义:int (*p)[4];下列关于标识符中,正确的是【】

A)定义不合法B) 是一个指向整型变量的指针

C) 是一个指针,它指向一个函数,该函数的形参、返回值均为int类型

D)是一个指针变量,该变量指向由4个int型元素组成的一维数组

4、数字9与14进行“位异或”运算(即9^14)的结果是【】

A) 9 B) 15 C) 7 D) 8

填空题

1、设变量a的二进制数是11010010,若想通过运算a^b使结果中高四位是a对应位取反、低四位不变,则b的二进制数应是___________。

2、能使用两字节变量x的低8位全置1、高8位不变的表达式是___________。

3、一个函数的原型是void func(int),现要求定义一个函数指针p指向该函数,那么p的正确定义格式是____________ _______。

写出下列程序的运行结果

#include

int main()

{

int i, a[10] ;

int *p;

p = a;

for (i=0 ; i<10 ; i++ )

scanf ("%d" , p++ );

for (p=a; p

if((*p)%3==0)

printf ("%3d",*p);

return 0;

}

运行时假定键盘输入数据为:1 3 5 7 9 11 13 1517 21

则程序运行后的输出结果是

程序填空

以下程序的功能是:将一个已经存在的文本文件内容复制到一个目标文件中,即进行文本文件拷贝。

#include

#include

int main()

{

FILE *in, *out;

相关文档
最新文档