C语言学习宝典(5)
结构体:
将不同类型的数据组合成为一个有机的整体,这个整体就是一个结构体。
例如:
Struct student
{
Int name;
Char sex;
Float score;
};
使用方法:
类型名 成员名;
一般形式:
Struct
{
成员列表;
}变量名表列;
结构体变量的引用:
结构体变量名.成员名
文件:
FILE *fp;
Fp=fopen(文件名,文件打开方式);
Fclose(文件指针)
例1 对候选人得票的统计程序,设有3个后选人,每次输入一个候选人的名字,要求最后输出得票结果
/****************************** 功能:统计3个候选人得票 *****************************/ #include <stdio.h> #include "string.h" struct Person { char name[20]; int count; }; struct Person Leader[3]={"Li",0,"Zhang",0,"Wang",0}; void main() { int i,j; char Leader_name[20]; for(i=1;i<5;i++) { scanf("%s",Leader_name); for(j=0;j<3;j++) { if(strcmp(Leader_name,Leader[j].name)==0) Leader[j].count++; } } printf("\n"); for(i=0;i<3;i++) { printf("%5s:%d\n",Leader[i].name,Leader[i].count); } }
例2 从键盘输入一些字符,逐个把他们送到磁盘上去,知道输入一个”#”为止
/********************** 功能:从键盘输入一些字符,直到输入"#"为止 ***********************/ #include <stdio.h> #include <stdlib.h> void main() { FILE *fp; char ch,filename[10]; scanf("%s",filename); if((fp=fopen(filename,"w"))==NULL) { printf("can‘t open file!\n"); exit(0); } ch=getchar(); /*接受在执行scanf语句时最后的回车符*/ ch=getchar(); /*接受输入的第一个字符*/ while(ch!=‘#‘) { fputc(ch,fp); putchar(ch); ch=getchar(); /*接受putchar中的换行符*/ } putchar(10); /*想ping命令输出一个换行符*/ fclose(fp); }
几年前做家教写的C教程(之五专讲结构体与文件操作),布布扣,bubuko.com
原文:http://www.cnblogs.com/accipiter/p/3891188.html