C语言数组问题

1、 已知数组a的赋值情况如下所示,则执行语句a[2]++;后,a[1]和a[2]的值
分别是________。
a[0] a[1] a[2] a[3] a[4]
┌──┬──┬──┬──┬──┐
│ 10│ 20│ 30│ 40│ 50│
└──┴──┴──┴──┴──┘
A) 20和30 B) 20和31
C) 21和30 D) 21和31
2、 有如下程序
#include<stdio.h>
void main()
{ char ch[80]="123abcdEFG*&";
int j;long s=0;
puts(ch);
for(j=0;ch[j]>'\0';j++)
if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]-'b'+'B';
puts(ch);
}
该程序的功能是________。
A) 测字符数组ch的长度
B) 将数字字符串ch转换成十进制数
C) 将字符数组ch中的小写字母转换成大写
D) 将字符数组ch中的大写字母转换成小写
3、 请读程序片段(字符串内没有空格字符):
printf("%d\n",strlen("ATS\n012\1\\"));
上面程序片段的输出结果是________。
A) 11 B) 10
C) 9 D) 8

4、 当执行下面程序且输入:ABC时,输出的结果是________。
#include<stdio.h>
#include<string.h>
void main()
{ char ss[10]="12345";
strcat(ss,"6789");
gets(ss); printf("%s\n",ss);
}
A) ABC B) ABC9
C) 123456ABC D) ABC456789

5、 以下数组定义中不正确的是_____10125030240___。
A) int a[2][3];
B) int b[][3]={0,1,2,3};
C) int c[100][100]={0};
D) int a[3][]={{1,2},{1,2,3},{1,2,3,4}};
6、 以下关于数组的描述正确的是__________。
A) 数组的大小是固定的,但可以有不同类型的数组元素。
B) 数组的大小是可变的,但所有数组元素的类型必须相同。
C) 数组的大小是固定的,所有数组元素的类型必须相同。
D) 数组的大小是可变的,可以有不同类型的数组元素。
7、 以下程序的输出结果是________ 。(设a[0][0] 是数组a中的第1个元素)
#include <stdio.h>
void main( )
{int a[4][5]={1,2,3,4,5,-1,-2,-3,-4,-5,1,2,3,4,5};
int i,j,i1,j1,n;
n=-4;
for(i=0;i<4;i++)
{ for(j=0;j<5;j++)
if(a[i][j]==n) { i1=i;j1=j; }
}
printf("%d is No. %d of a\n", n,i1*5+j1+1);
}
A) n在数组a中第一次出现的位置
B) n在数组a中最后一次出现的位置
C) n在数组a中第一次出现的下标
D) n在数组a中最后一次出现的下标
8、 下面程序统计3个学生,每个学生4门课程的考试成绩,要求输出每个学生的平均成绩、3个学生的总成绩。正确的说法是________。
#include <stdio.h>
void main( )
{ int stu[3][4],i,j,t[3];
float sum=0,a[3];
for(i=0;i<3;i++)
for(j=0;j<4;j++) scanf("%d",&stu[i][j]);
for(i=0;i<3;i++)
{t[i]=0;a[i]=0;
for(j=0;j<=3;j++)
{sum+=stu[i][j];
t[i]+=stu[i][j];
printf("%-6d",stu[i][j]); }
a[i]=t[i]/3;
printf("%-6.2f\n",a[i]);
}
printf("sum = %f\n",sum);
}
A) 数组a的每个元素中存放的是每个学生的总成绩
B) 数组t的每个元素中存放的是每个学生的平均成绩
C) 从键盘上输入成绩的顺序是按课程输入
D) 从键盘上输入成绩的顺序是按学生输入
10、 若希望下面的程序运行后输出45,程序空白处的正确选择是________。
#include <stdio.h>
void main( )
{ int i,j=10,a[ ]={1,3,5,7,9,11,13,15};
for( ____________ )
j+=a[i];
printf("%d\n",j);
}
A) i=5;i>1;i-- B) i=0;i<7;++i
C) i=5;i>=1;--i D) i=2;i<6;++i

1、 已知数组a的赋值情况如下所示,则执行语句a[2]++;后,a[1]和a[2]的值
分别是________。
a[0] a[1] a[2] a[3] a[4]
┌──┬──┬──┬──┬──┐
│ 10│ 20│ 30│ 40│ 50│
└──┴──┴──┴──┴──┘
B) 20和31

题目是数值增加,不是指针增加

2、 有如下程序
#include<stdio.h>
void main()
{ char ch[80]="123abcdEFG*&";
int j;long s=0;
puts(ch);
for(j=0;ch[j]>'\0';j++)
if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]-'b'+'B';
puts(ch);
}
该程序的功能是________。
C) 将字符数组ch中的小写字母转换成大写

大写字母和小写字母之间的差距是一定的,即 -'b'+'B'和-'a'+'A'的结果都一样

3、 请读程序片段(字符串内没有空格字符):
printf("%d\n",strlen("ATS\n012\1\\"));
上面程序片段的输出结果是________。
B) 10

\n 和 \\ 都只能算一个字符

4、 当执行下面程序且输入:ABC时,输出的结果是________。
#include<stdio.h>
#include<string.h>
void main()
{ char ss[10]="12345";
strcat(ss,"6789");
gets(ss); printf("%s\n",ss);
}
A) ABC

因为ss的值被替换了

5、 以下数组定义中不正确的是_____10125030240___。

D) int a[3][]={{1,2},{1,2,3},{1,2,3,4}};

C语言只有最左边的数组的长度可以不定义,多维数组的第2位开始,都必须要定义长度。

6、 以下关于数组的描述正确的是__________。
C) 数组的大小是固定的,所有数组元素的类型必须相同。

C语言数组大小固定。但是C99标准里面允许定义变长数组。

7、 以下程序的输出结果是________ 。(设a[0][0] 是数组a中的第1个元素)
#include <stdio.h>
void main( )
{int a[4][5]={1,2,3,4,5,-1,-2,-3,-4,-5,1,2,3,4,5};
int i,j,i1,j1,n;
n=-4;
for(i=0;i<4;i++)
{ for(j=0;j<5;j++)
if(a[i][j]==n) { i1=i;j1=j; }
}
printf("%d is No. %d of a\n", n,i1*5+j1+1);
}
B) n在数组a中最后一次出现的位置

因为下标比位置小1,而且因为他没有在第一次检查到n以后跳出循环,那就会再次给i1 j1赋值,直到n不再出现。

8、 下面程序统计3个学生,每个学生4门课程的考试成绩,要求输出每个学生的平均成绩、3个学生的总成绩。正确的说法是________。
#include <stdio.h>
void main( )
{ int stu[3][4],i,j,t[3];
float sum=0,a[3];
for(i=0;i<3;i++)
for(j=0;j<4;j++) scanf("%d",&stu[i][j]);
for(i=0;i<3;i++)
{t[i]=0;a[i]=0;
for(j=0;j<=3;j++)
{sum+=stu[i][j];
t[i]+=stu[i][j];
printf("%-6d",stu[i][j]); }
a[i]=t[i]/3;
printf("%-6.2f\n",a[i]);
}
printf("sum = %f\n",sum);
}
D) 从键盘上输入成绩的顺序是按学生输入

因为j在内层循环

10、 若希望下面的程序运行后输出45,程序空白处的正确选择是________。
#include <stdio.h>
void main( )
{ int i,j=10,a[ ]={1,3,5,7,9,11,13,15};
for( ____________ )
j+=a[i];
printf("%d\n",j);
}
C) i=5;i>=1;--i
在这里,i--和--i 其实是一样的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-25
s这个是字符串,字符串在内存中是以ASCLL码的方式存储,所以,字符'0'在内存中值为48,所以和数字0不等。而字符'\0'在内存中才等于0,所以循环会在字符'\0'处停住,因为字符'\0'是等于数字0的。
第2个回答  2011-05-19
1.B
2.C
3.C
4.A
5.D
6.C
7.B
8.D
10.C本回答被提问者采纳
第3个回答  2011-05-19
1~5: BCCAD
6~10: CBDC
第4个回答  2011-05-19
1~5: BCCAD
6~10: CBDC
相似回答