C语言程序设计期中复习.ppt

上传人:max****ui 文档编号:6333016 上传时间:2020-02-23 格式:PPT 页数:68 大小:3.76MB
返回 下载 相关 举报
C语言程序设计期中复习.ppt_第1页
第1页 / 共68页
C语言程序设计期中复习.ppt_第2页
第2页 / 共68页
C语言程序设计期中复习.ppt_第3页
第3页 / 共68页
点击查看更多>>
资源描述
2020 2 23 1 C语言程序设计期中复习 李书涛list37 2020 2 23 2 期中试卷题型 一 选择题 每小题2分 共30分 数值常量 运算符 优先级 二 阅读下列程序 写出输出结果 每题4分 共16分 选择结构程序设计 循环结构程序设计 三 读程序 并填空 每小题3分 共30分 选择结构程序设计 循环结构程序设计 四 编程题 每小题8分 共24分 穷举法 选择结构程序设计 循环结构程序设计 2010 C语言程序设计 期中试卷题型 2020 2 23 3 1程序操作的对象 数据 1程序操作的对象 数据1 1C语言的数据类型 2020 2 23 4 1 不同类型数据采取不同的存储形式 2 不同类型数据在内存中占有不同的存储空间 3 不同类型数据对应不同的取值范围 4 不同类型数据确定了允许对其进行不同的操作类型 数据类型的含义 1基本数据类型 2020 2 23 5 按照数据在程序中的取值分为两类 值保持不变 常量x 2 y值随程序运行变化 变量 C语言的基本数据类型 1基本数据类型 2020 2 23 6 1 在程序运行中 其值保持不变2 表示方法 整型100 25 12L实型3 14 0 125字符型 a b 字符串常量 string 3 符号常量 definePI3 14159 宏定义 给常量定义一个标识符 称宏名 大写 1 2常量与变量一 常量 2020 2 23 7 3 变量通过变量名来标识 1 在程序运行中 值发生变化 2 必须先定义 再使用 inta b 类型变量名表 256 3 变量名和内存中的存储单元相对应 编写程序时通过变量名来存 取存储单元 二 变量 变量 2020 2 23 8 1 以字母或下划线开头 2 不能用系统中的关键字作为变量名 inta b A123 b inta A 5 3 变量名中的字母是区分大小写的 sum stu name age Lts 1 2 a232c x y start 9 c2 0非法NAMEname表示两个不同的标识符 4 有关变量名的规定 2020 2 23 9 有三种表示形式 十进制八进制十六进制 123412L 加前导001234 0125 加前导0 x如0 x123 0 xffff 整型数据包括整型常量和整型变量 整型数据以二进制补码形式存储 例 100 8 0 010 024 0 x38 0X1F 1 3整型数据一 整型常量 2020 2 23 10 掌握要点1 有几种定义形式 2 每种形式占存储空间的大小不同 3 取值范围不同 4 输入输出格式不同 二 整型变量 2020 2 23 11 六种形式 基本整型短整型长整型无符号整型无符号短整型无符号长整型 intshortintlongintunsignedint 占存储空间 一个变量 2242 字节 unsignedshortunsignedlong 24 1 定义形式 2020 2 23 12 类型说明符长度数的范围基本型int2字节 32768 32767短整型short2字节 215 215 1长整型long4字节 231 231 1无符号整型unsigned2字节0 65535无符号短整型unsignedshort2字节0 65535无符号长整型unsignedlong4字节0 232 1 2 整型变量的取值范围 类型说明符长度数的范围基本型int2字节 32768 32767无符号整型unsigned2字节0 65535 有符号与无符号整型数的区别 int最高位为符号位1为负数补码unsigned最高位为数值位 215 32768 则 unsigneda 216 1 65535 而inta 1 则 unsigneda 215 32768 而inta 32768 2020 2 23 14 int型数存储长度为16位二进制 2Byte 0000000000000001 215 1 32767 0000000000000011 0111111111111111 1000000000000000 1 3 上面的数再加1是多少 215 32768 例 补码表示 int型表示数的范围 32768 32767 3 输入输出形式 d ld x o u int型数的表示范围 2020 2 23 15 包括实型常量和实型变量 两种表示形式 小数指数 0 123123e 3 实型常量只能用十进制形式表示 不能用八进制和十六进制 1e3 1 8e 3 123e 6 1e 3e5 1e 3 2 e e 03 1 4实型数据一 实型常量 指数格式 数符尾数e阶符阶码 2020 2 23 16 1 定义形式 三种形式 单精度双精度长双精度 floatdoublelongdouble 2 占存储空间 一个变量 4816 字节 实型常量不区分单精度和双精度 二 实型变量 2020 2 23 17 4 输入输出形式 f lf 3 变量的取值范围 实型数据在计算机中以指数形式存储 单精度float变量占四个字节 一个字节存放指数部分 三个字节存数值部分 2 23 尾数 1 2 23 float型数的表示范围 最小尾数 2 23 二进制7位 二进制23位 单精度实型 数符尾数 阶码 阶符 最大尾数 1 2 23 2020 2 23 19 1 5字符型数据一 字符型常量 字符型常量字符型变量 1 用单引号包含的一个字符是字符型常量 2 只能包含一个字符 例 a A 1 abc a 2020 2 23 20 有些以 开头的特殊字符称为转义字符 n换行 t横向跳格 r回车 反斜杠 dddddd表示1到3个八进制数字 xhhhhhh表示1到3个十六进制数字 请牢记 printf d t d t a b printf d n d n a b 若 a为1 b为0 则 3 转义字符 输出 1010 转义字符表示法 2020 2 23 22 ddd表示1到3个八进制数字对应ASCII字符 xhhh表示1到3个十六进制数字对应ASCII字符 101 141 60 x41 x61 x30 printf c c c n a b c printf c c c n x y z 若 a 101 b 141 c 60 若 x x41 y x61 z x30 转义字符举例课堂作业 输出 A a 0输出 A a 0 表示 A 表示 a 表示 0 表示 A 表示 a 表示 0 2020 2 23 23 1 定义形式 2 占存储空间 一个字节 1字节 char变量表 一个字符变量只能包含一个字符 3 输入输出形式 c a ASCII值为97内存中存储形式 01100001 4 字符型数据在内存中以相应的ASCII值存储 二 字符型变量 2020 2 23 24 在ASCII范围以内 整型数据与字符型数据可以通用 main charc c c printf c c c 例 题目中有几个c 哪些是等价的 运行结果 字符型数据的特点 2020 2 23 25 1 双引号内的一串字符 china 2 n个字符组成的字符串常量 在内存中占空间为n 1个字节 c h i n a 0 字符串结束标记 3 C中没有专用的字符串变量 ThisisCstring 串长16 a 串长1 空格 串长1 不含空格 串长0 三 字符串常量 2020 2 23 26 C语言的基本数据类型小结 类型说明符长度数的范围字符型char ASCII码 1字节0 127整型int 215 215 1 2字节 32768 32767长整型long4字节 231 231 1单精度float4字节10 38 1038双精度double8字节10 308 10308长双精度longdouble16字节10 4931 104932 2020 2 23 27 一 运算符 运算符 运算分量 x 5 b c 对数据进行运算的符号 被加工的数据 表达式 算术运算符赋值运算符关系运算符逻辑运算符逗号运算符条件运算符 C中运算符 共34种 2C程序的基本操作 2C程序的基本操作2 1运算符和表达式 2020 2 23 28 2 表达式的运算结果称为表达式的值 1 运算符和运算分量构成表达式 算术表达式关系表达式逻辑表达式赋值表达式逗号表达式条件表达式 二 表达式 2020 2 23 29 优先级 运算符的执行顺序 结合性 优先级相同时的结合方向 运算结果的类型 X 5 8 a 100 X a b c a b c5 7 2a b 5 结果 单目运算符的优先级高于双目运算符单目运算符从右向左结合双目运算符从左向右结合 运算符的优先级与结合性 2020 2 23 30 1 共有5个 2 作为负号时为单目 单目 双目 双目 5 优先级 6 结合性 从左向右 3 运算只适用于整型数 算术运算的结果为什么类型 取模 求余数 a 10 4a的值为2 2 2算术运算符和算术表达式 4 运算用于整型和实型时不同 2020 2 23 31 1 模 求余数 运算 令 a 10 b 4 求a b与b a 结果 a b 2 令 a 10 b 4 x 10 0 y 4 0 求a b与x y 结果 x y 2 5 结果 a b 2 b a 4 算术运算符举例 2 运算用于整型时称整除 用于实型时称实除 2020 2 23 32 1 有三个 与 两边为1 结果为1 或 两边有一个为1 结果为1 非 非1为0 非0为1 0 1 2 优先级 的优先级高于 和 逻辑运算与其他运算相比 非 的优先级最高 与 和或 的优先级低于其他 3 结合性 与和或是从左向右 非是从右向左 2 3逻辑运算符与逻辑表达式一 逻辑运算符 2020 2 23 33 逻辑运算符的真值表 逻辑值用1和0表示 2020 2 23 34 2 表达式的值为逻辑的1和0 表示真与假 任何非零实数均可作为逻辑上的1 例 a 5 b 7 c 4 d 3x a b c d d a 先做算术运算 再做关系判断 将最后结果赋给x 1 用逻辑运算符将关系运算表达式或逻辑量连接起来构成逻辑表达式 5 2 7 8 从左向右运算 5 2 逻辑值为1 1 7 逻辑值为0 0 8 逻辑值为0 整个表达式的值为0 二 逻辑表达式 结果 x 12 7 0 1 0 0 3 在逻辑表达式中 并不是所有的逻辑运算都必须执行 如果 的一边已经为0 结果一定为0 如果 的一边已经为1 结果一定为1 1 aa b均为非0 再判断c 若a为0时 不必判断b和c 结果一定为0不必判断b和c 结果一定为1 2 a b c 若a为非0 不必判断b和c 结果一定为1 已知 a 1 b 2 c 3 d 4 m 1 n 1执行 m a b n c d 之后 m n 由于a b的值为0 m 0不再判断 n c d 的值 因此 n维持原有的值 m 0n 1 逻辑运算的特点 求逻辑表达式的值1 173 23 2 5 5 4 6 3 7 如何表示闰年 逻辑运算举例一 逻辑表达式结果1 171 0 03 23 2 5 0 15 4 6 3 7 1 0 课堂作业 2020 2 23 37 要判别用year表示的某一年是否闰年 闰年的条件是符合下面二者之一 1 能被4整除 但不能被100整除 如2008 2 能被400整除 如2000 上面两个者条件可以用一个表达式来表示 闰年的表示 year 4 0 year 100 0 year 400 0 2020 2 23 38 k k 1 k 先使用变量k的值 再加1 k先加1 再使用变量k的值 k k 1 k 先使用变量k的值 再减1 k先减1 再使用变量k的值 k 3 printf d k 输出3后 k的值为4 i 3 printf d i 输出4 2 4自增 自减运算符1 变量自身加 减 1 与 2020 2 23 39 2 只能用于变量 不能用于表达式和常量 i k 3 3 优先级 高于双目算术运算符 4 结合性 从右向左 x nx x n 赋值运算符两侧出现相同的变量 x x nx x nx x nx x nx x n x nx nx nx nx n 算术运算与赋值运算相结合 X与n均为整数 n为常数 2 5组合赋值运算符和组合赋值表达式 格式 变量双目操作符 表达式 双目操作符 功能等价于 变量 变量双目操作符表达式 2020 2 23 41 运算符小结 算术运算符 赋值运算符 关系运算符 sizeof type 2020 2 23 42 不同数据类型需先转换成同一类型 然后进行运算 方式 自动进行 隐式转换强制进行 显式转换 一 隐式转换 算术转换 优先级低的向优先级高的转换 inti floatf doubled longe 表达式 10 a i f d e的结果为 double 2 6混合运算及数据类型转换 2020 2 23 43 格式 类型 表达式 int 10 a i f d e 将该结果强制转换为整型 例 inti floatf 求 int f i 取模运算要求运算分量是整数 所以先将f转换为整型 再做 运算 三 赋值转换 赋值符号右边的类型向左边的转换 intx floaty 5 3 x y intx 5 floaty y x 二 显式转换 强制转换 结果 x 5 结果 y 5 000000 2020 2 23 44 1 优先级 分为115级 不同级别混合运算时 按优先级先高后低 2 结合性 相同级别进行运算时 按结合性处理 单目 条件 赋值运算符的结合性是自右向左 其它运算符的结合性是自左向右 四 优先级与结合性 2020 2 23 45 数据类型与运算符总结 数据类型与运算符总结 十 常用的常量表示方法十进制100 5L 整数八进制0123 十六进制0 xf3d 实数的小数 指数形式 字符常量 a 字符串常量 a 十一 单目运算 双目运算的优先级和结合性特点 熟记基本概念和规则 2020 2 23 46 运算符的优先级和结合方向 1 运算符的优先级和结合方向 2 值得注意的几个问题1 取模 求余数 求 10 3 10 3 10 3 10 3 计算结果如右 11 1 1 结论 结果符号与被除数一致 2 自反赋值变量双目操作 表达式 功能 变量 变量双目操作表达式 inta 10 b 5 求 a b 1 printf a d n a a 60 计算结果如下 结论 表达式作为整体参加运算 课堂作业 2020 2 23 49 自反赋值 intx 5 求 x x x x 结果 x 40 intx 3 求 x x x x 结果 x 12 课堂作业 运算符的优先级与结合性 2020 2 23 51 2 7综合练习一 单项选择 1 字符串 ABC 在内存中占用的字节数是 3 4 6 82 设inta b c均为2 表达式a b c 的结果是 6 9 8 表达式出错3 如下程序的执行结果是 main intn 1 printf d d d n n n n 111 122 123 121 2020 2 23 52 二 填空 1 设a 3 b 2 c 1 则a b的值为 a b c的值为 2 设整型变量x y z均为5 执行 x y z 后x 执行 x y z 后x 执行 x y z x 2 x 2 3 2 x 3 求以下程序的执行结果 includemain intx 5 y 2 printf 1 d n y x 2 printf 2 d n y x 3 printf 3 d n x 0 1 0 5 5 3 结果是 1 0 结果是 2 0 结果是 3 0 结果是 4 1 2020 2 23 53 三 问答 为什么应避免对两个实数表达式作 相等 或 不相等 的判别 2 关系表达式能否视为一种整型表达式 为什么 在判定两个浮点数是否相等时 由于计算机存储上出现的误差 会出现错误的结果 例如 1 0 3 0 3 0 1 0在数学上显然应该是一个恒等式 但由于1 0 3 0得到的值的有效位数是有限的 并不等于0 3 因此上面关系表达式的值为0 假 而不为 真 所以应避免对两个实数表达式作 相等 或 不相等 的判别 由于关系表达式的值是整型数0或1 故也可以将其看成是一种整型表达式 2020 2 23 54 一 C中用输入与输出函数实现输入与输出语句二 字符输入输出函数 getchar putchar 一次一个字符 三 格式输入输出函数 scanf printf 按格式输入输出 四 格式控制符的使用 d o x c m nf m nf ms ms等 基本输入与输出函数总结 2020 2 23 55 3本章小结 3本章小结一 C语言程序结构 main 程序首部 说明语句数据结构语句输入语句执行语句运算处理算法设计 输出语句 2020 2 23 56 二 C语言的数据类型 2020 2 23 57 C语言的基本数据类型小结 类型说明符长度数的范围字符型char ASCII码 1字节0 127整型int 215 215 1 2字节 32768 32767长整型long4字节 231 231 1单精度float4字节10 38 1038双精度double8字节10 308 10308长双精度longdouble16字节10 4931 104932 2020 2 23 58 三 运算符小结 9类34种 算术运算符 赋值运算符 关系运算符 sizeof type 运算符的优先级与结合性 2020 2 23 60 运算符综合练习 1 字符串 ABC 在内存中占用的字节数是 3 4 6 82 设inta b c均为2 表达式a b c 的结果是 6 9 8 表达式出错3 如下程序的执行结果是 main intn 1 printf d d d n n n n 111 122 123 121 一 单项选择 四 基本输出函数 1 字符输入函数 c getchar 2 格式输入函数 scanf 格式控制串 地址表 3 字符输出函数 putchar 字符变量 4 格式输出函数 printf 格式控制串 变量表 格式控制串 d 按十进制整数形式输出变量的值 o 按八进制整数形式输出变量的值 x 按十六进制整数形式输出变量的值 ld 按十进制整数形式输出长整型变量的值 u输出无符号整数变量的值 f 输出单精度浮点变量的值 e 按指数形式输出浮点变量的值 2020 2 23 62 程序举例 file simple c sum a b c注释语句 main 程序首部 inta b c sum 说明语句a 1 b 2 赋值语句scanf d 输出语句 执行语句 2020 2 23 63 3阅读程序 并填空 1 以下函数的功能是 求x的y次方 double fun doublex inty inti doublez for i 1 z x i y i z z x returnz 2 以下程序将输入的十进制数以十六进制的形式输出 includemain charb 17 0123456789ABCDEF intc 64 d i 0 base 16 longnumber printf 请输入一个十进制数 n scanf ld 3 以下函数的功能是删除字符串s中的数字字符 请填写缺少的语句 voiddelnum chars inti j for i 0 j 0 s i 0 i if s i 9 s j s i j s j 0 2020 2 23 66 4编写程序 1 穷举法 百钱百鸡问题换硬币问题水仙花问题完数问题素数问题等 2020 2 23 67 2 选择结构程序设计 if语句Switch语句 2020 2 23 68 3 循环结构程序设计 while语句do while语句for语句用 辗转相除法 来求出两个正整数的最大公约数
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!