C语言实验程序、总结 实验七 指针大全

时间:2019-05-12 13:41:54下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言实验程序、总结 实验七 指针大全》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言实验程序、总结 实验七 指针大全》。

第一篇:C语言实验程序、总结 实验七 指针大全

一 实验目的

实验七 指针 了解指针的概念,学会定义和使用指针变量。2 掌握指针、变量和数组的关系及使用方法。3 学会使用指向函数的指针变量。

二 实验内容 编写函数fun(float *sn,int n),其功能是:根据以下公式计算s,计算结果通过形参sn传回;n通过实参传入,n的值大于等于0。上机运行并记录输入输出(主函数已给出)。

s11111 3572n1fun(float *sn,int n){ 定义变量:和s,通项w,符号f,循环控制变量i; /* 其中s、f要初始化 */ 循环求累加和s { 改变符号;/* 由负变正或由正变负 */ 求通项w;累加:s+=w;} 形参指针变量sn赋值;/* 通过形参sn传回累加和s */ } main(){ float s;int n;printf(“n=”);scanf(“%d”,&n);fun(&s,n);printf(“s=%fn”,s);}

完整程序如下:

#include void fun(float *sn,int n){ float s=0.0,w,f=-1.0;int i=0;for(i=0;i<=n;i++);{ f=(-1)*f;w=f/(2*i+1);s+=w;} *sn =s;} main(){ float s;int n;printf(“n=”);scanf(“%d”,&n);fun(&s,n);printf(“s=%fn”,s);}

输出结果如下图: 想使指针变量pt1指向a和b中的大者,pt2指向小者,以下程序能否实现此目的? swap(int *p1,int *p2){ int *p;p=p1;p1=p2;p2=p } main(){ int a,b;int *pt1,*pt2;scanf(“%d,%d”,&a,&b);pt1=&a;pt2=&b;if(a

上机调试此程序。如果不能实现题目要求,指出原因并修改之。

子函数swap改成下面程序方可实现目的,主函数不变: swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;} 下面的程序用来实现将一个3×3的矩阵转置。#include void tranf(int(*p)[3]){ int t,i,j;for(i=0;i<3;i++)for(j=0;j

程序修改如下: #include void tranf(int(*p)[N]){ int t,i,j;for(i=0;i<3;i++)for(j=0;j char *strc(char *s1,char *s2){ char *p=s1;while(*s2!='')*p++=*s2++;return s1;} main(){ char s1[30]=“computer ok!”,s2[]=“language”,*pt;pt=strc(s1,s2);printf(“%sn”,pt);/* 第10行 */ } 将程序第10行中的%s改成%c,应该怎样修改?(只允许修改第10行)

应改为: printf(“%cn”,*pt++);

实验总结:本次实验主要掌握指针的概念,学会定义和使用指针变量,掌握指针、变量和数组的关系及使用方法,学会使用指向函数的指针变量,通过本次实验,很好的了解了指针的使用,加深了对指针的认识。

第二篇:C语言程序设计实验七:函数、数组、指针

C语言程序设计实验七:函数、数组、指针

1、程序运行后,用户任意输入一个字符串,求出字符串长度,然后输出字符串内容及个 数。不能使用strlen函数。

求字符串长度函数的函数原型必须如下:

int MyStrLenPt(char *str)

若输入:nihao123!

则输出:nihao123!:9 chars2、编写一个对一维数组进行排序的程序。

要求:

写两个函数,一个主函数,一个sort函数。在主函数中完成数组的输入和输出,通过调 用sort函数对数组进行排序。

sort函数的原型为:voidsort(int*p, intn);

说明:

(1)请大家按学号来坐,便于考勤和管理。

(2)请珍惜宝贵的实验时间!不要做与实验无关的事情,比如聊QQ、上网或打游戏。

(3)直接把C语言代码粘贴到相应的实验题目下方,上交实验报告时只交word文档。

(4)文档名称:班级+学号后2位+姓名+实验编号,例如11电1班12张山实验七.doc。

第三篇:C语言程序设计实验十指针

C语言程序设计实验十——指针

【实验1】

实验题目:

1、下列代码片段哪里有错误?

char var1,ptr1;

var1 = „x‟;

ptr1 = &var1;

2、设有如下定义:

Double var1, *ptr1, *ptr2;

Float* ptr3;

Int var2, *var4;

那么,var1, *ptr1, ptr2,*ptr2,ptr3,* ptr3,var2, var4,*var4个属于哪种数据类型?

3、下列代码片段在哪里有错误?

Char c = ‟ A ‟;

Char * p;

p = c;或*p=‟A‟;

4、下列代码片段的输出结果是什么?

charvar1 = „ S „;

charvar2 = „ X ‟;

char*ptr1, *ptr2;

ptr1 = &var1;

ptr2 = &var2;

*ptr2 = *ptr1;

printf(“%ct%cn”, *ptr1, var2);

【实验2】

实验题目:输入3个整数,按由小到大的顺序输出。

【实验3】

实验题目:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

实验要求:写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。

【实验4】输入年和天数,输出对应的年、月、日。

例如:输入2000和61,输出2000-3-1。

要求:都用指针实现。

第四篇:C语言实验七[范文模版]

实验7 函数程序设计

一、实验目的

1、掌握函数定义的方法。

2、掌握函数实参与形参的传递方式。

3、掌握函数的嵌套调用和递归调用的方法。

4、了解全局变量和局部变量、动态变量、静态变量的概念和使用方法。

二、实验内容 1.改错题

(1)下列sub函数的功能为:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。纠正程序中存在的错误,以实现其功能。程序以文件名sy7_1.c保存。#include #include void sub(char s[],char t[]){

int i,d;

d=strlen(s);

for(i=1;i

t[i]=s[d-1-i];

for(i=0;i

t[2*d]=’’;} main(){ char s[100],t[100];printf(“Please enter string s:”);scanf(“%s”,s);sub(s,t);printf(“nThe result is:%sn”,t);}(2)下列程序的功能为:将字符数组中的字符串逆序输出。纠正程序中存在的错误,以实现其功能。程序以文件名sy7_2.c保存。#include #include #define ARR_SIZE=80;void Inverse(char str[])main(){

char a[ARR_SIZE];printf(“Please enter a string:”);gets(a);Inverse(char a[]);printf(“The inversed string is :”);puts(a);} void Inverse(char str[]){

int len,i=0,j;

char temp;

len=strlen(str);

for(j=len-1;i

{

temp=str[i];

str[j]=str[i];

str[j]=temp;

} }

(3)下列程序的功能为:求整数n的阶乘。纠正程序中存在的错误,以实现其功能。程序以文件名sy7_3.c保存。#include int fun(int n){

static int p=1;

p=p*n;

return p;} void main(){

int n,i;

int f=0;

printf(“input member:”);

scanf(“%d”,&n);

for(i=1;i<=n;i++)

f=f*fun(i);printf(“%d!=%dn”,n,f);}

2.程序填空题

(1)下列sum()函数的功能是:计算数组x前n个元素之和。在主函数中,输入10个任意整数和下标i1、i2的值(设1<=i1<=i2<=9),调用sum()函数计算从第i1元素到第i2元素的和,并输出结果。补充完善程序,以实现其功能。程序以文件名sy7_4.c保存。#include int sum(int x[],int n){

int i,s=0;

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

s=____________;

return s;} void main(){

int i,i1,i2,result;

int x[10];

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

scanf(“%d”,&x[i]);

scanf(“%d%d”,&i1,&i2);

result=sum(x+i1,___________);printf(“Sum=%dn”,result);}

(2)以下程序的功能是:输入一个字符数小于100的字符串string,然后将string所保存字符串中的每个字符之间加一个空格。补充完善程序,以实现其功能。程序以文件名sy7_5.c保存。

#include ______________________ #define MAX 100 void Insert(char s[]);main(){

char string[MAX];

scanf(“%s”,string);

Insert(_______________);

printf(“%s”,string);} void Insert(char srcStr[]){

char strTemp[MAX];

int i=0,j=0;

strcpy(strTemp,srcStr);

while(________________________)

{

srcStr[i]=strTemp[j];

i++;

_______________________

srcStr[i]=’ ‘;

i++;

}

srcStr[i]=’’;}(3)下列程序的功能为:输出如下图所示的图形。补充完善程序,以实现其功能。程序以文件名sy7_6.c保存。#include void a(int i){

int j,k;

for(j=1;j<=30-i;j++)printf(“%c”,’ ‘);

for(k=1;k<=_________;k++)printf(_____________);

printf(“n”);} void main(){

int i;

for(i=1;i<=7;i++)____________;

for(i=6;i>=1;i--)_____________;}

222

33333

4444444

555555555

66666666666

7777777777777

66666666666

555555555

4444444

33333

222

3.编程题

(1)从键盘输入10个数,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。程序以文件名sy7_7.c保存。

(2)编写一函数,判断一字符串是否为回文。所谓“回文”是指顺读和倒读都一样的字符串,如“deed”和“level”是回文。在主函数中对输入的5个字符串统计其中回文的个数。程序以文件名sy7_8.c保存。

(3)编写一函数,实现将一个十进制转换成二进制数。程序以文件名sy7_9.c保存。

第五篇:C语言结构体与指针实验

实验一 C语言结构体与指针

一、实验内容

1)学生信息的显示,具体要求如下: 定义一个结构体描述学生信息(学号,姓名,性别,年龄,住址); 设计一个函数,用于显示单个学生信息,函数的参数为前面定义的结构体类型; 设计一个主函数,在主函数中输入学生的信息,并调用前面定义的函数进行显示(学生人数不少于5人)。

2)输入若干个整数作为数组元素值,然后按输入时顺序的就地逆置排序,最后打印出逆置后的元素值。要求用指针和动态内存分配方法实现。例如 输入:10 2 30 4 5,逆置后显示为:5 4 30 2 10。

二、代码

1)#include

struct Student { int studentID;char name[20];char sex[2];//m=male f=female int age;char address[50];};

void showTheDetail(struct Student s){ printf(“%dn”,s.studentID);printf(“%sn”,s.name);printf(“%sn”,s.sex);printf(“%dn”,s.age);printf(“%snn”,s.address);}

void main(){ int i;struct Student student[5];for(i=0;i<5;i++){

printf(“student%dn”,i);

scanf(“%d”,&student[i].studentID);

}

scanf(“%s”,&student[i].name);scanf(“%s”,&student[i].sex);scanf(“%d”,&student[i].age);scanf(“%s”,&student[i].address);} for(i=0;i<5;i++){ showTheDetail(student[i]);} 2)#include void change(int x[],int n){

int temp,i,j,m=(n-1)/2;

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

{

j=n-1-i;

temp=x[i];x[i]=x[j];x[j]=temp;

}

return;}

int main(){

int n,i;printf(“please insert the amount of the numbers:n”);scanf(“%d”,&n);int array[n];printf(“please insert the numbers:n”);for(i=0;i

scanf(“%d”,&array[i]);} change(array,n);for(i=0;i

printf(“%d”,array[i]);} }

三、心得体会

复习了c语言中的数组,结构体的知识,编程中没有出现问题。

下载C语言实验程序、总结 实验七 指针大全word格式文档
下载C语言实验程序、总结 实验七 指针大全.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C语言实验程序、总结 实验六 函数(★)

    一 实验目的 1 掌握定义函数的方法; 实验六 函数 2 掌握函数实参与形参的对应关系以及“值传递”的方式; 3 掌握函数递归调用的方法; 二 实验内容 1 编写两个函数,分别求两个正......

    程序实验举例及总结

    一、实验内容 1.在屏幕上显示一个字符的源程序: DATAS SEGMENT STRING DB'HELLO!','$'ORG100H DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV......

    微波实验七

    实验七 微带缝隙天线仿真设计 姓名:李杰 学号:11081536 上课时间:周二下午 一.实验目的 1、了解微带缝隙天线的概念。 2、掌握MWO EM structure仿真方法。 3、掌握天线基......

    实验一 语言实验

    微机原理与接口技术实验(1) 实验一 汇编语言程序上机过程 1 实验二 屏幕字符显示程序 3 实验三 音乐程序 5 实验四 键盘和窗口程序 7 实验五 活动图形显示程序 9 实验六 磁盘......

    C语言实验

    C语言实验 实验一:C语言程序调试基础 一、实验目的 1.掌握C语言源程序的编写方法和调试方法 2.学会使用VC6开发工具及调试过程的查错纠错能力。 二、任务 调试课本例子:例2.19......

    C语言实验实习总结

    2012年下学期C语言实验实习总结 贺秀山 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算......

    7实验七 触发器(合集)

    实验七触发器 一、实验目的 (1)理解触发器的用途、类型和工作原理 (2)掌握利用T-SQL语句创建和维护触发器的方法 (3)掌握利用企业管理器创建、维护触发器的方法 二、实验内容 1.创......

    实验七函数实验报告范文

    实验七 函数 一、实验目的 1.掌握定义函数的方法。 2.掌握函数实参及形参的对应关系以及“值传递”方式。 3.掌握函数的嵌套调用和递归调用的方法。 4.掌握全局变量和局部变量,动......