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