- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言实验-第七章-第九章2
实验七:指针的应用
【实验目的】
1.掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;
2.掌握指针变量的定义和初始化,指针变量的引用方式;
3.能正确使用数组的指针和指向数组的指针变量;
【实验内容】
1.填空题
输入一个字符串,将其中的大写字母转换成小写字母,然后输出
本程序主要是比较scanf()输入和gets()输入的区别
#include stdio.h
void main()
{ char s[20];
char *p=s;
scanf(“%s”,p); /*注意用scanf()输入和gets()输入的区别*/
while( 1 )
{
if( 2 ) *p=*p+ (‘a’-‘A’);
p++ ;
}
puts ( 3 );
}
答案:
1、*p!=’\0’
2、(*p=A)(*p=Z)
3、s
运行结果:
输入:Program
输出:program
输入:This is Program
输出:this
提示:
scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。如键入any boy并回车,则
scanf (“%s”,s)的结果为:
a n y \0 gets (s)的结果为:
a n y ? b o y \0
2。补充程序题
输入15个整数存入一维数组,再按逆序重新调整该数组中元素的顺序然后再输出。下面给出部分程序的内容,请将程序补充完整,然后上机调试。
部分程序清单如下:
#include stdio.h
void main()
{ int a[15],*p1,*p2,x;
for(p1=a;p1a+15;p1++)
scanf(%d,p1);
for(p1=a,p2=a+14;p1a+7;p1++,p2--)
{ x=*p1;
*p1=*p2;
*p2=x;
}
……
}
答案:
for(p1=a;p1!=a+15;p1++)
printf(%d ,*p1); // %d后面有一个空格
运行结果:
输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
输出:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
提示:
(1)在整型数组中,没有结束标志,必须依靠数组中数据元素的个数控制循环次数。
(2)在for(p1=a;p1a+15;p1++)中不可将a来当做指针变量进行++,因为a为常量。
(3)数组是顺序存储,因此可以用p1++后的值与a+15的比较来控制循环次数,需要注意的是,p1++不意味着p1的值加1。
3.改错题:
下面程序是用指针法将一个字符串a复制到字符串b中,
void main()
{
char a[]=I am a boy.,b[20], *p1,*p2;
int i;
p1=a;p2=b;
for( ; *p1!=’\0’;p1++,p2++)
*p2=*p1;
p2=’\0’;
printf(string a is:%s\n,a);
printf(string b is:);
for(i=0;b[i]!=’\0’;i++)
printf(%c,b[i]);
}
答案:
1.将第一个for循环改为while循环;
2.将第二个for循环改用一条语句完成;
第八章 结构体与共同体的应用
【实验目的】
1.掌握结构体类型变量的定义、初始化和使用;
2.掌握结构体类型数组的概念和使用;
3.了解共用体的概念与使用。
【实验内容】
1.填空题
(1)结构体变量案例。
编程输出两个小孩的记录信息。1 个男孩和1 个女孩,其姓名首字母分别为“R”和“H”;男孩15岁,女孩比男孩小1岁子;男孩的成绩为75,女孩的成绩为82。
该案例涉及结构体变量的定义和结构体变量成员的引用。
# include stdio.h
void main()
{
struct childrec /*定义结构体类型*/
{
char initial; /*姓名首字母*/
int age; /*年龄*/
int grade; /*成绩*/
}boy,girl;
boy.initial=’R’;
girl. initial=’H’;
1
2
girl.age=boy.age-1;
girl.grade=82;
print
您可能关注的文档
- 5、产品市场和货币市场的同时均衡:IS--LM模型.ppt
- 管理决策-decision+making.ppt
- 2009通信与广电工程管理与实务.ppt
- 电力系统稳态分析4.ppt
- D类功放详细资料方案二.docx
- 物理化学第八章PPT.ppt
- C语言面笔试题 - 答案.doc
- 第三章——儿童发展与儿童观.ppt
- 2013年长沙理工大学C语言考试试卷A.doc
- C-D生产函数.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)