标准课件C语言复习_第1页
标准课件C语言复习_第2页
标准课件C语言复习_第3页
标准课件C语言复习_第4页
标准课件C语言复习_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

C程序设计总复习C程序设计总复习第一章C程序的特点C程序的开发步骤第二章常量与变量常量——数值常量与符号常量标识符命名规则变量先定义,后使用变量初始化inta=b=c=3;第一章基本数据类型整型:intshortlongunsignedint:-32768~32767,2字节实型:floatdouble字符型char1字节,存放一个字符(ASCII码)字符常量‘A’‘b’换码序列:‘\0’‘\n’‘\\’‘\101’‘\x41’基本数据类型字符串常量“hello”字符串结束标志‘\0’字符数组存放数据类型转换隐式转换运算转换赋值转换输出转换函数调用转换显式转换(强制转换)一般形式:(类型名)(表达式)如i=(int)(f1+f2);hello‘\0’doublefloatlongunsignedintchar,short低高字符串常量hello‘\0’doublefloatlongu运算符与表达式运算符掌握功能优先级与结合性运算量类型与个数算术运算符:+-*/%++--intk;k=2/3;intk;k=2%3;k=3;i=2*(++k);j=2*(k--);运算符与表达式赋值运算符a=3表达式a=3;赋值语句自右向左a=b=c=5;赋值运算符左侧必须是可寻址变量7=a+5;a+b=c;+=-=*=/=%=x*=y+8x=x*(y+8)逗号运算符a+5,b-3,c++求值顺序:从左向右关系运算符<<===>=>!=逻辑运算符&&||!条件运算符:x>y?x:y自右向左赋值运算符输入输出scanfprintfgetcharputchar常用格式符:%d%f%c%s第三章语句表达式语句函数调用语句空语句复合语句程序控制语句输入输出程序结构顺序结构选择结构if语句的三种形式复合语句的使用if与else的配对switch语句常量表达式语句标号作用breakif(expression)statement;if(expression)statement1;elsestatement2;if(expr1)statement1;elseif(expr2)statement2;elseif(expr3)statement3;…...[elsestatementn;]程序结构if(expression)if(expresswitch(expression){caseconstexpr1:statementgroup1;break;caseconstexpr2:statementgroup2;break;…….caseconstexprn:statementgroupn;break;[default:statementgroup;break;]}switch(expression)循环结构if与gotowhiledo~whileforbreak与continuewhile(expression){

循环体语句;}do{

循环体语句;}while(expression);for(expr1;expr2;expr3){

循环体语句;}循环结构while(expression)dofor(ex第六章函数C语言是函数式语言必须有且只能用一个main程序执行从main开始,在main中结束函数定义不能嵌套库函数与用户自定义函数第六章函数现代风格:intmax(intx,inty){intz;z=x>y?x:y;return(z);}函数定义形参的定义格式所有变量定义放在第一个可执行语句前面现代风格:函数定义形参的定义格式形参与实参实参必须有确定的值实参与形参个数应相同,类型应一致参数传递方式值传递地址传递形参与实参函数返回值函数返回值的类型用类型说明符说明;若未加说明,自动按int型处理若函数返回值的类型与return语句中表达式值的类型不一致,按前者为准若函数无返回值,可用“void”说明函数返回值函数调用函数调用的一般形式:函数名(实参表);函数的嵌套调用函数说明一般形式:类型说明符函数名(形参类型[形参名],…..);

类型说明符函数名();作用:告诉编译系统本函数中要使用类型的函数,其参数个数及类型,为编译程序作类型检查提供依据函数说明位置:在程序的数据说明部分,可在函数内部或外部说明函数调用C语言中下列情况下,可不作函数说明若函数返值是char或int型,系统自动按int型处理被调用函数定义出现在主调函数之前在文件开头,所有函数定义之前作了类型说明,则主调函数中不必再说明C语言中下列情况下,可不作函数说明变量的存储属性变量的生存期:静态变量与动态变量变量的作用域:局部变量与全局变量变量的存储类型autoregisterstaticextern变量的存储属性局部变量定义不同函数中定义的同名变量,占用不同的内存单元,互不干扰形参属于局部变量,默认为auto型局部变量全局变量定义有效范围:从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件同一源文件中若外部变量与局部变量同名,则外部变量被屏蔽全局变量auto型与register型作用域:定义它的函数生存期:定义它的函数局部变量默认为auto型auto型与register型变量只能是局部变量auto型与register型变量在每次函数调用时初始化;若不赋初值,其值不定auto型与register型静态型static生存期:整个程序运行期间局部静态变量具有全局寿命和局部可见性编译时赋初值,只赋一次;若不赋初值,其值为0外部静态变量外部变量只能是static型或缺省存储类型外部静态变量不允许其它文件引用若不赋初值,其值为0静态型static外部参照型externextern不是定义变量,只是对变量进行说明extern说明的变量在其它文件或本文件的其它地方已经定义extern变量不能初始化,不分配内存编译预处理以“#”开头无分号“;”宏定义#define文件包含#include头文件*.h外部参照型extern编译预处理第五章指针与数组数组定义:inta[10];floatb[3][4];charc[10];数组元素引用:a[0]b[0][2]c[3]初始化:staticinta[]={1,2,3};floatb[][3]={{1,2,3},{5,6,7},{3,1,4}};charc[]={‘H’,‘e’,‘l’,‘l’,‘o’};charc[]={“hello”};charc[]=“hello”;常量第五章指针与数组常量存储:最右下标变化最快数组名是表示数组起始地址的常量数组名作函数参数是地址传递输入输出:%d%c%s常用字符串处理函数putsgetsstrcpystrcatstrcmpstrlen冒泡排序法与选择排序法存储:最右下标变化最快指针指针概念指针与地址*与&指针运算p+ip+i*d一级指针变量定义:int*p;引用:p=&a;*p=3;初始化:inta;int*p=&a;作函数参数:地址传递指针指针与数组指针与一维数组inta[10];int*p=&a[0];int*p=a;引用数组元素下标法:a[i]p[i]指针法:*(a+i)*(p+i)数组名作函数参数地址传递形参:inta[];或int*a;指针与数组指针与二维数组概念指向一维数组的指针定义:int(*p)[4];元素引用:(*p)[0]p[0][0]数组名作函数参数地址传递形参:inta[][5];或int(*p)[5];指针与二维数组表示形式含义地址a二维数组名,数组首地址a[0],*(a+0),*a第0行第0列元素地址a+1第1行首地址a[1],*(a+1)第1行第0列元素地址a[1]+2,*(a+1)+2,&a[1][2]第1行第2列元素地址*(a[1]+2),*(*(a+1)+2),a[1][2]第1行第2列元素值2000200020082008201213表示形式含义地址a二维数组名,数组首地址a[0],*(a+0指针与字符串字符指针变量与字符数组如charstr[20];str=“IloveChina!”;()char*cp;cp=“IloveChina!”;()%c%s函数与指针函数指针定义:int(*p)();赋值:p=max;调用:(*p)(a,b);指针与字符串返回指针值的函数int*func();指针数组与多级指针指针数组定义:int*p[4];char*name[]={“hello”,”good”,”bye”};多级指针int**p; 命令行参数返回指针值的函数int*func();第九章结构与联合类型类型定义:不分配内存变量定义三种形式变量与成员同名变量引用变量名.成员名指针变量名->成员名struct与union区别类型定义typedef第九章结构与联合类型第七章文件文件类型:文本文件与二进制文件文件类型指针FILE*fp;文件使用方式:打开---读/写---关闭文件读写fputcfgetcfputsfgetsfreadfwritefscanffprintf文件定位rewindfseekftell第七章文件《C程序设计》课程总结1.基本数据类型概念及其定义方法,常量的表示方法2.构造数据类型的基本概念、定义方法及其引用方法3.数据的输入与输出(格式I/O,字符、字符串I/O)4.控制结构种类、功能、格式及其编程方法(NS流程图)5.数组的定义、初始化、数组元素表示、存储、排序算法(2)6.函数的概念(库函数、自定义函数)、定义、调用、返回及参数传递,用户命令生成方法7.指针的概念,指针运算的意义、指针变量种类以及使用方法8.变量存储类别(生存期和作用域),在程序中的作用9.文件基本概念、文件处理及其基本操作步骤(打开与定位、读/写及关闭)及实现方法10.综合能力(编程,分析,概念等)17《C程序设计》课程总结1.基本数据类型概念及其定义方法,常量《C语言程序设计》课程总结1.C语言的结构1)程序的构成,main函数和其他函数2)头文件、数据说明、函数的开始和结束标志3)源程序的书写格式2.数据类型及其运算1)C的数据类型(基本类型、构造类型、指针类型、空类型)及其定义法2)C运算符的种类、优先级和结合性3)不同数据类型间的转换与运算4)C表达式类型(赋值、算术、关系、逻辑、条件、逗号)和求值规则3.基本语句1)表达式语句、空语句、复合语句2)数据的输入与输出,输入输出函数的调用3)复合语句4)goto语句和语句标号的使用

《C语言程序设计》课程总结1.C语言的结构4.

选择结构程序设计1)用if语句实现选择结构2)

用switch语句实现多分支选择结构3)

选择结构的嵌套5.

循环结构程序设计1)

for循环结构2)

while和do~while循环结构3)

continue语句和break语句4)

循环结构的嵌套6.

数组的定义和引用1)

一维数组和多维数组的定义、初始化和引用2)

字符串和字符数组7.

函数1)

库函数的正确调用2)

函数的定义方法3)

函数类型和返回值4)

形式参数和实在参数,参数值的传递5)

函数的正确调用,嵌套调用6)

变量的存储属性(自动、寄存器、静态、外部),变量的作用域与生存期4.选择结构程序设计8.

编译预处理1)

宏定义:带参数的宏定义、不带参数的宏定义2)

“文件包含”处理9.

指针1)

指针与指针变量的概念,指针与地址运算符2)

变量、数组、字符串、函数、结构体的指针及指向它们的指针变量3)

用指针作函数参数4)

返回指针值的指针函数5)指针数组、指向指针的指针,main函数的命令行参数10.结构体与共用体1)

结构体和共用体类型数据的定义方法和引用方法2)

typedef类型定义方法11.文件操作只要求缓冲文件系统,对非缓冲文件系统不作要求1)

文件类型指针(FILE类型指针)2)

文件打开与关闭(fopen,fclose)文件的读写函数(fgetc,fputc,fgets,fputs,fread,fwrite,fscanf,fprintf)文件的定位函数(rewind,fseek,ftell)综合能力:编程,分析,判断,改错等8.编译预处理综合能力:编程,分析,判断,改错等C程序设计总复习C程序设计总复习第一章C程序的特点C程序的开发步骤第二章常量与变量常量——数值常量与符号常量标识符命名规则变量先定义,后使用变量初始化inta=b=c=3;第一章基本数据类型整型:intshortlongunsignedint:-32768~32767,2字节实型:floatdouble字符型char1字节,存放一个字符(ASCII码)字符常量‘A’‘b’换码序列:‘\0’‘\n’‘\\’‘\101’‘\x41’基本数据类型字符串常量“hello”字符串结束标志‘\0’字符数组存放数据类型转换隐式转换运算转换赋值转换输出转换函数调用转换显式转换(强制转换)一般形式:(类型名)(表达式)如i=(int)(f1+f2);hello‘\0’doublefloatlongunsignedintchar,short低高字符串常量hello‘\0’doublefloatlongu运算符与表达式运算符掌握功能优先级与结合性运算量类型与个数算术运算符:+-*/%++--intk;k=2/3;intk;k=2%3;k=3;i=2*(++k);j=2*(k--);运算符与表达式赋值运算符a=3表达式a=3;赋值语句自右向左a=b=c=5;赋值运算符左侧必须是可寻址变量7=a+5;a+b=c;+=-=*=/=%=x*=y+8x=x*(y+8)逗号运算符a+5,b-3,c++求值顺序:从左向右关系运算符<<===>=>!=逻辑运算符&&||!条件运算符:x>y?x:y自右向左赋值运算符输入输出scanfprintfgetcharputchar常用格式符:%d%f%c%s第三章语句表达式语句函数调用语句空语句复合语句程序控制语句输入输出程序结构顺序结构选择结构if语句的三种形式复合语句的使用if与else的配对switch语句常量表达式语句标号作用breakif(expression)statement;if(expression)statement1;elsestatement2;if(expr1)statement1;elseif(expr2)statement2;elseif(expr3)statement3;…...[elsestatementn;]程序结构if(expression)if(expresswitch(expression){caseconstexpr1:statementgroup1;break;caseconstexpr2:statementgroup2;break;…….caseconstexprn:statementgroupn;break;[default:statementgroup;break;]}switch(expression)循环结构if与gotowhiledo~whileforbreak与continuewhile(expression){

循环体语句;}do{

循环体语句;}while(expression);for(expr1;expr2;expr3){

循环体语句;}循环结构while(expression)dofor(ex第六章函数C语言是函数式语言必须有且只能用一个main程序执行从main开始,在main中结束函数定义不能嵌套库函数与用户自定义函数第六章函数现代风格:intmax(intx,inty){intz;z=x>y?x:y;return(z);}函数定义形参的定义格式所有变量定义放在第一个可执行语句前面现代风格:函数定义形参的定义格式形参与实参实参必须有确定的值实参与形参个数应相同,类型应一致参数传递方式值传递地址传递形参与实参函数返回值函数返回值的类型用类型说明符说明;若未加说明,自动按int型处理若函数返回值的类型与return语句中表达式值的类型不一致,按前者为准若函数无返回值,可用“void”说明函数返回值函数调用函数调用的一般形式:函数名(实参表);函数的嵌套调用函数说明一般形式:类型说明符函数名(形参类型[形参名],…..);

类型说明符函数名();作用:告诉编译系统本函数中要使用类型的函数,其参数个数及类型,为编译程序作类型检查提供依据函数说明位置:在程序的数据说明部分,可在函数内部或外部说明函数调用C语言中下列情况下,可不作函数说明若函数返值是char或int型,系统自动按int型处理被调用函数定义出现在主调函数之前在文件开头,所有函数定义之前作了类型说明,则主调函数中不必再说明C语言中下列情况下,可不作函数说明变量的存储属性变量的生存期:静态变量与动态变量变量的作用域:局部变量与全局变量变量的存储类型autoregisterstaticextern变量的存储属性局部变量定义不同函数中定义的同名变量,占用不同的内存单元,互不干扰形参属于局部变量,默认为auto型局部变量全局变量定义有效范围:从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件同一源文件中若外部变量与局部变量同名,则外部变量被屏蔽全局变量auto型与register型作用域:定义它的函数生存期:定义它的函数局部变量默认为auto型auto型与register型变量只能是局部变量auto型与register型变量在每次函数调用时初始化;若不赋初值,其值不定auto型与register型静态型static生存期:整个程序运行期间局部静态变量具有全局寿命和局部可见性编译时赋初值,只赋一次;若不赋初值,其值为0外部静态变量外部变量只能是static型或缺省存储类型外部静态变量不允许其它文件引用若不赋初值,其值为0静态型static外部参照型externextern不是定义变量,只是对变量进行说明extern说明的变量在其它文件或本文件的其它地方已经定义extern变量不能初始化,不分配内存编译预处理以“#”开头无分号“;”宏定义#define文件包含#include头文件*.h外部参照型extern编译预处理第五章指针与数组数组定义:inta[10];floatb[3][4];charc[10];数组元素引用:a[0]b[0][2]c[3]初始化:staticinta[]={1,2,3};floatb[][3]={{1,2,3},{5,6,7},{3,1,4}};charc[]={‘H’,‘e’,‘l’,‘l’,‘o’};charc[]={“hello”};charc[]=“hello”;常量第五章指针与数组常量存储:最右下标变化最快数组名是表示数组起始地址的常量数组名作函数参数是地址传递输入输出:%d%c%s常用字符串处理函数putsgetsstrcpystrcatstrcmpstrlen冒泡排序法与选择排序法存储:最右下标变化最快指针指针概念指针与地址*与&指针运算p+ip+i*d一级指针变量定义:int*p;引用:p=&a;*p=3;初始化:inta;int*p=&a;作函数参数:地址传递指针指针与数组指针与一维数组inta[10];int*p=&a[0];int*p=a;引用数组元素下标法:a[i]p[i]指针法:*(a+i)*(p+i)数组名作函数参数地址传递形参:inta[];或int*a;指针与数组指针与二维数组概念指向一维数组的指针定义:int(*p)[4];元素引用:(*p)[0]p[0][0]数组名作函数参数地址传递形参:inta[][5];或int(*p)[5];指针与二维数组表示形式含义地址a二维数组名,数组首地址a[0],*(a+0),*a第0行第0列元素地址a+1第1行首地址a[1],*(a+1)第1行第0列元素地址a[1]+2,*(a+1)+2,&a[1][2]第1行第2列元素地址*(a[1]+2),*(*(a+1)+2),a[1][2]第1行第2列元素值2000200020082008201213表示形式含义地址a二维数组名,数组首地址a[0],*(a+0指针与字符串字符指针变量与字符数组如charstr[20];str=“IloveChina!”;()char*cp;cp=“IloveChina!”;()%c%s函数与指针函数指针定义:int(*p)();赋值:p=max;调用:(*p)(a,b);指针与字符串返回指针值的函数int*func();指针数组与多级指针指针数组定义:int*p[4];char*name[]={“hello”,”good”,”bye”};多级指针int**p; 命令行参数返回指针值的函数int*func();第九章结构与联合类型类型定义:不分配内存变量定义三种形式变量与成员同名变量引用变量名.成员名指针变量名->成员名struct与union区别类型定义typedef第九章结构与联合类型第七章文件文件类型:文本文件与二进制文件文件类型指针FILE*fp;文件使用方式:打开---读/写---关闭文件读写fputcfgetcfputsfgetsfreadfwritefscanffprintf文件定位rewindfseekftell第七章文件《C程序设计》课程总结1.基本数据类型概念及其定义方法,常量的表示方法2.构造数据类型的基本概念、定义方法及其引用方法3.数据的输入与输出(格式I/O,字符、字符串I/O)4.控制结构种类、功能、格式及其编程方法(NS流程图)5.数组的定义、初始化、数组元素表示、存储、排序算法(2)6.函数的概念(库函数、自定义函数)、

温馨提示

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

评论

0/150

提交评论