第六章 数组
单选题
在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A. 整型常量
B. 整型常量或整型表达式
C. 整型表达式
D. 任何类型的表达式
在32位计算机系统中,一个int型变量占4个字节的存储单元,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数为( )。 
A. 3
B. 6
C. 12
D. 40
以下对一维整型数组a的正确说明是( )。
A. int a(10);
B. int n=10,a[n];
C. int n; scanf("%d",&n); int a[n];
D. #define SIZE 10    int a[SIZE];
下列定义数组正确的是( )
A. int a[ ]={1,2,3,4,5};
B. int b[1]={2,5};
C. int a(10);
D. int 4e[4];
假设array是一个有10个元素的整型数组,则下列写法中正确的是( )。
A. array[0]=10
B. array=0
C. array[10]=0
D. array[-1]=0
若有以下定义:  <br/>
        int  a[5]={ 5, 4, 3, 2, 1 } ;<br/>
        char  b= 'a', c, d, e;<br/>
则下面表达式中数值为2的是( )。
A. a[3]
B. a[d–b]
C. a[4]
D. a[c-b]
若有二维数组a[m][n],则数组中a[i][j]之前的元素个数为( )。
A. j*m+i
B. i*n+j
C. i*m+j+1
D. i*n+j+1
int  a[3][3]={1,2,3,4,5,6,7,8,9},i;则下列语句的输出结果是( )。<br/>
for (i=0;i<=2;i++) <br/> 
printf("%d  ",a[i][2-i]);
A. 3  5  7
B. 3  6  9
C. 1  5  9
D. 1  4  7
以下能正确定义数组并正确赋初值的语句是( )
A. int N=5,b[N][N];
B. int a[1][2]={{1},{3}};
C. int c[2][]= {{1,2},{3,4}};
D. int d[3][2]={{1,2},{3,4}};
以下不能对二维数组a进行正确初始化的语句是( )
A. int  a[2][3] = {0};
B. int  a[ ][3]={{1,2},{0}};
C. int  a[2][3]={{1,2},{3,4},{5,6}};
D. int  a[ ][3]={1,2,3,4,5,6};
以下能对二维数组a进行正确说明和初始化的语句是( )
A. int  a( )(3)={ ( 1, 0, 1 ), ( 2, 4, 5 ) };
B. int  a[2][ ]={ { 3, 2, 1 }, { 5, 6, 7 } };
C. int  a[ ][3]={ { 3, 2, 1 }, { 5, 6, 7 } };
D. int  a(2)( )={ ( 1, 0, 1 ), ( 2, 4, 5 ) };
int  a[3][4] = {0};则下面叙述的正确是( )。
A. 只有元素a[0][0]可以得到初值0
B. 此说明语句不正确
C. 数组a中每个元素均可得到初值0
D. 数组a每个元素均可得到初值,但值不一定为0
设有char str[10],下列语句正确的是( )。
A. scanf("%s",&str);
B. printf("%c",str);
C. printf("%s",str[0]);
D. printf("%s",str);
下面程序的运行结果是( )。 <br/>
char  c[5]={'a','b','\0','c','\0'}; <br/>
printf("%s",c); 
A. a''b'
B. ab\0c\0
C. ab c
D. ab
若给出以下定义 <br/>
  char x[]="abcdefg"; <br/>
  char y[]={'a','b','c','d','e','f','g'}; <br/>
  则正确的叙述为( )。
A. 数组x和数组y等价
B. 数组x和数组y的长度相同
C. 数组x的长度大于数组y的长度
D. 数组y的长度大于数组x的长度
设已定义char s[]="\"Name\\Address\"\n";,则字符串s所占的字节数是( )。
A. 19
B. 18
C. 15
D. 16
判断字符串a和b是否相等,应当使用( )。
A. if (a= =b)
B. if (a=b)
C. if (strcpy(a,b))
D. if(strcmp(a,b))
有字符数组a[8]和b[10],则正确的输出语句是( )。
A. puts (a,b);
B. puts(a),puts(b);
C. putchar(a); putchar(b);
D. printf("%s,%s",a[8],b[10]);
以下不能正确把字符串program赋给数组的语句是( )
A. char  a[ ]={'p','r','o','g','r','a','m' ,'\0'};
B. char  a[10]; strcpy(a, "program");
C. char  a[10]; a="program";
D. char  a[10]={ "program"};
设有两字符串"Beijing"、"China"分别存放在字符数组str1[10],str2[10]中,下面语句中能把"China"连接到"Beijing"之后的为( )。
A. strcpy(str1,str2);
B. strcpy(str1,"China");
C. strcat(str1,"China");
D. strcat("Beijing",str2);
填空题
1. 数组中的每一个元素具有相同的___。
2. 数组名命名规则和变量名相同,遵循___命名规则。
3. 定义一维数组的格式为"类型说明符 数组名[常量表达式]",其中常量表达式表示数组的长度,可以包括___和符号常量。
4. 定义一维数组时,如果对数组元素全部赋初值,则数组的长度___。
5. 给数组赋值的时候可以只给一部分元素赋值,其他元素的值为___。
6. 引用数组全部元素可以通过___数组元素来实现。
7. C语言规定二维数组的元素是___存放。
8. 定义二维数组时,如果同时对数组元素全部赋初值,则数组___长度可以省略。
9. 对数组a[m][n]来说,使用数组的某个元素时,行下标最大值是___。
10. C语言中字符串输出函数是___。
判断题
1. 数组中的每一个元素占有大小相同的内存空间,可以作为单个变量使用。
2. 定义一维数组的格式为"类型说明符 数组名[常量表达式]",其中常量表达式表示数组的长度,可以包括整型常量和浮点型常量。
3. 定义一维数组的格式为"类型说明符 数组名[表达式]",其中表达式表示数组的长度,可以是变量。
4. 对全部数组元素赋初值时,可以不指定数组长度。
5. 在C语言中不能整体引用数值数组。
6. 定义二维数组时,如果同时对数组元素全部赋初值,则数组长度可以省略。
scanf输入整型数组
7. C语言中没有提供字符串变量,对字符串的处理常常采用字符数组实现。
8. 对数组a[m][n]来说,使用数组的某个元素时,列下标最大值是n。
9. C语言规定二维数组的元素是按列存放。
10. 定义并初始化一维数组时,必须写出数组的长度。
编程题
1. 已知一个整形数组{3,7,8,9,10,4,5},求该数组中所有值为偶数的元素的和。
2. 已知一个整形数组{5,7,11,9,8,4,6},求该数组中所有值为奇数的元素的和。
3. 从键盘输入8个整数并保存到数组,输出8个整数中的最大值及其下标。
4. 从键盘输入10个浮点数并保存到数组,输出10个浮点数中的最小值及其下标。
5. 编程从键盘输入一行字符串,统计其中英文字符、数字、空格和其他字符的个数。
单选题
BDDAA
ABADC
CCDDC
CDBCC
填空题
11. 数据类型
12. 标识符
13. 整型常量
14. 省略
15. 默认值
16. 逐个引用
17. 按行
18. 第一维
19. m-1
20. puts()
判断题
11. 正确
12. 错误
13. 错误
14. 正确
15. 正确
16. 错误
17. 正确
18. 错误
19. 错误
20. 错误

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。