第1次作业一、单项选择题(本大题共40分,共 20 小题,每小题 2 分)1. #inlucde 是一条(?? )。A. 文件包含预处理命令B. 宏定义预处理语句C. 条件编译预处理命令D. C语句2. C程序中,主函数可以有(? )。A.
0个
B.
1个
C.
2个
D.
3个
3. 在由多个函数组成的C程序中,函数排列顺序上主函数(? )。A.
必须在第一个位置
B. 必须在最后一个位置C. 可以在任意位置D. 可以在第一个位置4. C语言中要求被操作数必须是整型或字符型数据的运算符是(?? )。A. !B. &&C. ||D. &5. 若一个C程序仅由一个函数构成,那么这个函数(? )。A. 只能是主函数mainB. 可以是主函数mainC. 只能是主函数MainD. 可以是主函数Main6.
下面所列选项中,合法的用户标识符是(? )。
A.
if
B.
switch
C.
finename
D.
int
7.
在C程序中,实型常数10-5的指数书写形式是(? )。
A.
10^-5
B.
10E-5
C.
1E-5
D.
E-5
8.
C程序中,数据的两种表现形式是(? )。
A.
常量和变量
B.
常量和矢量
C.
变量和矢量
D.
矢量和标量
9. 设有C语句:double x,*p1=&x,**p2=&p1;,那么与变量x等价的是(? )。A. p2B. *p2C. **p2D. &p210. 下面关于结构体指针变量的描述中,正确的是(? )。A. 定义一个结构体类型指针变量,可以用于存放同类型结构体变量在内存中的起始地址B. 定义一个结构体类型指针变量,可以存放同一程序中任意结构体类型变量地址C. 在函数的形式参数表中,不能有结构体类型指针变量作为形式参数D. 表示结构体变量的地址时,不需要使用取地址运算符,而是用结构体变量名直接表示11.
计算机处理高级语言书写的程序时,通常使用(? )。
A.
解释或编译两种方式
B.
直接运行方式
C.
分步运行方式
D.
解释和编译两种方式
12. 下面程序执行后的输出结果是(? )。 #include int main() { int a=30,b=60; a^=12345; b^=54321; a^=12345; b^=54321; printf("a=%d,b=%d\n",a,b); return 0; } A. a=30,b=30B. a=60,b=60C. a=60,b=30D. a=30,b=6013. 关于语句:int (*ptr)();,以下说法错误的是(?? )。A. ptr是指向函数的指针B. ptr可以指向定义为类似int a()的函数C. ptr是一个函数名,该函数返回值是指向整型数据的指针D. ptr是C语言的标识符合,命名要符合C语言的规定14. 下面关于结构体变量的描述中,错误的是(? )。A. 结构体变量也遵循先定义、后使用的原则B. 结构体变量可以初始化C. 结构体变量不能作为整体实现数据的输入D. 结构体变量虽然不能整体输入,但可以整体实现数据输出15. 下面关于某结构体类型一级指针变量和数组关系的描述中,正确的是(? )。A. 指针变量不仅能够指向数组元素,也能够指向数组B. 指针变量仅能够指向数组元素,但不能指向数组C. 指针变量不能指向数组元素,但可以指向数组D. 指针变量既不能指向数组元素,也不能指向数组16. 下面关于带参数宏的叙述中,错误的是(? )。A. 宏也有默认的作用域:从其定义处开始到所在源文件结束为止B. 带参数宏中的参数不需要指定数据类型C. 为避免歧义,替换用字符串中的形参最好用括号括起来D. 宏调用与函数调用都有调用时系统开销17. 下面关于一维动态数组特点的描述中,错误的是(? )。A. 动态一维数组使用完成后应该用free函数释放B. 动态一维数组也可以进行初始化C. 创建动态一维数组时,长度最好使用sizeof运算符进行计算D. 动态一维数组就是程序运行过程中分配空间构造的线性空间18. 下面关于条件编译预处理#if系列命令的叙述中,正确的是(? )。A. 使用#if系列预处理命令,可以在程序执行时对流程进行控制B. 在使用#if系列预处理命令时,#if必须和#endif配合使用C. 使用#if系列预处理命令,可以在编译时对处理代码进行选择D. 使用#if系列预处理命令,只能在编译时进行二者择一的选择19.