C语言复习(计算机等级考试).ppt_第1页
C语言复习(计算机等级考试).ppt_第2页
C语言复习(计算机等级考试).ppt_第3页
C语言复习(计算机等级考试).ppt_第4页
C语言复习(计算机等级考试).ppt_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

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

文档简介

C程序设计 主讲 史志才单位 电子电气工程学院联系方式 行政楼908电话 67791131 考试名称 上海市高等学校计算机等级考试 原名 上海市普通高校学生计算机应用知识与应用能力等级考试 组织单位 上海市教育委员会目的 检测和评估高校计算机应用基础知识教学水平和教学质量重要依据之一 该项考试旨在规范和加强上海高校的计算机教学工作 提高学生的计算机应用能力 考试对象 上海市高等学校学生其他 考试每年举行一次 当年的十月下旬 十一月上旬的星期六或星期日 凡考试成绩达到合格者或优秀者 由上海市教育委员会发给相应的证书 考试目标 测试考生掌握C语言知识的程度和综合运用语言知识进行程序设计的能力 学生对C语言的概念 语法 基本语句和编程方法的了解和掌握程度 并能上机编辑 调试 运行程序解决简单实际问题 考试方法为书面闭卷考试 考试时间为120分钟 试卷总分为100分 试卷采用简答题目 写程序结果题 改错题 编程题 填充题等形式 答案写在答题纸上 采用人工阅卷方式 若答案写在试卷上则无效 考试要求 一简答题7道 共28分基本知识和概念二读程序写结果题2道 共12分程序理解 语义知识三改错题2道 共12分语法知识 语义知识程序结构四编程题2道 共18分程序设计五填充题2道 共30分综合应用合计15题100分 试卷结构 一简答题7道 共28分 基本概念 1 给出若干变量的初值 求表达式的值或者经过运算后变量的值 2 给一小段程序 写出结果 输出语句 3 给出条件 写出对应的条件表达式 4 给出结构体的定义 对其成员进行赋值 或者给出其成员变量的各种引用形式 5 给出一段程序 要求用文字描述它所完成的功能 6 给出功能 要求写出对应的语句或者语句序列 出题形式与分析 出题形式与分析 二读程序写结果题2道 共12分 程序理解 语义知识 给出完整的程序或者函数 要求写出结果 注意 1 严格按照printf 语句的格式写出结果 2 可能涉及多个函数之间的调用 3 首先要读懂程序 三改错题2道 共12分 语法 语义 程序结构 给出程序的功能以及对应程序 有时还有部分注解 要求找出其中的错误语句 并改正 注意 1 数据下标 范围 越界与否 0 1 2 条件表达式 if循环语句 3 字符与字符串的区别4 读懂程序功能的关键点 找对应的语句 很可能错 出题形式与分析 四编程题2道 共18分程序设计对于给出的功能要求写出相应的程序 注意 1 读懂题目所有求完成的功能 Whattodo 2 形成编程思路 即算法 Howtodo 3 采用什么数据结构表示要处理的对象 4 编写程序 Programming 出题形式与分析 五填充题2道 共30分 10个空 每空3分 综合应用给出要完成的功能以及对应的程序 省略掉了若干个关键语句 或者表达式 让您填写 注意 1 读懂题目所有求完成的功能 2 读懂程序大体上是如何实现上述功能的 进而弄清程序采用的实现思路 算法 3 确定填写内容 注意一些关键功能 出题形式与分析 考试内容 要点和考点 一 C程序的组成 结构及书写规则1 C语言源程序结构预处理命令 外部数据定义 函数main和其它函数定义2 程序的书写格式基本词法单位 标识符 常量 运算符等构成规则程序的书写格式与风格3 C语言程序设计步骤TurboC编程环境的操作与使用程序的编辑 编译 连接 调试 运行 二 基本数据类型1 C语言数据类型基本类型 构造 复合 类型 指针类型 空类型2 C语言常量常量与类型整型 实型 单 双精度 字符型和字符串常量的表示方法3 C语言变量各种类型变量的定义和说明变量的初始化变量的引用 使用 考试内容 要点和考点 三 基本运算和表达式1 运算符运算符种类 功能 目数 优先级 结合性2 算术运算自动类型转换规则3 关系和逻辑运算关系和逻辑运算规则逻辑运算的优先规则4 位运算位运算规则和简单位运算5 赋值运算 复合赋值 赋值运算中自动类型转换规则 以左值类型为准进行转换 考试内容 要点和考点 三 基本运算和表达式6 其它运算符条件 逗号 求存储空间间大小运算7 表达式表达式组成规则各类表达式描述计算过程和条件判断的表达式表达式运算中的隐式类型转换和强制类型转换基本运算执行顺序 表达式结果类型 考试内容 要点和考点 四 语句1 基本语句及顺序结构语句定义 说明语句 表达式语句 空语句 复合语句2 选择结构语句if switch语句选择语句的嵌套3 循环结构语句while do while for语句循环的嵌套4 转移语句breakcontinuegotoreturn 考试内容 要点和考点 五 数组1 一维数组定义 初始化 引用2 二维数组定义 初始化 引用3 字符数组和字符串定义 初始化 引用字符串结束标志 字符串处理函数 考试内容 要点和考点 六 函数的定义与调用1 函数的定义方法函数原型 函数名 形式参数 函数返回值 函数体2 函数类型和返回值函数类型定义 缺省类型 空类型3 函数传值调用形参 实参及其参数单向传递4 函数说明函数原型及作用用户定义函数说明系统库函数说明 用头文件包含 考试内容 要点和考点 六 函数的定义与调用5 函数参数类型和函数的传址调用传值调用和传址调用数组名作为函数参数6 函数的嵌套调用和递归调用递归函数的定义和调用递归函数的执行过程 考试内容 要点和考点 七 变量的存储类型和编译预处理1 变量存储类型的概念自动 寄存器 外部及内部 外部静态变量类型2 变量的作用域在函数外部 函数内部 复合语句内定义变量的作用域3 变量的生存期和有效期自动 外部及内部 外部静态变量的生存期和有效期4 编译预处理文件包含和宏定义 考试内容 要点和考点 八 指针1 指针概念地址 指针 变量的指针和指向变量的指针变量的含义和表示2 指针与地址运算符取地址运算符 和内容运算符 3 用指针处理数组 字符串指向数组 字符串的指针 通过指针引用以上各种类型数据 考试内容 要点和考点 八 指针4 指针的高级功能函数指针 指向函数的指针返回指针值的函数指针数组 指向指针的指针main函数的命令行参数 考试内容 要点和考点 九 结构体与共用体1 结构体类型数据结构体定义方法和引用方法 类型定义变量定义 结构体变量初始化2 结构体数组结构体数组定义 初始化3 结构体类型指针指向结构体类型变量的指针变量指向结构体类型数组的指针变量 考试内容 要点和考点 九 结构体与共用体4 链表用指针和结构体构成链表 单向链表的建立 插入 输出 删除5 共用体类型数据共用体类型数据的定义和引用6 枚举枚举的概念与表示 引用 考试内容 要点和考点 十 文件1 基本概念文件类型 文本文件 二进制文件 文件指针2 文件操作文件的打开和关闭定位文件的读 写3 常用库函数打开和关闭 定位 读 写 考试内容 要点和考点 十 文件3 常用库函数打开和关闭 fopen fclose 定位 fseek rewind 读 写 字符 fputc fgetc 字符串 fputs fgets 格式化 fprintf fscanf 整块 fwrite fread 考试内容 要点和考点 1 上海市高校计算机等级考试应试指导及试题解析 二级C 徐宇清黄小瑜 上海高教电子音像出版社 2006年5月 2 C程序设计 谭浩强 清华大学出版社 1999年12月第二版 3 C程序设计 夏宝岚等 华东理工大学出版社 2003年1月第二版 考试内容 要点和考点 第 章C语言概述 程序 算法 数据结构算法 编写程序的思路 方法和步骤算法的表示 流程图 N S盒图数据结构 如何表示处理的数据对象 第 章C语言概述 C语言是一种结构化的程序设计语言 具有实现顺序 分支 循环三种基本的结构化语句 C语言简洁 紧凑 使用方便灵活 只有32个保留字 关键词 9种控制语句 数据类型丰富 有整型 实型 字符型 数组型 指针型 结构体型 共用体型和枚举型等 运算功能强 有34种运算符 包括了算术运算 关系运算 逻辑运算 位运算 指针运算等 第 章C语言概述 1 C程序是由函数构成的 一个源程序至少包含一个函数 main 也可以包含若干个函数 函数是C程序的基本组成单位 一个C程序必须有main 函数 一个C程序可能由多个文件组成 每个文件可能包括多个函数 但所有文件中只有一个main 函数的一般组成形式如下函数类型函数名 参数列表 参数说明部分 变量说明部分 语句序列 首部 函数体 注意 main 程序中唯一 位置任意 main 函数可以调用其他函数 但不能被调用 程序从main 函数开始执行 也在main 中结束 字母 区分大小写 分号是C语句的必要组成部分 数据的输入输出是由函数来实现的 注意 使用系统的库函数时需要使用include语句 include 头文件 包括公用的 常用的宏定义 构造类型数据的定义 全局变量的定义等 用 include包含进源文件中 C语言中的数据 常量变量 C语言中的数据类型有 注意 浮点型 实型 整型的分类 整型变量 基本型 signed int16位 32768 32767 短整型 signed short int 长整型 signed long int 32位 231 231 1 无符号整型unsigned int 16位0 65535 无符号短整型unsignedshort 无符号长整型unsignedlong 有符号数 无符号数 注意 表示可以省略 缺省时为有符号的 整型常量即整常数 有三种表示形式 十进制 123 456 0八进制 以0开头 如0123等于十进制数83 011等于十进制数 9十六进制 以0 x或0X打头如 0 x123等于十进制数291 0 x12等于十进制数 18 单精度型 float 32位6 7位有效数字10 38 1038双精度型 double 64位15 16位有效数字10 308 10308长双精度型 longdouble 128位18 19位有效数字 定义实型变量 floatx y doublez a b 浮点型 浮点型常量的两种表示方法 1 十进制数形式 由数字和小数点组成 如 0 00 123 34 6 67890 注意 小数点必须有 且其前后数字不能同时缺省 2 指数形式 科学计数法 由尾数 指数和字母e或E组成 如 123E3代表123 103 7 234e 5代表 7 234 10 5注意 E前必须有数字 E后必须为整数 字符与字符串 字符串的结束符 0 无字符串变量 用字符数组来表示 字符变量 用来存放一个字符常量 只能存放一个字符 字符数据在内存中存放的是其ASCII值 小写字母的ascii码 大写字母的ascii码 32 转义字符转义字符的意义 n换行 t横向跳到下一制表位置 v竖向跳格 b退格 r回车 f走纸换页 0空操作 反斜线符 单引号符 ddd1 3位八进制数所代表的字符 xhh1 2位十六进制数所代表的字符 各种数值类型数据间的混合运算 C中 整型 字符型 实型 包括单精度 双精度 数据可出现在同一个表达式中进行混合运算 类型自动转换规则 低精度向高精度转换 变量的类型 定义 初始化 使用标识符 由字母 数字或者下划线组成 且以字母或下划线打头 一般不超过8个字符 注意 所有变量要 先定义 后使用 1 变量名一般用小写字母表示 2 起变量名应遵循 见名知义 原则 3 变量名不能与C语言的关键字同名 变量 关键字 保留字 一些在编译过程中起特殊作用的标识符 如 char int short float double if else while do等共计32个注意 变量名等不能与关键字相同 C的运算符 算术运算符 关系运算符 赋值运算符 及其扩展赋值运算符条件运算符 逗号运算符 指针运算符 和 求字节运算符sizeof强制类型转换运算符 类型 分量运算符 下标运算符 其它如函数调用运算符 C运算符的优先级和结合性 1 优先级 逻辑非 算术 关系 逻辑与 或 2 结合性 若在一个运算对象两侧的运算符的优先级相同 则按规定的结合方向处理 算术运算符的结合方向是自左向右 称为左结合性 例 a b c相当于 a b c 强制类型转换运算 作用 利用强制类型转换运算符将一个表达式转换成所需类型形式 类型名 表达式 例 double a int x y 说明 强制类型转换时 得到一个所需类型的中间变量 而原来变量的类型未发生变化 例 floatx 2 5 inti i int x 逗号运算符和逗号表达式 称为逗号运算符逗号表达式一般形式为 表达式1 表达式2 表达式3 表达式n又称为顺序求值运算符 x 表达式1 表达式2 表达式3 表达式n 自增 自减运算 含义 作用于变量x x y 位于变量前后的区别 赋值运算符和赋值表达式 语句赋值运算符记为 赋值表达式 变量 表达式赋值语句 变量 表达式 例如 x a bw sin a sin b x a b w sin a sin b 注意 1 赋值运算符具有右结合性 因此a b c 5可理解为a b c 5 2 类型转换 以左边变量类型为准 关注重点 不同数据类型间的运算和转换 表达式的求值运算规则 从左向右或者相反 写各种表达式 关系 逻辑表达式 练习 1 输出结果 main inta 1 c 3 floatb 1 c a 2 3 a int b 20 0 3 a 4 printf d f d n a b c A8 6 8B12 6 66667 8C6 6 666667 2D2 6 8 C 2 sizeof float 是一个 型数 3 intx 1 y 1 printf d n x 则执行 m a b n c d 后 n的值为 1 2 3 0 8 写出输出结果 main inta charc 10 floatf 100 0 doublex a f c x 6 5 printf d d 3 1f 3 1f n a c f x 1 65 1 5 6 5 9 写出输出结果 main inta 1 b 2 m 0 n 0 k k n b a m a b printf d d n k m 1 0 10 写出输出结果 main intx 2002 y 2003 printf d n x y 2003 11 写出输出结果 main intk 102 m 012 printf 2d 2d n k m 102 10 12 写出输出结果 main chara a H A 0 printf c n a 7 13 写出输出结果 main charch B printf c d n ch ch B66 14 写出输出结果 main charm m B 32 printf c n m b 读程序写结果1 main unsignedinta 01357 b b a 4 注意 八进制 i 2 j 2 k 6 读程序写结果3 main inta 1 b 2 c 3 x 0 if ac x x elsex x elsex 3 printf d n x 写出对应的表达式1 2 将整数n 0 9 转变为数字字符的表达式3 将字符型变量c 0 9 转变为数字的表达式 4 C语言中比较字符实质上是比较他们的 5 判断字符变量ch为英文字母的表达式 6 循环输入字符时以回车作为结束的语句 计算值1 inta 9 a a a a 2 inta 1 b 2 c 3 d 4 则表达式a b a c0 读程序写结果1 main inti 010 j 10 k 0 x10 printf d d d n i j k 2 main charch intk 0 for ch A ch H ch k if k 2 printf c ch ACEG 程序改错 1 3处错main inta b 3 c C A B printf d d d n A B C 程序改错 2 输入一个字符串 将每个字母转换为小写字母并输出 3处错 includemain charch scanf c ch while ch n ch ch A 第2章程序结构 程序结构 三种顺序选择 分支 循环特点 单入口单出口 程序是由函数组成的 而函数 首部 函数体 函数体由声明部分和执行部分组成 执行部分由若干语句组成 函数的功能是通过执行语句来实现的 C语句可分为以下五类 1 表达式语句2 函数调用语句3 控制语句4 复合语句5 空语句 控制语句控制语句用于控制程序的流程 以实现程序的各种结构方式 语言有9种控制语句 可分成以下三类 1 条件判断语句if elseswitch if x y z x elsez y 2 循环执行语句dowhile语句 while语句 for语句 3 转向语句break语句 goto语句 continue语句 return语句 1 注意 输入输出函数printf 格式控制串 输出表列 scanf 格式控制字符串 地址表列 2 格式说明 后面所跟的字符格式字符字符意义d i输入十进制整数u输入无符号的十进制整数o输入无符号的八进制整数x或X输入无符号的十六进制整数f输入实型数 用小数形式或指数形式 c输入单个字符s输入字符串e E g G与f相同 3 附加格式字符串字符说明l用于输入长整型数 如 ld lo lx lu及double型数据如 lf leh用于输入短整型数据 如 hd ho hxm 正整数 指定输入数据所占宽度 列数 表示本输入项在读入后不赋给相应的变量 如 scanf d d d 输入 12345678 把12345赋予变量a 其余部分被截去 选择结构一般形式 if 关系表达式 语句1else语句2 if语句的嵌套其一般形式可表示如下 if 表达式 if 表达式 语句1 else语句2 elseif 表达式 语句3 else语句4 选择结构 条件运算符和条件表达式if a b max a elsemax b 条件表达式的一般形式是 注意 条件运算符的结合性 自右向左 选择结构 例 a 1 b 2 c 3 d 4 则条件表达式a b a c d c d相当于a b a c d c d 的值为4 选择结构 当某一表达式有n个取值 每一取值执行一条语句 如果用内嵌if则十分繁锁 而用switch简单 switch 多分支语句 开关语句 一般形式 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break case常量表达式n 语句n break default 语句n 1 选择结构 字符型 整型 枚举型 includemain chargrade scanf c 选择结构 goto语句构成循环while语句构成循环dowhile语句构成循环for语句构成循环循环嵌套break语句和continue语句 实际问题 一组具有一定规律性可重复执行的操作 循环结构 inti sum i 1 sum 0 while i 100 sum i i inti sum 0 i 1 do sum sum i i while i 100 循环结构 while和do while语句构成循环 for 表达式1 表达式2 表达式3 循环体 循环结构 for i 1 i 100 i sum i 循环结构 continue 作用 结束本次循环 接着判断并执行下次循环 break 作用 结束整个循环 接着执行循环体后面的语句 循环的嵌套 只能包含 不能交叉 习题 1 inti 1 执行语句while i 0 输出结果 62 4 inti k a 10 p 3 k 5 for i 0 i 10000 不存在死循环的为 4 215 0 7 intn 4 while n printf d n 执行后 输出为 8 intx 10 y 10 i for i 0 x 8 y i printf d d x y 执行后 输出为 9 charch1 ch2 intn1 n2 ch1 getchar ch2 getchar n1 ch1 0 n2 n1 10 ch2 0 printf d n n2 输入12回车后 输出为 7 208 101929 12 10 inti 1 j 1 k 2 if j k 执行后 输出为 10 2 2 211 112 1 3 5 7 16 1 试写出该函数的功能为 intf longn intc 0 do c n n 10 while n return c 读程序 写结果 返回整数n的位数 2 下面程序的输出结果为 main inty 10 do y while y printf d n y 读程序 写结果 1 3 试写出该函数的功能为 main inti j n for i 0 i 4 i for j 1 j i j printf n 7 2 i for j 1 j n j printf d n printf n 读程序 写结果 7777777555553331 4 对数组x n 进行处理 其功能为 for i 0 i n 1 i for j 0 j n 1 i j if x j x j 1 temp x j x j x j 1 x j 1 temp 读程序 写结果 采用冒泡法对数组进行降序排序 5 该函数的输出为 main inti j x 0 for i 0 i 2 i x for j 0 j 3 j if j 2 continue x x printf x d n x 读程序 写结果 x 8 6 输入3时 该函数的输出为 main inti j n scanf d 读程序 写结果 7 输入123时 该函数的输出为 includemain intc while c getchar n switch c 1 case0 case1 putchar c 4 case2 putchar c 3 break case3 putchar c 2 case4 putchar c 1 break printf n 读程序 写结果 54656 8 main inti for i 0 i 3 i switch i case1 printf d i case2 printf d i defualt printf d i 执行后 输出为 011122 读程序 写结果 9 main inti n 0 for i 2 i 5 i do if i 3 continue n while i n printf n d n 执行后 输出为 n 4 读程序 写结果 10 main inti j for i 1 i 5 i for j 1 j 4 i j printf for j 1 j 2 i 1 j printf printf n 该函数的功能为 读程序 写结果 11 doublesum doublex intn inti doublea b s a 1 0 b 1 0 s 1 0 for i 1 i n i a a x b b i s s a b returns 该函数的功能为 1 x x2 2 x3 3 读程序 写结果 1 本程序输入 100到100间的整数 输入不对则重输 并计算其中的正数和 3个错 defineN10intsum intx intn inti 0 s 0 while i0 s s x i i returns 程序改错 写出行号和改正后的内容 8main 9 inti 0 s a N flag 1 10do 11 printf enter dnumber 100to100 n i 1 12scanf d 22 14a i 100 14flag 0 18flag 1 i 程序改错 写出行号和改正后的内容 2 由键盘输入长度不超过80的字符串 再按原样输出 输入回车则结束 2个错 1 include 2main 3 charstr 80 inti 0 4clrscr 5while 1 6 scanf s str i 7if str i 0 break 8str i 0 9printf s n str 6scanf c 3 要求输出字符串 China 3个错 1main 2 charch1 ch2 inti 3ch1 C ch2 h 4i 105 5putchar ch1 ch2 6putchar i 7putchar n 8putchar 97 9putchar n 程序改错 写出行号和改正后的内容 0include 5putchar ch1 putchar ch2 8putchar 141 4 统计从键盘中输入的一个正整数n 0 65535 中0的个数 并求出各位数字中的最大者 3个错 1main 2 unsignedn count max t 3count max 0 4scanf u 程序改错 写出行号和改正后的内容 6t n 10 10n n 10 11 while n 0 5 用二分法在单调不减次序排列的数组中查找某个数 若存在则输出该数及下标 若不存在则输出不存在信息 3个错 1main 2 inta 10 2 5 6 8 11 15 18 22 60 88 3intlow high m i x 4scanf d 程序改错 写出行号和改正后的内容 5low 0 high 9 9elseif x a m high m 1 10elselow m 1 6 求e 1 1 1 1 2 1 n 直到1 n 2main 3 doublee a b 4inti 1 5e 1 0 b 1 0 6a 0 0 7do 8 b i 9a b 10a e 11i i 1 12 while a 1e 12 13printf 12f n e 程序改错 写出行号和改正后的内容 6a 1 0 9a 1

温馨提示

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

评论

0/150

提交评论