作业帮 > 综合 > 作业

几道C语言数组的选择题.,一题一分

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/05 12:41:18
几道C语言数组的选择题.,一题一分
1.若有以下语句,则下面【 】是正确的描述.
charx[ ]= “12345”;chary[ ]= {‘1’,’2’,’3’,’4’,’5’};
(A) x 数组和 y 数组的长度相同
(B) x 数组长度大于 y 数组长度
(C) x 数组长度小于 y 数组长度
(D) x 数组等价于 y 数组
2.为了判断两个字符串 s1 和 s2 是否相等,应当使用【 】.
(A) if( s1==s2)
(B) if( s1=s2)
(C) if( strcpy(s1,s2))
(D) if( strcmp(s1,s2)==0)
3.以下程序段的输出是【 】.
char a[ ]= “-12345”;
int k=0,symbol,m;
if( a[k]== ‘+’ || a[k]== ‘-‘)symbol=(a[k++]== ‘+’)?1:-1;
for( m=0; a[k]>= ‘0’ && a[k]s2 )
(B) if( strcmp(s1,s2))
(C) if(strcmp(s2,s1)>0)
(D) if(strcmp(s1,s2)>0)
11.若二维数组 a 有 m 列,则计算任一元素 a[i][j]在数组中位置的公式为【 】(假设 a[0][0]位于数组的第一个位置上).
(A) i*m+j
(B) j*m+i
(C) i*m+j-1
(D) i*m+j+1
12.有两个字符数组 a、b,则以下正确的输入语句是【 】.
(A) gets(a,b);
(B) scanf(“%s%s”,a,b);
(C) scanf(“%s%s”,&a,&b);
(D) gets(“a”),gets(“b”);
13.下面程序以每行 4 个数据的形式输出 a 数组,请填空.
#define N 20
main( )
{
int a[N],i;
for(i=0;i
1、B 这两种定义不同,因为x字符串后面有\0,多1个字节.
2、D 字符串只能这么比较
3、A 该程序就是将字符串转变为整型
4、B 选项D不行,必须在语句前申明变量
5、B
6、C 只能省略第一个值
7、C
8、B 只能省略第一个值
9、C 注意数组边界,a[4]是0~3,没有4.
10、D
11、D 举几个特例
12、B scanf输入字符串是不用加&的(和变量不同),gets()只能有一个参数,即gets(a);
13、【1】a[i]【2】i % 4 == 0【3】printf("\n");