C语言基础教程(四)指针、结构、联合和枚举(10)

2.结构变量的使用
结构是一个新的数据类型,因此结构变量也可以象其它类型的变量一样赋值、运算,不同的是结构变量以成员作为基本变量。
结构成员的表示方式为:
结构变量.成员名
如果将"结构变量.成员名"看成一个整体,则这个整体的数据类型与结构中该成员的数据类型相同,这样就可象前面所讲的变量那样使用。
下面这个例子定义了一个结构变量,其中每个成员都从键盘接收数据,然后对结构中的浮点数求和,并显示运算结果,同时将数据以文本方式存入一个名为wage.dat的磁盘文件中。请注意这个例子中不同结构成员的访问。
例3:
#include <stdio.h>
main()
{
struct{ /*定义一个结构变量*/
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
}a;
FILE *fp;
float wage;
char c='Y';
fp=fopen("wage.dat", "w"); /*创建一个文件只写*/
while(c=='Y'||c=='y') /*判断是否继续循环*/
{
printf("\nName:");
scanf("%s", a.name); /*输入姓名*/
printf("Age:");
scanf("%d", &a.wage); /*输入年龄*/
printf("Sex:");
scanf("%d", a.sex);
printf("Dept:");
scanf("%s", a.depart);
printf("Wage1:");
scanf("%f", &a.wage1); /*输入工资*/
printf("Wage2:");
scanf("%f", &a.wage2);
printf("Wage3:");
scanf("%f", &a.wage3);
printf("Wage4:");
scanf("%f", &a.wage4);
printf("Wage5:");
scanf("%f", &a.wage5);
wage=a.wage1+a.wage2+a.wage3+a.wage4+a.wage5;
printf("The sum of wage is %6.2f\n", wage);/*显示结果*/
fprintf(fp, "%10s%4d%4s%30s%10.2f\n", /*结果写入文件*/
a.name, a.age, a.sex, a.depart, wage);
while(1)
{
printf("Continue?<Y/N>");
c=getche();
if(c=='Y'||c=='y'||c=='N'||c=='n')
break;
}
}
fclose(fp);
}

时间: 2025-01-31 01:53:43

C语言基础教程(四)指针、结构、联合和枚举(10)的相关文章

C++基础教程(四)——指针(3)

//===================================================== // Name : Pointer1.cpp // Author : lf // Version : <C++语言基础教程> 吕凤翥 P41--P45 2.5.2 // Description : 指针数组和指向数组的指针以及字符指针 //===================================================== #include <iostre

C++基础教程(六)——指针(1)

//===================================================== // Name : Pointer1.cpp // Author : lf // Version : <C++语言基础教程> 吕凤翥 P35--P37 2.5.1 // Description : 指针 // Tips : // int *P ---------> p是一个指向int型变量的指针 // char *c---------> c是一个指向char型变量的指针

C++基础教程(五)——指针(2)

//===================================================== // Name : Pointer1.cpp // Author : lf // Version : <C++语言基础教程> 吕凤翥 P38--P43 2.5.2 // Description : 指针和数组 // Tips : // 在C++中,数组的元素可以用下标表示,也可以用指针表示. // 但是最好是用指针表示,因为指针表示要比下标表示处理起来要快. // 所以在C++中尽量

C 语言基础教程(我的C之旅开始了)[八]_C 语言

19. 基本数据类型:复数类型和虚数类型 C99 新增了复数类型(_Complex)和虚数类型(_Imaginary).简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex.对于 float _Complex 类型的变量来说,它包含两个 float 类型的值,一个用于表示复数的实部(real part),另一个用于表示虚部(imaginary part).类似地,double _Complex 包含两个

易语言基础教程之制作简易浏览器_易语言

方法/步骤 首先打开易语言: 点击--工具--支持库配置--全选--确认 之后点击属性--拉宽 之后点击标题输入测试浏览器 拉一个编辑框和按钮最后一个超文本浏览框(自己找) 之后双击按钮输入代码: .版本 2 .支持库 HtmlView .子程序 _按钮1_被单击 超文本浏览框1.地址 = 编辑框1.内容 按F5测试,好的行了 注意事项 编辑框要输入网址,不能输入其他的OK. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜

C语言基础教程(四)指针、结构、联合和枚举(1)

本节专门对第二节曾讲述过的指针作一详述.并介绍Turbo C新的数据类型:结构.联合和枚举,其中结构和联合是以前讲过的五种基本数据类型(整型.浮点型.字符型.指针型和无值型)的组合.枚举是一个被命名为整型常数的集合.最后对类型说明(typedef)和预处理指令作一阐述. 1. 指针(point) 学习Turbo C语言,如果你不能用指针编写有效.正确和灵活的程序,可以认为你没有学好C语言.指针.地址.数组及其相互关系是C语言中最有特色的部分.规范地使用指针, 可以使程序达到简单明了,因此,我们不

C语言基础教程(四)指针、结构、联合和枚举(18)

类型说明类型说明的格式为:typedef 类型 定义名; 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型.这里类型是Turbo C许可的任何一种数据类型.定义名表示这个类型的新名字. 例如: 用下面语句定义整型数的新名字: typedef int SIGNED_INT; 使用说明后,SIGNED_INT就成为int的同义词了,此时可以用SIGNED_INT定义整型变量.例如:SIGNED_INT i, j;(与int i, j等效). 但long SIGNED_INT i, j;

C语言基础教程(四)指针、结构、联合和枚举(12)

二.结构指针结构指针是指向结构的指针.它由一个加在结构变量名前的"*" 操作符来定义,例如用前面已说明的结构定义一个结构指针如下: struct string{ char name[8]; char sex[2]; int age; char addr[40]; }*student; 也可省略结构指针名只作结构说明,然后再用下面的语句定义结构指针. struct string *student; 使用结构指针对结构成员的访问,与结构变量对结构成员的访问在表达方式上有所不同.结构指针对结

C语言基础教程(四)指针、结构、联合和枚举(11)

3.结构数组和结构指针结构是一种新的数据类型,同样可以有结构数组和结构指针.一.结构数组结构数组就是具有相同结构类型的变量集合.假如要定义一个班级40个同学的姓名.性别.年龄和住址,可以定义成一个结构数组.如下所示:struct{ char name[8]; char sex[2]; int age; char addr[40]; }student[40]; 也可定义为: struct string{ char name[8]; char sex[2]; int age; char addr[4

易语言基础教程之循环程序结构_易语言

曾经听说过一句话:"计算机就擅长做的工作就是'循环'!".的确循环执行在语言中扮演着极为重要的角色,利用循环我们可以实现更复杂.重复性的工作.易语言对于循环程序结构提供四种形式,下面就一起来了解一下易语言中循环结构的具体使用方法. 方法/步骤 在此小编将以实例的方法与大家分享易语言中循环结构的具体使用方法:先创建一个Windows空白窗口,绘制如图所示的人机界面. 接下来为"计算"按钮添加"被单击"事件. 我们先利用"判断循环"