上海电力学院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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

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

关于本文

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

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

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

  1. python语言程序设计网课答案-真不错!大学慕课Python语言程序设计章节测试答案...

    2020年智慧树网课答案为您详细解读azMisb真不错!大学慕课Python语言程序设计章节测试答案的详情,Research Essay是国外大学常见的Assignment形式,Research Es ...

  2. c语言程序设计授课进度安排表,C语言程序设计教学大纲、教学计划进度简表

    <C语言程序设计>教学大纲 课程名称:<C语言程序设计> 英文名称:PROGRAMMING IN C LANGUAGE 课程性质:公共选修课程 课程编号:1203141 所属院 ...

  3. c语言程序设计课后答案西电,C语言程序设计习题大全(含答案)C语言-.doc

    C语言程序设计习题大全(含答案)C语言-.doc C语言基础?一: 1.下列四组选?项中,均不是C语?言关健字的?选项是( A ). A) defin?e B) gect C) inclu?de D) ...

  4. c语言程序设计形成性作业3,C语言程序设计形成性作业3-4..doc

    C语言程序设计形成性作业3-4. 毛送轻囊集凿撤震栖宋求胳多乡靳肪来蹄亲居菩仍何芦潞征谭欺芋祸早访重俭欧哈函炸惯漆膏花昂缺扫袖凰伸几沁蹲欠傍试嘉慷节说陋锯赚故酪添默牺臭能触波圈爷特苦吻酱怎摔江邢葛背湍 ...

  5. c语言程序设计哈尔滨,2017春C语言程序设计 上(哈尔滨金融学院)

    大家好!欢迎你们!无论是新同学还是老朋友,都非常高兴能在这里和大家相聚! 我们一如既往还说C,因为它称霸于计算机语言,超乎我们的想象. 如果想深刻的理解这个时代,就要理解计算机编程! 编程完成了基于计 ...

  6. 广东药科大学c语言程序设计考试题,武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011级各专业).doc...

    武汉理工大学<C语言程序设计>期末考试试卷(A卷)(2011级各专业).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予 ...

  7. c语言程序设计的几种循环,C语言程序设计教案 第六章 循环程序设计.doc

    C语言程序设计教案 第六章 循环程序设计 第六章 循环程序设计 课题:第五章 选择结构程序设计教学目的:1.掌握三种循环语句的语法结构 2.灵活运用循环语句教学重点: 教学难点:三种循环语句while ...

  8. 电大1253c语言程序设计考试题,电大1253《C语言程序设计》开放大学期末考试试题2020年1月(含答案)...

    <电大1253<C语言程序设计>开放大学期末考试试题2020年1月(含答案)>由会员分享,可在线阅读,更多相关<电大1253<C语言程序设计>开放大学期末考试 ...

  9. c语言程序设计李泽中课后,C语言程序设计李泽中课件第4章解读.ppt

    C语言程序设计李泽中课件第4章解读 河南商业高等专科学校 4.4 程序综合举例 [例4.12]输入一个无符号短整数和进制代号(d-十进制.0-八进制.x-十六进制),然后将数进制代号要求输出. 程序代 ...

最新文章

  1. 打造“新基建”核心支柱 数据中心产业期待提速提质
  2. oracle结果集过大,多重子查询/大结果集查询问题
  3. (Buuctf) [第五空间2019 决赛]PWN5 简单格式化字符串漏洞利用
  4. JavaScript中的各种宽高以及位置总结
  5. 一个 .Net Hashtable 的锁的疑惑和解决
  6. Web安全测试之XSS
  7. 概率论面试系列第一弹: 贝叶斯公式
  8. jmeter 入门操作
  9. laraval如何使用tdd
  10. 终于知道《喜洋洋和灰太狼》为什么火了!
  11. Oracle创建约束语句,约束 comment 创建语句
  12. HTML+CSS静态页面`西安旅游网站设计——西安旅游(7页) 大学生旅游网页作品 出行网页设计作业模板 学生游玩网页制作源代码下载
  13. 计算机二级考试C语言编程解读:统计N名学生的成绩
  14. window下Python查看已经启动的进程名称并关闭
  15. 电商购物平台——书籍管理系统Java贯穿项目图形用户界面
  16. h3c.服务器 装系统,h3c服务器u盘安装linux系统安装
  17. 将数据集做成VOC2007格式用于Faster-RCNN训练
  18. 区块链实际应用中痛点
  19. POJ 3264 Balanced Lineup (RMQ)
  20. 一、如何下载JDK?

热门文章

  1. hive 创建访问用户_hive创建角色并赋权
  2. [转载] Python中的switch语句的替代品
  3. [转载] JAVA环境变量配置
  4. CBT的完整形式是什么?
  5. python excel导入oracle数据库_【Python代替Excel】12:Python操作oracle数据库
  6. python正则匹配_Python正则表达式只匹配一次
  7. php 精度问题怎么解决,JavaScript 中精度问题以及解决方案
  8. treeset java_Java TreeSet first()方法与示例
  9. java indexof_Java Vector indexOf()方法与示例
  10. WIN10自带远程桌面实现多用户登录