第五周---数组

数组章节单元测验

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++)&

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注