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教程(之五专讲结构体与文件操作)的更多相关文章

  1. 几年前做家教写的C教程(之一)

    C语言学习宝典 首先让我们认识什么是C语言. C语言是一种计算机开发语言,是一种非常基础的开发语言.能够用C语言做很多事情.C语言是顺序执行的程序. 程序应该包括数据描述,数据操作. C语言的数据类型 ...

  2. 几年前做家教写的C教程(之四专讲了指针与汉诺塔问题)

    C语言学习宝典(4) 指针:可以有效的表示复杂的数据结构,能动态的分配动态空间,方便的使用字符串,有效的使用数组,能直接处理内存单元 不掌握指针就没有掌握C语言的精华 地址:系统为每一个变量分配一个内 ...

  3. 几年前做家教写的C教程(之三专讲了递归和斐波那契)

    C语言学习宝典(3) 数组: 一维数组的定义: 类型说明符  数组名[常量表达式] 例如: int  a[10]; 说明:(1)数组名的命名规则和变量名相同,遵循标示符命名规则 (2)在定义数组时需要 ...

  4. 几年前做家教写的C教程(之二)

    C语言学习宝典(2) 认识C语言中的运算符: (1)算术运算符   (+  -  *  /  %) (2)关系运算符    (>  <  ==  >=  <=  != ) (3 ...

  5. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  6. Node.js入门教程 第四篇 (流及文件操作)

    流 Stream是Node.js中的抽象接口,有不少Node.js对象实现自Stream. 所有的Stream对象都是EventEmitter 的实例. 例如:fs模块(用于读写操作文件的模块) fs ...

  7. 【C语言入门教程】7.1 结构体类型变量的定义和引用

    前面学习了变量和数组这些简单的数据结构,它们的特点是必须使用规定的数据类型.例如数组被定义为整型后,它的所有存储单元都是由整型构成.现实生活中某一类事物的共同属性可能是由不同的数据类型组成的集合,或者 ...

  8. 【C语言入门教程】7.2 结构体数组的定义和引用

    7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50] ...

  9. 【C语言入门教程】7.3 结构体指针的定义和引用

    C 语言中指针的操作非常灵活,它也能指向结构体变量对结构体变量进行操作.在学习结构指针之前,需要再次加深对指针的认识.声明指针变量时所使用的数据类型修饰符实际上的作用是定义指针访问内存的范围,如果指针 ...

随机推荐

  1. Mongo运行错误:Failed to connect 127.0.0.1:27017,reason:errno:10061由于目标计算机积极拒绝,无法连接

    Mongo运行错误:如下 原因是mongodb的服务没有开启,开启服务后问题就能解决了,开启服务命令:mongod --dbpath "d:\mongodb\data 只要操作mongodb ...

  2. Python基础7:文件操作

    [ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...

  3. JavaScript中的正则表达式(终结篇)

    JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...

  4. solr suggest智能提示配置

    目录 配置文件 Java代码 遇到的问题 回到顶部 配置文件 solrconfig.xml <searchComponent name="suggest" class=&qu ...

  5. 【piu~】制作一只变形小鸡~

    在http://codepen.io/pick上看到的,,,具体是谁忘了,反正我只截了最萌的一段,作者越改越不萌ಥ_ಥ 谷哥哥随便一搜就有很多好玩的,度娘就...(  ̄ ▽ ̄)o╭╯☆#╰ _─﹏─) ...

  6. angularjs中父,子,兄之间controller值得传递

    使用angularjs,发现controller间的值传递,比较麻烦的,以后几篇文章会陆续说几种方法. 一,angularjs $broadcast $emit $on的处理思想 在一个control ...

  7. javascript创建对象的一些方式

    通过创建一个Object实例 var person = new Object(); person.name = "zhouquan"; person.age = 21; perso ...

  8. jQuery入门(1)jQuery中万能的选择器

    jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...

  9. 如何挂载阿里云Linux服务器的“数据盘”(新购买)

    详细操作参考: http://jingyan.baidu.com/article/90808022d2e9a3fd91c80fe9.html 用到的命令行汇总: 1.查看磁盘: fdisk -l 2. ...

  10. PHPExcel yii2 加载使用

    除了用composer 包管理组件的方式外 我们还可以使用 直接最原始的加载方式---超级简单 1.PHPExcel上下载最新的PHPExcel http://phpexcel.codeplex.co ...