




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章第一章C 语言基础知识语言基础知识 1 C C 语言概述语言概述 知识点知识点所占分值所占分值考核几率考核几率专家点评专家点评 C 语言概述语言概述0 1 分分 20 简单识记简单识记 C 语言程序的构成语言程序的构成0 1 分分 30 简单识记简单识记 标识符标识符1 2 分分 60 简单 属重点识记知识点简单 属重点识记知识点 常量常量1 2 分分 80 简单 属重点识记知识点简单 属重点识记知识点 变量变量2 3 分分100 难度适中 重点理解重点掌握难度适中 重点理解重点掌握 注意 从几年的试题分析看注意 从几年的试题分析看 C 语言的概述和程序的构成合起来考试已语言的概述和程序的构成合起来考试已 经是一个惯例了 经是一个惯例了 2 运算符与表达式运算符与表达式 知识点知识点所占分所占分 值值 考核几率考核几率 专家点评专家点评 C C 运算符简介运算符简介0 10 1 分分 10 10 简单识记简单识记 运算符的结合和优先级运算符的结合和优先级0 10 1 分分60 60 简单识记简单识记 强制类型转换运算符强制类型转换运算符0 10 1 分分30 30 简单识记简单识记 逗号运算符和逗号表达式逗号运算符和逗号表达式0 10 1 分分40 40 简单 属重点识记知识点简单 属重点识记知识点 基本的算术运算符基本的算术运算符1 21 2 分分100 100 简单 属重点识记知识点简单 属重点识记知识点 算术表达式和运算符的算术表达式和运算符的1 21 2 分分100 100 难度适中 重点理解重点掌握难度适中 重点理解重点掌握 优先级与结合 自增自减运算符优先级与结合 自增自减运算符2 32 3 分分100 100 难度适中 重点理解重点掌握难度适中 重点理解重点掌握 赋值运算符和赋值表达式赋值运算符和赋值表达式2 42 4 分分100 100 简单 重点掌握重点理解简单 重点掌握重点理解 复合的赋值运算符复合的赋值运算符1 21 2 分分80 80 偏难 不是重点偏难 不是重点 赋值运算中的类型转换赋值运算中的类型转换0 10 1 分分75 75 偏难 不是重点偏难 不是重点 位运算符和位运算位运算符和位运算0 10 1 分分80 80 偏难 属重点识记知识点偏难 属重点识记知识点 二 二 教学讲点教学讲点 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 几个特殊的带符号整数 几个特殊的带符号整数 00000 32768 11111 32767 11111 1 3 23 无符号整数 只有正整数 没有负整数 无符号整数 只有正整数 没有负整数 最高位不表示符号位 每一位均最高位不表示符号位 每一位均 参与转换 参与转换 二进制二进制带符号整数带符号整数无符号整数无符号整数 11111 165535 00000 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 1 0000 将将 0000 按照带符号数转为十进制为按照带符号数转为十进制为 32768 65535 11111 1 1 1 65536 unsigned b 而而 b 属于无符号整型 在内存中只占两字节 所以只能包属于无符号整型 在内存中只占两字节 所以只能包 括括 16 位 位 标准标准 C 没有具体要求规定各类型数据所占内存的字节数 没有具体要求规定各类型数据所占内存的字节数 现以这次考试现以这次考试 标准标准 viusal c 6 0 为例 说明各类型变量所占的位数 为例 说明各类型变量所占的位数 类型类型所占位所占位 数数 所占字所占字 节数节数 类型类型所占位所占位 数数 所占字节所占字节 数数 shortshort16162 2unsignedunsigned intint 32324 4 intint 32324 4unsignedunsigned longlong 32324 4 longlong32324 4floatfloat 32324 4 unsignedunsigned shortshort16162 2doubledouble 6464 8 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 三 三 相关试题相关试题 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 C 语句分类语句分类0 10 130 30 简单识记简单识记 字符输出函数字符输出函数 putchar putchar 1 21 270 70 难度适中 重点掌握难度适中 重点掌握 字符输入函数字符输入函数 getchar getchar 1 21 270 70 难度适中 重点掌握难度适中 重点掌握 格式输入函数格式输入函数 printf printf 3 43 4100 100 难度适中 重点理解重点难度适中 重点理解重点 掌握掌握 格式输出函数格式输出函数 scanf scanf 3 43 4100 100 难度适中 重点理解重点难度适中 重点理解重点 掌握掌握 二 教学内容二 教学内容 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 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 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 543 m nf 输出占输出占 m 列 其中有列 其中有 n 位小数 若超过位小数 若超过 m 列 确保列 确保 n 位小数后按实际位小数后按实际 输出 注意四舍五入问题 输出 注意四舍五入问题 如 如 printf 7 3f 7 3f 4 2f 3 3 314 5926 3 142 3 142 314 59 8 e 格式格式 以指数形式输出一个实数 小数点前只有一位非零数 以指数形式输出一个实数 小数点前只有一位非零数 5 位小数 位小数 3 位指数 位指数 如 如 printf e e 123 4 123 45e 7 e 002 1 e 005 9 g 格式格式 自动在 自动在 f 和 和 e 中选择较短的一种输出 对于小数部分不输出无意义的中选择较短的一种输出 对于小数部分不输出无意义的 0 如 如 printf g g 123 45 123 45e 2 123 45 1 2345 printf g 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 若输入 若输入 则 则 a 的值是 的值是 386 b 的值是 的值是 30 若输入 若输入 3863 a 的值是 的值是 386 b 的值是 的值是 3 scanf 3c 2d 若输入 若输入 则 则 ch 的值是 的值是 3 b 的值是 的值是 30 2 md 表示跳过表示跳过 m 列不读 列不读 如 如 scanf 3d 3d 4d 若输入 若输入 则 则 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 三 三 试题分析试题分析 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 0B 566 0C 7777 0D 0 填空 填空 6 执行以下程序时输入 执行以下程序时输入 则输出结果是 则输出结果是 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 10 140 40 简单识记简单识记 关系表达式关系表达式0 10 150 50 简单 属重点识记知识简单 属重点识记知识 点点 逻辑运算符及优先级逻辑运算符及优先级1 21 250 50 简单识记简单识记 逻辑表达式逻辑表达式1 21 250 50 简单 属重点识记知识简单 属重点识记知识 点点 ifif 语句的几种形式语句的几种形式1 21 2100 100 简单识记简单识记 ifif 语句的嵌套语句的嵌套1 21 2 100 100 难度适中 重点掌握难度适中 重点掌握 条件运算符条件运算符0 10 1100 100 难度适中 重点掌握难度适中 重点掌握 switchswitch 语句语句2 42 4100 100 简单 重点掌握重点理简单 重点掌握重点理 解解 语句标号语句标号0 10 110 10 偏难 不是重点偏难 不是重点 gotogoto1 21 210 10 简单识记简单识记 二 教学内容二 教学内容 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 有以下计算公式 有以下计算公式 0 0 xx xx y 若程序前面已在命令行中包含若程序前面已在命令行中包含 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 第四章第四章 循环结构循环结构 一 教学重点 难点一 教学重点 难点 知识点知识点所占分值所占分值 考核几率考核几率专家点评专家点评 whilewhile 语句语句2 32 3100 100 重点理解重点掌握重点理解重点掌握 do whiledo while 语句语句2 32 3100 100 重点理解重点掌握重点理解重点掌握 forfor 语句语句5 75 7100 100 重点理解重点掌握重点理解重点掌握 循环嵌套循环嵌套4 64 6 100 100 重点理解重点掌握重点理解重点掌握 循环比较循环比较0 10 120 20 简单识记简单识记 breakbreak 语句语句2 32 370 70 难度适中 重点掌握难度适中 重点掌握 continuecontinue 语句语句2 32 350 50 难度适中 重点掌握难度适中 重点掌握 注意 循环在这一章中的知识点比较少 但是它贯穿了整个的注意 循环在这一章中的知识点比较少 但是它贯穿了整个的 C 语言语言 的章节中 老师在教学中一定要把它它当做重点中的重点来抓 的章节中 老师在教学中一定要把它它当做重点中的重点来抓 二 教学内容二 教学内容 1 while 语句语句 格式 格式 while 表达式 表达式 循环体语句循环体语句 注意 注意 1 1 while 是是 C 语言的关键字 语言的关键字 1 2 while 后必须有小括号将表达式括起 里面的表达式是后必须有小括号将表达式括起 里面的表达式是 C 语言中任意的表达语言中任意的表达 式 作用是控制循环 其值为式 作用是控制循环 其值为 真真 非 非 0 则执行循环体语句 否则跳出 则执行循环体语句 否则跳出 while 循环 循环 1 3 wh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州幼儿师范高等专科学校《专业软件应用(水文与水资源工程)》2023-2024学年第二学期期末试卷
- 辽宁经济职业技术学院《操作系统原理》2023-2024学年第二学期期末试卷
- 阿克苏工业职业技术学院《媒介集团研究》2023-2024学年第二学期期末试卷
- 重庆移通学院《材料力学》2023-2024学年第二学期期末试卷
- 曲阜远东职业技术学院《化学教育测量与评价》2023-2024学年第二学期期末试卷
- 西昌民族幼儿师范高等专科学校《广播电视新闻》2023-2024学年第二学期期末试卷
- 山西传媒学院《农村发展概论》2023-2024学年第二学期期末试卷
- 西昌学院《纪录片鉴赏》2023-2024学年第二学期期末试卷
- 清华大学《碳一化工》2023-2024学年第二学期期末试卷
- 山东理工大学《节奏与打击乐基础训练》2023-2024学年第二学期期末试卷
- 2025年高考作文备考之十大热点主题及写作导引
- 海外安保面试题及答案
- 弘扬传承中华传统文化
- 危重患者的早期康复
- 2025年北京市西城区高三一模数学试卷(含答案)
- 乡村振兴战略相关试题及答案
- QC080000基础知识课件
- 急诊护理团队精神
- 机车运用质量指标马元课件
- 模拟退火与数论-深度研究
- 《防灾减灾专题培训》课件
评论
0/150
提交评论