C语言程序设计高级篇.ppt_第1页
C语言程序设计高级篇.ppt_第2页
C语言程序设计高级篇.ppt_第3页
C语言程序设计高级篇.ppt_第4页
C语言程序设计高级篇.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计高级篇,第三讲 二维数组的回顾及应用、一维数组与指针的关系、数组与指针及函数的综合应用、结构体引入(全局变量与局部变量回顾),主要内容,1.针对上机出现的一些问题进行分析讲解 引入:局部变量与全局变量,函数的返回值; 2.电子成绩单部分功能:二维数组、一维数组与指针与函数的综合应用 3.数字时钟系统程序设计 :结构体数据定义及使用,时间函数的调用,1.实验八上机出现的问题,1.上交的作业: (1)只有三四个同学看清楚了题意,是要写函数 ; (2)16进制,与10进制的概念不清楚。 2.实验八出现的问题: (1)二维数组的存放; (2)函数的返回值; (3)单步调试,只要这几个热键 F9(设置断点); F10(不进入函数内部的单步运行); F11(进入函数内部的单步运行)。,2.电子成绩单部分功能:二维数组,例:输入10个学生5门课的成绩,分别用函数实现下列功能:计算每个学生平均分。 (1)问题分析 分析所需要的数据类型;(二维数组,双重循环) 函数如何定义、传递什么样的参数等。( 一般的参数传递,还是数组的参数传递等等) (2)算法流程图,(3)源代码 #include #define NUM_STUDENT 2 #define NUM_COURSE 2 void main() /计算每个学生的平均分函数 void averageGrade(float gradeStudentNUM_STUDENTNUM_COURSE); float gradeStudentNUM_STUDENTNUM_COURSE; int i,j; printf(“please input the 10 students grade :“); /输入10个学生的5门课成绩 for(i=0;iNUM_STUDENT;i+) for(j=0;jNUM_COURSE;j+) scanf(“%f“, /调用函数 ,宏定义:定义符号常量,没有返回参数的函数调用的一般方式。,/计算每个学生的平均分函数 void averageGrade(float gradeStudentNUM_STUDENTNUM_COURSE ) float sum=0,averNUM_STUDENT=0; int i,j; for(i=0;iNUM_STUDENT;i+) for(j=0;jNUM_COURSE;j+) sum=gradeStudentij+sum; averi=sum/NUM_COURSE; printf(“the %d students average grade is the %5.2f .n“,i,averi); ,动手:计算每门课的平均分。,2.一维数组与指针,例 :输入信息0902班,学号为110的这些学生的C语言程序设计期末成绩; 在显示器上输出这10个学生的成绩; 找出其中的最高分及其对应学生的学号。 (1)问题分析 怎么去放这些成绩?如何查找最高分? (2)绘制流程图,用一维数组存放,用数组名和下标去查找。,(3)源代码 #include #define NUM_STUDENT 3 void main() void maxGradeandStudent(float gradeStudentNUM_STUDENT);/找出最高的分数及对应学号 float gradeCProgramStudentNUM_STUDENT; int i; printf(“please input the 10 students C program grade .n“); /输入10个学生的C语言程序 for(i=0;iNUM_STUDENT;i+) printf(“the %d student :“,i+1); scanf(“%f“,/调用函数 ,调用函数的定义(数组作为传递的参数),void maxGradeandStudent(float gradeStudentNUM_STUDENT)/找出最高的分数对应的学生 int i; float max=gradeStudent0; int maxGradeStudent=0; for(i=1;imax) max=gradeStudenti; maxGradeStudent=i; printf(“maxgrade=%5.2f, the students number is %d .n“,max,maxGradeStudent+1); ,引入另一种方法:指针操作打印输出部分。 #include #define NUM_STUDENT 3 void main() float gradeCProgramStudentNUM_STUDENT; int i; float *p; p=gradeCProgramStudent; printf(“please input the 10 students C program grade .n“); /输入10个学生的C语言程序 for(i=0;iNUM_STUDENT;i+) printf(“the %d student :“,i+1); scanf(“%f“, ,有没有其他办法来实现打印输出和查找呢?,参数传递:指针作为函数参数(数组名与指针的关系),#include #define NUM_STUDENT 3 void main() void maxGradeandStudent(float *);/找出最高的分数及对应学号 float gradeCProgramStudentNUM_STUDENT; int i; float *p; p=gradeCProgramStudent; printf(“please input the 10 students C program grade .n“); /add code 输入10个学生的C语言程序 /add code 在显示器上打印出10个学生的C语言成绩 maxGradeandStudent(p);/调用函数 ,void maxGradeandStudent(float *pgradeStudent)/找出最高的分数对应学号 int maxGradeStudent=0; float max,*p_i; max=*pgradeStudent; for(p_i=pgradeStudent+1;p_imax) max=*p_i; maxGradeStudent=p_i-pgradeStudent; printf(“maxgrade=%5.2f, the students number is %d .n“,max,maxGradeStudent+1); ,3.数字时钟系统,(1)系统分析 时间显示: 显示当前的时间年、月、日 时间调节: 可以根据不同的时区,来调节当前的时间。 闹钟提醒: 可以设置提醒时间:如一个小时提醒一下,(2)绘制基本流程图,struct date int year; int month; int day; ;,struct 结构体名 成员列表 变量名列表;,struct date int year; int month; int day; date1;,struct date date1;,(3)时间结构体,(4)结构体应用:实现电子时钟部分功能,#include #include void main() date date1; date1.year=2010; date1.month=05; date1.day=28; printf(“%4d-%02d-%02dn“,date1.year,date1.month,date1.day); time_t todaySystem; time( ,struct date int year; int month; int day; ;,/显示日期,实验九,1.用指针方法处理:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:输入10个数;查找及对换处理输出10个数。(书278页10.3题) 2.用结构体实现电子时钟部分功能:显示时间; - 3.学生成绩管理系统的部分功能实现:书中202页8.14题(1),(3); 4.用递归法将一个整数n转换成字符串。例如:输入483,应输出字符串“483”。N的位数不确定,可以是任意位数的整数。书20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论