c语言数组问题

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 & ltstdio.h & gt

void main()

123 abcdefg * & amp;;

int j;长s = 0;

卖出(ch);

for(j = 0;ch[j]& gt;'\0';j++)

if(ch[j]& gt;= ' a ' & amp& ampch[j]& lt;= ' z ')ch[j]= ch[j]-' B '+' B ';

卖出(ch);

}

这个程序的功能是_ _ _ _ _ _。

c)将字符数组ch中的小写字母转换成大写字母。

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

3.请阅读程序片段(字符串中没有空格字符):

printf("%d\n ",strlen(" ATS \ n 012 \ 1 \ \ ");

上述程序片段的输出结果是_ _ _ _ _ _ _ _ _。

B) 10

\n和\ \只能算作一个字符。

4.当执行以下程序并输入ABC时,输出结果是_ _ _ _ _ _ _ _ _。

# include & ltstdio.h & gt

# include & ltstring.h & gt

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语言中,只有最左边数组的长度可以不定义,长度必须从多维数组的第二位开始定义。

6.下列对阵列的描述是_ _ _ _ _ _ _ _。

c)数组的大小是固定的,所有数组元素必须是同一类型。

c语言数组大小是固定的。然而,C99标准允许定义可变长度数组。

7.下列程序的输出是_ _ _ _ _ _ _ _ _。(设a[0][0]是数组A中的第1个元素)

# include & ltstdio.h & gt

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;我& lt4;i++)

{ for(j = 0;j & lt5;j++)

if(a[I][j]= = n){ I 1 = I;j 1 = j;}

}

printf("%d是a的第%d号\n ",n,I 1 * 5+j 1+1);

}

b)数组a中n的最后一个位置。

因为下标比位置小1,又因为第一次检查N后没有跳出循环,所以会再次把值赋给i1 j1,直到N不再出现。

8.下面的程序统计了三个学生四门课的考试成绩,要求输出每个学生的平均分和三个学生的总分。正确的说法是_ _ _ _ _ _。

# include & ltstdio.h & gt

void main()

{ int stu[3][4],I,j,t[3];

浮点求和=0,a[3];

for(I = 0;我& lt3;i++)

for(j = 0;j & lt4;j++) scanf("%d ",& ampstu[I][j]);

for(I = 0;我& lt3;i++)

{ t[I]= 0;a[I]= 0;

for(j = 0;j & lt=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 & ltstdio.h & gt

void main()

{ int i,j=10,a[ ]={1,3,5,7,9,11,13,15 };

对于(_ _ _ _ _ _ _ _ _ _ _ _ _)

j+= a[I];

printf("%d\n ",j);

}

c)I = 5;我& gt=1;[构成来自拉丁语、结尾为-us的名词的复数]

在这里,我和我其实是一样的。