17秋东北大学东大17春学期《高级语言程序设计基础》在线作业1
一、单选题(共 20 道试题,共 100 分。)
1. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是()。 A. 该变量只在该复合语句中有效 B. 该变量在该函数中有效 C. 该变量在本程序范围内有效 D. 该变量为非法变量 正确答案:
2. 若有说明:int a[10];则对数组元素的正确引用是()。 A. a[10] B. a[3,5] C. a(5) D. a[10-10] 正确答案:
3. 以下正确的描述是()。
A. 定义函数时,形参的类型说明可以放在函数体内 B. return后面的值不能为表达式
C. 如果函数值的类型与返回值类型不一致,以函数值类型为准 D. 如果实参与形参的类型不一致,以实参类型为准 正确答案:
4. 执行以下程序段后,y的值是()。 int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; } A. 1 B. 2 C. 4 D. 24
正确答案:
5. 以下正确的函数形式是()。
A. double fun1(int x, int y) { z=x+y; return z; } B. fun1(int x, y){ int z;return z; }
C. fun1(x, y) { int x, y; double z;z=x+y;return z; }
D. double fun1(int x, int y){ double z;z=x+y; return z; }\正确答案:
6. 以下正确的说法是()。
A. 实参和与其对应的形参各占用独立的存储单元 B. 实参和与其对应的形参共占用一个存储单元
C. 只有当实参和与其对应的形参同名时才共用存储单元
D. 形参是虚拟的,不占用存储单元 正确答案:
7. 以下程序段的执行结果是()。 int x=-3; do { printf(\x++); }while(!x); A. -3 B. -2 C. -1
D. 陷入死循环 正确答案:
8. 下面程序段的运行结果是()。 char str[10]=\A. output B. \C. \\\
D. 编译出错 正确答案: 9. 设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是()。(y=100; x!=y; ++x,y++) printf(\A. 循环体只执行一次 B. 是无限循环
C. 循环体一次都不执行 D. for语句中存在语法错误 正确答案:
10. 当定义一个结构体变量时系统分配给它的内存是()。 A. 结构中第一个成员所需的内存量 B. 结构中最后一个成员所需的内存量
C. 结构体成员中占内存量最大者所需的容量 D. 结构体中各成员所需内存量的总和 正确答案:
11. 以下能对一维数组a进行正确初始化的语句是()。 A. int a[10]=(0,0,0,0,0); B. int a[10]={ }; C. int a[]={0};
D. int a[10]={10*1}; 正确答案:
12. 有两个字符数组a、b,则以下正确的输入语句是()。 A. gets(a,b);
B. scanf(\C. scanf(\D. gets(\正确答案:
13. 若有说明:int a[3][4]={0};则下面正确的叙述是()。 A. 只有数组元素a[0][0]可得到初值0 B. 此说明语句不正确
C. 数组a中各元素都可得到初值,但其值不一定为0
for
D. 数组a中每个元素均可得到初值0 正确答案:
14. 下面程序的运行结果是()。 char a[7]=\char b[4]=\strcpy(a,b); printf(\A. 输出空格 B. \\0 C. e D. f
正确答案:
15. 设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是()。 A. p++; B. a--; C. b++; D. c--;
正确答案:
16. 若有说明:int a[3][4];则对a数组元素的正确引用是()。 A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1) 正确答案:
17. 若有说明:int a[3][4];则数组a中各元素()。 A. 可在程序的运行阶段得到初值0 B. 可在程序的编译阶段得到初值0 C. 不能得到确定的初值
D. 可在程序的编译或运行阶段得到初值0 正确答案:
18. 若有说明:int a[3][4];则数组a中各元素()。 A. 可在程序的运行阶段得到初值0 B. 可在程序的编译阶段得到初值0 C. 不能得到确定的初值
D. 可在程序的编译或运行阶段得到初值0 正确答案:
19. 若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是()。 A. i=x[1][1] B. i=*(*(x+1)) C. i=*(*(x+1)+1) D. i=*(x[1]+1) 正确答案:
20. 系统的标准输入文件是指()。 A. 键盘 B. 显示器 C. 软盘 D. 硬盘