c语言实验-第七章-第九章2

上传人:第*** 文档编号:32803421 上传时间:2018-02-12 格式:DOC 页数:10 大小:87KB
返回 下载 相关 举报
c语言实验-第七章-第九章2_第1页
第1页 / 共10页
c语言实验-第七章-第九章2_第2页
第2页 / 共10页
c语言实验-第七章-第九章2_第3页
第3页 / 共10页
c语言实验-第七章-第九章2_第4页
第4页 / 共10页
c语言实验-第七章-第九章2_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《c语言实验-第七章-第九章2》由会员分享,可在线阅读,更多相关《c语言实验-第七章-第九章2(10页珍藏版)》请在金锄头文库上搜索。

1、实验七:指针的应用【实验目的】1掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;2掌握指针变量的定义和初始化,指针变量的引用方式;3能正确使用数组的指针和指向数组的指针变量;【实验内容】1填空题输入一个字符串,将其中的大写字母转换成小写字母,然后输出本程序主要是比较 scanf()输入和 gets()输入的区别#include void main() char s20;char *p=s;scanf(“%s”,p); /*注意用 scanf()输入和 gets()输入的区别*/while( 1 )if( 2 ) *p=*p+ (a-A);p+ ;puts ( 3 );答案:1

2、、*p!=02、(*p=A)&(*pvoid main() int a15,*p1,*p2,x; for(p1=a;p1void 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;printf(“boy:%c is %d years old and got a grade of %dn”, 3 );printf(“gi

3、rl:%c is %d years old and got a grade of %dn”, 4 );答案:1、boy.age=15;2、boy.grade=75;3、boy.initial,boy.age,boy.grade4、girl.initial,girl.age,girl.grade运行结果:boy:R is 15 years old and got a grade of 75girl:H is 14 years old and got a grade of 82提示:(1) 结构体变量的定义:struct 结构体名 成员变量定义结构体变量列表;即在定义结构体的同时定义结构体变量。(

4、2)结构体成员变量的引用:结构体变量名.成员变量名(2)结构体数组案例。设有三个候选人,Zhang,Wang 和 Li,设有 10 个人参加投票,每次输入一个得票的候选人的名字,要求最后输出各候选人的得票结果,请设计程序对候选人的得票数进行统计。该案例涉及结构体变量的定义、初始化和结构体变量成员的引用。# include # include struct person /*候选人信息结构体,这是一个全局的结构体数组*/ char name20; /*姓名*/int count; /*得票数*/stu3=“Zhang”,0,”Wang”,0,”Li”,0;void main()int i,j;c

5、har leader_name20;for(i=1;i#include #define FORMAT “%dn %sn %.1fn %.1fn %.1fn”struct studentint num;char name20;float score3;void print(struct student *p);void main()struct student stu;stu.num=12345;strcpy(stu.name,”Li Min”);stu.score0=68;stu.score1=87; stu.score2=98.5f;print(void print(struct stude

6、nt *p)printf(FORMAT,p-num, );printf(“n”) ;答案:p-name ,p-score0, p-score1, p-score2运行结果:12345Li Min68.087.098.5提示:(1)结构体变量的定义还可以通过如下形式定义:struct 结构体名 结构体变量名;如:struct student stu;(2)结构体除了使用结构体变量引用以外,还可以使用结构体指针引用。结构体指针定义:struct 结构体名 *指针变量名如:struct student *p;结构体指针存放结构体在内存的初始地址。(3)使用结构体指针引用结构体成员变量:结构体指针变量

7、名成员变量名如:p-name2读程题共用体案例。现需要输入学生成绩,学生分为小学生和初中生,小学生成绩为整型,初中生成绩为浮点型。其他信息一致,使用共用体来处理(将小学生与初中生的成绩放在同一段内存中)。本题涉及共用体的应用。#include #include struct studentchar cate15;char name15;unionint grade_xiao;float grade_chu;grade;stu2;void main()int i;char *p,*q;for(i=0;ivoid main()FILE *fp;int num=0;float x , y , z ;

8、fp=fopen (cj.dat,r);while(!feof(fp)fscanf (fp,%f,%f,%f,if(x+y+z)/3=90)num=num+1;printf(平均分数高于 90 的人数为:%d 人,num);fclose(fp);统计上题 cj.dat 文件中每个学生的总成绩,并将原有数据和计算出的总分数存放在磁盘文件“stu” 中。#include stdio.hvoid main()FILE *fp1,*fp2;float x,y,z;fp1=fopen(cj.dat,r);fp2=fopen(stud,w);while(!feof(fp1)fscanf (fp1,%f,%

9、f,%f,printf(%.1f,%.1f,%.1f,%.1fn,x,y,z,x+y+z);fprintf(fp2,%.1f,%.1f,%.1f,%.1fn,x,y,z,x+y+z);fclose(fp1);fclose(fp2);提示:(1)文件指针的定义用于定义文件指针变量:FILE *文件指针变量名;(2)文件打开函数用于打开指定文件并返回文件指针:fopen(文件名,打开方式);(3)从文件读取格式化数据:fscanf(fp,格式控制,输入项地址表);(4)向文件写入格式化数据:fprintf(fp,格式控制,输出项表);(5)feof( )函数检查文件内部位置指针是否指向文件末尾。(

10、6)关闭文件函数:fclose(fp);2编程题把通过键盘输入的字符顺序存入 char.txt 文件,输入字符为 “#”时,结束输入。# include void main()FILE *fp;char ch;fp=fopen(char.txt,w);printf(输入一个字符串,以#结束:n);ch=getchar( );while(ch!=#)fputc(ch,fp);ch=getchar();fclose(fp);提示:(1)存储数据时,在二进制文件和文本文件中占用字节数的区别:在二进制文件中一个 int 型数据占用的空间为 2 字节,在文本文件中一个字符占用 1字节。(2)文件读写函数从文件读出 向文件写入字符 ch=fgetc(fp) fputc(ch,fp)字符串 fgets(str,n,fp) fputs(str,fp)数据块 fread(buff,size,count,fp) fwrite(buf,size,count,fp)格式化数据 fscanf(fp,格式控制,输入项地址表)fprintf(fp,格式控制,输出项表)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号