第8章 第42练 指针的概念《编程语言基础-C语言》(高教版第5版)一课一练

2026-05-08
| 2份
| 5页
| 26人阅读
| 0人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础-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值赋值给指针变量,表示该指针变量不指向任何有效的内存空间。( ) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第8章 第42练 指针的概念《编程语言基础-C语言》(高教版第5版)一课一练
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。