下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.C 语言程序设计实 1.掌握结构体类型的概念和说明方法验 2.掌握结构体变量的定义和引用。结构体类型变量成员的使用。目 3.掌握结构体数组的定义和使用方法。的 4.掌握指向结构体变量的指针变量的概念和应用。5.掌握结构变量与指向结构的指针作为函数参数实现函数的调用。6.掌握共用体的概念和说明方法。7.掌握共用体变量的定义和引用。共用体类型变量成员的使用8.掌握位运算的概念和方法。9.掌握位运算符( & , |, ,)的使用方法。10.了解有关位运算的算法。11.掌握枚举类型概念和说明方法12.掌握枚举类型变量的定义以及枚举类型变量的使用。1建立一个学生的简单信息表,其中包括学号、年龄
2、、性别及一门课的成绩。要求从键盘输入数据,并显示出来。上机运行以下程序。分析:一个学生信息表可以由结构体来定义,表中的内容可以通过结构体中的成员来表示。体会结构体成员的点运算符引用方法。#include"stdio.h"实void main()验struct st内int num?int age?容char sex?float score?与?struct st info?步printf("inputnumber:")?骤 scanf("%d",&info.num)? printf("input age:"
3、)? scanf("%d",&info.age)? getchar()?printf("input sex:")? scanf("%c",&info.sex)?printf("inputscore:")?scanf("%f",&info.score)?printf("number n",info.num)?printf("age n",info.age)?printf("sex n",info.sex)?'
4、;.printf("score n",info.score)?2.建立5名学生的信息表,每个学生的数据包括学号、姓名及一门课的成绩。要求从键盘输入这 5 名学生的信息,并按照每一行显示一名学生信息的形式将 5 名学生的信息显示出来。上机运行以下程序。分析:每个学生的数据学号、姓名及一门课的成绩用结构体表示,5 名学生的信息表用结构体数组表示,体会结构体数组元素的引用方法。#include"stdio.h"#define N 5struct studint num?char name 20?float score?实?struct stud sN?验voi
5、d main()内 int i?容 for (i=0?i<N?i+)与 printf("input number:")?scanf("%d",&si.num)?步 printf("input name:")? scanf("%s",)?骤 printf("input score:")? scanf("%f",&si.score)?for (i=0?i<N?i+)printf("%d ",si.num)? print
6、f("%s ",)? n",si.score)?3.显示某人工资信息的程序如下, 分析显示结果。 上机运行以下程序。分析:某人工资信息可以由结构体来定义,表中的内容可以通过结构体中的成员来表示。体会结构体成员的指针运算符引用方法。'.#include"stdio.h"#include "string.h"void main()struct staffchar name20?实char department20?int salary?验?struct staff w1,*p?内p=&w1?strc
7、py(,"Li-Li")?/* 个人信息 */容strcpy(*p).department,"part1")?p->salary=1000?与n",,w1.department,w1.salary)?n",(*p).name,(*p).department,(*p).salary)?步printf("%s %s %dn",p- >name,p->department,p->salary)?骤4.编写input() 和output()函数, 输入、输出2 个学生的数
8、据记录。上机运行以下程序。分析:体会结构化程序设计思想的应用。#include "stdio.h"#define N 2struct studentchar num6?char name8?int score4?stuN?void input()int i,j?for(i=0?i<N? i+)n",i+1,N)?printf("num:")?scanf("%s",stui.num)?printf("name: ")?scanf("%s",)?for(j=0?j&
9、lt;3?j+)printf("score %d.",j+1)?'.scanf("%d",&stui.scorej)?n")?void print(struct student stuN)int i,j?n")?for(i=0?i<N?i+)printf("%-6s%-10s",stui.num,)?for(j=0?j<3?j+)printf("%-8d",stui.scorej)?n")?void main()input()?print(
10、stu)?5.利用结构体类型,编程计算一名同学5 门课的平均分。 上机运行以下程序。分析:计算一名同学5 门课的平均分,是对结构体成员变量的算术运算。#include "stdio.h"void main()struct stuscorecharname20?floatscore5?floataverage?structstuscore x="Wang- Wei", 90.5,85, 70, 90, 98.5?int i?float sum=0?for(i=0? i<5? i+)sum+=x.scorei?x.average=sum/5?print
11、f("The average score of %s is %4.1fn",,x.average)?'.6.用结构体型数组初始化建立一工资登记表。 然后键入其中一人的姓名, 查询其工资情况。上机运行以下程序。分析:查询工资情况,是对结构体成员的查询操作。#include "stdio.h"#include "string.h"void main()struct staffchar name20?char department20?int salary?int cost? worker3="Xu-Guo&q
12、uot;, "part1",800,200,"Wu-Xia","part2",1000,300,"Li-Jun","part3",1200,350,?int i?char xname20?printf("nInput the worker's name:")?scanf("%s", xname)?for(i=0? i<3? i+)if(strcmp(xname,)=0)printf("nsalary:%6d&
13、quot;, workeri.salary)?printf("ncost:%6d", workeri.cost)?printf("npayed:%6dn",workeri.salary-workeri.cost)?7.用子函数求出worker数组中每个工人的实发工资。上机运行以下程序。分析:求出每个工人的实发工资,是对结构体成员变量的算术运算。#include"stdio.h"#define NUM 3struct staffchar name20?char department20?int salary?int cost?int r
14、ealsum?'.void main()void getreal(struct staff *p,intn)?struct staff workerNUM,*pm?int i?printf("Input %d worker's namen",NUM)?for(i=0,pm=worker? i<NUM? i+,pm+)scanf("%s%s%d%d",pm- >name,pm->department,&pm- >salary,&pm->cost)?pm=worker?getreal(pm,NUM
15、)?for(pm=worker? pm<worker+NUM? pm+)printf("%s of %s should be payed %dn",pm->name,pm->department,pm->realsum)?void getreal(struct staff *p,int n)int i?for(i=0? i<n? i+,p+)p->realsum=p->salary-p->cost?8.输入并运行下面程序,观察结果,分析联合变量的存储特点。上机运行以下程序。#include"stdio.h"
16、void main()unionint i2?long k?char c4?t,*s=&t?s->i0=0x39?/*按照整型成员的类型赋值*/s->i1=0x38?printf("%xn ",s->k)? /* 按照长整型成员的类型使用储存内容 */ printf("%cn ",s->c0)? /* 按照字符型成员的类型使用储存内容*/9.今天星期三,再过10 天是星期几?上机运行以下程序。分析:枚举类型变量与整型变量是两种不同数据类型,注意它们之间的数据类型转换。#include"stdio.h"void main()'.enum weekdays
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 观光浏览车安全责任制度
- 公司办公室岗位责任制度
- 建筑办公室管理责任制度
- 酒店水电安全责任制度
- 危货专职安全员责任制度
- 网吧消防工作责任制度
- 网吧防疫经理责任制度
- 防治水放冲岗位责任制度
- 面包生产安全责任制度
- 食品经营者岗位责任制度
- 服装手工艺钩针教学课件
- 新课标初中物理词典
- 医疗质量与安全管理委员会会议专家讲座
- 外研版中考英语复习课件
- GB/T 41498-2022纤维增强塑料复合材料用剪切框测定面内剪切应力/剪切应变响应和剪切模量的试验方法
- GB/T 28733-2012固体生物质燃料全水分测定方法
- FZ/T 08001-2021羊毛絮片服装
- 博弈策略的生活解读 课件
- PSP问题分析与解决能力训练课件
- 综合实践六年级下册和灯做朋友-完整版课件
- 数字化仿真概述课件
评论
0/150
提交评论