6.C语言指针练习题.doc

一、知识点

1.? 掌握指针、地址、指针类型、空指针(NULL)等概念;

2.? 掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算、指针变量比较运算和指针表达式;

3.? 掌握指针与数组、函数、字符串等的联系;

4.? 掌握动态空间操作(new,delete);

5.? 掌握引用参数的使用。

二、例题分析与解答

例题1:若有以下定义,则说法错误的是( )。

int a=100,*p=&a ;

A.声明变量p,其中*表示p是一个指针变量

B.变量p经初始化,获得变量a的地址

C.变量p只可以指向一个整形变量

D.变量p的值为100

答案:D

分析:有指针变量定义可知A、C说法是正确的,故不能选。在语句中&p=a,表示指针变量取得变量a地址,B说法也正确,也不能选择。D中不能说变量p的值为100,应该*p的值为100,所以选择D。

?

例题2:若有以下定义,则赋值正确的是( )。

int a ,b , *p;

float c, *q;

A.p=&c B.q=p C.p=NULL D.q=new int

答案:C

分析:指针变量使用规定,不同类型的指针变量不能赋值,也不能取得普通变量地址,故A、B不正确,不能选择。因为q是float类型指针变量,不能申请int 类型地址,D不正确,也不能选择。因为任何类型的指针变量都能取得NULL指针,所以C正确。

?

例题3:如果x是整型变量,则合法的形式是( )。

A.&(x+5)B.*x   C.&*x   D.*&x

答案:D

分析:因为C++语言表达式没有地址,A不正确。C++语言普通变量不能用*运算,因此B和C也不正确。&x表示变量x的地址,*&x是x 地址的值,所以D正确。

例题4:若要建立如下关系,错误的语句组是( )。

?

A. B. C. D.

int *p=&x, x; int x, p=&x; int *p, x=10; int *p, x;

*p=10; *p=10; *p=&x; p=&x ; x=10;

答案:A

分析:在变量类型说明语句中 *表示变量是指针变量,在其他语句中,*称为指针运算,用于访问指针所指向的对象的值,&称为取地址运算,用来得到一个对象的地址。故B、C、D都是正确的,不能选择。A中指针变量p取不到x地址,因为x还没有定义,所以选择A。

?

例题5:若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i<10)。

A.p[i]   B.*(*(a+i))C.a[p-a]D.*(&a[i])

答案:B

分析:指针就变量p取得数组a的首地址,由指针与数组关系知,p[i]表示数组元素第i+1元素值,p[i]=a[i]正确,故A不能选。*(a+i)表示一维数组a第i+1元素值,*(*(a+i)表示对第i+1元素值再取值是错误操作,所以选B。a[p-a]=a[0]正确,故不能选择C。*(&a[i])也正确(见上题),也不能选D。

?

例题6:写出下列程序运行结果是( )。

#include

void main()

{

char ch[3][4]={“AAA”,”BB”,”CCC”},(*q)[4]=ch, *p;

// ch是二维数组, q是指向一维数组指针,并且一维数组每行只有4个字符

//q并取得二维数组ch首地址

int i;

p=new char; //申请地址

*p=’b’; //装入字符b

*(*q+3)=*p;

for(i=0;i<3;i++) cout<

}

A. B. C. D.

AAAbBB AAAb AAA AAA

BB BB bBB BB

CCC CCC CCC CCC

答案:A

分析:二维字符数组初

c语言首尾指针相同 则,6.C语言指针练习题.doc相关推荐

  1. c语言允许用户重复计算,C语言-第3章最简单的C程序设计练习题.doc

    C语言-第3章最简单的C程序设计练习题 第3章 最简单的C程序设计-顺序程序设计 一.单项选择题 1. 不是C语言提供的合法关键字是 . A)switch B)cher C)case D)defaul ...

  2. 怎么样让指针指向尾结点C语言,带头结点头指针与带头结点尾指针的学习

    单循环链表 对于单链表而言,如果每次在遍历到单链表中间处时需要遍历整个链表,此时只能往后遍历,前方的指针便会丢失.如图1所示,此时若链表遍历到a2处依旧可以通过尾结点循环到a1处,这是单链表所不能解决 ...

  3. c语言中的字节和元素,C语言指向数组元素的指针

    指向数组元素的指针和运算法则 所谓指向数组元素的指针,其本质还是变量的指针.因为数组中的每个元素,其实都可以直接看成是一个变量,所以指向数组元素的指针,也就是变量的指针. 指向数组元素的指针不难,但很 ...

  4. char类型怎么输入 c语言_还没搞懂C语言指针?这里有最详细的纯干货讲解(附代码)...

    21ic综合自网络信息 指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方面面的基本知识.所以本文尽可能的通过一篇文章完全讲解指针. 为什么 ...

  5. 【C语言】12-指向一维数组元素的指针

    本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能 ...

  6. c语言指针尚观嵌入式,C语言-指针

    本文目录 •直接引用 •一.什么是指针? •二.指针的定义 •三.指针的初始化 •四.指针运算符 •五.指针的用途举例 •六.关于指针的疑问 指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...

  7. 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )

    文章目录 一.判定指针合法性 二.数组越界 三.不断修改指针变量值 四.函数中将栈内存数组返回 五.函数间接赋值形参操作 六.指针取值与自增操作 一.判定指针合法性 判定指针合法性时 , 必须进行如下 ...

  8. 【C++ 语言】引用 ( 引用简介 | 指针常量 | 常量指针 | 常引用 | 引用参数 | 引用 指针 对比 )

    文章目录 I . 引用概念 II . 引用声明 III . 引用 地址 内存 分析 IV . 常引用 V . 引用作为参数 VI . 引用 与 指针 对比 I . 引用概念 C++ 对 C 扩充 : ...

  9. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

最新文章

  1. 怎么在S4 HANA中使用40位物料编码
  2. 逆向分析使用COM组件对象模型的代码
  3. 文思海辉口碑很差_文思海辉·金融打造全自动、100%话务覆盖的智能质检系统
  4. 斯坦福python中文分词stanza
  5. 【Java并发编程】并发之痛 Thread,Goroutine,Actor
  6. 托马斯反驳牛顿被骂,普朗克颜值过高遭上帝捉弄,狄拉克却因爱情成话痨
  7. 【原创】linux 下远程连接windows桌面
  8. 麦克劳林展开式_数学家麦克劳林与牛顿的故事
  9. 安卓升级鸿蒙,网友实测从安卓升级到鸿蒙2.0:可用内存和机身存储容量都增加了...
  10. linux 创建内核线程
  11. 苹果“造车梦”要碎?造车项目前负责人跳槽到福特汽车
  12. 微信内测新功能:公众号们脖子一凉...
  13. Java中Math对象的属性与方法
  14. 20155337 《网络对抗》 Exp2 后门原理与实践
  15. 6自由度串联机器人D-H建模方法
  16. Excel中Match()函数使用方法
  17. Gym - 101964E -Fishermen(二分+差分求前缀和)
  18. 【一坨理论AC的题】Orz sxy大佬
  19. 室内光缆与室外电力光缆特点简介
  20. Activity:工作流引擎

热门文章

  1. 以下代码有什么问题(struct构造问题)
  2. exit()和_exit()函数
  3. Docker 镜像之存储管理
  4. Linux文本处理三剑客之awk
  5. 关于list.extend(iterable)
  6. 微软职位内部推荐-Senior Development Lead – Sharepoint
  7. 自由自在休闲食品引领时尚潮流
  8. SAP:2019年会有多么不一样?
  9. 入门SAP PP的学习流程
  10. ABAP动态生成内表的三种方法