资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,C,语言程序设计,计算机与信息工程分院,C,语言程序设计,计算机与信息工程分院,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,1,第,1,讲 课程复习,1,11第1讲 课程复习1,1,概述,(1),知识点:,C,语言的基本知识(执行步骤),main,函数的基本知识,C,程序的结构组成,C,程序书写的规则,2,1 概述(1)知识点:2,1,概述,(2),1.1 C,程序的执行步骤,编辑,链接,编译,执行,程序代码的录入,生成源程序,*,.c,语法分析查错,翻译,生成目标程序,*,.obj,与其它目标程序或库链接装配,生成,可执行程序,*,.exe,3,1 概述(2)1.1 C程序的执行步骤编辑链接编译执行程序代,1,概述,(3),1.2,main,函数的基本知识,main(),函数的位置,C,程序总是从,main( ),函数开始执行,一个,C,程序可以包含一个主函数,即,main( ),函数,;,也可以包含一个,main( ),函数和若干其他函数。,4,1 概述(3)1.2 main函数的基本知识main()函数,2,概述,(4),1.3 C,程序的结构,函数与主函数,程序由一个或多个函数组成,必须有且只能有一个主函数,main,( ),程序执行从,main,开始,在,main,中结束,其它函数通过嵌套调用得以执行。,5,2 概述(4)1.3 C程序的结构函数与主函数5,1,概述,(5),1.3 C,程序的结构,(,续,),程序语句,C,程序由语句组成,用,“,;,”,作为语句终止符,注释,/,/* */,为注释,不能嵌套,不产生编译代码,6,1 概述(5)1.3 C程序的结构(续)程序语句注释6,1,概述,(6),1.4 C,程序书写的规则,习惯用,小写,字母,大小写敏感,不使用行号,,无程序行,概念;通常一个语句占一行,可使用空行和空格,常用,锯齿形,书写格式;同一层次结构的语句上下对齐。,7,1 概述(6)1.4 C程序书写的规则习惯用小写字母,大小写,2,基本数据类型与运算,(1),知识点:,C,程序的数据类型,标识符定义的规则,基本运算与表达式,混合运算时数据类型的转换,8,2 基本数据类型与运算(1)知识点:8,2,基本数据类型与运算,(2),2.1 C,程序的数据类型,数据类型,基本类型,整型,字符型,浮 点 型,构造类型,指针类型,空类型,数组类型,结构体类型,单精度型,双精度型,变量占用的,存储空间,注意基本类型赋初值的方式,注意类型和变量含义的不同,9,2 基本数据类型与运算(2)2.1 C程序的数据类型数据类型,2,基本数据类型与运算,(3),2.1 C,程序的数据类型,基本数据类型的表示形式,整型数据,实型数据,字符型数据,十进制,:,以,非,0,数字,开头,如,: 123,-9,0,八进制,:,以,0,数字,开头,如:,0123,067,十六进制,:,以,0x,开头,如,: 0x123, 0xff,十进制,:,必须带小数点,如,: 123.0,-9.0,指数形式,:,如,: 1.23E3, 0.9e-2, 5e2,普通字符,:,如,:,a,, ,2,, ,H,,,#,转义字符,:,如,:,n,, ,167,xlf, ,10,2 基本数据类型与运算(3)2.1 C程序的数据类型基本,2,基本数据类型与运算,(4),2.1 C,程序的数据类型,基本数据类型的存储长度,11,2 基本数据类型与运算(4)2.1 C程序的数据类型基本数,2,基本数据类型与运算,(5),2.2,标识符命名的规则,C,语言标识符命名规则:,标识符由数字、字母、下划线组成,标识符的,首字符必须为字母和下划线,标识符不能为,C,语言的,保留字(关键字),auto,extern,sizeof,float,static,case,for,struct,char,goto,switch,continue,in,typedef,const,if,union,default,long,unsigned,do,register,void,double,return,else,short,while,enum,signed,12,2 基本数据类型与运算(5)2.2 标识符命名的规则C语言标,2,基本数据类型与运算,(6),2.3,基本运算与表达式,13,2 基本数据类型与运算(6)2.3 基本运算与表达式13,2,基本数据类型与运算,(7),2.3,基本运算和表达式,运算符的优先级,小于,大于,=,大于或等于,等于,! 不等于,优先级相同 (高,),优先级相同(低),低,高,赋值运算符,关系运算符,算术运算符,单目运算符,14,2 基本数据类型与运算(7)2.3 基本运算和表达式运算符,2,基本数据类型与运算,(8),2.3,基本运算和表达式,运算符的优先级,(,续,),15,2 基本数据类型与运算(8)2.3 基本运算和表达式运算符,2,基本数据类型与运算,(9),2.3,基本运算和表达式,关系表达式和逻辑表达式,(ab)&(xy) (a=b)|(x=y) !a |(ab),在,C,中逻辑运算结果:,1,代表,“,真,”,,,0,代表,“,假,”,;,判断一个表达式是否真:,0,代表,“,假,”,, 非,0,代表,“,真,”,条件表达式,表达式,1,?表达式,2,:表达式,3,k=56 ? 1:0,逗号表达式,16,2 基本数据类型与运算(9)2.3 基本运算和表达式关系表达,2,基本数据类型与运算,(10),2.4,混合运算的数据类型转换,一个表达式运算结果的类型,整型变量,与,实型变量,之间的转换,不同精度实型变量,之间的转换,不同精度,整型变量,之间的转换,17,2 基本数据类型与运算(10)2.4 混合运算的数据类型转,3,顺序结构程序设计,(1),知识点:,C,语句的分类,格式输入函数,scanf,格式输出函数,printf,其他输入输出函数,18,3 顺序结构程序设计(1)知识点:18,3,顺序结构程序设计,(2),3.1 C,语句的分类,C,语句,简单语句,复合语句,流程控制,语句,表达式语句,空语句,选择语句,(if,switch),循环语句,(while,dowhile,for),转移语句,(break,continue,return,goto),表达式,+,分号,只有分号的语句,用花括号将若干语句括起来,19,3 顺序结构程序设计(2)3.1 C语句的分类C语句简单语句,3,顺序结构程序设计,(3),3.2,格式输入函数,scanf,一般形式:,scanf,(,“,格式控制字符串,”,,,地址表列,);,使用,scanf,函数时,需注意:,格式字符的个数必须与输入项的个数相同数据类型必须一一对应,,非格式字符串(说明性的)要原封不动的输入,。,输入实型数据时,可以不带小数点,即按整型数据输入,数值型数据与字符或字符串混合输入时,需要注意输入方式。,20,3 顺序结构程序设计(3)3.2 格式输入函数scanf一般,3,顺序结构程序设计,(4),3.3,格式输出函数,printf,printf(“,格式控制字符串”,输出表列,),;,指定输出格式 ,由格式字符串和非格式字符串两种组成 ,非格式字符串照原样输出。,标志,输出最小宽度,.,精度,长度,类型,%f,,,%d,,,%c,,,%s,输出项,21,3 顺序结构程序设计(4)3.3 格式输出函数printf,3,顺序结构程序设计,(5),3.4,其他输入输出函数,putchar,getchar,puts,gets,22,3 顺序结构程序设计(5)3.4 其他输入输出函数putch,4,选择结构程序设计,(1),if,选择结构,单分支,双分支,多分支,if,(,表达式,),语句,if,(,表达式,),语句,1,else,语句,2,if,(,表达式,1,),语句,1,else if,(,表达式,2,),语句,2,else if,(,表达式,m,),语句,m,else,语句,n,23,4 选择结构程序设计(1)if选择结构单分支双分支多分支if,4,选择结构程序设计,(2),switch,(,表达式,),case,常量表达式,1,:,语句,1,; break;,case,常量表达式,2,:,语句,2,; break;,case,常量表达式,m,:,语句,m,; break;,default:,语句,n,; break;,注意break的作用,24,4 选择结构程序设计(2)switch (表达式)注意bre,5,循环结构程序设计,(1),while(,表达式,),语句,for(,循环变量赋初值;循环条件;循环变量增量,),语句,循环三要素:,初始条件,终止条件,在初始条件和终止条件间,重复做某件事情,(,循环体,),do,语句,while(,表达式,);,25,5 循环结构程序设计(1)while(表达式) for(循,5,循环结构程序设计,(2),break,语句,continue,语句,不能用于循环语句和,switch,语句之外的任何其他语句,跳过循环体中剩余的语句而强行执行下一次循环,26,5 循环结构程序设计(2)break语句continue语句,6,数组,(1),6.1,一维数组的定义和使用,main(),int i,a10;,for(i=0; i=0; i-),printf(%d ,ai);,数组元素的赋值,数组元素的使用,注意下标问题,特别需要注意循环的初值,终止条件,27,6 数组(1)6.1 一维数组的定义和使用main()数组元,6,数组,(2),6.2,二维数组的定义和使用,二维数组的初始化,例如:,int a34=1,2,3,4,5,6,7,8,9,10,11,12;,int a34=1,2,3,4,5,6,7,8,9,10,11,12;,int,a 4,=1,2,3,4,5,6,7,8,9,10,11,12;,int,a 4,=1,2,3,4,5,9,10,11,12;,例如:,int a33=1,2,3;,是对每一行的第一列元素赋值,未赋值的元素取,0,28,6 数组(2)6.2 二维数组的定义和使用二维数组的初始化例,6,数组,(3),6.3,字符数组和字符串,字符串用字符数组来处理,,结束标志符,0,如,:,char c=“I am happy”;,char c=I, , a, m, , h, a, p, p, y, 0;,用字符串常量使字符数组初始化,29,6 数组(3)6.3 字符数组和字符串字符串用字符数组来处理,7,函数,(1),知识点:,函数的定义和调用,局部变量和全局变量,变量的存储类别,30,7 函数(1)知识点:30,7,函数,(2),7.1,函数的定义和调用,类型标识符,函数名,(,形式参数表列,),声明部分,语句,例如:,int,max(int x,int y),int z;,z=xy?x:y;,return(z);,31,7 函数(2)7.1 函数的定义和调用类型标识符 函数名(形,7,函数,(3),7.2,局部变量和全局变量,float f1(int a),int b,c,;,char f2(int x,int y),int i,j;,main(),int m,n;,a,b,c,有效,x,y,i,j,有效,m,n,有效,省略的标识符为,auto,注意函数中静态变量,的定义和使用,32,7 函数(3)7.2 局部变量和全局变量float f1(i,7,函数,(4),7.2,局部变量和全局变量,(,续,),int p=1,q=5; /*,外部变量,*,/,float f1(int a) /*,定义函数,f1*/,int b,c;,.,char c1,c2; /*,外部变量,*,/,char f2(int x,int y) /*,定义函数,f2,*/,int i,j;,.,main( ) /*,主函数,*,/,int m,n;,.,全局变量,c1,、,c2,的作用范围,全局变量,p,和,q,的作用范围,33,7 函数 (4)7.2 局部变量和全局变量(续)int p,7,函数,(5),7.3,变量的存储类别,局部变量的存储类别,自动变量,(auto),局部静态变量,(static),寄存器变量,(register),动态存储,静态存储,静态存储,34,7 函数(5)7.3 变量的存储类别局部变量的存储类别自动,7,函数,(6),7.3,变量的存储类别,(,续,),全局变量的存储类别,自动变量,(auto),外部变量,(extern),全局静态变量,(static),静态存储,静态存储,静态存储,35,7 函数(6)7.3 变量的存储类别(续)全局变量的存储类别,7,函数,(8),数组作为函数参数编程,分析下面程序的功能:,#include ,int sum_array(,int a, int n,),int i,total;,for(i=0,total=0;i,成员名,47,9 结构体(5)9.3 结构体数组结构体数组结构体数组元素.,10,文件,(1),函数原型:,FILE,*fopen (char *name , char *mode),函数原型:,int fclose(,FILE *fp,),48,10 文件(1)函数原型:函数原型:48,10,文件,(2),函数原型:,int fputc ( int c, FILE *fp),功能:把一字节,代码,c,写入,fp,指向的文件中,返值:正常,返回,c,;,出错,为,EOF,函数原型:,int fgetc ( FILE *fp ),功能:从,fp,指向的文件中,读取,一字节代码,返值:正常,返回读到的代码值;,读到文件尾,(,EOF,),或出错,(,NULL,),为止,49,10 文件(2)函数原型:int fputc ( int,其他,strcpy,(,字符数组,1,字符串,2),strcat(,字符数组,1,字符数组,2,),strcmp(,字符串,1,字符串,2,),strlen,(,字符数组,),50,其他strcpy(字符数组1,字符串2)strcat(字符数,51,51,谢谢,51,5151谢谢51,
展开阅读全文