- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言指针题库
第五章 指针
一、选择题
1. 以下程序的输出结果是 。
#include stdio.h
void main( )
{
char a[10]={1,2,3,4,5,6,7,8,9,0},*p;
int i;
i=8;
p=a+i;
printf (%s\n,p-3);
}
A)6 B)'6' C)6789 D)789
答案:C
2. 若有语句:char *line[5];,以下叙述中正确的是______。
A)定义line是一个指针数组,每个数组元素是一个基类型为char的指针变量
B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C)定义line是一个指针数组,语句中的*号称为间址运算符
D)定义line是一个指向字符型函数的指针设有定义:int n1=0,n2,*p=n2,*q=n1;,以下赋值语句中与n2=n1;语句等价的是
A)*p=*q; B)p=q; C)*p=n1; D)p=*q;若有定义:int x=0, *p=x;,则语句printf(%d\n,*p);的输出结果是______。
A)随机值 B)0 C)x的地址 D)p的地址有以下程序
#includestdio.h
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a[3], *q=p+2;
printf(%d\n, *p + *q);
}程序运行后的输出结果是______。
A)16 B)10 C)8 D)6有以下程序
#includestdio.h
void main()
{
int a[3][3],*p,i;
p=a[0][0];
for(i=0;i9;i++) p[i]=i;
for(i=0;i3;i++) printf(%d,a[1][i]);
}程序运行后的输出结果是______。
A)012 B)123 C)234 D)345以下语句或语句组中,能正确进行字符串赋值的是______。
A)char *sp;*sp=right!; B)char s[10];s=right!;C)char s[10];*s=right!; D)char *sp=right!;
设有以下语句:struct st {int n; struct st *next;};
static struct st a[3]={5,a[1],7,a[2],9,\0},*p;
p=a[0];
则表达式的值是6。 A)p ++ -n B) p-n ++ C) (*p).n ++ D) ++ p-n
答案:D
9.以下程序的输出结果是#include stdio.h
struct HAR
{
int x, y;
struct HAR *p;
} h[2];
void main()
{
h[0].x=1;h[0].y=2;
h[1].x=3;h[1].y=4;
h[0].p=h[1];h[1].p=h;
printf(%d%d \n,(h[0].p)-x,(h[1].p)-y);
}
A) 12 B) 23 C) 14 D) 32答案:D
10.有以下程序#include stdio.h
struct STU
{
char num[10];
float score[3];
};
void main()
{
struct STU s[3]={{20021,90,95,85},
{20022,95,80,75},
{20023,100,95,90}
},*p=s;
int i;
float sum=0;
for(i=0;i3;i++)
sum=sum+p-score[i];
printf(%6.2f\n,sum);
}
程序运行后的输出结果是A) 260.00 B) 270.00 C) 280.00 D) 285.00
答案:B
11. 有以下程序#include stdio.h
#include malloc.h
struct NODE
{
int num;
struct NODE *next;
};
void main()
{
struct NODE *p,*q,*r;
p=(struct NODE*)malloc(sizeof(struct NODE));
q=(struct NODE*)malloc(sizeof(struct NODE));
r=(struct NODE*)malloc(sizeof(struct NODE));
p-num=10; q-num=2
文档评论(0)