大学MOOC 信息技术及C程序设计(徐州工程学院)1003539016 最新慕课完整章节测试答案
第五周---数组
数组章节单元测验
1、单选题:
#include <stdio.h>main(){ int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2) { case 0: switch(a[i]%2) { case 0: a[i]++; break; case 1: a[i]--; } break; case 1: a[i]=0; } for(i=0;i<4;i++) printf("%d",a[i]); printf("n");}
选项:
A: 3344
B: 2050
C: 3040
D: 0304
答案: 【 3040】
2、单选题:
下列说法中错误的是( )
选项:
A: 数组的名称其实是数组在内存中的首地址
B: 一个数组只允许存储同种类型的变量
C: 如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值
D: 当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改答案:
答案: 【 如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值】
3、单选题:
对以下说明语句 int a[10]={6,7,8,9,10};的正确理解是( )。
选项:
A: 将5个初值依次赋给a[1]至a[5]
B: 将5个初值依次赋给a[6]至a[10]
C: 因为数组长度与初值的个数不相同,所以此语句不正确
D: 将5个初值依次赋给a[0]至a[4]
答案: 【 将5个初值依次赋给a[0]至a[4]】
4、单选题:
以下程序段给数组所有元素输入数据,应在下划线处填入的是( )main(){ int a[10], i = 0; while(i < 10) scanf(“%d”, ); …}
选项:
A: &a[i+1]
B: a+i
C: &a[i++]
D: a+(i++)
答案: 【 &a[i++]】
5、单选题:
以下程序段的输出结果为( )。char c[]="abc"; int i=0; do ;while(c[i++]!='');printf("%d",i-1);
选项:
A: abc
B: 3
C: ab
D: 2
答案: 【 3】
6、单选题:
若使用一维数组名作函数实参,则以下正确的说法是( )。
选项:
A: 必须在主调函数中说明此数组的大小
B: 实参数组类型与形参数组类型可以不匹配
C: 实参数组名与形参数组名必须一致
D: 在被调用函数中,不需要考虑形参数组的大小
答案: 【 必须在主调函数中说明此数组的大小】
7、单选题:
若有说明:int a[10];则对a数组元素的正确引用是( )。
选项:
A: a[10]
B: a[10-10]
C: a(5)
D: a[3,5]
答案: 【 a[10-10]】
8、单选题:
若输入ab,程序运行结果为( )。main() { static char a[3]; scanf("%s",a); printf("%c,%c",a[1],a[2]); }
选项:
A: b
B: a,b
C: 程序出错
D: a,
答案: 【 b】
9、单选题:
若有定义语句:char c[5]={‘a’,’b’,’’,’c’,’’};,则执行语句pritnf("%s", c);的结果是( )
选项:
A: ab c
B: abc
C: ‘a’’b’
D: ab
答案: 【 ab】
10、单选题:
以下程序的输出结果是( )main(){ int n[2] ={0}, i, j, k = 2; for(i = 0; i < k; i++)&
