c语言末考试大纲.pdf_第1页
c语言末考试大纲.pdf_第2页
c语言末考试大纲.pdf_第3页
c语言末考试大纲.pdf_第4页
c语言末考试大纲.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

c语言末考试大纲.pdf.pdf 免费下载

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

文档简介

Introduction to Computer Programming Instructor: Yifan Dou, Ph. D. Week 13. Review All programs perform the same operations Input Data Process Data Output Results 编程的基本知识编程的基本知识 计算机程序计算机程序 模块化、模块化、C C程序框架程序框架 编程方法:编程方法: 1. 分析分析 2. 设计设计 3. 编码编码 4. 测试测试 运用自顶向下,逐运用自顶向下,逐 步细化的方法,设步细化的方法,设 计模块化算法计模块化算法 编程的基本知识编程的基本知识 编程编程 Second-level structure diagram int main( ) dataEntry( ); calculation( ); report( ); void report( ) screenReports( ); printedReports( ); Void screenReports( ) showInvoice( ); 编程的基本知识编程的基本知识 编程编程 任一模块所任一模块所 完成的功能完成的功能 在在C语言中,语言中, 使用使用函数函数来来 实现模块化。实现模块化。 C C程序框架程序框架 #include 或或 “路径名“路径名文件名文件名” #define 宏名宏名 字符串字符串 用户自定义函数的用户自定义函数的函数原形函数原形 外部变量外部变量/全局变量全局变量 int main( ) /* 注释注释 */ 内部变量内部变量/局部局部变量的定义语句变量的定义语句; 数据处理语句数据处理语句; return 0; 外部变量外部变量/全局变量全局变量 用户自定义函数的函数定义用户自定义函数的函数定义 条件编译条件编译 不不允许函数允许函数 的嵌套的嵌套定义定义 函数的定义与声明函数的定义与声明 函数定义的一般形式: function definition 存储类别存储类别 数据类型数据类型 函数名函数名(数据类型数据类型 形参形参1 1,数数 据类型据类型 形参形参2 2 , , ,数据类型数据类型 形参形参n n) 内部内部变量定义变量定义; 其他语句其他语句; return return ( 表达式表达式 );); 形参可缺省,缺省时 为无参函数。也可用 void表明形参缺省。 函数头 函 数 体 return 表达式; 传递函数的返回值 函数原形的一般形式: 数据类型数据类型 函数名函数名(形参形参1 1数据类型数据类型 ,形参形参2 2数数 据类型据类型 , , ,形参形参n n数据类型数据类型 ) 函数原形中的参数列表必需与函数定义中的形参列表函数原形中的参数列表必需与函数定义中的形参列表 保持一致:个数、顺序及各参数数据类型。保持一致:个数、顺序及各参数数据类型。 常用 函数的定义与声明函数的定义与声明 -函数的声明函数的声明 函数原形通知编译系统,该函数在本文件中稍函数原形通知编译系统,该函数在本文件中稍 后定义,或在另一文件中定义。后定义,或在另一文件中定义。 函数的定义与声明函数的定义与声明 -函数的调用函数的调用 按照函数在程序中出现的位置来分;按照函数在程序中出现的位置来分; 作为作为表达式表达式出现在任何允许表达式出现的地出现在任何允许表达式出现的地 方,参与运算。方,参与运算。 如:如:a asqrt(b)sqrt(b); 作为一条作为一条独立的语句独立的语句完成特定的操作。完成特定的操作。 如:如:gets(string1)gets(string1); 作为作为函数的参数函数的参数被其他函数调用。被其他函数调用。 如:如: h=sqrt( abs(theta) );h=sqrt( abs(theta) ); 函数调用的三种方式: 函数的定义与声明函数的定义与声明 -函数的调用函数的调用 Storing values into parameters 函数的传值调用:实参向形参进行单向的数值传递。 数值 函数的定义与声明函数的定义与声明 -函数的调用函数的调用 函数的传址调用:实参向形参传递变量地址信息时, 进行的地址信息单向传递。 数值: 变量 的地 址 指针 变量 数组作为函数的参数数组作为函数的参数 两个数组名指 向内存中的同 一组内存单元 数组名是数组数组名是数组 首元素的内存首元素的内存 地址地址。 语句语句 1.1.表达式语句表达式语句:表达式表达式 ; 2.2.函数调用语句函数调用语句:函数(实参)函数(实参); 3.3.复合语句复合语句: 语句语句; 4.4.控制语句控制语句. . 函数的函数的 嵌套调用嵌套调用 及递归调用及递归调用 语句语句 控制语句控制语句: if (表达式表达式) 语句语句1 1; else 语句语句2 2; 表达式表达式 语句语句1 1 语句语句2 2 真真 假假 语句语句 控制语句控制语句: if (表达式) 语句1; 表达式表达式 语句语句1 1 真真 假假 switch ( switch ( 表达式表达式 ) ) casecase 常量表达式常量表达式1 1: : 语句语句1 1; case case 常量表达式常量表达式2 2: : 语句语句2 2; case case 常量表达式常量表达式2 2: : 语句语句2 2; default: default: 语句语句n+1n+1; 多 分 支 选 择 多 分 支 选 择 控制语句控制语句: while while 语句语句 while语句:指导计算机根据表达式的结果重复执行一 条或多条语句。 while (表达式表达式) 语句语句1 1; C C语言中语言中, ,判断一个逻辑值以“判断一个逻辑值以“非零非零”代表“”代表“真真” ,以,以 “0 0”代表“代表“假假”。”。 假假 while语句实现当型当型循环。 表达式表达式 语句语句1 1 真真 for for 语句语句 表达式表达式1 1; While ( While ( 表达式表达式2 2 ) ) 语句;语句; 表达式表达式3 3; for (表达式表达式1 1;表达式表达式2 2;表达式表达式3 3 ) 语句语句; 表达 式1 表达 式2 0 0 语句 表达 式3 for 语句实现当型循环 do do 语句语句 do 语句语句; while(表达式表达式) ; do 语句实现直到型循环 语句 表达式 0 0 语句至少执行一次 breakbreak和和continue continue 语句语句 break; While (count 84) printf(“You win!”); break; else printf(“Keep on trying!”); +count; /* break 跳出循环 */ 用来使程序无用来使程序无 条件地跳出条件地跳出 switchswitch、whilewhile、 forfor、dodo- -whilewhile语语 句。句。 breakbreak和和continue continue 语句语句 continue; While (count 100) continue; total += grade; +count; 使程序无条件使程序无条件 地重新开始循环,地重新开始循环, 用于用于whilewhile、forfor、 dodo- -whilewhile语句。语句。 输入、输出输入、输出 #include scanf(格式控制格式控制,地址列表地址列表) Scanf(“%d”, printf( ) 的更多应用:的更多应用: printf(参数参数1,参数参数2,参数参数3,。参数。参数n) 格式控制格式控制 输出列表输出列表 % % - - + + 数据宽度修饰符数据宽度修饰符 格式字符格式字符 左对齐 符号 显示 m 整型整型 m.n 浮点型浮点型 格式说明:格式说明: 格式说明格式说明 int %d long %ld short %d Unsigned int %u float %f double %lf char %c 其他数制 Base8 %o # Base16 %x 文件的概念文件的概念 文件文件: 文件是存储在外部介质上数据的集合。文件是存储在外部介质上数据的集合。 C C 语言的语言的 文件是文件是流式文件流式文件。 ANSI CANSI C标准规定采用标准规定采用缓冲文件系统缓冲文件系统处理文本文件和处理文本文件和 二进制文件。二进制文件。 文件及文件指针文件及文件指针: : 文件操作文件操作是由系统定义的,在是由系统定义的,在 stdio.hstdio.h 中定义。中定义。 文件指针文件指针: FILEFILE * *文件指针名;文件指针名; 在在C C语言中,对文件的读写用库函数来实现。语言中,对文件的读写用库函数来实现。 文件的打开和关闭 对文件处理的一般过程:对文件处理的一般过程: 打开文件打开文件读读/ /写文件写文件关闭文件关闭文件 文件的打开文件的打开( (fopenfopen函数函数) ) 文件的关闭文件的关闭( (fclosefclose函数函数) ) 文件的读写:文件的读写: 文件的读写:文件的读写: fputc, fputchar, putc, putchar fgetc, fgetchar, getc, getchar fread, fprintf putw getw fgets fputs fscanf fwrite 文件位置指针的定位文件位置指针的定位 由文件打开方式确定:由文件打开方式确定: “r”“w”r”“w”:指向文件头:指向文件头 “a”a”:指向文件尾:指向文件尾 库函数库函数 void void rewindrewind(FILEFILE * *fpfp) 将文件的位置指针置于文件开头将文件的位置指针置于文件开头 库函数库函数 fseekfseek 随机读写随机读写 long long ftellftell( (文件指针文件指针);); 功能:取得文件当前的读写位置。功能:取得文件当前的读写位置。 返回值:成功:文件当前的读写位置;返回值:成功:文件当前的读写位置; 失败:失败:- -1L1L。 数据描述数据描述 常量常量 直接常量直接常量 整型常量:整型常量:23, -45, 012, 0x11,10L 实型常量:实型常量:0.0, 3.0, 12e2 字符常量:字符常量:a,n, 字符串常量:字符串常量:” he - 存储类别存储类别 auto(缺省时)(缺省时) static register (声明,不定义)(声明,不定义)extern 变量变量 局部数据局部数据 (内部数据)(内部数据) 全局数据全局数据 (外部数据)(外部数据) 一维数组的定义 类型说明符类型说明符 数组名数组名 常量表达式常量表达式 ; 例如: int a10;int a10; 表示 a a 为整型数组,有1010个元素元素: a0.a9a0.a9 可以是常量常量 和 符号常量符号常量, 不能用变量。 数组名的构成方法与一般变 量名相同。 一维数组一维数组 数组长度 下标:0 (数组长度 1) 一维数组一维数组 Accessing Element 3 数组元素的下标从0 0开始。 数组名数组名是数组是数组首元素的内存地址首元素的内存地址。 数组名是一个数组名是一个常量常量,不能被赋值,不能被赋值。 一维数组的初始化一维数组的初始化 初始化初始化,即赋初值。,即赋初值。C C语言允许语言允许定义数组时定义数组时直接对数组进直接对数组进 行初始化。行初始化。 一般形式:一般形式: 类型说明符类型说明符 数组名数组名 常量表达式常量表达式 数值表数值表; 举例:举例: float var8=0.1,1.2,2.6,3.5, 4.3,5.5,3.5,5.5; int a =2,3,4,5,6; int b5=2,3; int c5 ; 初始化时,各元素的值要顺序放在一对花括号里面,各元初始化时,各元素的值要顺序放在一对花括号里面,各元 素值之间用逗号间隔。素值之间用逗号间隔。 当对当对全部全部数组元素数组元素 赋初值时,可省略赋初值时,可省略 数组长度数组长度。 当数值不足时,从当数值不足时,从 第一个元素开始赋第一个元素开始赋 值,以值,以零零补足。补足。数数 组长度组长度不可省略。不可省略。 缺省时,缺省时,全部全部数组数组 元素赋初值为元素赋初值为零零。 二维数组二维数组 二维数组定义的一般形式:二维数组定义的一般形式: 数据类型名数据类型名 数组名数组名常量表达式常量表达式1常量表达式常量表达式2; 例如:例如: double a33,b22; int f23; 同一维数组一样同一维数组一样,二维数组二维数组(或多维数组或多维数组)中中 行行、列下标的值也都是从列下标的值也都是从0 0开始的开始的。 二维数组可以看成是一个特殊的一维数组二维数组可以看成是一个特殊的一维数组,只只 是这个一维数组的每一个元素又是一个一维数是这个一维数组的每一个元素又是一个一维数 组组。 二维数组二维数组 二维数组中各元素的顺序遵照按行存放的原则二维数组中各元素的顺序遵照按行存放的原则。 3 4 5 存储单元存储单元 3 a00 a = 6 7 8 对应表:对应表: 4 a01 1 2 9 5 a02 6 a10 7 a11 8 a12 1 a20 2 a21 9 a22 数组元素在数组中的序号数组元素在数组中的序号 假设 mn的数组a, 计算计算aai ij j 序号的公式:序号的公式: i in+n+j j 如:a为33的数组,则 a01 03+1=1 a12 的序号是: 13+2=5 a22 23+2=8 2 3 4 5 6 7 8 1 0 结构体的概念结构体的概念 声明声明一个一个结构体结构体:不是定义:不是定义 struct 结构体名结构体名 数据类型数据类型 成员名成员名; 数据类型数据类型 成员名成员名; ; struct DateDate intint monthmonth; intint datedate; intint yearyear; ; 数据类数据类 型名型名 结构体变量初始化结构体变量初始化 变量定义时初始化变量定义时初始化 struct DateDate intint monthmonth; intint datedate; intint yearyear; birthbirth=7 7,2424,19801980 ; 数据用数据用,分分 隔,与成员一隔,与成员一 一对应。一对应。 可部分赋初可部分赋初 值。值。 引用结构体变量的成员引用结构体变量的成员 结构体成员运算符结构体成员运算符 struct DateDate intint monthmonth; intint datedate; intint yearyear; birthbirth,currentcurrent; birthbirth. .monthmonth birthbirth. .datedate birthbirth. .yearyear Storing nums address into numAddr numAddr 是是指针指针变量。变量。 int num; int *numAddr; numAddr = 简单指针简单指针 简单指针:指向基本数据类型简单指针:指向基本数据类型 例:例:int *pt1; int nums20; 1.下标法:下标法:nums0,nums1, nums19 等效等效 于于 *nums,*(nums+1),*(nums+19) 2.指针法:指针法:pt1=nums; *pt1, *(pt1+1), *(pt1+19) 简单指针与一维数组小结简单指针与一维数组小结 一维数组作函数的参数一维数组作函数的参数 例:例:main( ) int nums20; void display(int ary , int size); display(nums, 20); 简单指针与一维数组小结简单指针与一维数组小结 main( ) int nums20; void display(int *pt, int size); display(nums, 20); 数据的处理数据的处理 表达式表达式是是操作数操作数及及操作符操作符的有效组合,这种组的有效组合,这种组 合可通过求解而得到一个特定的合可通过求解而得到一个特定的值值。 操作数操作数可以是变量、常量和另外一个表达式。可以是变量、常量和另外一个表达式。 操作符操作符 数据的处理数据的处理 1.1.算术表达式算术表达式:操作数操作数及及算术运算符算术运算符 2.2.逻辑表达式逻辑表达式:操作数操作数及及关系、逻辑运算符关系、逻辑运算符 3.3.条件表达式条件表达式:操作数操作数及及条件运算符条件运算符 4.4.赋值表达式赋值表达式:操作数操作数及及赋值运算符赋值运算符 5.5.强制类型转换表达式强制类型转换表达式:操作数操作数及及类型转换运算符类型转换运算符 前置前置自增自增/ /减运算符减运算符 与与 赋值语句赋值语句 i = i = i + + 1 ; k = ik = i ; k = + i ; k = ik = i ; i = i = i + + 1 ; k = i + ; 后置后置自增自增/ /减运算符减运算符 与与 赋值语句赋值语句 先用, 后加 先加, 后用 指针的运算指针的运算 指

温馨提示

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

评论

0/150

提交评论