C语言试验六试验汇报——指针

C语言试验六试验汇报——指针 一、 试验项目名称指针二、 试验目得1.掌握指针得基础概念和基础使用方法包含:变量得地址和变量得值,指针变量得说明、指针变量得初始化、指针得内容和定义格式、指针得基础运算等;2.掌握数组和指针得关系并能够利用指针处理数组得相关问题;3掌握字符串和指针得关系并能够利用指针处理字符串得问题;4掌握指针和函数得关系并能够利用指针处理函数问题;5.了解指向指针得指针得概念及其使用方法;6能够使用指针进行程序设计 三、 试验内容相关指针得程序设计1编程实现:任意输入得10个数,求其平均值 要求: (1)10个数采取scanf语句读入 (2)利用指针实现对这10个数得访问 (3)要求平均值得精度为小数后面2位编程实现:将一个任意整数插入到一个已排序得整数数组中,插入后数组中得数依然保持有序. 要求: (1)整数数组由初始化方法输入任意整数由scanf函数输入;(2)实现过程采取指针处理;(3)输出原始数组数据和插入数据后得数组数据并加以对应说明编写函数newcopy(char*new,char*old),它得功效就是删除old所指向得字符串中得小写字母,并将所得到得新串存入new中。
要求: (1)在主函数中以初始化方法输入一个字符串;(2)调用newcopy()函数;(3)在主函数中输出处理后得结果.4编程实现:输入三个整数,按由大到小得次序输出 要求: (1)经过scanf函数输入三个数据并存入三个变量中;(2)利用指针实现从大到小输出;(3)修改程序,将三个整型数据改为字符型数据,输入三个字符,按从大到小数次序输出;(4)修改程序,将三个字符型数据改为字符串数据,输入三个字符串,按从小到大次序输出;(5)体会指针对不一样数据处理得特点. 四、 试验步骤及结果一、#include)dlo*((fiﻩ(*ﻩ ;dlo*=)j+1wenﻩﻩﻩ++j;}/*排除原字符串中得小写字母,将其她字符存入新字符串*/ *(new1+j)='\0";/*结束新字符串,不然新字符串得输出会故障*/} 四、#include<stdio、h>voidmain() { ;)3q*tni,2q*tni,1q*tni(egnahcxediovﻩinta,b,c,*q1,*q2,*q3; ;)"n\:数个入输请”(ftnirpﻩ;)c&,b&,a&,"d%,d%,d%”(fnacsﻩ/*中3q2q1q入存址地得数个三将*/;c&=3q;b&=2q;a&=1qﻩ/*数函序排用调*/;)3q,2q,1q(egnahcxeﻩprintf("3个数从大到小排列为:\n%d,%d,%d",a,b,c);}voidexchange(int*q1,int*q2,int*q3){ /*数函换交用调*/;)2q*tni,1q*sdiovﻩ)2q*〈1q*(fiﻩ/*置位址地换交,2q*于小1q*若*/;)sﻩﻩif(*q1〈*q3) ;)sﻩif(*q2<*q3) ;)sﻩ}voids*q1,int*q2)/*交换函数*/{ intn; n=*q1;*;2q*=1qﻩ*;n=2qﻩ} 修改程序,将三个整型数据改为字符型数据,输入三个字符,按从大到小数次序输出:只需将程序中得全部int改为char,将%d改为%c即可。
修改程序,将三个字符型数据改为字符串数据,输入三个字符串,按从小到大次序输出: #include #include<conio、h> intcmp(char*p1,char*p2)/*字符串比较函数*/{ inti=0; ))i+2p(*==)i+1p(*(elihwﻩ,’0\"==)i+1p(*断判先是就里这*/;0nruter)’0\"==)++i+1p(*(fiﻩ然后再就是i++*/ return(*(p1+i)—*(p2+i));}voidsort(char*a[3])/*排序函数*/ { char*temp; ;j,itniﻩ /*序排择选*/)++i;1-3)]j[a,]i[a(pmc(fiﻩﻩﻩﻩ{;]i[a=pmetﻩ ﻩﻩa[i]=a[j]; ﻩ a[j]=temp;} }voidmain() { ;itniﻩchars[3][81],*p[3];/*设定每个字符串不超出字节*/ ;)"n\:串符字个3入输请"(ftnirpﻩﻩ )++i;3
对于指针得使用,最主要得就是搞清楚函数指针、数组指针和字符串指针得概念,不能混乱起来 函数指针变量指向一个函数,然后经过该指针变量调用此函数函数指针中,函数名代表该函数得入口地址.函数指针只能指向函数得入口而不能指向函数中得某一条指令处,所以不能用*(p+1)表示函数得下一条指令 数组元素得指针就就是数组元素得地址.C语言中要求数组名代表数组中首元素得地址,因此p=&a[0]和p=a等价p+i,a+i就就是a[i]得地址,或指向数组得第i个元素p+i)或*(a+i)就是p+i或a+i所指向得数组元素,即a[i]指向数组得指针变量能够带有下标,如p[i]和*(p+i)等价.字符串指针实际上就是把字符串得第一个字符赋给指针变量指针变量只能指向一个字符变量或其她字符型数据,不能同时指向多个字符数据。