设已定义:float a[15]; 则数组a可引用的元素有().
A) a[1]~a[15]
B) a[0]~a[15]
C) a[1]~a[14]
D) a[0]~a[14]
以下程序段给数组所有元素输入数据:
main()
{int a[10],i=0;
while(i<10) scanf("%d",());
... ...
}
应在园括号中填入的是:
A) a+(i++)
B) &a[i+1]
C) a+i
D) &a[++i]
若有以下定义:double w[100]; 则数组w的元素下标范围是().
A) [0,100]
B) [0,99]
C) [1,100]
D) [1,99]
若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10};char c='a'; 则数值为4的表达式是().
A) a['f'-c]
B) a[4]
C) a['d'-'c']
D) a['d'-c]
已知int类型变量在内存中占用2个字节,定义数组int b[8]={2,3,4};则数组b在内存中所占字节数为().
A) 3 B) 6 C) 8 D) 16
用数组名作为函数调用时的实参,实际上传送给形参的是().
A) 数组首地址B) 数组的第一个元素值
C) 数组中全部元素的值D) 数组元素的个数
若定义数组int a[10] ,其数组元素的下标下限为().
A)1
B)0
C)9
D)10
若定义数组int a[10],以下语句哪一个不成立()?
A)a 数组在内存中占有一连续的存储区
B)a代表a数组在内存中占有的存储区的首地址
C)*(a+1)与a[1]代表的数组元素相同
D)a是一个变量
若定义数组并初始化int a[10]={ 1,2,3,4},那么在中以下语句哪一个成立()?
A)若引用a[10],编译时报错
B)若引用a[10],连接时报错
C)若引用a[10],运行时出错
D)若引用a[10],系统不报错
若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立()?
A)a[10]是a数组的最后一个元素的引用
B)a数组中有10个元素
C)a数组中每个元素都为整数
D)a数组是整型数组
执行下面的程序段后,变量k中的值为().
int k=3,s[2];
s[0]=k;k=s[1]*10;
A)不定值B)33C)30D)10
如已有定义:int a[4];若要把10,20,30,40分别赋值给数组a的4个元素,下面正确的赋值方式是().
A)scanf("%d%d%d%d",a[0],a[1],a[2],a[3]};
B)scanf("%s",a);
C)a={10,20,30,40};
D)a[0]=10;a[1]=a[0]+10;a[2]=a[1]+10;a[3]=a[2]+10;
下列数组定义正确的是().
A) int a[];
B) char a[100]={68,69,70};
C) int n=100,a[n];
D) char n=4,a[n]={"abc"};
一维数组初始化时,若对部分数组元素赋初值,则下面正确的说法是().
A)可以只对数组的前几个元素赋初值
B)可以只对数组的中间几个元素赋初值
C)可以只对数组的后几个元素赋初值
D)以上说法全部正确
决定数组所占内存单元多少的是().
A)数组的长度B)数组的类型 C)数组在初始化时被赋值的元素的个数D) 数组元素的个数及其类型
以下程序的输出结果是().
main()
{int i , a[10]};
for (i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A)258B)741C)852D)369
设有程序段:
#define N 3
#define M N+2
float a[M][N];
则数组a的元素个数和最后一个元素分别为().
A) 15,a[5][3]B) 15,a[3][5]C) 8,a[4][2]D) 15,a[4][2]
设有:int x[2][4]={1,2,3,4,5,6,7,8};printf("%d",x[2][4]); 则输出结果是().
A) 8B) 1C) 随机数D) 语法检查出错
以下程序的输出结果是().
main()
{int i,a[3][3]={ 1,2,3,4,5,6,7,8,9 };
for(i=0;i<3;i++)printf("%d,",a[i][2-i] );
}
A) 1,5,9 B) 1,4,7 C) 3,5,7 D) 3,6,9
以下数组定义中正确的是().
A) float f[3,4];B) int a[ ][4];
C) char c(3);D) double d[3+2][4];
指出以下错误语句().
A)int a[2][3]= { {1,2,3},{4,5,6}};
B)int b[2][3]= {1,2,3,4,5,6};
C)int a[][]={ {1,2,3},{4,5,6}};
D)int a[][3]= { {1,2,3},{4,5,6}};
若定义数组并初始化int b[][3]={ {1,2,3},{4,5,6}};以下语句哪一个成立()?
A)b[1][2]的值为1
B)b[1][2]的值为4
C)b[1][2]的值为6
D)b[1][2]的值为2
若定义数组并初始化int b[][3]={ {1,2,3},{4,5,6}};以下语句哪一个成立()?
A)b[1][2]的值为1
B)b[1][2]的值为4
C)b[1][2]的值为6
D)b[1][2]的值为2
若定义数组并初始化int a[2][3]={ {1,2,3},{4,5,6}},b[2][3]={ 1,2,3,4,5,6};
以下语句哪一个不成立()?
A)a和b数组中各有6个元素
B)b数组的初始化是错误的
C)a数组与b数组中每个对应元素相等
D)a、b数组都是整型数组
合法的数组初始化是().
A)int x[][]={ {1,2,3},{4,5,6}};
B)int x[][3]={1,2,3,4,5};
C)int x[3][3]={1,2,3;4,5,6;7,8,9};
D)int x[3][3]={1,2,3};
在对二维数组初始化时,错误的说法是().
A)可对二维数组的全部元素赋初值
B)可对二维数组的部分元素赋初值
C)给二维数组的全部元素赋初值时,可以不指定第一维的长度但第二维的长度不能省略
D)给二维数组的全部元素赋初值时,可以不指定第二维的长度但第一维的长度不能省略
以下程序的输出结果是().
main()
{int a[4][4]={ {1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
A)0650B)1470C) 5430D)输出值不确定
在内存中,二维数组存放的顺序是().
A)按行顺序B)按列顺序 C)按元素的大小D)按元素被赋值的先后顺序
设定义了:char a[10]={'1','2','3','4','5'}; 则a[5]的正确初值是().
A) '5'B) 5C) '\0'D) ' '
设有:char a[10]; 下列语句那个是正确的()?
A) scanf("%c",a[0]);
B) scanf("%c",a);
C) printf("%c",a)
D) printf("%c",a[0])
设有定义:char a[][5]={ {'*'},{'*',' ','*'},{'*',' ',' ',' ','*'},{'*',' ','*'},{'*'}};
则a[0][0]和a[4][4]的初值分别为().
A) *,*
B) 空格,空格
C) 空白符,*
D) *,空白符
设有:char a[]={"I am a student."}; 则a在内存中占用的字节数是().
A) 15B) 12C) 16D) 32
给出以下定义:char u[ ]="abcdef";char v[ ]={'a','b','c','d','e','f'};则下列正确的描述为().
A) 数组u和数组v等价
B) 数组u和数组v的长度相等
C) 数组u的长度大于数组v的长度
D) 数组u的长度小于数组v的长度
若有以下定义和语句,则输出结果是().
char string[ ]="Sunny";
printf("%.3s",string);
A) Su B) Sun C) Sunn D) Sunny
C语言中实现字符串输入的库函数是().
A) gets(字符数组)B) puts(字符数组)
C) strlen (字符串)D) strcmp(字符串1,字符串2)
若定义数组并初始化char a[]={"hello"},该数组的元素个数是().
A)不知道
B)5
C)6
D)7
若定义数组并初始化char a[10]={"hello"},该数组的元素中’\0’的个数是().
A)10
B)5
C)6
若定义数组并初始化char a[10]={"hello"},该数组的元素中 a[5]是().
A)'h'
B)'o'
C)'\0'
D)'l'
若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'},指出以下错误语句():
A)可以用scanf("%s",a[0]);语句对a[0]元素重新赋值。
B)可以用scanf("%s",&a);语句对a数组重新赋值。
C)可以用scanf("%c",a[3]);语句对a[3]元素重新赋值。
D)可以用scanf("%s",a);语句对a数组重新赋值。
数组初始化时,下面说法错误的是().
A)当对一维数组的全部元素赋初值时,可以不指定长度
B)当对二维数组的全部元素赋初值时,可以省略维数
C)用字符串对一维字符数组赋值时,可以不指定长度
D)用字符串对二维字符数组赋值时,可以省略维数
可以用如下的语句定义数组a:int n=10,a[n];
设已定义:int a[15]={1,2,3,4,5};则语句 printf("%d",a[5]); 的输出结果是5。
数组中的所有元素必须属于同一种数据类型。
数组名表示的是该数组元素在内存中的首地址。
C语言只能单个引用数组元素,中多次提到,不能一次引用整个数组。
定义数组:int a[10]; 则数组a的最后一个元素是a[9],数组 a共有9个元素。
C语言中数组元素用数组名后带圆括弧的下标表示。
C语言中数组所占存储单元的多少仅由数组的长度决定。
定义一维数组int a[10];则语句for(i=0;i<10;i++) scanf("%d",a[i]);是正确的。
给二维数组的全部元素赋初值,可以用如下的语句实现:int a[][]={ {1,2,3},{4,5,6},{7,8,9}};