c语言实验七

2018-12-19 22:48

C语言实验七

一、实验目的

1.掌握指针变量的定义和引用。 2.掌握指针与变量的程序设计方法 3.掌握指针与数组的程序设计方法 4.掌握指针与字符串的程序设计方法 5.掌握指针与函数的程序设计方法 应用。

二、实验设备

pc、vc 二、实验内容

1.[目的]指针与函数

[题目内容] 使用指针作函数参数,编写用于交换两个参数值的函数。调用该函数用于对从键盘输入的两个整数进行交换。 [输入] x=100,y=200 [输出] x=200,y=100

#include int main() {

void exchange(int *a,int *b); int x,y;

printf(\ scanf(\

printf(\ y=%d\\n\ exchange(&x,&y);

printf(\ y=%d\\n\ return 0; }

void exchange(int *a,int *b) { int t; t=*a; *a=*b; *b=t; }

2.[目的]函数返回指针

[题目内容] 有函数:int *larger(int *a,int *b) {

if(*a>*b) return a; else

return b; }

和主函数:

#include int main() {

int *larger(int *a,int *b); int x=10,y=20; int *p;

p=larger(&x,&y); printf(\return 0 ; }

运行程序,给出运行结果,并说明此程序的功能。

函数功能为输出10与20中较大的一个。

3.[目的]指针综合应用 [题目内容] 假设已有函数: void swap(int *p1,int*p2) {

int temp;

temp=*p1;*p1=*p2;*p2=temp; }

编写程序,输入3个整数,调用swap函数,完成将3个整数按从小到大顺序输出的功能。 [输入] 3个数

[输出] 从小到大顺序输出 #include

void swap(int *p1,int*p2) {

int temp; temp=*p1; *p1=*p2; *p2=temp;

}

int main() {

int a,b,c;

int *p1,*p2,*p3;

printf(\请输入三个数:\\n\ scanf(\ p1=&a; p2=&b; p3=&c;

if(a

printf(\ return 0; }

4.[目的]指针综合应用

[题目内容]一个数组中的15个值已经按升序排列存放,输入一个数,编程查找是否有该数,有显示其所在的位置,没有,显示“No Found”,通过指针实现。 #include int main() {

int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int i=0,num=0,*ptr=a; scanf(\ for(i=0;i<15;i++) {

if(num==*ptr) {

printf(\你输入的在第%d个\\n\ break; }

ptr++; }

if(i==15)printf(\ return 0; }

5、完成程序

要求:依据题目要求,分析已给出的语句,填写空白?但是不要增行或删行,改动程序的结构?

1.以下程序通过指针实现求a数组中各元素的和,请在____________填写正确○

内容。

#include int main()

{ int a[6]={2,4,6,8,10,12}; int s, i,*p ; s=0; p=a;

for (i=0;i<6;i++)

s=s+*(p++); //求各元素的和。 printf(“s=%d\\n”,s); return 0; }

2.下面程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输○

出该字符串。 #include int main()

{ char str[61],*p; int i;

for (i=0;i<60;i++) { str[i]=getchar();

if(str[i]=='\\n') break; }

str[i]='\\0'; p=str; while(*p)

putchar(*p++);//输出p指向单元的内容,并使得p指针指向下一下单元。 return 0; }

3.编写一个程序,实现将任意输入的两个字符串,连接成一个字符串,在子函○

数中实现连接,形参用字符指针变量,在____________填写正确内容。

#include

void mystrcat(char *pa,char *pb) {

while(*pa!='\\0')pa++;//pa指向第一个字符串的尾部 while(*pb!='\\0') {*pa=*pb; pa++;

pb++; }//把pb指向单元的内容 //连接在pa之后,可用一句或多句实现 *pa='\\0'; }

int main()

{ char a[90],b[30]; gets(a); gets(b);

mystrcat(a,b); //调用函数,实现两个字符串的连接。 printf(\链接后的字符串是:%s\\n\ return 0; }


c语言实验七.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《侵权责任法》之医疗事故解读

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: