浙江长征职业技术学院—计算机与信息技术系—相方莉制作

Slides:



Advertisements
Similar presentations
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
Advertisements

目 录  第 1 章 C++ 概述  第 2 章 数据类型、运算符和表达式  第 3 章 简单的输入 / 输出  第 4 章 C++ 的流程控制  第 5 章 函数  第 6 章 编译预处理  第 7 章 数组  第 8 章 结构体、共同体和枚举类型  第 9 章 指针和引用  第.
只怕有心人只怕有心人 世上无难事世上无难事 浙江长征职业技术学院 — 计算机与信息技术系 — 相方莉制作.
程序设计导论 ——第15讲 结构与结构数组.
程序设计导论 结构与结构数组.
电子成绩单项目实现.
第10章 结构体与链表 本章要点: 结构体类型与结构体变量的定义 结构体变量的引用与初始化 结构体数组 链表处理 共用体类型和枚举类型
大学实用教程 C语言.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第九章 系 统 安 全 性 9.1 结构体 9.2 结构体型数组  9.3 结构体型指针 9.4 内存的动态分配 9.5 共用体
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
第7章 结构体、联合体和枚举类型 本章导读 本章主要知识点 《 C语言程序设计》 (Visual C++ 6.0环境)
C程序设计 第9章 自定义数据类型 主讲教师: 鲁 萍 西安建筑科技大学 理学院.
第九章 结构体 主讲教师 :贾月乐 电话:
第10章 结构体与共用体 概述 结构体 共用体 枚举类型.
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
7.1 结构体类型 7.2 共用体 7.3 枚举类型 7.4 用typedef声明类型
第9章 结构体.
结构体和共用体 2 梁春燕 华电信息管理教研室.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
Chap 9 结构 9.1 构建手机通讯录 9.2 结构变量 9.3 结构数组 9.4 结构指针.
第9章 用户自己建立数据类型 9.1 定义和使用结构体变量 9.2 使用结构体数组 9.3 结构体指针 9.4 用指针处理链表
程序设计专题 第2讲 - 结构 刘新国.
STRUCTURE 授課:ANT 日期:2010/5/12.
自定义数据类型 潘荣江 山东大学计算机科学与技术学院
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
第九章 结构体和共用体 结构体的定义 结构体的使用 共用体的定义 共用体的使用 主讲:李祥 时间:2015年10月.
C语言程序设计 李祥.
辅导课程六.
第五章 指针 5.1 指针的概念和定义 5.2 指针运算 5.3 指针和数组 5.4 字符串指针 5.5 指针数组 5.6 指向指针的指针
第7讲 结构体与共用体 7.1 结构体 7.2 共用体.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
算法的基本概念.
fp=fopen("CD2.dat","wb"); fwrite(&min,8,1,fp); fclose(fp);
第8章 结 构 体.
第11章 结构体和共用体.
第二章 Java语言基础.
第七章 结构体、共同体和枚举类型.
第13章 结构体的应用 13.1 了解由用户构造的数据类型 13.2 结构体类型说明及结构体变量 13.3 结构体数组
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
Struct結構 迴圈
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C语言复习3----结构体.
第十章 用户自定义数据类型 目录 学生信息管理系统的开发 结构体数据类型的概述 结构体变量的使用 结构体数组
OOP6 結構Struct 黃兆武.
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
第十章 结构体与链表 西安工程大学.
第9章 用户自己建立数据类型 C语言提供了一些系统已定义好的数据类型,如int,float,char,用户可以用它们定义变量。
第九章 用户建立的数据类型.
浙江长征职业技术学院-计算机应用系-相方莉制作
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
5.4.1 二维数组 (一) 二维数组的定义 1. 二维数组定义的一般形式 类型说明符 数组名[常量表达式][ 常量表达式]
C语言程序设计 李祥 QQ:
第九节 赋值运算符和赋值表达式.
第二章 类型、对象、运算符和表达式.
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
结构体与共用体 结构体 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体 自定义数据类型 结构体类型定义
本节内容 结构体.
第七章  数 组.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
第14讲 结构体和共用体 计算机与通信工程学院.
第18讲 从C到C++ 计算机与通信工程学院.
第八章 结构体和共用体 结构体类型和结构体变量 结构体数组 结构体指针变量 共用体.
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
安排座位.
C语言基础学习 从外行到入门.
Presentation transcript:

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 记录 学生成绩表 学号 姓名 高等数学 C语言 英语 总分 101 张圣丹 75 86 77 232 102 徐丽萍 92 88 90 270 103 周京京 79 68 225 104 申洪伟 83 93 82 258 105 胡瀚文 76 87 78 241 106 张腾伟 80 226 107 於斌 64 98 222 108 孙盛兵 84 60 220 109 任高翔 53 197 110 方辘恒 238 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3 结构体 有时需要将不同类型的数据组合成一个有机的整体以便于引用。 如:一个学生的学号、姓名、3门课成绩、总分。 分别定义简单变量难以反映它们之间的联系。 应当将它们组成一个组合项,其中可以包含若干个类型不同的数据项 C提供的结构体相当于记录。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.1 结构体类型的定义 结构体类型定义的一般形式为: struct 结构体名 { 成员列表 }; 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.1 结构体类型的定义 说明: (1)struct是声名结构体类型时必须使用的关键字,不能省略。 (2)struct 结构体名是一个类型名,它的功能和基本数据类型有着同样的地位和作用,都可以用来定义变量的类型,只不过这种类型是要用户自己制定而已。 (3)成员表由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:类型说明符 成员名; (4)大括号和外面的分号都不能省略。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 三、相关知识 关键字 不能省略 结构体名,和标准类型 名一样可以定义变量 struct student {int num; char name[20]; float math; floatc_language; float english; float sum; }; 成员列表, 每个成员又称分量或域. 成员名定名规则与变量同 作为语句,必须以分号结束 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

思考:简易的选票统计器的结构体类型可以如何定义? 5.2.3.1 结构体类型的定义 思考:简易的选票统计器的结构体类型可以如何定义? struct person { char name[20]; int count; } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.1 定义结构体变量 (1)先声明结构体类型再定义结构体变量。 struct 结构体名 { 成员表列; } [struct] 结构体名 变量名表列; 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.1 定义结构体变量 struct stu { char id[6],name[10]; int m1,m2,m3; float avg; } main( ) struct stu x,y; …… struct stu { char id[6],name[10]; int m1,m2,m3; float avg; } main( ) stu x,y; …… 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.1 定义结构体变量 (2)在声明类型的同时定义变量 struct [结构体名] { 成员表列; }变量名表列; 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.1 定义结构体变量 main( ) { struct stu char id[6],name[10]; int m1,m2,m3; float avg;}x,y; …… } main( ) { struct char id[6],name[10]; int m1,m2,m3; float avg;}x,y; …… } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 说 明 1、结构体变量:能够赋值、存取或运算,编译时,分配空间 结构体类型:不能赋值、存取或运算,编译时,不分配空间 2、成员可以是一个结构体变量 3、成员名可以与程序中的变量名相同,两者不代表同一对象 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.3 结构体变量的使用 结构体变量名. 成员名 “.”是成员(又叫分量)运算符。它的优先级最高 例如:x.m1=78 scanf(“%s”,&x.id); printf(“%s”x.id); 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.3 结构体变量的使用 struct student {int num; char name[20]; char sex; float score; struct date birthday; }student1; 不能将一个结构体变量为一个整体进行输入输出 printf(“%d,%s,%c,%f\n”,student1);× 只能对最低级的成员进行赋值或存取以及运算 student1.birthday.month 对成员变量可以象普通变量一样进行各种运算 sum=student1.score + student2.score struct date {int month; int day; int year; }birthday; 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 【例】在键盘上输入一个学生的信息(包含学号、姓名、三门课 的成绩)并在显示器上输出。 #include "stdio.h" main() { struct {char id[6],name[10]; int m1,m2,m3; float avg;}x; printf("请输入学生的信息\n"); scanf("%s%s%5d%5d%5d",x.id,x.name,&x.m1,&x.m2,&x.m3); printf("学生的信息为:\n"); printf("%s\t%s\t%5d%5d%5d\n",x.id,x.name,x.m1,x.m2,x.m3); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.5 结构体数组 在实际应用中,经常用结构体数组来表示具有相同数据结构的一个群体。 如一个班的学生档案、一个车间职工的工资表,还有学生通讯录管理系统等。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.4 结构体变量的初始化 #include "stdio.h" main() { struct char id[6],name[10]; int m1,m2,m3; float avg;}x={"00101","李小明",87,88,92}; printf("%s\t%s\t%5d%5d%5d\n",x.id,x.name,x.m1,x.m2,x.m3); } 输出结果为: 00101 李小明 87 88 92 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.5 结构体数组 1. 结构体数组的定义 (1)由于结构体数组的成员为结构体类型,所以在定义结构体数组之前必须先定义结构体类型。 struct stu { char id[6],name[10]; int m1,m2,m3; float avg; } main() { struct stu x[10],y; …… struct stu { char id[6],name[10]; int m1,m2,m3; float avg; } main( ) { stu x[10],y; …… 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.2.3.5 结构体数组 (2)也可以直接定义结构体数组 main() { struct stu char id[6],name[10]; int m1,m2,m3; float avg;}x[10],y; …… } main() { struct char id[6],name[10]; int m1,m2,m3; float avg;}x[10],y; …… } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 2. 结构体数组的初始化 struct student {int num; char name[20]; char sex; }stu[3]={{101,"Li Lin",'M'}, {102,“Yet",‘M'}, {103,“Susan",‘F'}}; struct student {int num; char name[20]; char sex; }stu[ ]= {{101,"Li Lin",'M'}, {102,“Yet",‘M'}, {103,“Susan",‘F'}}; struct student {int num; char name[20]; char sex; }; struct student stu[ ]= {{101,"Li Lin",'M'}, {102,“Yet",‘M'}, {103,“Susan",‘F'}}; 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 【例】计算三个同学的总成绩、平均成绩。 分析: (1)需要定义一个结构体,其成员有学号,姓名,三门课的成绩,总分,平均分; (2)定义一个结构体数组,并赋初值; (3)计算三个同学的总分及平均分; (4)输出这三个同学的信息; 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 【例】计算三个同学的总成绩、平均成绩。 #include "stdio.h" #define N 3 struct stu {char id[6]; char name[10]; int m1,m2,m3; float avg,sum;} main( ) {stu student[N]={ {"001","李小明",78,89,90}, {"008","陈小东",85,81,67}, {"016","王永民",89,78,90} }; int i; for (i=0;i<N;i++) { student[i].sum=student[i].m1+student[i].m2+student[i].m3; student[i].avg=student[i].sum/3.0; } printf("他们的成绩单为:\n"); printf("学号\t姓名\t数学 英语 语文 总分 平均分\n"); for(i=0;i<N;i++) printf("%s\t%s\t%d%6d%7d%7.1f%6.1f\n",student[i].id,student[i].name, student[i].m1,student[i].m2,student[i].m3,student[i].sum,student[i].avg); 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.3 项目分析与实现 首先每个候选人的姓名和票数统计,而且这两个量姓名是字符型数据,票数统计是整型数据,所以涉及不同类型的数据,要解决这种问题,就要用到结构体。其次候选人可能有多个,于是就要用到结构体数组。 1.定义变量 定义如下: struct person { char name[20]; int count; } leader[3]; 说明:该统计的是3个候选人的票数。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.3 项目分析与实现 2.数据赋值 struct person { char name[20]; int count; } leader[3]={"JACK",0,"SUSAN",0,"MIKE",0}; 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.3 项目分析与实现 /*目的:简易的选票统计器实现*/ #include <stdio.h> void main() #include "string.h" #include "stdio.h" struct person { char name[20]; int count; } leader[3]={"JACK",0,"SUSAN",0,"MIKE",0}; 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.3 项目分析与实现 main() { int i,j; char leader_name[20]; printf("----------------投票统计器V1.0------------------\n\n候选人名单:\n\n"); for(i=0;i<3;i++) printf("%5s\t",leader[i].name); printf ("\n"); printf ("--------------------------------\n"); 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 5.3 项目分析与实现 for(i=1;i<=10;i++) { printf("请%d号同学投票:",i); scanf("%s",leader_name); for(j=0;j<3;j++) if(strcmp(leader_name,leader[j].name)==0) leader[j].count++; } printf ("\n"); printf ("--------------------------------\n"); printf ("最后得票结果为:\n"); for(i=0;i<3;i++) printf("%5s:%d票\n",leader[i].name,leader[i].count); 浙江长征职业技术学院—计算机与信息技术系—相方莉制作