77范文网 - 专业文章范例文档资料分享平台

C语言 数组和指针练习题(3)

来源:网络收集 时间:2018-12-06 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

C、a[1]+3 D、a[0][0]

162、若有定义:int (*p)[3];,则以下叙述正确的是_c___

A、p是一个指针数组名

B、p是一个指针,它可以指向一个一维数组中的任意元素

C、p是一个指针,它可以指向一个含有3个整型元素的一维数组 D、(*p)[3]等价于*p[3]

163、若有以下定义和语句,则对m数组元素地址的正确引用是_d___

int m[2][3], (*p)[3]; p=m;

A、p[2] B、p[0]+1 C、*(p+2) D、(p+1)+2

164、若有定义:int x[5], *p=x;,则不能代表x数组首地址的是___c_

A、x B、&x[0] C、&x D、p

165、若有以下定义和语句,则对a数组元素的正确引用是__a__

int a[2][3], (*p)[3]; p=a;

A、(p+1)[0] B、*(*(p+2)+1) C、*(p[1]+1) D、p[1]+2

166、若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是__d__

A、i=x[1][1] B、i=*(*(x+1)) C、i=*(*(x+1)+1) D、i=*(x[1]+1)

167、若有以下定义和赋值语句,且0≤i≤1,0≤j≤2,则以下对s数组元素地址的正确引用形式是___c_

int s[2][3]={0}, (*p)[3], i, j; p=s;

A、(*(p+i))[j] B、*(p[i]+j) C、*(p+i)+j D、(p+i)+j

168、设用以下程序段建立了sp与str的关系,则以下对字符串的引用不正确的是_a___

char str[4][8]={\; int n;

for (n=0; n<4; n++) sp[n]=str[n]; A、sp B、*sp C、sp[0] D、*(sp+1)

169、若有定义:int x[10], *p=x;,则*(p+5)表示_b___

A、数组元素x[5]的地址 B、数组元素x[5]的值 C、数组元素x[6]的地址 D、数组元素x[6]的值

170、若有定义语句:int s[4][6], t[6][4], (*p)[6];,则以下正确的赋值语句是___b_

A、p=t; B、p=s; C、p=s[2]; D、p=t[3];

171、若要对变量a进行--运算,则a应具有的说明是_d___

A、int p[3]; int *a=p; B、int k; int *a=&k; C、char *a[3];

D、int b[10]; int *a=b+1;

172、若有定义语句:int x[5]={0, 1, 2, 3, 4}, *p;,则以下数值不为2的表达式是_

c___

A、p=x+1, ++(*p) B、p=x+2, *p++ C、p=x+1, *(p++) D、p=x+1, *++p 173、执行以下程序段后,y的值是__c__

int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x)

{ y+=*(ptr+x); x++; } A、1 B、2 C、4 D、24

174、执行以下程序段后,m的值是____

int a[2][3]={{1, 2, 3}, {4, 5, 6}}; int m, *ptr; ptr=&a[0][0];

m=(*ptr)*(*ptr+2)*(*ptr+4); A、15 B、48 C、24 D、无定值

175、设有以下定义:char *ch[2]={\;,则以下正确的叙述是_c___

A、数组ch的两个元素中分别存放了字符串\和\的首地址

B、数组ch的两个元素分别存放的是含有3个字符的一维字符数组的首地址 C、ch是指针变量,它指向含有两个数组元素的字符型一维数组 D、数组ch的两个元素的值分别是\和\176、下面程序的运行结果是____

main( )

{ int x[5]={1, 2, 3, 4, 5}, *p=x, **q; q=&p;

printf(\; printf(\; }

A、1, 1 B、1, 2 C、2, 2 D、2, 3

177、下面程序的运行结果是____

#include \

fun(int **a, int p[2][3]) { **a=p[1][1]; } main( )

{ int x[2][3]={2, 4, 6, 8, 10, 12}, *p; p=(int *)malloc(sizeof(int)); fun(&p, x);

printf(\; }

A、2 B、6 C、8 D、10

179、若有说明:char *pc[ ]={\;,则以下叙述正确的是____

A、*pc[0]代表的是字符串\B、*pc[0]代表的是字符'a' C、pc[0]代表的是字符串\D、pc[0]代表的是字符'a'

180、以下程序的运行结果是____

void sub(int x, int y, int *z) { *z=y-x; } main( )

{ int a, b, c; sub(10, 15, &a); sub(6, a, &b); sub(a, b, &c);

printf(\; }

A、5, 1, 6 B、-5, -11, -6 C、-5, 11, 6 D、5, -1, -6

181、设有变量定义和函数调用语句:int a=20; print_value(&a);,下面函数的输出结果是____

void print_value(int *x)

{ printf(\; } A、20 B、21 C、变量a的地址 D、随机值

182、语句int (*ptr)( );的含义是____

A、ptr是指向一维数组的指针变量 B、ptr是指向int 型数据的指针变量

C、ptr是指向函数的指针,该函数返回一个int 型数据

D、ptr是一个函数名,该函数的返回值是指向int 型数据的指针

183、 若有函数max (a ,b) ,并且已使函数指针变量p 指向函数 max ,则利用函数指针

调用 max 函数的正确形式是____

A、(*p ) max (a , b) B、*p max(a, b) C、p-> max (a, b) D、 ( *p ) (a, b ) 184、若有定义:int (*p)( );,则指针p___

A、代表函数的返回值 B、指向函数的入口地址 C、表示函数的类型 D、表示函数返回值的类型

185、下面程序的运行结果是____

main( )

{ int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=b;

printf(\; }

A、1 B、2 C、3 D、4 187、下面程序的运行结果是____

#include #include main()

{ int a[3][3]={{2},{4},{6}}; int k,*q=&a[0][0]; for(k=0;k<2;k++) { if(k= =0)

a[k][k+1]=*q+1; else ++q;

printf(“%d”,*q); } }

A、26 B、23 C、36 D、33 188、下面程序的运行结果是____

void prt(int *a)

{printf(“%d\\n”,++*a);} main()

{ int b=25; prt(&b); }

A、26 B、24 C、25 D、23 189、下面程序的运行结果是____

main( )

{ int a[3][4]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23}; int (*q)[4]=a, i, j, n=0; for (i=0; i<3; i++) for (j=0; j<2; j++) n=n+*(*(q+1)+j); printf(\; }

A、68 B、99 C、60 D、108 190、下面程序的运行结果是____

#include #include main()

{ char a=\; a++; b++;

printf(\; }

A、零 B、正数 C、负数 D、无确定值

191、若运行以下程序时,从键盘上输入OPEN THE DOOR<回车>,则程序的运行结果是____

#include char f(char *ch)

{ if(*ch<='Z'&&*ch>='A')

*ch-='A'-'a'; return *ch; } main()

{ char s1[81],*q=s1; gets(s1); while(*q) { *q=f(q); putchar(*q); q++; }

putchar('\\n'); }

A、oPEN tHE dOOR B、OPEN THE DOOR C、open the door D、Open The Door

192、下列程序的运行结果是____

#include

void f (float *q1, float *q2, float *a) { a=(float *)calloc(1, sizeof(float));

*a=*q1+*(q2++); }

main()

{ float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a; f(a, b, s);

printf(\; }

A、1.100000 B、11.100000 C、12.100000 D、21.100000 193、下列程序的运行结果是____

#include #include void f (char *s, int n) { char a,*q1,*q2;

q1=s; q2=s+n-1; while (q1

{ a=*q1++; *q1=*q2--; *q2=a; } }

main()

{ char b[ ]=”ABCDEFG”; f(b, strlen(b) ); puts(b); }

A、GAGGAGA B、AGAAGAG C、GFEDCBA D、AGADAGA

194、以下程序的运行结果是____

main ( )

{ char *q =\;

printf (\; }

A、Is , Is i B、Is , Is it C、Is It , Is it D、Is it , Is

195、下面程序的功能是从输入的十个字符串中找出最长的那个串。请选择正确内容填空。

# include # include # define N 10 main ( )

{ char str[N][81], *sp; int i ;

for (i=0 ; i

gets ( str[i] );

sp=__①__;

for ( i=1 ; i

if ( strlen (sp )

sp=__②__;

printf (\; }

① A、str[i] B、&str[i][0]

C、str[0] D、str[N] ② A、str[i] B、str[i][0]

C、str D、str[N]

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言 数组和指针练习题(3)在线全文阅读。

C语言 数组和指针练习题(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/346192.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: