考前冲刺机.ppt_第1页
考前冲刺机.ppt_第2页
考前冲刺机.ppt_第3页
考前冲刺机.ppt_第4页
考前冲刺机.ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

mtysoftC 语 言 考 前 冲 刺 等级考试时间 二级考试包括笔试和上机 只有一门合格的 合格的一门下次考试可以免考 笔试 每年两次 3月和9月 2010年下半年的笔试时间为 9月18日 填空 选择 公基 C 编程 改错 等级考试内容 填空 二级C上机题型分类 Blank1 c Modi1 c Prog1 c 1 1填空题解题步骤 1 2 3 4 5 调出源程序 根据 数字 出现的位置和题目要求填写内容 不要改动程序行的顺序 编译源程序 F7 若发现有语法错误 重新检查或调整答题思路 执行程序 Ctrl F5 按照示例给出的数据进行测试 若结果不同 检查程序的逻辑错误 退出VC 6 0 得到正确结果后 随即退出 阅读题目要求和功能 尤其是给出的输入和输出示例 以便检验程序运行结果是否正确 2 1改错题注意事项 上机改错的试题中通常包含2 3个错误需要修改 试题中用 found 来提示在下一行 或第二行 有错 错误的性质基本分语法错误和逻辑错误两种 也有些试题要求把语句添加在下划线处 注意 只能在出错的行上进行修改 不要改动程序行的顺序 更不要自己另编程序 一般来说 改动的地方很小 切忌打破原程序结构 特别不要增删语句 题目中明确指出要增删语句的除外 2 2改错题解题步骤 1 2 3 4 5 调出源程序 审视 found 所在函数 理解程序所采用的基本算法 编译源程序 F7 检查程序是否有语法错误 参考编译提示查找并改正错误 测试试题给出的数据 Ctrl F5 若输出结果相同 该题就对了 否则继续检查逻辑错误 退出VC 6 0 得到正确结果后 随即退出 审题 了解试题要求 看清试题给出的输入输出示例 以便检验程序运行结果 2 3改错题常见错误 当程序存在逻辑错误时 应当理解题意 读懂程序的算法 必要时可按步检查数据的流程 例如 题目要求按由小到大排序 而结果是按由大到小排序 问题可能出现在条件判断上 又如 输出的字符串比预期的短 就有可能字符串的结束标志放错了位置 再如 做循环的时候 数组上限下限错误了 下标是从0开始 而不是从1开始 2 3改错题常见错误4 1 标识符拼写错误 小写写成了大写如 I 0 应改为 i 0 运算符书写错误如 a 10 应改为 a 10 a b 10 应改为 a b 10 a b 应改为 a b if a b 应改为 if a b if a 0 b 0 应改为 if a 0 b 0 a 10 应改为 a 10 1 2 2 3改错题常见错误4 2 变量初值或类型错误如 intx 1 应改为 doublex 0 缺少分号或多写了分号 或分号误写成逗号如 switch a 应改为 switch a intf intn 应改为 intf intn for i 1 i 5 i 应改为 for i 1 i 5 i 关于指针变量的错误如 p 应改为 p 或 p 3 4 5 2 3改错题常见错误4 3 赋值运算符左右类型不一致如 实型变量 x 1 i 应改为 x 1 0 i 字符变量 c 0 应改为 c 0 指针变量 p 10 应改为 p 10 表达式格式错误或次序错误如 if x y 应改为 if x y 变量1 变量2 如 p q 应改为 q p 交换两个变量的值 如 t x y x y t 应改为 t x x y y t 6 7 2 3改错题常见错误4 4 函数类型或形参类型说明错误 intf inta 应改为 doublef inta 实参是地址 数组名 形参应是指针或数组名 intf intp 应改为 intf int p 或者改为 intf intp 其他错误如 a c o 应改为 a c 0 scanf f i 应改为 scanf d 应改为 case0 8 9 数学公式求值 复制数组元素 删除星号 3 0编程题分类 四舍五入 整数分离与合并 求极值和平均值 矩阵问题 整除和素数问题 移动数组元素 回文数 统计子串个数 数据分类统计 字符串转换 删除指定字符 实现字符串函数 排序问题 在结构体中查找 在链表中求极值 整数分离与合并 3 1整数分离与合并2 1 将两个两位的正整数a b合并形成一个整数放在c中 将a的十位和个位数放在c的千位和十位 b的十位和个位数放在c的百位和个位 例如 若a 45 b 12 使c 4152 voidfun inta intb int c c a 10 1000 b 10 100 a 10 10 b 10 main intv fun 45 12 3 1整数分离与合并2 2 请编写函数unsignedfun unsignedw w是一个大于10的无符号整数 求出w后n 1位的数作为函数值返回 unsignedfun unsignedw unsignedt w m 1 while t t 10 m 10 returnw m 10 四舍五入 3 2四舍五入 请编写函数doublefun doubleh 函数的功能是 对变量h中的值保留2位小数 并对第3位进行四舍五入 规定h中的值为正数 doublefun doubleh 方法一 return int h 100 0 5 100 0 doublefun doubleh 方法二 return int h 1000 5 10 100 0 数学公式求值 3 3数学公式求值3 1 编写函数求Fibonacci数列中大于t的最小的一个数 结果由函数返回 其中数列f n 的定义为 f 0 0 f 1 1 f n f n 1 f n 2 intfun intt inta 0 b 1 c 0 while c t c a b a b b c returnc 3 3数学公式求值3 2 求x值 精度0 0005 某项小于0 0005时停止迭代 x 2 1 1 3 1 2 3 5 1 2 3 3 5 7 1 2 3 4 3 5 7 9 1 2 3 n 3 5 7 2n 1 输入0 0005 输出3 14 doublefun doublee doublen 1 v 1 s 0 while v e s v v n 2 n 1 n returns 2 3 3数学公式求值3 3 求方程cos x x 0的一个实根 步骤 x1初值0 0 x0 x1 x1 cos x0 若x0 x1的绝对值小于0 000001 执行步骤5 否则执行步骤2 x1就是实根 作为函数值返回 doublefun doublex1 0 0 x0 do x0 x1 x1 cos x0 while fabs x0 x1 1e 6 returnx1 求极值和平均值 3 4求极值和平均值2 1 编写函数求出s数组t个元素中最大元素在数组中的下标 并存放在k所指的存储单元中 voidfun int s intt int k inti m 0 for i 1 is m m i k m 3 4求极值和平均值2 2 请编写函数fun 它的功能是 计算a数组中n门课程的平均分 计算结果作为函数值返回 doublefun int a intn inti doubles 0 for i 0 i n i s a i returns n 矩阵问题 3 5矩阵问题2 1 编写函数fun 求N N的二维数组周边元素的平均值并作为函数值返回给主函数 doublefun inta N N inti k doubles 0 for i 0 i N i for k 0 k N k if i 0 k 0 i N 1 k N 1 s a i k returns 4 N 4 3 5矩阵问题2 2 矩阵转置 如 输入102030输出104070 即行列互换 405060205080708090306090voidfun inta N N inti k t for i 0 i N i for k 0 k i k t a i k a i k a k i a k i t 整除和素数问题 3 6整除和素数问题4 1 请编写函数fun 它的功能是 求n以内 不包括n 同时能被3与7整除的所有自然数之和的平方根 并作为函数值返回 doublefun intn inti doubles 0 for i 1 i n i if i 3 0 3 6整除和素数问题4 2 请编写函数fun 它的功能是 求出1到m之内 含m 能被7或11整除的所有整数放在数组a中 通过函数返回这些数的个数 intfun int a intm inti j 0 for i 1 i m i if i 7 0 i 11 0 a j i returnj 3 6整除和素数问题4 3 编写函数求出小于或等于lim的所有素数并放在a数组中 该函数返回所求的素数的个数 intfun intlim inta MAX inti k j 0 for i 2 i lim i for k 2 k i k if i k 0 break if k i a j i returnj 3 6整除和素数问题4 4 编写函数 将大于整数m且紧靠m的n个素数存入x所指的数组中 voidfun intm intn intx inti k j 0 for i m 1 j n i for k 2 k i k if i k 0 break if k i x j i 回文数 3 7回文数 判断字符串是否为回文数 若是则函数返回1 否则返回0 回文是指顺读和倒读都是一样的字符串 intfun char a inti t 1 m strlen a for i 0 i m 2 i if a i a m 1 i t 0 break returnt 移动数组元素 3 8移动数组元素2 1 一维数组中有n个整数 把下标从0到p p小于等于n 1 的数组元素平移到数组的最后 voidfun inta intp intn inti k t for k 0 k p k t a 0 for i 1 i n i a i 1 a i a n 1 t 3 8移动数组元素2 2 假定输入的字符串中只包含字母和 号 将字符串中的前导 号全部移到字符串的尾部 voidfun char a inti n strlen a while a 0 for i 1 i n i a i 1 a i a n 1 复制数组元素 3 9复制数组元素2 1 编写函数fun 将M行N列的二维数组中的字符数据 按列的顺序依次放到一个字符串中 voidfun chars M N char a inti k j 0 for i 0 i N 1 i for k 0 k M k a j s k i a j 0 3 9复制数组元素2 2 返回n个学生中低于平均分的人数 并将低于平均分的分数放在b所指的数组中 intfun intsco intn intb inti j 0 doubles 0 for i 0 i n i s sco i s s n for i 0 i n i if sco i s b j sco i returnj 统计子串个数 3 10统计子串个数2 1 请编写函数fun 该函数可以统计一个长度为2的字符串a在另一个字符串b中出现的次数 intfun char a char b inti n 0 for i 0 i strlen b i if b i a 0 3 10统计子串个数2 2 统计字符串中单词的个数 作为函数值返回 字符串在主函数中输入 规定单词之间由若干空格隔开 一行的开始和结束都没有空格 intfun chars inti n 0 for i 0 i strlen s i if s i 数据分类统计 3 11数据分类统计2 1 统计数组a中的各年龄段的人数 N个 0 9岁的人数放在b 0 中 10 19岁的人数放在b 1 中 以此类推 100岁及以上的放在b 10 中 voidfun int a intb 11 inti for i 0 i 100 b 10 elseb a i 10 3 11数据分类统计2 2 统计在t字符串中 a 到 z 26个字母各自出现的次数 并依次放在p所指的数组中 voidfun char t intp inti for i 0 i a 字符串转换 3 12字符串转换3 1 请编写函数fun char a 该函数的功能是把字符串a中的内容逆置 voidfun char a inti m strlen a chart for i 0 i m 2 i t a i a i a m 1 i a m 1 i t 3 12字符串转换3 2 请编写函数fun 它的功能是 将s所指字符串中所有下标为奇数位置上的字母转换为大写 若该位置上不是字母 则不转换 voidfun char s inti for i 1 i a 3 12字符串转换3 3 将一个字符串转换为一个整数 例 把 456 转换为456 把 23 转换为 23 longfun char a inti t longs 0 if a 0 t 1 i 1 else t 1 i 0 for i strlen a i s s 10 a i 0 returns t 实现字符串函数 3 13实现字符串函数2 1 实现字符串连接 把p2所指的字符串连接到p1所指的字符串后 不使用库函数strcat voidfun char p1 char p2 方法一 p1 p1 strlen p1 while p1 p2 黄建定式 voidfun char p1 char p2 方法二 strcpy p1 strlen p1 p2 3 13实现字符串函数2 2 比较两个字符串长度 不使用函数strlen 函数返回较长的字符串 若两个串长度相同 则返回第一个串 char fun char a char b inti 0 k 0 while a i i while b k k if i k returna elsereturnb 删除指定字符 3 14删除指定字符2 1 将a所指字符串中除了下标为偶数 同时ASCII值也为偶数的字符外 其余的全都删除 串中剩余字符所形成的新串放在t所指的数组中 voidfun char a char t inti j 0 m strlen a for i 0 i m i 2 if a i 2 0 t j a i t j 0 3 14删除指定字符2 2 删除数组中相同的数 使之只剩一个 数组已按从小到大排列 函数返回删除后数组中数据个数 若原数组是 22234455666删除后 数组内容应该是 23456intfun inta intn inti j 0 for i 0 i n 1 i if a i a i 1 a j a i a j a n 1 returnj 删除星号 3 15删除星号4 1 字符串中只包含字母和 号 删除字符串中所有的 号 不得使用C语言提供的字符串函数 voidfun chars inti 0 j 0 while s i if s i s j s i i s j 0 3 15删除星号4 2 字符串中只包含字母和 号 删除字符串中的前导 号 不得使用C语言提供的字符串函数 voidfun chars char p s w s while w w while p w 黄建定式 3 15删除星号4 3 字符串中只包含字母和 号 删除串尾部所有的 号 不得使用C语言提供的字符串函数 voidfun chars char p s while p p p while p 3 15删除星号4 4 字符串只包含字母和 号 除了前导和尾部 号之外 删除其它 号 h已指向第一个字母 p已指向最后一个字母 不得使用字符串函数 voidfun chars char h char p intj h s i h s while s i p if s i s j s i i while s j s i 排序问题 3 16排序问题2 1 对a数组中长度为7个字符的字符串 除首尾字符外 将其余5个字符按ASCII码降序排列 voidfun char a intn inti k chart for i 1 i n 2 i for k i 1 k n 1 k if a i a k t a i a i a k a k t 3 16排序问题2 2 1 按分数从高到低排列结构体数组中N个记录 defineN4typedefstruct chara 10 intb S voidmain inti Sw N j01 98 j02 78 j03 97 j04 67 fun w for i 0 i N i printf s d n w i a w i b 3 16排序问题2 2 2 按分数从高到低排列N名学生的记录 defineN4typedefstruct chara 10 intb S voidfun Sw N inti k Sh for i 0 i N 1 i for k i 1 k N k if w i b w k b h w k w k w i w i h 在结构体中查找 3 17在结构体中查找2 1 1 返回指定学号的学生数据 若没有该学号 则把学号置空串 成绩置 1 作为函数值返回 defineN5typedefstruct chara 10 intb S voidmain Sw N j1 65 j2 78 j3 89 j4 98 j5 23 h charc 10 gets c h fun w c printf s d h a h b 3 17在结构体中查找2 1 2 返回指定学号的学生数据 若没有该学号 则把学号置空串 成绩置

温馨提示

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

评论

0/150

提交评论