C语言程序设计习题6.doc

C语言程序设计习题6.doc

ID:53381627

大小:56.50 KB

页数:12页

时间:2020-04-03

C语言程序设计习题6.doc_第1页
C语言程序设计习题6.doc_第2页
C语言程序设计习题6.doc_第3页
C语言程序设计习题6.doc_第4页
C语言程序设计习题6.doc_第5页
资源描述:

《C语言程序设计习题6.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、习题6参考解答1.请解释以下术语的含义:地址指针指针变量直接访问间接访问解:(1)地址:内存单元的编号叫做地址。(2)指针:内存单元的编号叫做地址,通常也叫做指针。(3)指针变量:在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。(4)直接访问:通过变量名称引用变量内存单元的方式称为直接访问。(5)间接访问:利用了指针变量,通过变量的指针(即变量的内存地址)来引用内存单元的值,这种方式称为间接访问。2.指针能参与哪几种运算?举例说明。解:(1)指针变量和整数可以进行加/减运算:p++、p--、p+i、

2、p-i、p+=i、p-=i(2)指针变量可进行赋值运算:p=&a;变量a的地址赋给p,即指针p指向ap=array;数组array首地址赋给pp=&array[i];数组元素array[i]的地址赋给pp=max;函数max的入口地址赋给pp1=p2;指针p2的值赋给指针p1,即p1、p2所指的数据相同(3)同类指针变量在一定的条件下可以作相减运算:p-q(4)同类指针变量在一定的条件下可以作比较运算:pintmain(){

3、char*p;p="DATA";printf("%s",*p);return0;}解:该程序错。应为:printf("%s",p);(2)#includeintmain(){int*p;*p=25;printf("%d",*p);return0;}解:该程序错。指针变量没有赋初值。4.输入3个整数,输出其中最大数。要求用指针变量实现。解:#include"stdio.h"intmain(){inta=0,b=0,c=0;int*aa=NULL,*bb=NULL,*cc=NULL,*p=

4、NULL;aa=&a,bb=&b,cc=&c;printf("input3number:");scanf("%d%d%d",&a,&b,&c);printf("a=%db=%dc=%d",a,b,c);p=aa;if(*p<*bb)p=bb;if(*p<*cc)p=cc;printf("%d",*p);return0;}程序运行情况如下:input3number:459↙a=4b=5c=995.有3个整型变量i,j,k。请编写一个程序,设置3个指针变量p1,p2,p3,分别指向i,j,k,然后通过指针变

5、量使i,j,k3个变量的值顺序交换,即原来i的值赋给j,把j的原值赋给k,把k的原值赋给i。i,j,k的原值由键盘输入,要求输出i,j,k的原值和新值。解:#includeintmain(){inti,j,k,tmp;int*p1,*p2,*p3;scanf("%d%d%d",&i,&j,&k);printf("Beforechange:%dt%dt%d",i,j,k);p1=&i;p2=&j;p3=&k;tmp=*p3;*p3=*p2;*p2=*p1;*p1=tmp;printf("

6、Afterchange:%dt%dt%d",i,j,k);return0;}程序运行情况如下:123↙Beforechange:123Afterchange:3126.输入一个10个元素的一维数组,在主函数中用scanf函数输入。用指针方式编程找出最大和最小数,并指出最大数和最小数的位置。解:inty_max(int*p,intn){intmax=*p,i,k=0;for(i=0;i

7、得要在这里更新一下max的记录*/}}returnk;}#defineN10#includeintmain(){inta[N];inti,m,max;for(i=0;i

8、统计其中所包含的数字字符和字母字符个数。解:#include#include#include#defineN80intcnum=0,dnum=0;/*全局变量用于在两个函数之间传递数据*/intmain(){charch[N];voidcount(charc);inti,n;gets(ch);n=strlen(ch);for(i=0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。