




文档简介
第1章 C语言基础知识 一 全国计算机等级考试问答 National Computer Rank Examination 全国计算机等级考试 简称NCRE 是由教育部考试中心举办 用于 测试应试人员计算机应用知识与能力的等级水平考试 随着计算机技 术在我国各个领域的推广 普及 越来越多的人开始学习计算机知 识 许多用人部门已将具有一定的计算机知识与能力作为考核和录用 工作人员的标准之一 因此 教育部决定举办全国计算机等级考试 其目的在于推进计算机知识的普及 促进计算机技术的推广应用 以 适应社会主义经济建设的需要 为用人部门录用和考核工作人员服 务 目前 全国计算机等级考试正日趋成为继高考后全国第二大考 试 尤其是计算机二级证书是计算机等级考试证书中用得最广泛的证 书 它已和英语四六级一样成为社会用人单位对大学生的必备要求之 一 一 考试性质和目的 1 什么是全国计算机等级考试 全国计算机等级考试 National Computer Rank Examination 简称 NCRE 是经原国家教育委员会 现教育部 批准 由教育部考试 中心主办 面向社会 用于考查应试人员计算机应用知识与能力的全 国性计算机水平考试体系 2 为什么要举办NCRE 计算机技术的应用在我国各个领域发展迅速 为了适应知识经济和信 息产业发展的需要 操作和应用计算机已成为人们必须掌握的一种基 本技能 许多单位部门已把掌握一定的计算机知识和应用技能作为干 部录用 职务晋升 职称评定 上岗资格的重要依据之一 鉴于社会 的客观需求 经原国家教委批准 原国家教委考试中心于1994年面向 社会推出了NCRE 其目的在于以考促学 向社会推广和普及计算机 知识 也为用人部门录用和考核工作人员时提供一个统一 客观 公 正的标准 二 报考条件与报考对象 1 谁可以报名参加考试 考生不受年龄 职业 学历等背景的限制 任何人均可根据自己学习 和使用计算机的实际情况 选考不同等级的考试 考生一次只能报考 一个等级 含笔试和上机考试 的考试 如果一个级别中有不同类 别 考生只能选择其中一类 考生一次考试只能在一个考点报名 考 生可以不参加考前培训 直接报名参加考试 三 报名及考试时间安排 1 NCRE采取什么考试形式 考试时间如何规定 考试采用由全国统一命题 统一考试时间 纸笔考试和上机操作考试 相结合的形式 纸笔考试中题型以选择题 填空题为主 其中四级含 有论述题 纸笔考试时间 二级C90分钟 三级 四级为120分钟 四 级只考笔试 上机操作考试时间 二级C90分钟 三级60分钟 一 级实行无纸化的上机考试 时间为90分钟 2 NCRE每年考几次 各次考试是什么日期 NCRE每年开考两次 上半年开考一 二 三级 下半年开考一 二 三 四级 上半年考试时间为4月第二个星期六上午 笔试 下 半年考试时间为9月倒数第二个星期六上午 笔试 上机考试从笔试 的当天下午开始 上机考试期限为五天 由考点根据考生数量和设备 情况具体安排 3 如何报名 笔试和上机成绩只有单项合格有何规定 每次考试报名的具体时间由各省 自治区 直辖市 级承办机构规 定 考生按照有关规定到就近考点报名 考生可携带身份证到就近考点报名 没有身份证的未成年人 可凭户 口本 现役军人凭军人身份证件报名 上次考试的笔试和上机考试仅其中一项成绩合格的 下次考试报名时 应出具上次考试成绩单 成绩合格项可以免考 只参加未通过项的考 试 五 考生报名缴费 四 考试等级划分 1 NCRE等级如何构成 主要考核什么能力 全国计算机等级考试目前共设置四个等级 一级 考核微型计算机基础知识和使用办公软件及因特网 Internet 的基本技能 考试科目 一级MS OFFICE 一级WPS 一级B 二级 考核计算机基础知识和使用一种高级计算机语言或数据库管理 软件编写程序以及上机调试的基本技能 2005年下半年考试科目 编 程类 C Visual Basic C Java 数据库类 FoxPro Access 基 础知识包括如下内容 数据结构与算法 程序设计方法 软件工程 数据库基础 新增的考试科目 二级Delphi语言程序设计 VF VB将 近年停考 三级 分为 PC技术 信息管理技术 数据库技术 和 网络技 术 四个类别 PC技术 考核PC机硬件组成和Windows操作系统的基 础知识以及PC机使用 管理 维护和应用开发的基本技能 信息管 理技术 考核计算机信息管理应用基础知识及管理信息系统项目和办公 自动化系统项目开发 维护的基本技能 数据库技术 考核数据库系 统基础知识及数据库应用系统项目开发和维护的基本技能 网络技 术 考核计算机网络基础知识及计算机网络应用系统开发和管理的基本 技能 四级 四级网络工程师 四级数据库工程师和四级软件测试工程师 考核计算机专业基本知识以及计算机应用项目的分析设计 组织实施 的基本技能 2 是否必须通过第一 二 三 级 才能报考第二 三 四 级考试 没有规定考生必须通过第一 二 三 级才能报考第二 三 四 级 考生可根据自己的 实际情况选考不同的等级 但一次考试只能报考一个等级 考生一次考试只能在一个考点报 名 五 考试成绩的计算 1 如何计算成绩 是否有合格证书 该考试笔试 上机考试实行百分制计分 笔试以百分制通知考生 上 机以等级分数通知考生成绩 等级分数分为 不及格 及格 良 好 优秀 四等 100 90分为 优秀 89 80分为 良好 79 60分 为 及格 59 0分为 不及格 笔试和上机考试成绩均在 及格 以上者 由教育部考试中心发合格证 书 笔试和上机考试成绩均为 优秀 的 合格证书上会注明 优秀 字 样 证书上没有良好 按及格对待 六 证书获得者应具备的能力 1 证书获得者具备什么样的能力 可以胜任什么工作 一级证书表明持有人具有计算机的基础知识和初步应用能力 掌握 字 表处理 电子表格和演示文稿等办公自动化 Office或WPS 软 件的使用及因特网 Internet 应用的基本技能 具备从事机关 企事 业单位文秘和办公信息计算机化工作的能力 二级证书表明持有人具有计算机基础知识和基本应用能力 能够使用 计算机高级语言编写程序和调试程序 可以从事计算机程序的编制工 作 初级计算机教学培训工作以及计算机企业的业务和营销工作 二 新视野教育计算机等级考试培训 班问答 1 全国计算机等级考试证书有有效期吗 绝对没有 等级考试证书是终身有效的 详情可以访问等级考试官方 网站 或 全国计算机等级考试教育部考试中心官方网站的回答原话是 等级 考试的证书是终身有效的 等级考试的大纲会在每2 3年更新一次 但 更新并不影响以前证书的效力 因此有些人的 等级考试证书2年左右 就会失效 的说法是不正确的 2 我没有参加一级考试 能参加二级考试吗 全国计算机等级考试分为一至四级 考生可以任意选择考试等级 不 是非要先考一级再考二级 一般来说 一级主要适合社会在职人员考 试 二级适合在校大学生考试 二级对大学生找工作也是最有用的 三级和四级可以作为进一步学习的考试 3 有的专业会开设相关课程 有必要参加培训吗 二级考试所考核的内容基本属于基础知识 早点学习可以早点打牢基 础 以便于进一步学习计算机知识 从而在以后的竞争中处于有利地 位 学校虽然有些专业的相关课程和计算机等级考试有一定的联系 但都不具有针对性 而且新大纲推出后 不少内容只有计算机专业才 开设有关联的课程 但也不具备针对性 新大纲推出后等级考试通过 率再创新低 参加专业培训势在必行 4 什么时候参加二级考试比较合算 一般来说 大一大二时学习和通过计算机二级考试比较划算 大二时 主要精力用来考英语四六级 大三时专业课比较紧张 大四已经到了 找工作的时候 相对来说 大一同学求知欲强 时间精力充沛 易于 接受新东西 是学习的黄金时段 如果能较早的掌握必备的计算机知 识 如大一就过国家二级 并掌握一些相关应用知识 这样就在竞争 激烈且残酷的当今社会占尽先机 无疑在今后的学习中将以更为轻松 的心态 更为充沛的精力从事于你所钟爱的事业中 5 二级考试可以有多种语言选择 为什么要选择C语言呢 C语言被誉为最有 钱 途的语言 具有广泛的用途 受到社会的热烈 追捧 如Linux Unix操作系统均由C语言编写 Windows操作系统也 有90 的代码由C语言编写 C语言语法和C Java C 等类似 可 以方便进一步学习 在许多计算机考试中 C语言是必考内容 甚至 是唯一考核内容 如计算机三级 四级的上机考核部分 程序员 高 级程序员的下午试卷等 6 二级考试什么时候报名 什么时候参加考试 二级考试每年考两次 分别在上半年的4月份顺数第二个周六和下半年 的9月份倒数第二个周六 一般上半年4月份考试的报名时间从前一年 11月中旬到第二年1月中旬均可 下半年9月份考试的报名时间一般从5 月底到7月底 而一般在报名考试之前相关知识必须已经学得差不多 了 因此 如果参加4月份的考试必须在下半年10 1月份学习 然后 在寒假之后考前短暂的时间进行适当强化即可参加考试 参加9月份的 考试必须在上半年3 6月份学习 然后在暑假之后考前短暂的时间进 行适当强化即可参加考试 7 参加培训是否会影响到我们的正常上课 我们的授课时间均选在业余时间 不会与学校的正常教学产生冲突 8 二级 C语言 考试的考试内容是什么 根据新大纲的要求 二级 C语言 考试分为理论考试和上机考试两 部分 必须都通过考试才能算合格 考试内容分为C语言程序设计 顺序结构 选择结构 循环结构 函数 指针 数组 字符串 编 译预处理 作用域 结构体 共用体 文件等 和公共基础 数据结 构 程序设计 软件工程和数据库 9 新视野IT培训有何特色 本中心和很多高校的网络中心 计算机学院 现代教育中心有合作关 系 立足于在校大学生 弥补学校教育的不足 相辅相成 除主要培 训最有 钱 途的语言 C语言外 还注重引导学员 并向学员介绍 国内外IT业发展的各种动态和发展趋势 社会上对IT人才各种需求信 息等 力争让学员经过培训后有明确的学习目标 并掌握一套行之有 效的方法 能举一反三 独立的走自己的道路 10 我没有计算机基础 可以参加培训吗 可以 无需任何基础知识 完全从零开始 即使从来没有接触过计算 机 也能够学好 11 大几参加培训比较好 一般大学的规划是 大一通过计算机二级 大二通过英语四六级 大 三专业课及考研 大四找工作及实践 因此 一般大一最好 尤其是 如果大一上学期参加学习准备考试 那么下学期4月份就可以参加考试 了 如果大一下学期准备考试的话 那么要等到大二9月份才能考试 而大二已经开始准备英语四六级等其他事宜了 所以大一上学期学习 等级考试最好 而且刚进大学 时间精力充沛 进取心强 是学习的 黄金时段 2 教学重点 难点分析 1 C语言概述 知识点所占分 值 考核几率专家点评 C语言概述0 1分 20 简单识记 C语言程序的 构成 0 1分 30 简单识记 标识符1 2分 60 简单 属重点识记知识 点 常量1 2分 80 简单 属重点识记知识 点 变量2 3分100 难度适中 重点理解重 点掌握 注意 从几年的试题分析看C语言的概述和程序的构成合起来考 试已经是一个惯例了 2 运算符与表达式 知识点所占分 值 考核几 率 专家点评 C运算符简介0 1分 10 简单识记 运算符的结合和优先级0 1分60 简单识记 强制类型转换运算符0 1分30 简单识记 逗号运算符和逗号表达0 1分40 简单 属重点识记知识 点 基本的算术运算符1 2分100 简单 属重点识记知识 点 算术表达式和运算符的1 2分100 难度适中 重点理解重 点掌握 优先级与结合 自增自 减运算符 2 3分100 难度适中 重点理解重 点掌握 赋值运算符和赋值表达2 4分100 简单 重点掌握重点理 解 复合的赋值运算符1 2分80 偏难 不是重点 赋值运算中的类型转换0 1分75 偏难 不是重点 位运算符和位运算0 1分80 偏难 属重点识记知识 点 3 教学讲点 1 C语言的基本构成和格式 include stdio h main int a b sum 定义变量 a 10 把整数10赋值给变量a b 20 把整数20赋值给变量b sum a b 把两数之和赋值给变量 sum printf a d b d sum d n a b sum 输出计算结果 1 C程序由函数组成 一个程序必须且只能有一个主函数 main C程 序总是从主函数开始执行 在主函数中结束 2 定义函数时函数名后必须有一对小括号 函数体必须放在一对花括 号内 在函数体中 函数体有两个部分 定义部分和执行部分 定义 语句必须出现在执行语句之前 我们先定义了a b sum 然后才给它们赋 值 3 C语言中每条语句都以分号 结束 分号时C语句的一部分 即 使是程序的最后一个语句也不例外 分号是语句结束的标志 4 一行可以写多条语句 一条语句也可以分在多行上写 但是 不 能将一个整体分开 例如 i nt 是错误的 而int正确 5 C语言的注释必须放在 和 之间 和 之间不允许有空 格 和 之间不允许再插入 或 注释可以出现在程序中 的任意位置 注释部分不被执行 6 C语言程序书写格式自由 语句可以从任一列开始书写 一 行内可以写多个语句 但是过于 自由 的程序书写格式往往使 人们很难读懂程序 初学者应该从一开始就养成好的习惯 是 程序便于阅读 2 标识符 1 标识符只能由字母 数字和下划线组成 2 标识符的第一个字符必须是字母或下划线 3 标识符的大小写字母是有区别的 如abc和ABC是两个完全 不同的标识符 3 标识符的分类 关键字 关键字是具有特定的含义的 专门用来说明C语言特定 成分的一类标识符 详细的查阅附录二 预定义标识符 在C语言中它也有特定的含义 预定义标识 符可以用位 用户表标识符 使用 只是这将使这些标识符 失去了原来的意义 用户标识符 由用户根据需要定义的标识符被成为用户标 识符 用户标示符用来给变量 函数 数组或者指针等命 名 3 C语言的数据类型 3 1数据可以分为常量和变量 常量是指在程序执行中不变的 量 常量分为 整型常数 实型常数 字符常量 字符串常 量 整型数据 进制间的转换 3 11 二 八 十六进制转为十进制 规则 按权相加 3 12 十进制转为二 八 十六进制 规则 整数部分 基数除取余 逆序排列 小数部分 基数乘取整 顺序排列 3 13 二进制转为八 十六进制 规则 三 四 合一 按序相拼 整数部分 从右向左取 小数部分 从左向右取 位数不足补零 3 14 八 十六进制转为二进制 规则 一分三 四 按序相拼 3 2整型数据在内存中的存放形式 1字节 8位 1Byte 8bit 字长 指CPU能同时处理的二进制位数 由CPU的型号而定 如 16 位微机的字长就是16位或2字节 1GB 1024MB 1MB 1024KB 1KB 1024B B 表示字节 字节是表示存储容量的最小单位 位 bit 是计算机 中信息表示的最小单位 3 21 正整数在内存中用 原码 形式存放 直接转换为二进制即 可 如 5 0000000000000101 二字节能存放的最大数是 32767 0111111111111111 对带符号数 最高位是符号位 用0表示正 用1表示负 3 22 负整数在内存中用 补码 形式存放 取补码的步骤 1 忽略负号 求出原码 2 将原码按位取反 0 1 互换 3 在第二步的基础上加1 如 取 5的补码 1 0000000000000101 2 1111111111111010 3 1111111111111011 将补码转换成相应的整数的步骤 1 将补码按位取反加1 2 将步骤1得到的二进制数转换成十进制数 然后加上负号即可 例如 1000000000000000 按位取反加1 0111111111111111 1 1000000000000000 转换成十进制 1 215 32768 加负号 32768 几个特殊的带符号整数 1000000000000000 32768 0111111111111111 32767 1111111111111111 1 3 23 无符号整数 只有正整数 没有负整数 最高位不表示符号位 每一位均参与转换 二进制带符号整数无符号整数 1111111111111111 165535 1000000000000000 3276832768 例2 12 若有 int a 1 unsigned b 65535 则 printf d u d u a a b b 输出结果是 1 65535 1 65535 数据益出问题 例2 13 若有int a 32767 则a a 1的结果是 32768 例2 14 若有unsigned b 65536 则b的值是 0 分析 32767 01111111111111111 1 100000000000000 将100000000000000按照带符号数转为十进制为 32768 65535 1111111111111111 1 1111111111111111 1 10000000000000000 65536 unsigned b 655536 而b属于无符号整型 在内存中只占两字 节 所以只能包括16位 标准C没有具体要求规定各类型数据所占内存的字节数 现以这 次考试标准viusal c 6 0为例 说明各类型变量所占的位数 类型所占 位数 所占 字节 数 类型所占 位数 所占字 节数 short162unsigned int 324 int 324unsigned long 324 long324float 324 unsigned short162double 64 8 3 3实型数据 浮点数 3 31 实型常量 1 小数形式 由数字和小数点组成 必须有小数点 小数点的某一侧 可以没有数字 如 23 123 876 123 2 指数形式 用 e 或 E 后接一个整数 表示以10为底的幂数 注意 e 或 E 之前之后必须有数字 且之后的数字必须是整数 他 们和前后的数字之间不能有空格 例如 例2 15 下列合法的常量是 A 32169 B 0128 C 0XDEFG D 13E0 5 例2 16 下列合法的实型常量是 A 0Xff B 124E C 1 23E5 0 D 3 E2 E 1 25E 2 F 23e 02 3 32 实型变量 单精度型 float 占 4 字节 双精度型 double 占 8 字节 长双精度 long double 占 16字节 较少用 4 表达式与运算符 4 1算术运算符及其表达式 求余运算 注意 1 两边必须是整型数据 12 0 3 表达式是错误的 2 求余 的方法是 忽略符号 求出余数 再将所得余数的符号 定为与被除数相同 例如 17 3 结果是 2 17 3 结果是 2 17 3 结果是 2 17 3 结果是 2 4 2强制类型转换 强制类型表达式 类型名 表达式 注意 类型名 表达式 这种形式是C 的强制类型表达方 式 5 赋值运算符及其表达式 5 1 赋值运算符 格式 变量名 表达式 功能 将表达式的值赋给左边的变量 注 1 赋值运算符左边只能是一个变量 不能是常量 也不能是表达式 a b 3 4 3 是非法的表达式 a 6 a b 3 都是合法的表达式 a b 20 a b 10 c 2 都是合法的表达式 2 实型数据赋给整型变量时 小数部分被舍去 整型数据赋给实型变 量时 系统自动将整型数据转换为实型数据 例如 float a int b 表达式a 10 3 的值是1 0 表达式b a 10 3的值是1 5 2 复合赋值运算符及其表达式 这个表达式是先引用后增值 即 先把i的初始值给变量j 然 后 i再自加1 j i 这歌表达式是先增值后引用 即 i先自加1 然后再将我们自 加后的值赋值给变量 j 但是记住它们是一起执行的 就是说 例如j i 先引用后增值实际 上是一起执行的 它们之间不存在先后关系 我们只是位了好记才用 到了上面的方法 老师在上课的时候先不要说 但是你们必须知道 j i j i和上面j i j i的方法是一样 5 4逗号运算符及其表达式 1 格式 表达式1 表达式2 表达式n 注意 1 逗号表达式的值是整个逗号表达式中最后一个表达式的值 2 求值顺序是从左到右依次求解 例如 a 3 b 1 的值是1 运算结束后a的值是1 b的值是 1 4 相关试题 1 2008年4月相关试题 11 以下叙述中正确的是 A C程序中的注释只能出现在程序的开始位置和语句的后面 B C程序书写格式严格 要求一行内只能写一个语句 C C程序书写格式自由 一个语句可以写在多行上 D 用C语言编写的程序只能放在一个程序文件中 12 以下选项中不合法的标识符是 A print B FOR C B x n 2 5 C x n i D x 5 4 1 3 2007年4月相关考题 12 下列叙述中错误的是 D A 计算机不能直接执行用C语言编写的源程序 B C程序经C编译程序编译后 生成后缀为 obj的文件是一个二进制 文件 C 后缀为 obj的文件 经连接程序生成后缀为 exe的文件是一个二进 制文件 D 后缀为 obj和 exe的二进制文件都可以直接运行 13 按照C语言规定的用户标识符命名规则 不能出现在标识符中 的是 B A 大写字母 B 连接符 C 数字字符 D 下划线 14 以下叙述中错误的是 C A C语言是一种结构化程序设计语言 B 结构化程序有顺序 分支 循环三种基本结构组成 C 使用三种基本结构构成的程序只能解决简单问题 D 结构化程序设计提倡模块化的设计方法 15 对于一个正常运行的C程序 以下叙述中正确的是 A A 程序的执行总是从main函数开始 在main函数结束 B 程序的执行总是从程序的第一个函数开始 在main函数结束 C 程序的执行总是从main函数开始 在程序的最后一个函数中结束 D 程序的执行总是从程序的第一个函数开始 在程序的最后一个函 数中结束 19 有以下程序 其中 u表示按无符号整数输出 B main unsigned int x 0 xFFFF x的初值为十六进制数 printf u n x 注意 x是占两个字节 程序运行后的输出结果是 A 1 B 65535 C 32767 D 0 xFFFF 第二章 顺序结构 一 教学重点 难点 知识点所占分 值 考核几 率 专家点评 C语句分类0 130 简单识记 字符输出函数 putchar 1 270 难度适中 重点掌握 字符输入函数 getchar 1 270 难度适中 重点掌握 格式输入函数 printf 3 4100 难度适中 重点理解 重点掌握 格式输出函数scanf 3 4100 难度适中 重点理解 重点掌握 二 教学内容 1 语句 C语句共分为5类 1 1控制语句 1 2函数调用语句 printf this is a c statement 1 3表达式语句 每一个合法的表达式后加上分号 就构成了表达式语句 a i j 语句和表达式的区别 表达式有唯一确定的值 而语句没有值 1 4赋值语句 格式 赋值表达式 i 1 j 2是逗号表达式 i 1 j 2 是两条赋值语句 i i i i 都是赋值语句 等价于i i 1 或i i 1 1 5空语句 只有一个单独的分号构成的语句 如 就是一条空语 句 1 6复合语句 用一对 将若干语句括起来构成一条复合语句 2 输入输出语句 在使用库函数时必须先用预编译命令 include 或 include 头文件名 将相应的头文件包含到源程序中 如 include 2 1 printf 函数 格式 printf 格式控制 输出列表 功能 按格式控制指定的格式输出数据 注意 格式控制包括以 开头的 格式说明符 和原样输出的普通字 符 如 printf a d a b d 30 4 7 输出结果是 a 30 a b 11 1 d格式 d 按实际长度输出十进制整数 md 输出占m列 若小于m列 左边补空格 若大于m列 按实际 输出 md 输出占m列 若小于m列 右边补空格 若大于m列 按实际 输出 ld 输出长整型数据 输入输出长整型数据时必须用该格式 例如 printf d 6d 6d ld 386 1234 3456 12345L 输出结果 386 1234 3456 12345 printf 2d 12345 输出结果 12345 2 u格式 u 以无符号十进制形式输出整数 printf u 1 65535 ptintf u 32768 32768 3 o格式 o 以无符号八进制形式输出整数 不输出前导符0 printf d o 1 1 1 177777 4 x或X格式 x或 X以无符号十六进制形式输出整数 不输出前导符0 x或0X 小 写对小写 大写对大写 printf d x X x 1 1 0 xabc 0XAbc 1 ffff ABC abc 注 若要输出十六进制和八进制的前导符 则要用 o和 x X格式 printf o x X 1 1 0 xaBc 0177777 0 xffff 0XABC 5 c格式 c用来输出一个字符 不输出单引号定界符 c和 d可以相互转 换 printf c d a a a 97 printf c d 100 100 d 100 6 s格式 用来输出一个字符串 不输出双引号和字符串结束符 s 输出字符串的有效字符 printf s china 0yunnan china ms 输出占m列 若小于m列 左边补空格 大于m列 按实际输 出 printf 5s 5s 2s swfc swfc swfc swfc swfc swfc m ns 输出占m列 只输出字符串的左n个字符到m列的右端 如 printf 7 5s yunnan yunna 7 f格式 按小数形式输出实型数据 f 默认输出6位小数 如 printf f f 543 12 5 4312e 2 543 120000 543 120000 m nf 输出占m列 其中有n位小数 若超过m列 确保n位小数后按 实际输出 注意四舍五入问题 如 printf 7 3f 7 3f 4 2f 3 1415726 3 1415926 314 5926 3 142 3 142 314 59 8 e格式 以指数形式输出一个实数 小数点前只有一位非零数 5位小数 3位 指数 如 printf e e 123 4 123 45e 7 234000e 002 1 234500e 005 9 g格式 自动在 f和 e中选择较短的一种输出 对于小数部分不输出无意义 的0 如 printf g g 123 45 123 45e 2 123 45 1 2345 printf g 123000000 0 23e 08 小结 1 表示输出一个 如 printf d d 10 10 d 10 2 除了x e g大小写均可外 其它都只能小写 如 printf d D 20 20 20 D 3 输出格式说明符所能操作的数据类型必须与输出项的类型一致 如 printf d 1 234 出错 2 2 scanf 函数 格式 scanf 格式控制 地址列表 注意 1 可指定数据所占的列数 输入后由系统自动截取相应的位数 如 scanf 3d 2d 若输入 3863018 则 a的值是 386 b的值是 30 若输入 3863 a的值是 386 b的值是 3 scanf 3c 2d 若输入 3863018 则 ch的值是 3 b的值是 30 2 md 表示跳过m列不读 如 scanf 3d 3d 4d 若输入 123456 则 a的值是 456 b的值是 原来的值 3 不能在scanf 函数中指定输入数据的小数位数 如 scanf 7 5f 出错 在scanf 函数中 输入时普通字符原样输入 如 scanf a d b d 若要给a赋值5 b赋值10 正确的输入是 a 5 b 10 scanf d d d 若要让a b c分别得到1 2 3 正确的输入是 1 2 3 若两个格式说明符之间没有其它字符 则在输入数据时 两数据之间 要用回车或空格分隔 回车或空格可以是多个 但是 c格式除外 如 scanf d d 若想让a的值为5 b的值为10 则正确的输入是 5 空格10 或 5 10 或5空格 空格 空格10 6 多个 c格式之间没有其它字符 仍然不能用回车或空格来分隔 如 scanf c c c 若输入 a空格b空格c a的值是 a b的值是空格 c的值是 b 7 格式说明符所能操作的数据类型必须与对应变量的类型相同 如 int a scanf f 出错 总结 1 普通字符原样输入 原样输出 2 对于 d格式 指定宽度小于输出宽度 原样输出 3 o x X表示要输出八进制的前导符数字0 和十六进制的 前导符0 x 0X 4 x X格式 小写对小写 大写对大写 5 md 表示跳过相应的输入项 6 注意进制间的转换 以及无符号数和带符号数之间的转换 7 在scanf 函数中 给double类型变量输入数据时 应该使用 lf类 型说明符 而输出时 可以用 lf 也可以用 lf 3 试题分析 1 2008年4月试题分析 16 有以下程序段 char ch int k ch a k 12 printf c d ch ch k printf k d n k 已知字符a的ASCll十进制代码为97 则执行上述程序段后输出结果是 A 因变量类型与格式描述符的类型不匹配输出无定值 B 输出项与格式描述符个数不符 输出为零值或不定值 C a 97 12k 12 D a 97 k 12 2 2007年9月试题分析 15 若在定义语句 int a b c p 之后 接着执行以下选项中的 语句 则能正确执行的语句是 A scanf d a b c B scanf d d d a b c C scanf d p D scanf d 18 有以下程序段 int j float y char name 50 scanf 2d f s 当执行上述程序段 从键盘上输入55566 7777abc 后 y的值为 A 55566 0 B 566 0 C 7777 0 D 566777 0 填空 6 执行以下程序时输入1234567 则输出结果是 6 include main int a 1 b scanf 2d 2d printf d d n a b 3 2007年4月试题分析 16 设变量均已正确定义 若要通过 scan d c d c 语句为变量a1和a2赋数值 10和20 为变量c1和c2赋字符X和Y 以下所示的输入形式中正确的是 注 代表空格字符 D A 10 X 20 Y 回车 B 10 X20 Y 回车 C 10 X 回车 D 10X 回车 20 Y 回车 20Y 回车 填空 6 执行以下程序后的输出结果是 main int a 10 a 3 5 a 4 printf a d n a 第三章 选择结构 一 教学重点 难点 知识点所占分 值 考核几 率 专家点评 关系运算符及优 先次序 0 140 简单识记 关系表达式0 150 简单 属重点识 记知识点 逻辑运算符及优 先级 1 250 简单识记 逻辑表达式1 250 简单 属重点识 记知识点 if语句的几种形 式 1 2100 简单识记 if语句的嵌套1 2 100 难度适中 重点 掌握 条件运算符0 1100 难度适中 重点 掌握 switch语句2 4100 简单 重点掌握 重点理解 语句标号0 110 偏难 不是重点 goto1 210 简单识记 二 教学内容 1 关系运算与逻辑运算 1 1逻辑值 真 非零值 假 零 1 2关系运算符及其表达式 关系运算符优先级别低于算术运算符 高于赋值运算符 优先级别高于 如 a b c 等价于a b c a b c等价于a b c a b c等价于a b4 结果是 0 3 if m 5 printf m d m else printf m d m 例2 main int m 5 if m 5 printf m d m else printf m d n m printf m d m 2 3 if 语句的嵌套 if 表达式1 if 表达式2 语句1 else 语句2 else if 表达式3 语句3 else 语句4 else总是与前面最近的且未配对的if语句配对 组成一对if else语句 if 表达式1 if 表达式2 语句1 else if 表达式3 语句2 else 语句3 第一个else语句有的同学会把它误以为和第一个if配对 但是实际的情 况是和第二个if语句配对 即 if 表达式1 if 表达式2 语句1 else if 表达式3 语句2 else 语句3 例1 请分析下列程序的输出结果 main int s t a b sanf d d s 1 t 1 if a 0 s s 1 if a b t s 1 else if a b t s else t 2 s printf d n t 若运行时输入5 10 回车 则程序的执行结果是 main int s t a b sanf d d s 1 t 1 if a 0 s s 1 if a b t s 1 else if a b t s else t 2 s printf d n t 若运行时输入5 10 回车 则输出结果是 例2 分析下列程序的输出结果 main int a 4 b 3 c 5 t 0 if a b t a a b b t if a c t a a c c t printf d d d n a b c main int a 4 b 3 c 5 t 0 if a b t a a b b t if ab a b 相当于 if a b max a else max b a b a c d c d 相当于a b a c d c d 注意 表达式1 2 3的值不要求具有相同的类型 最后结果的类型为 表达式2 3中较高类型的一种 如 x 6 y 5 1 1 5 表达式的值是 1 0 而不是1 4 switch语句 格式 switch 表达式 case 常量表达式1 语句1 break case 常量表达式2 语句2 break case 常量表达式n 语句n break default 语句n 1 break 说明 1 switch case default break都是关键字 花括号里面的 语句叫做switch语句体 Switch语句体中可以没有break语 句和default部分 2 Switch语句的圆括号中表达式的值必须是整型或是字符 型 不能为实型 case后的表达式可以是求得整型量的常 量表达式 但是常量表达式中不能含有变量 3 执行Switch语句时 首先计算Switch后圆括号的表达式的 值 然后将这个值与语句体中case后的常量表达式的值相 比较 如果某个常量表达式的值与之相等 则执行该case 后的语句块 如果没有任何一个常量表达式的值与之相 等 则执行default后的语句块 4 在执行的时候如果遇到break语句 则跳出switch语句 如 果执行完一个case或者default语句块后没有遇到break 则 继续顺序往下执行 知道遇到break语句或者语句体被执行 完毕为止 5 default最多只能有一个 通常出现在switch语句的最后部 分 但也可以出现在case之间或所有的case之前 四 试题分析 1 2008年4月试题分析 17 已知字母A的ASC 代码值为65 若变量kk为char型 以下不能正 确判断出kk中的值为大写字母的表达式是 A kk A c a if c a c b printf d d d n a b c 其输出结果是 A 程序段有语法错 B 3 5 3 C 3 5 5 D 3 5 7 20 有以下程序 include main int x 1 y 0 a 0 b 0 switch x case 1 switch y case 0 a break case 1 b break case 2 a b break case 3 a b printf a d b d n a b 程序的运行结果是 A a 1 b 0 B a 2 b 2 C a 1 b 1 D a 2 b 1 2 2007年9月试题分析 20 有以下计算公式 若程序前面已在命令行中包含math h文件 不能够正确计算上述公 式的程序段是 A if x 0 y sqrt x B y sqrt x else y sqrt x if x 0 y sqrt x D y sqrt x 0 x x if x 0 y sqrt x 21 设有条件表达式 EXP i j 则以下表达式中与 EXP 完 全等价的是 A EXP 0 B EXP 0 C EXP 1 D EXP 1 23 已有定义 char c 程序前面已在命令行中包含ctype h文件 不能用于判断c中的字符是否为大写字母的表达式是 A isupper c B A c Z C A c scanf d d d t1 a b 7 t2 c y C if x y x D if y0 程序运行后的输出结果是 A 235 B 0235 C 02356 D 2356 第四章 循环结构 一 教学重点 难点 知识点所占分值 考核几率专家点评 while语句2 3100 重点理解重点掌握 do while语 句 2 3100 重点理解重点掌握 for语句5 7100 重点理解重点掌握 循环嵌套4 6 100 重点理解重点掌握 循环比较0 120 简单识记 break语句2 370 难度适中 重点掌 握 continue语句2 350 难度适中 重点掌 握 注意 循环在这一章中的知识点比较少 但是它贯穿了整个的C 语言的章节中 老师在教学中一定要把它它当做重点中的重点 来抓 二 教学内容 1 while语句 格式 while 表达式 循环体语句 注意 1 1 while是C语言的关键字 1 2 while后必须有小括号将表达式括起 里面的表达式是C语言中任意 的表达式 作用是控制循环 其值为 真 非0 则执行循环体语句 否则跳出while循环 1 3 while语句也只能控制紧跟它的一条语句 若需要控制多条语句 必须用 括起 构成一条复合语句 1 4 圆括号内的表达式不能省略 循环体中的可以由一条空语句构成 表示循环体部分不做任何的操作 如 while 表达式 是循环 体 它是一条空语句 例如 分析下列程序的输出结果 1 5 执行过程 1 计算圆括号中表达式的值 若为非0则执行循环体语句 若为0 则跳出循环 2 执行完循环体语句后重复过程 1 main int i 1 sum 0 while i 100 sum sum I i printf sum d sum 这是学习C语言基础循环的最好的练习 老师让学生练习的时候可以 把i控制在10以内 让学生知道什么是循环 2 d0 while语句 格式 do 循环体 while 表达式 注意 2 1 do是C语言的关键字 需要和while一起搭配使用 2 2 while后必须有小括号将表达式括起 里面的表达式是C语言中任意 的表达式 作用是控制循环 其值为 真 非0 则执行循环体语句 否则跳出while循环 2 3 while语句也只能控制紧跟它的一条语句 若需要控制多条语句 必须用 括起 构成一条复合语句 2 4 圆括号内的表达式不能省略 循环体中的可以由一条空语句构成 表示循环体部分不做任何的操作 如 do while 表达式 是 循环体 它是一条空语句 2 5 由于do while循环结构整个语法上也是C语言语句 因此最后的分 号必不可少 它同样表示语句的结束 2 6 执行过程 1 执行循环体语句 2 计算圆括号中表达式的值 若为非0则重复 1 否则跳出循 环 3 for语句 格式 for 表达式1 表达式2 表达式3 循环体 3 1 for是C语言的关键字 3 2for之后的圆括号内一共有三个表达式 以分号 隔开 一般情况 下 表达式1的作用是赋初值 表达式2的作用是控制循环 表达式3的 作用是赋值 3 3 for语句也只能控制紧跟它的一条语句 若需要控制多条语句 必 须用 括起 构成一条复合语句 3 4 表达式1 2 3均可以省略 若省略表达式2 则认为表达式2的值 始终为真 而两个分号绝不能省 3 5执行过程 1 计算表达式1 2 计算表达式2 若其值为非0 转步骤 3 若其值为0则转步 骤 5 3 执行一次for循环体 4 计算表达式3 转步骤 2 5 结束循环 执行for语句后面的语句 4 循环结构的嵌套 在一个循环体内 又包含另一个循环 三种循环语句可以相互嵌套 main int i j for i 1 i 3 i for j 1 j 4 j printf ni d j d i j printf ni d j d i j for i 1 i printf d i 表达式2的值始终为真 这是死循环 5 break 和 continue 语句 break 语句用于结束循环或switch结构 continue 语句用于结束本次循环 跳过循环中continue后尚未执行的语 句 继续进行下一次循环条件的判断 注意 break 语句只能控制直接包含它的switch结构或循环 continue语句只能控制直接包含它的循环 例1 main int i s1 0 s2 0 s3 0 for i 1 i 10 i switch i 5 case 1 s1 case 2 s2 break case 3 s3 contiune s1 printf d d d s1 s2 s3 例2 把1 100之间能被4整除的数输出 老师一定要教会学生这中方 法 main int i for i 1 i 100 i if i 4 0 continue printf 3d i 三 试题分析 1 2008年4月试题分析 21 有以下程序 include main int x 8 for x 0 x if x 3 printf d x continue printf d x 程序的运行结果是 A 7 4 2 B 8 7 5 2 C 9 7 6 4 D 8 5 4 2 22 以下不构成无限循环的语句或者语句组是 A n 0 B n 0 do n while n 0 while 1 n C n 10 D for n 0 i 1 i n i while n n 31 有以下程序 include main int s 12 1 2 3 4 4 3 2 1 1 1 2 3 c 5 0 i for i 0 i 12 i c s i for i 1 i 5 i printf d c i printf n 程序的运行结果是 A 1 2 3 4 B 2 3 4 4 C 4 3 3 2 D 1 1 2 3 32 有以下程序 include void fun int s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 想长脚的石头课件
- 2026届河北省保定市曲阳县第一高级中学高二化学第一学期期末综合测试试题含答案
- 患者管路管理
- 幼儿园课程设置方案
- 农产品营销策划方案
- 个人安全生产应急方案
- 曲线函数测试题及答案
- 叉车铲车考试题及答案
- 春晓古诗考试题及答案
- 新冠肺炎考试试题及答案
- 中经堂经络养生运营策划书
- 城轨车辆车门电气原理分析及故障排除
- 2020年06月内蒙古巴林左旗基层医疗卫生机构公开招聘护理人员10人笔试参考题库含答案解析
- XXX电力系统基础知识培训考试题
- 上海文化发展基金会调研报告
- GB/T 17478-2004低压直流电源设备的性能特性
- GB/T 13477.10-2017建筑密封材料试验方法第10部分:定伸粘结性的测定
- 国网十八项重大反措试题库完整
- 应急疏散培训试题
- 公司义务消防员培训记录表
- 大海(张雨生)原版五线谱钢琴谱正谱乐谱
评论
0/150
提交评论