数据库课件L1-2PPT课件下载推荐.ppt
- 文档编号:6870472
- 上传时间:2023-05-07
- 格式:PPT
- 页数:36
- 大小:77KB
数据库课件L1-2PPT课件下载推荐.ppt
《数据库课件L1-2PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《数据库课件L1-2PPT课件下载推荐.ppt(36页珍藏版)》请在冰点文库上搜索。
输入设备输入设备文件输出设备输出设备文件外部存储设备程序文件、数据文件,流,C语言通过一个称为“流”的逻辑设备间接操作文件;
流实际是一个FILE类型的变量,FILE类型是一个结构类型,定义在stdio.h中。
程序需要与文件交换数据时:
先在程序与文件之间建立一个流(用fopen函数);
用标准输入/输出函数,通过流读/写文件;
数据交换结束后,撤销流(用fclose函数)。
文件操作打开/关闭,文件的打开(建立流):
FILE*fp;
fp=fopen(char*filename,char*mode);
文件的关闭(撤销流):
intfclose(FILE*fp);
文件操作读/写函数,字符的输入输出函数intgetc(FILE*fp);
intputc(intc,FILE*fp);
字符串的输入输出函数:
charfgets(char*s,intn,FILE*fp);
intfputs(char*s,FILE*fp);
格式化输入/输出函数:
fscanf(FILE*fp,”输入格式”,输入项);
fprintf(FILE*fp,”输出格式”,输出项);
C程序运行时自动建立3个流:
1、stdin,与键盘联系;
2、stdout,与显示屏幕联系;
3、stderr,与显示屏幕联系。
特点:
这些流由系统自动将其打开、关闭,程序不需管。
标准设备文件,标准设备文件的读/写,字符输入输出函数:
getchar(),putchar()字符串的输入输出函数:
gets(),puts()格式化输入/输出函数:
scanf(),printf(),要求:
从键盘输入10个数字,将这10个数字及其平均值保存到磁盘文件data.txt中。
文件操作:
例一,#includeintmain(void)FILE*fp;
intvar,i,sum=0;
floataverage;
fp=fopen(“data.txt”,“w”);
for(i=0;
i10;
i+)printf(“inputnumber:
要求:
从键盘输入一些字符,逐个把它们保存到磁盘文件中,输入结束标志为#。
例二,#includeintmain(void)FILE*fp;
charch,filename10;
scanf(%s,filename);
if(fp=fopen(filename,w)=NULL)printf(cannotopenfilen);
exit(0);
ch=getchar();
while(ch!
=#)fputc(ch,fp);
fclose(fp);
程序设计要点
(二):
化复杂为简单,例:
设计一程序,要求能够查询学生的成绩、计算平均成绩和总学分、按照总学分排序。
分析:
程序的基本功能:
1、成绩的输入(存入文件);
2、成绩的查询(按学号);
3、计算平均成绩和总学分;
4、按总学分排序;
5、查询结果的输出。
模块化程序设计思想:
逐步分解、分而治之优点:
每个模块可以独立设计和实现,利于提高效率、隔离错误和维护,模块化程序设计,程序组织,C语言中用函数组织程序,一个C程序由一个主函数和若干个函数构成。
主函数(main)是程序开始执行的入口;
C函数是一个独立完成某个功能的语句块;
函数与函数之间通过输入参数和返回值(输出)来联系;
函数的定义,函数定义的格式为:
返回类型函数名(参数表)函数体;
用户自定义函数,则必须在源代码中说明函数原型,函数原型可以只包含参数的类型;
标准库函数的函数原型都在头文件中提供,程序可以用#include指令包含这些原型文件;
注意:
C不允许函数定义嵌套,即在函数定义中再定义一个函数是非法的。
函数声明和调用,C语言中,一个函数必须在函数声明(函数原型)后才能被调用,函数声明的作用是告知编译器:
函数值类型、参数个数及类型,以便编译器对函数调用进行正确性检查。
函数调用:
函数名(实参1,实参2,),函数定义、声明和调用,intplus(int,int);
intmain(void)inta,b,c;
a=4;
b=5;
c=plus(a,b);
printf(“a+b=%d”,c);
intplus(intx,inty)intz;
z=x+y;
return(z);
问题一:
函数间的参数传递,1、使用全局变量2、使用参数(形参-实参)按值传递实参将数据复制到形参;
每次只传递一个数据按地址传递将实参的存储地址传递到形参(指针变量);
每次可传递多个数据。
全局变量的例子,intadd1,add2;
intmain(void)intc;
add1=4;
add2=5;
c=plus();
printf(“add1+add2=%d”,c);
intplus()intz;
z=add1+add2;
传递值的例子,intplus(int,int);
printf(“1.a+b=%d”,c);
printf(“2.a+b=%d”,a+b);
x=8;
y=10;
传递地址的例子,intplus(int*,int*);
c=plus(,问题二:
变量生存期和作用域,运行时,程序在内存中分为4个部分:
代码区、全局数据区、堆区、栈区。
变量的存储类型:
static:
全局数据区auto:
栈区register:
通用寄存器,变量生存期:
程序运行期间变量存在的时间。
与变量存储类型和声明位置有关:
1、静态生命期:
变量被分配在全局数据区。
其生存期与程序的运行期相同。
如全局变量、静态全局变量、静态局部变量。
2、局部生命期:
变量分配在栈区。
其生存期与函数运行期相同。
3、动态生命期:
变量分配在堆区。
其生存期由程序中特定的函数调用来调用和释放。
变量的生存期,变量的作用域,变量在源程序中的有效范围,与变量声明的位置有关。
全局变量:
在函数之外声明的变量称为全局变量,可以为本文件中其它函数所共用。
全局变量存放在全局数据区。
在声明全局变量时,若未专门初始化,则编译器将其初始化为0。
局部变量:
在一个函数内部声明的变量是局部变量,它只在本函数范围内是可见的。
局部变量存放在栈区。
如果局部变量不被显式初始化,则其内容是不可预料的。
intplus(void);
intadd1,add2;
小结,程序(计算)的本质:
数据的输入、操作、输出程序(函数)的结构(输入/输出、数据处理),变量是程序的核心,变量的本质;
变量的数据类型(普通变量(基础类型变量、聚合类型变量)、指针变量);
程序运行结束后,变量中保存的数据随之丢失;
需长期保存的数据应保存在文件中,存储在外部存储设备(磁盘等)。
化复杂为简单,将复杂的功能分解为一个个简单的功能的组合;
程序由模块(函数)组成1、函数的定义、声明、调用;
2、函数之间参数的传递;
3、变量的生存期;
4、变量的作用域;
C语言提供了大量的库函数;
大量通用的算法及实现;
站在巨人的肩上库函数,程序员的七种武器,数组、字符串、哈希表;
正则表达式;
调试;
两门语言;
一个开发环境;
SQL语言;
编写软件的思想;
摘自程序员2007年3月,作业,预习:
书P1P16,谢谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课件 L1