浙江大学C语言总复习题—基本数据类型和运算_第1页
浙江大学C语言总复习题—基本数据类型和运算_第2页
浙江大学C语言总复习题—基本数据类型和运算_第3页
浙江大学C语言总复习题—基本数据类型和运算_第4页
浙江大学C语言总复习题—基本数据类型和运算_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

第第 2 章章 基本数据类型和运算基本数据类型和运算 学习和解题要点学习和解题要点 1 数据类型 C 语言中的数据类型比别的语言丰富 要学好这部分内容 首先要掌握 C 语言的数据 在内存中的表示 整型数据整型数据 以二进制的形式表示 1 int 类型 正数 如 123 123 用 16 位二进制 二个字节 表示 原码 反码 原码同 补码 原码同 最大正整数 215 1 214 213 212 211 210 29 2827 26 25 24 23 22 21 20 32767 负数 如 123 原码 反码 符号位不动 其它取反 补码 补码加 1 已知补码求原负数 符号位不动 其它取反加 1 取反 加 1 最大负整数 215 32768 因为 215 215 1 所以用 215 而不用 215 1 2 unsigned int 类型 称为无符号整数 它不是指不带 或 号的整数 而是指内存表示这类数时没有符 号位 16 位二进制都用来表示数 因此 最大数 215 214 213 212 211 210 29 2827 26 25 24 23 22 21 20 65535 最小数 0 3 long int 类型 用 32 位二进制 四个字节 表示 其他同 int 型 4 short 类型 有的计算机 小型 中型 大型机 int 即是 long 而 short 用 16 位二进制 二个 字节 表示 因此 C 语言中 short 一定是短整型 long 一定是长整型 而 int 因不同的 系统而不同 PC 586 机 int 即 short 所以一般不用 short 5 在 C 语言中 整型常量有三种形式的写法 十进制整数 0 9 表示 通常整数的写法 八进制整数 0 7 表示 在整数的前面加数字 0 十六进制整数 0 f 表示 在整数的前面加 0 x 长整型常量表示方法 在整数的后面加 L 或 l 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 符号位 0 表示正 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 符号位 1 表示负 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 字符型数据字符型数据 以二进制的形式表示 char 型 用 8 位二进制 一个字节 表示 如 a 在程序中要用单引号表示 输出时无单引号 内存中表示为 26 25 20 97 即 ASCII 码 97 实型数据实型数据 以二进制的形式表示 1 float 类型 如 123 45 123 45 用 32 位二进制 四个字节 表示为 0 12345 103 不同的系统 n 的位数有不同 n 长 精度高 但可表示的指数小 能表示的数的范围 小 反之 则能表示的数的范围大 但精度低 float 类型又称为 浮点 类型 把实数 的小数点都看成在第一位 而用指数位 浮动 小数点 2 double 类型 与 float 同只不过用 64 位二进制 八个字节 表示 因此精度高 称双精度 2 变量的概念 C 语言中的变量可以理解成计算机内存的一个空间 它必须有一个名字 标识符 可 放什么样的数据类型 如定义时前面加 int float char 等 它是开辟在内存的一 般数据区 又称静态数据区 还是开辟在内存的堆栈区 又称动态数据区 这可由程序 中用 static 或 auto 可缺省 来规定 同时 一个变量有它的有效的使用范围 称之为作 用域 最后 每个变量都有地址 这在指针类型时要用到 变量可以一边定义一边赋初值 在程序运行时可以使它发生变化 因此称之为变量 3 3 运算符的注意事项运算符的注意事项 1 双目运算符 的两边一定是要整数 运算结果是整除后的余数 也是整数 注 意 2 5 得 2 而不是 0 2 双目运算符 的两边如果是整数 则结果也是整数 5 2 结果为 2 而不是 2 5 即使是 float x x 1 2 x 中也只有 0 0 要人为的写成 x 1 2 0 或 x 1 0 2 x 中才是 0 5 3 单目运算符 放在运算对象的前面时 称为 先加 减 1 后使用 这 一般不会搞错 当放在运算对象的后面时 称为 先使用 后加 减 1 这时要注意 什么时候 使用 如 i 3 i i i 结果是 9 而不是 12 这里 三个 i 相加是 使用 使 用后才三次加 1 i 成为 6 使用 是以整个表达式为准 而 i 3 i i i 结果是 18 而不是 15 这里 三个 i 依次加 1 成为 6 然 后再 使用 也是以整个表达式为准 又如 i 1 if i printf d i 输出是 0 而不是 1 这是因为 if 中 i 是整个 表达式 先用 i 为 1 用于 判断 成立 这算 使用 了 然后 i 减 1 成为 0 输出时 i 已为 0 同理 char c A switch c case A printf c c break 0 1 1 0 0 0 0 1 本 0 0 12345 的二进制表示0 3 的二进制表示 数符 小数部分 指数符 指数 0 12345 103 32 位 32 n 位n 位 输出为 B 4 算术自反赋值运算符中 注意 赋值号右边是一个整体 如 c a 3 是 c c a 3 而不是 c c a 3 5 关系运算符中 注意等于比较运算符 与赋值运算符 容易疏忽 二 者是绝然不同的 不然会引起很大的错误 如 i 0 if i 1 判断得结果应该是不成立 若写成 if i 1 则变成给 i 赋予 1 赋值表达式的结果也是 1 判断结果是成立的 6 应该熟记运算符及其优先级汇总表 熟记运算符之间的运算次序及结合方向 4 表达式注意的问题 1 在算术表达式中应注意各类数值型数据间的混合运算问题 如下 double float float 型一定先转换成 double 型参加运算 long 运算对象不同时转换方向 unsigned int char short char short 型一定先转换成 int 型参加运算 2 C 语言无 真假值 判断成立则结果为 1 不成立则结果为 0 而当表达式的值 为非 0 则认为 真 当表达式的值为 0 则认为 假 3 关系表达式中 数学上的 0 x 10 不能写成 0 x 10 而应写成 0 x 执行语句 if x b x 1 后 x b 的值依次为 A A 2 3 B 2 0 C 3 0 D 3 2 17 设有语句 int a 3 则执行了语句 a a 9 后 变量 a 的值是 D A B C 9 D 12 18 设有语句 int a 3 则执行了语句 a a a a 后 变量 a 的值是 B A B C 9 D 12 19 int a 4 b 3 c 2 d 2 逻辑表达式 a 0 则计算表达式 i j j 后 i j 的值为 D A 4 4 B 6 6 C 4 6 D 6 4 23 设整型变量 a b c 均为 表达式 a b c 的结果是 A A B C D 表达式出错 24 设整型变量 i 值为 表达式 i i i 的结果是 C VS A B 12 C 15 D 表达式出错 25 设整型变量 i j 值均为 3 执行了 j i j i 后 i j 的值是 B 逗号运算优先级最低 A 3 3B 5 4C 4 5D 6 6 26 若已定义 x 和 y 为 double 类型 则表达式 x 1 y x 3 2 的值是 C A B C 2 0 D 2 5 27 sizeof double 的结果值是 A 编译环境 INT 4 SHORT 2 CHAR 1 A 8B 4C 2D 出错 28 表达式 1 0 3 2 10 1 0 的值是 B A 3B 2C 1D 0 29 设 a 1 b 2 c 3 d 4 则表达式 a b a c d a d 的结果为 D A 4 B 3 C 2 D 1 30 设 a 为整型变量 不能正确表达数学关系 if 10 a if a 1 a 10 结果的值是 B A 0B 11C 10D 出错 32 下列表达式中符合 语言语法的赋值表达式是 c A a 7 b c a 7 B a 7 b a 7 C a 7 b b a 7 D a 7 b c a 7 33 设 f 是实型变量 下列表达式中不是逗号表达式的是 d A f 3 2 1 0 B f 0 f0 D f 3 2 1 0 34 下列表达式中 不正确的表达式是 b A a 1 b 1B y int x C a b 5D i 35 若有以下定义 char a int b float c double d 则表达式 a b d c 值的类型是 d A float B int C char D double 36 int n float f 13 8 执行 n int f 3 后 n 的值是 a A 1B 4C 4 333333D 4 6 37 用十进制数表示表达式 12 012 的运算结果是 C A B C D 38 设有整型变量 a 35 表达式 a 后 k 的值是 0000 0000 0000 1011 1111 1111 1111 0101 0000 1101 1111 0110 A 06 B 0177776 C 066 D 0177765 46 设有无符号短整型变量 a 值为 331 计算表达式 a a 4 0 4 后 a 的值是 C 331 255 76 100 1111 A 0 B 15 C 4 D 017 二 填充题 1 在内存中存储 A 要占用 个字节 存储 A 要占用 个字节 2 C 语言中的逻辑值 真 是用 表示的 逻辑值 假 是用 表示 逻 辑表达式值为 真 是用 表示的 逻辑表达式值为 假 是用 表示的 3 符号常量的定义方法是 4 说明变量时 若省略存储类型符 系统默认其为 存储类别 该存储类别的类 型符为 5 无符号基本整型的数据类型符为 双精度实型数据类型符为 字符 型数据类型符为 6 定义变量的完整语句格式是 7 变量的作用域主要取决于变量 变量的生存期 既取决于变量 又取决于变量 8 从变量的存储类型来说 变量不允许初始化 变量 变 量和 变量可以初始 化 其中变量如果不

温馨提示

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

评论

0/150

提交评论