几年前做家教写的C教程(之五专讲结构体与文件操作)
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[];
int count;
};
struct Person Leader[]={"Li",,"Zhang",,"Wang",};
void main()
{
int i,j;
char Leader_name[];
for(i=;i<;i++)
{
scanf("%s",Leader_name);
for(j=;j<;j++)
{
if(strcmp(Leader_name,Leader[j].name)==)
Leader[j].count++;
}
}
printf("\n");
for(i=;i<;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[];
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("can't open file!\n");
exit();
}
ch=getchar(); /*接受在执行scanf语句时最后的回车符*/
ch=getchar(); /*接受输入的第一个字符*/
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar(); /*接受putchar中的换行符*/
}
putchar(); /*想ping命令输出一个换行符*/
fclose(fp);
}
几年前做家教写的C教程(之五专讲结构体与文件操作)的更多相关文章
- 几年前做家教写的C教程(之一)
C语言学习宝典 首先让我们认识什么是C语言. C语言是一种计算机开发语言,是一种非常基础的开发语言.能够用C语言做很多事情.C语言是顺序执行的程序. 程序应该包括数据描述,数据操作. C语言的数据类型 ...
- 几年前做家教写的C教程(之四专讲了指针与汉诺塔问题)
C语言学习宝典(4) 指针:可以有效的表示复杂的数据结构,能动态的分配动态空间,方便的使用字符串,有效的使用数组,能直接处理内存单元 不掌握指针就没有掌握C语言的精华 地址:系统为每一个变量分配一个内 ...
- 几年前做家教写的C教程(之三专讲了递归和斐波那契)
C语言学习宝典(3) 数组: 一维数组的定义: 类型说明符 数组名[常量表达式] 例如: int a[10]; 说明:(1)数组名的命名规则和变量名相同,遵循标示符命名规则 (2)在定义数组时需要 ...
- 几年前做家教写的C教程(之二)
C语言学习宝典(2) 认识C语言中的运算符: (1)算术运算符 (+ - * / %) (2)关系运算符 (> < == >= <= != ) (3 ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- Node.js入门教程 第四篇 (流及文件操作)
流 Stream是Node.js中的抽象接口,有不少Node.js对象实现自Stream. 所有的Stream对象都是EventEmitter 的实例. 例如:fs模块(用于读写操作文件的模块) fs ...
- 【C语言入门教程】7.1 结构体类型变量的定义和引用
前面学习了变量和数组这些简单的数据结构,它们的特点是必须使用规定的数据类型.例如数组被定义为整型后,它的所有存储单元都是由整型构成.现实生活中某一类事物的共同属性可能是由不同的数据类型组成的集合,或者 ...
- 【C语言入门教程】7.2 结构体数组的定义和引用
7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50] ...
- 【C语言入门教程】7.3 结构体指针的定义和引用
C 语言中指针的操作非常灵活,它也能指向结构体变量对结构体变量进行操作.在学习结构指针之前,需要再次加深对指针的认识.声明指针变量时所使用的数据类型修饰符实际上的作用是定义指针访问内存的范围,如果指针 ...
随机推荐
- Charles 从入门到精通
特别说明:原文来自唐巧大神的博客 http://blog.devtang.com/2015/11/14/charles-introduction/ Charles 从入门到精通 文章目录 1. 目录及 ...
- python学习之day5,装饰器,生成器,迭代器,json,pickle
1.装饰器 import os import time def auth(type): def timeer(func): def inner(*args,**kwargs): start = tim ...
- Nginx基本使用
Nginx基本使用 下载源码包http://nginx.org/ http://nginx.org/en/download.html yum -y install pcre-devel openssl ...
- Leetcode 39. Combination Sum
Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique c ...
- 监控阮一峰老师的blog
引言 阮一峰大家基本都认识,很厉害的一个人,经济学博士,文章写得很棒,知识面很广泛,计算机.算法.英语.文采,这是能想到的他的一些标签,他的博客应该算是最受欢迎的博客之一了. 我经常回去看他的博客,但 ...
- <<< php程序在运行后报“internal server error”错误
上传的php程序在运行后报“internal server error”错误,检查以下两方面: 1.请您检查php程序的属性是否设置为755,如果php程序的属性不是755,那么运行的时候会报“int ...
- WinForm------GridControl合并单元格
1.修改GridView的属性 2.点击Run Design修改需要合并的列的属性 3.给GridView添加事件(以上两步不行的情况下再使用此方法) private void gridView1_C ...
- web service 学习
是什么? 是一种远程调用技术,这种技术提供一些接口,这些接口实现让客户端和服务端进行通信和数据交换,并且让通信和交换与平台和开发语言无关.也可以说是提供了许多函数.客户端调用服务端的函数. 远程调用: ...
- Symbiont
http://www.weiyangx.com/209230.html Symbiont,Credit Suisse与R3携手革新贷款数据验证环节Symbiont, Credit Suisse and ...
- 【转载】使用Pandas创建数据透视表
使用Pandas创建数据透视表 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas创建数据透视表 目录 pandas.pivot_table() 创建简单的数据透视表 增加一个行维度(inde ...