Skip to content

Latest commit

 

History

History
71 lines (70 loc) · 4.13 KB

File metadata and controls

71 lines (70 loc) · 4.13 KB

复习题1.8

  1. 源文件与目标文件的区别是什么?
    • 源文件是文本文件,目标文件是二进制文件,目标文件是由源文件编译而来,目标文件和其它目标文件链接后,形成可执行文件。
  2. 在C程序中,使用哪些字符串进行注释?
    • /**/ 和 //。
  3. 在#include 代码行中,头文件的名称可以使用尖括号包括,也可以使用双引号,它们的区别是什么?
    • 尖括号表示引用系统库,双引号表示引用用户的一般库。
  4. 如何定义一个名为CentimeterPerInch、值为2.54的常量
    • #define CentimeterPerInch 2.54
  5. 在每一个C程序中,必须定义的函数是什么?
    • main函数,它是程序的入口。
  6. 在printf函数的参数中,使用"\n"的目的是什么?
    • 打印换行
  7. 声明一个变量需要考虑哪四个方面?
    • 变量名
    • 类型
    • 生命周期
    • 作用域
  8. 定义数据类型的两个属性是什么?
    • 数据的域 ==> 该值类型的集合。
    • 域的操作集 ==> 该类型可以发生的行为。
  9. short、int、long类型的区别是什么?
    • 类型的容量不一定相同,但是也没规定一定不同,只是规定了三者之间的相对大小关系。
  10. ASCII的缩写含义是什么?
    • 美国标准信息交换码(American Standard Code for Information Interchange),其用规定的数字表示相印字符
  11. 列出bool类型的所有可能值
    • True, False
  12. 在程序中需要从用户读入一个值,存储在声明为double类型的变量x中,需要哪些语句?
    • printf("Enter a double value"); double x = GetDouble();
  13. 指出下列表达式的值和类型
    • 2 + 3 => int 5
    • 3 * 6.0 => double 18.0
    • 19 / 5 => int 3
    • 19 % 5 => int 4
    • 19.0 / 5 => double 3.6
    • 2 % 7 => int 2
  14. 单目运算符负号和减号运算符的区别是什么?
    • 优先级不同,结合性不同,操作数不同(单目运算符优先级高于减号、且是右结合、只需要一个操作数;减号左结合、需要两个操作数)
  15. 术语“截取”是什么意思?
    • 截取是指运算结果丢弃小数部分,信息丢失,一般发生在int相除,强制类型转换等地方。
  16. 如何使用简化赋值符?
    • 例 ret = ret + x; => ret += x;
  17. 表达式++x和x++的区别是什么?
    • 两个表达式都以x的值作为整个表达式的值,区别在于前置++在x自增之后取值,后置++在x取值之后再自增
  18. 术语“捷径计算”是什么意思?
    • 捷径计算是指在复合布尔运算中,在自左向右进行单个表达式的真值时,如果能够得到整个表达式的值,则立即停止后面的表达式计算。
  19. 用自然语言描述switch语句的操作
    • 首先进行控制表达式的值计算;
    • 根据控制表达式的值进行case匹配,匹配成功,执行对应case子句,匹配失败,执行default子句;
    • 如没有对应case,也没有指定default,则程序什么都不做,switch执行结束。
    • 注意,如果case中没有指定break,则程序在执行对应case后,执行下一个case
  20. 什么是检测值?
    • 是用户需要的某个特定的值,一般循环达到这个条件,程序就去做其它的事。
  21. 什么是函数原型?
    • resultType functionName(parameterTypeList);
  22. 用自己的语言描述C中调用函数时将发生什么。
    • 函数计算其参数的值;
    • 系统分配被调用函数的形参和局部变量的空间,这些变量通常在栈帧中;
    • 将实参的值按顺序复制给形参变量,如有必要,进行类型转换;
    • 直到return语句,函数体执行完成;
    • 如果有返回值,则计算,并返回该值,同样可能进行类型转换;
    • 撤销函数栈帧,销毁这之中用到的局部变量;
    • 以函数返回值替代调用函数的位置,继续执行程序。
  23. 术语“逐步求精”的含义是什么?
    • 把大问题分解为小问题,先勾画出程序的主要功能轮廓,再一步步地分解功能,直到用独立地函数完成定义。