教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

6.C语言指针练习题(4)

来源:网络收集 时间:2026-02-06
导读: srand(time(NULL)); //产生一个时间 for(i=0;i *(*(a+i)+j)=rand()0 ; //产生一个随机数 cout for(i=0;i cout cout } zc(a,5); //调用转置矩阵函数 cout cout cout } } void zc(int b[][5],int n) {int i,j; int (*

srand(time(NULL)); //产生一个时间 for(i=0;i<5;i++) for(j=0;j<5;j++)

*(*(a+i)+j)=rand()0 ; //产生一个随机数

cout<<\自动生成矩阵为:\\n\

for(i=0;i<5;i++) //输出自动生成的二维数组 {for(j=0;j<5;j++)

cout<<'\\t'<<*(*(a+i)+j);

cout< }

zc(a,5); //调用转置矩阵函数 cout<<\转置矩阵为:\\n\ for(i=0;i<5;i++) {for(j=0;j<5;j++)

cout<<'\\t'<<*(*(c+i)+j);

cout< } }

void zc(int b[][5],int n) {int i,j; int (*p)[5]; p=c;

for(i=0;i<5;i++) for(j=0;j<5;j++)

*(*(p+i)+j)=*(*(b+j)+i); // 转置 }

三、习题及参考答案

1.选择题:

(1)如果x是整型变量,则合法的形式是( )。

A.&(x+5)

B.*x

C.&*x 答案:D

(2)若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )确引用(其中0≤i<10)。

A.p[i] B.*(*(a+i))

C.a[p-a]

答案:B

(3)以下程序的输出结果是( )。

#include

D.*&x

不是对a数组元素的正

D.*(&a[i])

void main()

{ int a[3]={10,15,20}; // a[0]=10,a[1]=15,a[2]=20 int *p1=a,*p2=&a[1]; // p1取a[0]地址,p2取a[1]地址 *p1=*(p2-1)+5; // a[0]=15,a[1]=15,a[2]=20 *(p1+1)=*p1-5; // a[0]=15,a[1]=10,a[2]=20 cout< } A.5

答案:B 分析:见程序注释

(4)执行以下程序段后,m的值为 ( )。

int a[2][3]={{1,2,3},{4,5,6}}; int m,*p=&a[0][0]; m=(*p)*(*(p+2))*(*(p+4)); A.15

答案:A

分析:C++语言,二维数组的存储方式在计算机中仍然是按一维数组存储,并按行优先,即是

先存储第 一行元素,接着存储第二行元素。语句p=&a[0][0]表示指针变量p取得二维数组第一个元素p[0][0]地址,注意不用语句p=a取二维数组首地址(同学考虑为什么?),*p、*(p+2)、*(p+4)的值分别为1、3、5,所以m=15。

(5)以下程序的输出结果是( )。

#include

void fun(int x,int y,int *cp,int *dp)

B.14

C.13

D.12

B.10

C.15

D.20

6.C语言指针练习题(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/521220.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)