内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础-C语言》(高教版第5版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础-C语言》(高教版第5版)一课一练的第8章的第42练,内容涵盖第8章 指针的8.1指针的概念。
《编程语言基础-C语言》(高教版第5版)第42练
第8章 指针
8.1 指针的概念(解析版)
一、单项选择题(本题共5小题)
1、在C语言中,变量的指针是指( )
A. 变量的值
B. 变量的类型
C. 变量的地址
D. 变量的名称
【答案】C
【解析】指针就是内存地址,而变量的指针是指该变量在内存中的地址。
2、若已有定义 int a = 10, *p;,则使p指向变量a的正确语句是( )
A. p = a;
B. p = &a;
C. *p = a;
D. p = *a;
【答案】B
【解析】指针变量用于存放地址。&是取地址运算符,用于获取变量的内存地址。
3、以下关于指针变量占用的内存大小的说法,正确的是( )
A. 不同类型的指针变量所占用的存储单元长度相同
B. int类型的指针占2个字节
C. char类型的指针占1个字节
D. double类型的指针占8个字节
【答案】A
【解析】指针变量就是存储地址的变量,而地址的大小只取决于目标平台,与指针所指向的数据类型无关。
4、以下程序段中,*p的值是( )
int a = 5, b = 8, *p;
p = &a;
*p = 10;
p = &b;
A. 5
B. 8
C. 10
D. 不确定
【答案】B
【解析】指针变量p先指向a,通过*p = 10将a修改为10。随后p = &b使p指向b,此时*p是b的值8。指针变量在不同时刻可以指向不同的变量。
5、以下关于指针变量的说法,正确的是( )
A. 指针变量定义后,若不初始化,其值为NULL
B. 指针变量只能指向同类型的数据
C. 指针变量中只能存放地址,不能存放数值
D. 指针变量的值可以是任意整数
【答案】B
【解析】指针变量定义时必须指定类型,只能指向同类型的变量。
二、判断题(本题共5小题)
1、指针变量中存放的是另一个变量的地址,因此指针变量也称为地址变量。( )
【答案】√
【解析】指针变量就是存放地址的变量,因此也称为地址变量。
2、通过指针变量间接访问它所指向的变量,需要使用间接访问运算符*。( )
【答案】√
【解析】*称为指针运算符(或间接访问运算符),用于获取指针所指向地址中存放的数据。
3、不同类型的指针变量,其长度是不同的。( )
【答案】×
【解析】指针存储的是地址,而地址的大小只与操作系统位数有关(32位下4字节,64位下8字节),与指针指向的数据类型无关。
4、以下代码可以正确将整型变量x的值输出。( )
int x = 10, *p;
p = &x;
printf("%d", p);
【答案】×
【解析】p中存放的是x的地址,直接输出p会输出地址值(十六进制形式)。要输出变量x的值,应使用printf("%d", *p);。*p才是指针指向的内存中存储的数据。
5、可以将一个NULL值赋值给指针变量,表示该指针变量不指向任何有效的内存空间。( )
【答案】√
【解析】NULL是C语言中定义的宏,其值为0,通常用于指针初始化。将指针赋值为NULL,表示该指针不指向任何有效的内存地址,这在程序中常用来检查指针是否有效。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础-C语言》(高教版第5版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础-C语言》(高教版第5版)一课一练的第8章的第42练,内容涵盖第8章 指针的8.1指针的概念。
《编程语言基础-C语言》(高教版第5版)第42练
第8章 指针
8.1 指针的概念(原卷版)
一、单项选择题(本题共5小题)
1、在C语言中,变量的指针是指( )
A. 变量的值
B. 变量的类型
C. 变量的地址
D. 变量的名称
2、若已有定义 int a = 10, *p;,则使p指向变量a的正确语句是( )
A. p = a;
B. p = &a;
C. *p = a;
D. p = *a;
3、以下关于指针变量占用的内存大小的说法,正确的是( )
A. 不同类型的指针变量所占用的存储单元长度相同
B. int类型的指针占2个字节
C. char类型的指针占1个字节
D. double类型的指针占8个字节
4、以下程序段中,*p的值是( )
int a = 5, b = 8, *p;
p = &a;
*p = 10;
p = &b;
A. 5
B. 8
C. 10
D. 不确定
5、以下关于指针变量的说法,正确的是( )
A. 指针变量定义后,若不初始化,其值为NULL
B. 指针变量只能指向同类型的数据
C. 指针变量中只能存放地址,不能存放数值
D. 指针变量的值可以是任意整数
二、判断题(本题共5小题)
1、指针变量中存放的是另一个变量的地址,因此指针变量也称为地址变量。( )
2、通过指针变量间接访问它所指向的变量,需要使用间接访问运算符*。( )
3、不同类型的指针变量,其长度是不同的。( )
4、以下代码可以正确将整型变量x的值输出。( )
int x = 10, *p;
p = &x;
printf("%d", p);
5、可以将一个NULL值赋值给指针变量,表示该指针变量不指向任何有效的内存空间。( )
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$