C语言程序设计第8章_指针
- 格式:ppt
- 大小:760.00 KB
- 文档页数:109


高等教育自学考试
C语言程序设计(二)
课程代号(05772)
同步练习题
班级
学号
姓名
二O 一六 年 三 月
目录
第一章 C语言概述
第二章 基本数据类型
第三章 控制结构
第四章 运算符和表达式
第五章 函数
第六章 数组
第七章 字符与字符串
第八章 变量类别与编译预处
第九章 指针
第十章 结构体、共用体和枚举类型
第十一章 文件
1
第一章 C语言概述
一、单项选择题
1. 在计算机上可以直接运行的程序是( )。
A.高级语言程序 B.汇编语言程序
C.机器语言程序 D.C语言程序
2. 一个C语言程序是由( )
A.若干函数组成 B.若干过程组成
C.若干主程序组成 D.若干子程序组成
3. C语言不具有的特点是( )
A.具有结构化的控制语句
B.数据类型丰富
C.语法限制不太严格,程序设计自由度大
D.在可移植性上,C语言比其他语言差
4. 以下叙述不正确的是( )
A.一个C语言程序可由一个或多个函数组成
B.一个C语言程序必须包含一个主函数
C.C语言程序的基本组成单位是函数
D.在C语言程序中,注释说明只能位于一条语句的后面
5. 以下叙述正确的是( )
A.C语言比其他语言高级
B.C语言可以不用编译就能被计算机识别和执行
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D.C语言出现的最晚,所以具有其他语言的一切优点
二、填空
1. 计算机语言的发展经过了 、 和 等阶段。
2. C语言既适合编写 ,也适合编写应用软件。
标准答案
一、单项选择题
CADDC
二、填空
1. 机器语言,汇编语言,高级语言
c语言程序设计教程(第二版)王敬华
C语言程序设计教程(第二版)是王敬华教授所著的一本关于C语言编程的教材。这本书以其系统性、实用性和易于理解的特点,受到了广大计算机专业学生和编程爱好者的欢迎。以下是对这本书的详细介绍。
第一章:C语言概述
本章主要介绍了C语言的发展历程、特点以及与其他编程语言的比较。C语言以其高效性、灵活性和广泛的应用领域而著称。此外,本章还介绍了C语言的基本语法结构和程序的编译、链接过程。
第二章:数据类型、运算符和表达式
在这一章中,详细讲解了C语言中的基本数据类型,包括整型、浮点型、字符型等。同时,也介绍了各种运算符,如算术运算符、关系运算符、逻辑运算符等,以及它们在表达式中的使用。
第三章:控制语句
控制语句是程序流程控制的核心。本章详细介绍了C语言中的三种基本控制结构:顺序结构、选择结构(if语句和switch语句)和循环结构(for、while和do-while循环)。
第四章:数组
数组是C语言中一种重要的数据结构,用于存储具有相同类型的多个数据项。本章讲解了一维数组和二维数组的定义、初始化以及数组的基本操作。
第五章:函数
函数是模块化编程的基础。本章介绍了函数的定义、声明、调用以及参数传递。同时,也讲解了函数的返回值、作用域和递归调用等概念。
第六章:指针
指针是C语言中一个非常强大的特性。本章详细讲解了指针的概念、指针的声明、指针与数组的关系以及指针在函数中的应用。
第七章:结构体和联合体
结构体和联合体是C语言中用于创建复杂数据类型的工具。本章介绍了如何定义和使用结构体和联合体,以及它们在实际编程中的应用。
第八章:预处理器
预处理器是C语言编译过程中的一个特殊部分,用于处理源代码中的宏定义、文件包含等。本章介绍了预处理器的基本概念和使用方法。
第九章:文件操作
文件操作是程序与外部数据交互的重要方式。本章讲解了C语言中的文件打开、关闭、读写以及文件指针的概念。
第8章 善于利用指针
指針是什么
如果在程序中定义了一个变量,在对程序进行编译时,系统
就会给该变量分配内存单元
内存区的每一个字节有一个编号,这就是“地址”,它相当于
旅馆中的房间号。
在地址所标识的内存单元中存放数据,这相当于旅馆房间中
居住的旅客一样。
由于通过地址能找到所需的变量单元,我们可以说,地址指
向该变量单元。
将地址形象化地称为“指针”
务必弄清楚存储单元的地址和存储单元的内容这两个概念的
区别
指针变量
2 怎样定义指针变量
定义指针变量的一般形式为:
类 型 * 指针变量名;
如:int *pointer_1, *pointer_2; • int是为指针变量指定的“基类型”
• 基类型指定指针变量可指向的变量类型
• 如pointer_1可以指向整型变量,但不能指向浮点型变量
2 怎样定义指针变量
下面都是合法的定义和初始化:
float *pointer_3; char *pointer_4; int a,b; int *pointer_1=&a,*pointer_2=&b;
3 怎样引用指针变量 在引用指针变量时,可能有三种情况:
• 给指针变量赋值。如:p=&a;
• 引用指针变量指向的变量。如有
p=&a; *p=1; 则执行printf(“%d”,*p); 将输出1
• 引用指针变量的值。如:printf(“%o”,p);
3 怎样引用指针变量
要熟练掌握两个有关的运算符:
(1) & 取地址运算符。 &a是变量a的地址
(2) * 指针运算符(“间接访问”运算符)
如果: p指向变量a,则*p就代表a。
k=*p; (把a的值赋给k)
*p=1; (把1赋给a)
4 指针变量作为函数参数
通过指针引用数组
1 数组元素的指针
所谓数组元素的指针就是数组元素的地址
可以用一个指针变量指向一个数组元素
int a[10]={1,3,5,7,9,11,13,15,17,19}; int *p; p=&a[0];
1 [试题分类]:C语言程序设计
1. 下列关于C语言中main函数位置的叙述中,正确的是
A. 必须在程序的最后
B. 必须在程序的开始处
C. 可以在程序中的任意位置
D. 必须在系统调用的库函数后面
答案:C
题型:单选题
知识点:第2章 C语言概述
难度:1
2. 下列选项中,不能作为C语言标识符是
A. _x
B. int
C. a_1
D. ab1exe
答案:B
题型:单选题
知识点:第2章 C语言概述
难度:1
3. 若有定义“int i; float f; double d;”,则表达式“10+d+i*f”的数据类型为
A. int
B. float
C. double
D. 不确定
答案:C
题型:单选题
知识点:第3章 数据类型与运算规则
难度:1
2 4. 判断char型变量c是否为小写字母的正确表达式为
A. 'a'<=c<='z'
B. (c>=a)&&(c<=z)
C. ('a'>=c)('z'<=c)
D. (c>='a')&&(c<='z')
答案:D
题型:单选题
知识点:第3章 数据类型与运算规则
难度:1
5. 若有定义“int x=11;”,则表达式“(x++*1/3) ”的值是
A. 12
B. 11
C. 4
D. 3
答案:D
题型:单选题
知识点:第3章 数据类型与运算规则
难度:2
6. 若有定义“int a=1,b=2,c=3,d=4;”,则表达式“a
A. 1
B. 2
C. 3
D. 4
答案:A
题型:单选题
知识点:第3章 数据类型与运算规则
难度:2
7. 若有定义“int a=1, b=0, c=0, x=35;”,则执行下列程序段后,变量x的值是 3 if(!a) x--; else if(b);
if(c) x=3; else x=4;
A. 3
B. 4
C. 34
D. 35
答案:B
题型:单选题