上海电力大学c语言程序设计章测试,上海电力学院c语言报告:实验8 指针.doc

44cb7578e1df5412b94317daaa3307ba.gif上海电力学院c语言报告:实验8 指针.doc

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

15

积分

还剩页未读,继续阅读

关 键 词:上海电力学院c语言报告:实验8

指针

上海

电力

学院

语言

报告

实验

资源描述:

上海电力学院

实验报告

课程名称 C语言程序设计 实验名称 实验8 指针

姓名 蔡福瑞 学号 20101419 班级 2010027

专业 电气工程及其自动化(供用电技术方向)

同组人姓名 蔡福瑞、黄任凭、龚奕磊、傅庆燕、程旭

指导老师姓名 魏为民 实验日期 2010-12-27

一、实验目的

1、通过实验进一步掌握指标的概念,会定义和使用指针变量。

2、能正确使用数组的指针和指向数组的指针变量。

3、能正确使用字符串的指针和指向字符串的指针变量。

二、实验内容和步骤

1、改错

(1)指出下面程序错误的原因.

main()

{

int x=10,y=5,*px ,*py;

px=py;

px=&x’;

printf (“*px=%d, *py=%d, *px ,*py);

}

图(8-1)

该程序运行的整个过程如图(8-2)所示。

错误的原因:printf(”*px=%d,*py=%d, *px, *py);该行此处少了个引号。

修改后,运行结果如图(8-3)所示:

图(8-2)

图(8-3)

(2)下面的程序试图有如下运行结果:

Which style you want to:

Capital (c) or uncapital (a):c ↙

COMPUTER

Which style you want to:

Capital (c) or uncapital(a):u ↙

图(8-4)

请调试下面的程序,使其有如上执行结果.

#include

main()

{ char s*;

char c;

printf(“which style you want to :ln”);

printf(“capital(c) or uncapital(a):”);

c=getchar();

if(c=’c’) strcpy(s,”COMPUTER”);

else strcpy(s,”computer”);

put(s)

}

图(8-5)

该程序运行的整个过程如图(8-6)所示。

错误的原因:缺少库函数;指针格式错误; 回车的控制符为 \n ; ‘=’为赋值运算符,‘=='才是关系运算符;put只能输出一个字符,puts才能输出字符串。

修改后,运行结果如图(8-7)所示:

图(8-6)

图(8-7)

(3)下面的程序能获得上述运行结果吗?

main()

{

char *S=”COMPUTER”;

char c;

printf(“which style you want to \n”);

printf(“capital(c) or uncapital(U):”);

c=getchar();

if(c=’c’)

put(s);

else

{ s=”computer”;

puts(s);

}

}

图(8-8)

该程序运行的整个过程如图(8-9)所示。

错误的原因:①if(’c=c’)中‘=’为赋值运算符,‘=='才是关系运算符;②put语句只能输出一个字符,puts语句才能输出字符串。

修改后,运行结果如图(8-10)所示:

图(8-9)

图(8-10)

(4)设计一个C程序,用以测试下列各表达式的运算。

1)y=*px++; 2)y=*++py 3)y=(*py)++ 4)y=--*ppx++

图(8-11)

图(8-12)

(5)想使指针变量pt1指向a 和b中的大者,pt2指向小者,一下程序能否实现此目的。

swap(int *p1,int *p2)

{

int *p;

p=p1;p1=p2;p2=p;

}

main()

{ int a,b;

scanf (“%d,%d”,&a,&b);

pt1=&a;pt2=&b;

if(avoid main()

{ int a[10],i,max;

for(___________)

scanf(“%d”,______________);

for ( ___________ )

if ( ) max=a[i];

printf(“MAX=%d\n”,max);

}

图(8-17)

图(8-18)

数组名法:如图(8-19) 与运行结果:如图

#include void main()

{ int a[10],i,max;

for( _________ )

scanf(“%d”,a+i);

for( _________ )

if( _________ ) max=*(a+i);

printf(“MAX=%d\n”,max);

}

图(8-20)

图(8-21)

指针法:图(8-22)

#include void main()

{ int a[10];

int *p,max;

for( ________ )

scanf(“%d”,p);

for( _______ )

图(8-23)

if( _______ ) max=*p;

printf(“MAX=%d\n”,max);

}

图(8-24)

(2)字符串和字符指针。输入一个字符串,将其中的大写字母转换成小写字母,然后输出。

字符数组实现:

#include void main()

{

char s[20];int i;

gets( _________ );

for( __________ );

if( ___________ ) s[i]=s[i]+‘a’-‘A’;

i=0;

while( _________ )

{ printf(“%c”,s[i]);_______________ }

}

图(8-25)

图(8-26)

图(8-27)

提示;scanf()输入是时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。如键入any boy 并回车,则

scanf(“%s”,s)的结果为:

a

n

y

\0

gets(s)的结果为:

a

n

y

b

o

y

\0

三、编程序并上机调试运行程序(都要求指针处理)。

(1)输入三个整数,按有效到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。

整数输入:图(8-28)

#include main()

{ int n1,n2,n3;

int *p1,*p2,*p3;

printf(“Please enter three numbers:”);

scanf("%d,%d,%d",&n1,&n2,&n3);

p1=&n1;

p2=&n2;

p3=&n3;

if(n1>n2)swap(p1,p2);

if(n1>n3)swap(p1,p3);

if(n2>n3)swap(p2,p3);

printf(“%d,%d,%d\n",*p1,*p2,*p3);

}

swap(int *p1,int *p2)

{ int p;

p=*p1;

*p1=*p2;

*p2=p;

}

图(8-29)

图(8-30)

三、实验结论与体会

(1)指针可以简单地称为“地址”。

(2)在定义指针变量时必须指定类型。

(3)指针变量前面的“*”表示该变量的类型为指针型变量。

(4)整常数只能赋给整型变量,而不能赋给指针变量。

(5)*(p+i)或*(a+i)是p+i或a+i所指向的数组元素,即a[i]。

我从指针是什么开始,到指针变量,我还学习指针引用数组、字符串,并且掌握了指向指针函数,经过老师得谆谆教导,我不仅了解、学会返回指针的函数、指针数组、和多重指针、以及动态内存分配与指向它的指针变量,刚开始时一知半解,完全处于糊涂的状态,经过老师的指点,与自己的琢磨,反复思考,逐渐的了解、弄懂!

只要我们努力学习,一定会有收获!

这段时间感谢老师的教导与帮助,以及对我的关怀!

2010027 蔡福瑞

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:上海电力学院c语言报告:实验8 指针.doc

链接地址:https://www.renrendoc.com/p-45437363.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python c语言 数据类型转换,Python类型转换,数据类型转换函数大全

虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。比如说,我们想通过使用 print() 函数输出信息“您的身高:”以及浮点类型 heigh…

新闻发布系统C语言,资讯 | 助力期末之c语言专场圆满结束!

原标题:资讯 | "助力期末"之c语言专场圆满结束!大一生活如白驹过隙,一转眼便来到了期末,相信很多同学都对c语言期末考很在意,但是又不知道考点在哪里,感觉很多知识点都还不太清楚。确实&#xff…

android创建空文件,ADT 更新 eclipse srclayout 文件夹创建时候为空

今天是14-3-9,发现SDK Manager有更新,手贱点了一下。。。然后新建项目src和layout文件夹就成空的了。。。虽然可以手动建立内容,但是感觉很不爽,到处找解决方法,最后在贴吧找到了,内容链接到了eoe&#xff…

html语言循环语句,Scala @功能/语言的HTML文档 - for循环,如果语句等

我正在一个控制器的视图(HTML页面)中,我试图匹配复选框中的“选中”值的列表中。Scala 功能/语言的HTML文档 - for循环,如果语句等我从模型中抓取选定的复选框值(列表A),将它们在控制器中抓取并发送到视图。我还从模型中获取复选框选择/选项/…

百度自动推送html5,百度暂停 JS 代码自动推送功能,代码是否需要删除?

本月上旬末的时候百度站长平台就推送了一则关于:搜索资源平台自动推送暂停使用通知。说到由于升级维护,搜索资源平台链接提交-自动提交-自动推送(JS 代码推送)功能暂时停止使用。并且会在恢复使用时再次通知。由于这条通知是百度通过搜索资源平台发送的站…

html中表格布局还是div布局,Table布局 VS Div+CSS布局,选哪个?

Table布局 和 DivCSS布局的争论,过了7-8年了,今天看到一篇文章《为什么我们不建议用Table布局》,又想发表下自己的见解,供初学《为什么我们不建议用Table布局》节选:Table要比其它html标记占更多的字节。(延迟下载时间…

计算机桌面锁写快捷,电脑如何锁屏幕 锁屏快捷键是什么

锁屏幕是用户们日常生活中的必备玩法,很多玩家们却不知道游戏中应该如何锁屏幕,那么具体应该如何锁屏幕呢?下面小编带大家一起来看下电脑如何锁屏幕吧!电脑怎么锁屏幕?电脑如何锁屏幕?1、首先自然是需要为电脑创建一个密码。点击开始按钮,然后找到控制面板&#…

计算机在军事的应用论文,信息技术论文3000字【军事信息技术论文】

信息技术是20世纪科学技术发展最重大,最辉煌的成就之一,下面是小编为大家精心推荐的军事信息技术论文,希望能够对您有所帮助。军事信息技术论文篇一漫谈信息技术【摘 要】本文研究了信息技术的发展历程,阐述了信息技术的涵义及研究…

计算机组成原理环境配置,计算机组成原理课程设计

《计算机组成原理》实验大纲适用专业:计算机科学与技术(本科)、网络工程(本科)实验学时:16学时学分:0.5学分一、实验课程目的与要求(1) 进一步融会贯通教材内容,掌握计算机各功能模块的工作原理、相互联系和来龙去脉,完…

计算机学业水平测试初中生操作题,初中学业水平考试信息技术考试操作题常见题型及作答方法...

初中信息技术考试操作题常见题型及作答方法牛角寨乡初级中学信息技术考试已经有两年了,通过这两年的考试情况来看,我认为,要想在信息技术考试中取得一个好的成绩,操作题是一个很重要的环节,从这两年的情况来看&#xf…

什么不是预防计算机病毒的方法,预防计算机病毒的方法是什么

对于电脑安全防护,最好的方法是将病毒扼杀在摇篮中,这就需要积极预防病毒,提前发现并查杀病毒。下面就让学习啦小编给大家说说预防计算机病毒的方法是什么吧。预防计算机病毒的方法第一、及时为Windows打补丁为Windows打补丁是很重要的&#…

手机在线测试黄疸软件,在家怎么用手机测黄疸

文章导读新生婴儿遭遇的问题中最普遍的便是黄疸,新生儿黄疸绝大多数都归属于生理性的,不需要独特医治,还可以在医师具体指导下服食用药治疗,在平常一定要多给宝宝晒太阳。有的病人出世以后黄疸指数不比较严重,可是住院…

怎么解决计算机键盘驱动,解决键盘失灵、安装更新键盘驱动方法

怎样重新安装电脑键盘驱动第一步:点击打开“我的电脑”属性选项,选择硬件标签,打开设备管理器,点击打开“键盘选项”默认的键盘驱动是“标准101/102键或Microsoft自然PS/2键盘”。 右键...如何重装键盘驱动操作系统装好之后默认已…

java实现两台计算机的互联,如何用Java语言实现两台计算机之间的文件传输?

最近新学习了Java语言,算是一个小白,想用TCP Socket进行网络编程,使得服务器端接受客户端的文件,但是遇到了一个错误,有人知道该怎么解决吗?//这是服务器端的代码public class UploadServer {public static…

c++ ea 代码 生成_EA公司教AI制作游戏角色,行动流畅自然,全程无需人类介入

想开发出一款爆款游戏,是一件难度极高的事情,不仅要有精妙的内容设计,精致的光影效果,自然的动画建模,还要投入相当多的资金和时间。现在,美国游戏公司艺电(EA)正在与加拿大不列颠哥伦比亚大学(UBC)合作&am…

@async 没有异步_玩转javascript异步编程

一般知道,js脚步语言的执行环境是单线程的,就是它会等一个任务完成,才会进行第二个任务,然后一直向下进行,这样的执行环境简单,但是处理不了复杂的运用,当一个请求需要非常旧的时间的时候&#…

暴露的全局方法_期末考试快到了,这4种错误的考试复习方法,越复习越差劲!...

还有几周就要期末考试了,在考试之前一定要做好全面的复习,只有复习到位,把所学知识都巩固了,那么才能给考出好成绩。在复习的时候不同学生复习方法不同,但有些方法不但费时费力还没有效果。孩子在复习时则要尽量避免。…

etl报表开发是什么意思_中间表是什么?和报表有什么关系?会带来怎样的问题?又如何解决?...

在数据库中有一类用于保存中间计算结果的物理表,通常被称为“中间表”。中间表主要跟 OLAP(在线联机分析)业务有关,产生的原因主要有以下几方面。中间表来源1. 计算逻辑复杂在 OLAP(报表或查询)业务中&…

追加一列 python_常用的python代码总结

使用pandas读取csv文件import pandas as pddf pd.read_csv("nodes.csv")a df.iloc[j]["x"] # 得到第j行标头为x的值 b df.loc[j]["x"] # 得到index为j的标头为x的值ids df["id"].values.tolist() # 得到标头为id的一列&#xff0c…

socketmq 设置队列大小_[译] TCP的SYN队列和Accept队列

关于两个队列首先我们必须明白,处于“LISTENING”状态的TCP socket,有两个独立的队列:SYN队列(SYN Queue)Accept队列(Accept Queue)这两个术语有时也被称为“reqsk_queue”,“ACK ba…