C语言程序设计课堂练习题7-9章-学生用2.doc

C语言程序设计课堂练习题7-9章-学生用2.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C语言程序设计课堂练习题

第7章指针

一、选择题

1.已知p是一个整型指针变量,且p指向的是整型变量a的地址,则下列哪个语句是错误的?()

A.*p=a;B.p=a;C.p=*p;D.p=*p;

2.下列哪一项是不正确的字符串赋值或不正确的赋初值的方式?()

A.char*str;str=“string“;B.charstr[7]={’s’,’t’,’r’,’i’,’n’,’g’};

C.charstr1[10];str1=“string“;D.charstr1[]=“string“,*str2=”1234567”;

3.对于类型相同的指针变量,不能进行()运算。

A.+B.-C.=D.==

4.已知p是一个整型指针变量,a为一个一维整型数组,且p=a;则下列哪个语句是错误的?()

A.*p=a[0];B.*p=*a;C.p=a+1;D.p=*a;

5.若有以下说明语句,则p2-p1的值为()

inta[10],*p1,*p2;

p1=a;

p2=a[5];

A.5B.6C.10D.没有指针与指针的减法

6.下列定义中不正确的是()

A.int*p;B.intp[10];C.int(*p)()D.int*(p(n));

7.以下程序的输出结果是()

main(){

inta[]={1,2,3,4,5,6},*p;

p=a;

printf(“%d,%d\n”,*p,*(p+4));

}

A.0,5B.1,5C.0,6D.1,6

8.若有以下说明和语句,且0=i10,则下面哪个不是对数组元素地址的正确表示()。

inta[]={1,2,3,4,5,6,7,8,9,10},*p,i;

p=a;

A.(a+1)B.a++C.pD.p[i]

二、写出程序的输出结果

1.main(){

inta=10,b=20,s,t,m,*pa,*pb;

pa=a;

pb=b;

s=*pa+*pb;

t=*pa-*pb;

m=*pa**pb;

printf“s=%d\nt=%d\nm=%d\n“,s,t,m);

}

2.

main(){

inta[][3]={9,7,5,3,1,2,4,6,8};

inti,j,s1=0,s2=0;

for(i=0;i3;i++)

for(j=0;j3;j++)

{if(i==j)s1=s1+a[i][j];

if(i+j==2)s2=s2+a[i][j];

}

printf(“%d\n%d\n”,s1,s2);

}

3.

main(){

inta[5]={1,3,5,7,9},*p,**k;

p=a;k=p;

printf(“%d”,*(p+2));

printf(“%d”,**k);

}

4.

main(){

inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int(*p)[4],i=2,j=2;

p=a;

printf(“%d”,*(*(p+i)+j)+*((a+i)+j)+**(p+i)+**p);

}

三、填空

在空格地方填上语句,以实现字符串复制的功能。

main(){

char*ps=“Clanguage“;

charstr[15];

char*p1,*p2;

p1=ps;

p2=str;

while(*p1!=’\0’)

{

(1)

(2)

(3)

}

*p2=’\0’;

printf(“ps=%s\n”,ps);

printf(“str=%s\n”,str);

}

2.下面程序完成从键盘输入两个字符串a和b,再将a和b的对应位置字符中的较大者存放在数组c中,填空完成该程序。

main(){

intk=0;

chara[80],b[80],c[80]={‘\0’},*p,*q;

p=a;q=b;

gets(a);

gets(b);

while((1))

{if((2))c[k]=*p;

elsec[k]=*q;

p++;

(3)

k++;

}

if(*p!=0)strcat(c,p);

elsestrcat(c,q);

puts(c);

}

3.完成下面程序,以实现单词的输出功能。

main(){

char*s[]={“man”,”woman”,”girl

文档评论(0)

wuanbds001 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档