若有说明:int a[3][4];则对a数组元素的非法引用是__ A) a[0][2*1] B) a[1][3] C)a[4-2][0] D)a[0][4]\*187 B
以下能对二维数组a进行正确初始化的语句是__。 A) int a[2][]={{1,0,1},{5,2,3}}; B) int a[][3」={{1,2,3},{4,5,6}}; C) int a [2][4]={{1,2,3},{4,5},{6}}; D) int a[][3={{1,0,1},{},{1,1}}; *188 C
以下不能对二维数组a进行正确初始化的语句是__。 A) int a[2][3]={0};
B) int a[][3」={{1,2,3},{4,5,6}}; C) int a[2][4]={{1,2,3},{4,5}{6}}; D) int a[][3]={{1,0,1},{},{1,1}}; *189 D
若有说明: int a[3]「4]={0};则下面正确的叙述是 A)只有元素a[0][0]可得到初值0 B)此说明语句不正确:。
C)数组a中各元素都可得到初值,但其值不一定为0。 D)数组a中每个元素均可得到初值0 \卜 ,b \, \*190 D
若有说明:int a[]「4]={0,0};则下面不正确的叙述是__。 A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1
C)因为二维数组0中第二维大小的值除以初值个数的商为1,故数组a行 数为1
D)只有元素a[0]「0」和a[0]「1」可得初值0,其余元素均得不到初值0 *191 B
若有说明:int a[3]「4];则数组a各元素 A)可在程序的运行阶段得到初值0 B)可在程序的编译阶段得到初值0 C)不能得到确定的初值
D)可在程序的编译或运行阶段得初值0 *19 C
以下各组选项中,均能正确定义二维实型数组a的选项是 A)float a[3][4]; B)float a(3,4); float a[][4]; float a[3][4];
float a[3][]={{1},{0}}; float a[][]={{0},{0}};
C)float a[3][4]; D)float a[3][4];
static float a[][4]={{0},{0}}; float a[3][]; auto float a[][4]={{0},{0},{0}}; float a[][4] *193 A
下面程序(每行程序前面的数字表示行号) 1 main() 2 {
3 int a[3]={3*0}; 4 int i;
5 for(i=0;i<3;i++) scanf(\6 for(i=1;i++) a[0]=a[0]+a[i] 7 printf(\A)没有错误B)第3行有错误
C)第5行有错误 D)第7行没有错误 *194 C
下面程序一一一(每行程序前面的数字表示行号)。 1 main() 2 {
3 float a[10]={0.0}; 4 int i
5 for(i=0;i<3;i++) scanf(\6 for(i=0;i<10;i++) a[0]=a[0]+a[i]; 7 printf(\8 }
A)没有错误 B)第3行有错误 C)第5行有错误 D)第7行有错误 *195 D
下面程序有错的行是 1 main() 2{
3 int a[3]={1}; 4 int i;
5 scanf(\
6 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 7 printf(\8 }
A)3 B)6 C)7 D)5 *196 D
下面程序(每行程序前面的数字表示行号) 1 main() 2 {
3 int a[3]={0};
4 int i;
5 for(i=0;i<3;i++)scanf(\6 for(i=1;i<4;i++)a[0]=a[0]+a[i]; 7 printf(\8 }
A)没有错误 B)第3行有错误 C)第5行有错误 D)第6行有错误 *197 D
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为 (假设a[0][0]位于数组的第一个位置上。) A)i*m+j B)j*p+i。C)i*m+j-1 D)i*m+j+1 *198 B
对以下说明语句的正确理解是 int a[10]={6,7,8,9,10};
A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4] C)将5个初值依次赋给a[6]至a[10]
D)因为数组长度与初值的个数不相同,所以此语句不正确 *199 B
以下不正确的定义语句是__.
A) double x[5]={2.0,4,0,6.0,8.0,10.0}; B) int y「5」={0,1,3,5,7,9};
C) char c1[]={’1’,’2’,’3’,’4’,’5’}; 4 。二入广 \\ \’ (: D) char c2[]=}{'\\x10','\\xa','\\x8'}; *200
若有说明:int a[」「3」={1,2,3,4,5,6,7};则a数组第一维的大小是__. A) 2 B) 3 C) 4 D)无确定值 *201 B
若二维数组a有m列,则在a[i][j]前的元素个数为__. A)j*m+j B)i*m+j C)i*m+j D)i*m+j+1 *202 A
定义如下变量和数组: int k;
int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是 。\
for(k=0;k<3;k++) printf (\A) 3 5 7B)3 6 9 C) 1 5 9 D) 1 4 7 *203 B
若有以下程序段: ......
int a[]={4,0,2,3,1};i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1;
while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} ......
则该程序段的功能是 __.
A)对数组a进行插入排序(升序) B)对数组a进行插入排序(降序) C)对数组a进行选择排序(升序) D)对数组a进行选择排序(降序) *204 D
以下正确的定义语句是__.
A) int a[1」[4」={1,2,3,4,5}; B) float x[3][]={{1},{2},{3}};
C) long b[2][3]={{1},{1,2},{1,2,3}}; D) double y[][3]={0}; *205 C
下面程序的运行结果是__. main() {int a[6」「6」,i,j; for(i=1;i<6;i++) for(j=1;j<6,j++) a[i][j]=(i/j)*(j/i); for(i=1;i<6;i++) {for(j=1;j<6;j十十) printf(\printf(\}
A)11111 B)00001 C)10000 D)10001 11111 00010 01000 01010 11111 00100 00100 00100 11111 01000 00010 01010 11111 10000 00001 10001 *206 C
下面程序的运行结果是 __. main()
{int a[6],i;
for(i=1;i<6;i十十)
{a[i]=9*(i-2+4*(i>3))%5; printf(\} }
A)—40404B)—40403 C)一40443D)一40440 *207 D
下面是对s的初始化,其中不正确的是__.
A) char s[5」={\C) char s[5]=\*28 B
下面程序段的运行结果是 __.
char c[5]={'a','b','\\0','c','\\0'}; printf(\A)’a’’b’ B) ab C) ab c D) ab (其中 表示空格) *209 D
对两个数组a和6进行如下初始化 char a[]=\
char b[]={’A’,’B’,’C’,’D’,’E’,’F’};卜 则以下叙述正确的是 __.
A) a与b数组完全相同 B) a与b长度相同
C) a和b中都存放字符串 D) a数组比b数组长度长 *210 B
有两个字符数组a、b,则以下正确的输入格式是 __. A) gets (a,b); B) scanf (\
C) scanf (\*11 D
有字符数组a[80]和b[80],则正确的输出形式是__. A) puts (a,b); B) printf (\C) putchar(a,b); D) puts (a), puts (b); *212 D
下面程序段的运行结果是__. char a[7]=\char b[4]=\strcpy(a,b);
printf (\J。 \了
A)一 B)\\O C) e D)f(其中一表示空格) *213 D
有下面的程序段
char a[3],b[]=\a=b;