c语言基础--数组

2026/4/26 5:17:33

项目三----数组

一.选择题

1.在C语言中,引用数组元素时,其数组下标的数据类型允许是( C )。

A、整型常量 B、整型表达式 C、整形常量或整形表达式 D、任何类型的表达式 2.若有定义:int a[10],则对数组a元素的正确引用是( D )。 A、a[10] B、a[3.5] C、a(5) D、a[10-10]

3.若有定义:int a[3][4],则对数组a元素的正确引用是( D ) 。 A、a[2][4] B、a[1,3] C、a(5) D、a[10-10]

4.以下能对二维数组a进行正确初始化的语句是( B ) 。

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}} ; 5.以下不能对二维数组a进行正确初始化的语句是( C ) 。

A、int a[2][3]={0} ; B、int a[][3]={{1,2},{0}} ; C、int a[2][3]={{1,2},{3,4},{5,6}} ; D、int a[][3]={1,2,3,4,5,6} ; 6.若有说明:int a[][4]={0,0};则下面不正确的叙述是 ( D )。 A、数组a的每个元素都可得到初值0 B、二维数组a的第一维大小为1

C、因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1 D、只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

7.若有说明:int a[][3]={1,2,3,4,5,6,7,8,9,10};则数组a第一维大小是( C ) 。 A、2 B、3 C、4 D、无确定值 8.下面程序段的输出结果是( A ) 。 int k,a[3][3]={1,2,3,4,5,6,7,8,9}; for (k=0;k<3;k++)

printf(“%d”,a[k][2-k]);

A、3 5 7 B、3 6 9 C、1 5 9 D、1 4 7

9.下面是对s的初始化,其中不正确的是( D ) 。

A、char s[5]={“abc”}; B、char s[5]={?a?,?b?,?c?}; C、char s[5]=” ”; D、char s[5]=”abcdef”; 10.下面程序段的输出结果是 ( B )。

char c[5]={?a?,?b?,?\\0?,?c?,?\\0?} printf(“%s”,c);

A、?a??b? B、ab C、ab c D、abc

11.有两个字符数组a,b,则以下正确的输入语句是( B ) 。

A、gets(a,b); B、scanf(“%s%s”,a,b); C、scanf(“%s%s”,&a,&b); D、gets(“a”),gets(“b”); 12.下面程序段的输出结果是( C ) 。 char a[7]=”abcdef”, b[4]=”ABC”; strcpy(a,b);

printf(“%c”,a[5]);

A、 B、\\0 C、e D、f 13.下面程序段的输出结果是( B )。 char c[ ]=”\\t\\v\\\\\\0will\\n”; printf(“%d”,strlen(c));

A、14 B、3 C、 9 D、6

14.判断字符串a和b是否相等,应当使用( D ) 。

A、if (a==b) B、if (a=b) C、if (strcpy(a,b)) D、 if (strcmp(a,b)) 15.判断字符串a是否大于b,应当使用( D )。

A、if (a>b) B、if (strcmp(a,b)) C、if (strcmp(b,A、>0) D、if (strcmp(a,b)>0)

16.下面叙述正确的是( C D ) 。

A、两个字符串所包含的字符个数相同时,才能比较字符串 B、字符个数多的字符串比字符个数少的字符串大 C、字符串”STOP ”与”STOP”相等 D、字符串”That”小于字符串”The”

17.下面有关字符数组的描述中错误的是( C ) 。

A、字符数组可以存放字符串 B、字符串可以整体输入,输出

C、可以在赋值语句中通过赋值运算对字符数组整体赋值 D、不可以用关系运算符对字符数组中的字符串进行比较 18.下面程序的输出结果是( A ) 。 #include void main ( ) {

char ch[7]=”12ab56”; int i,s=0;

for (i=0;ch[i]>?0?&&ch[i]<=?9?;i+=2) s=10*s+ch[i]-?0?;

printf(“%d\\n”,s); }

A、1 B、1256 C、12ab56 D、ab 19.下面程序的输出结果是( B ) 。 #include void main ( ) {

char str[ ]=”SSWLIA” , c; int k;

for (k=2;(c=str[k])!=?\\0?;k++) {

switch (c) {

case ?I? : ++k; break ; case ?L?: continue;

default : putchar(c) ; continue ; }

putchar(?*?);

} }

A、SW B、W* C、W*A D、W

二.填空题

1.在C语言中,二维数组的元素在内存中的存放顺序是 按行存放 。

2.若有定义:double x[3][5],则x数组中行下标的下限为 0 ,列下标的下限为 0 。

3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为 0 ,a[2][1]得到的值为 6 。 4.字符串”ab\\n\\\\012\\\\”的长度是 9 。 5.下面程序段的运行结果是 he 。 char x[ ]=”the teacher”;

int i=0;

while (x[++i]!=?\\0?)

if (x[i-1]==?t?) printf(“%c”,x[i]);

6.欲为字符串S1输入”Hello World!”,其语句是 gets(S1); 。

7.欲将字符串S1复制到字符串S2中,其语句是 strcpy(S2,S1); 。

8.如果在程序中调用了strcat函数,则需要预处理命令 #include 。如果调用了gets函数,则需要预处理命令 #include

9.C语言数组的下标总是从 0 开始,不可以为负数;构成数组各个元素具有相同的 数据类型 。

10.字符串是以 \\0 为结束标志的一维字符数组。有定义:char a[]=”abc”;则a数组的长度是 4 。

三.程序阅读题

1.写出下面程序的运行结果。 #include

void 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(“-”,a[i][j]) ; printf(“\\n”); } }

运行结果: 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0

0 0 0 0 1

2.写出下面程序的运行结果。 #include void main ( ) {

int i=0;

char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=?\\0? && b[i]!=?\\0?) {

if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; }

c[i]=?\\0?; puts(c); }

运行结果:

AQM

3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 #include

void main ( ) {

char s[80]; int i=0;

gets(s);

while (s[i]!=?\\0?)

{

if (s[i]<=?z? && s[i]>=?a?) s[i]=?z?+?a?-s[i] ;

i++; }

puts(s);

}

运行结果:

AzyD

4.写出下面程序的运行结果。 #include

void main ( ) {

int i,c;

char s[2][5]={“8980”,”9198”}; for (i=3; i>=0 ; i--)

{ c=s[0][i]+s[1][i]-2*?0?; s[0][i] = c % 10 + ?\\0? ; }

for (i=0; i<=1; i++) puts(s[i]); }

运行结果:

9198

5.当运行下面程序时,从键盘上输入7 4 8 9 1 5↙,则写出下面程序的运行结果。 #include void main ( ) {

int a[6],i,j,k,m;

for (i=0 ; i<6 ; i++) scanf (“%d”,&a[i]); for (i=5 ; i>=0; i--) {

k=a[5];

for (j=4; j>=0; j--) a[j+1]=a[j] ; a[0]=k;

for (m=0 ; m<6 ; m++)printf(“%d ”,a[m]); printf(“\\n”); } }

运行结果: 5 7 4 8 9 1 1 5 7 4 8 9 9 1 5 7 4 8 8 9 1 5 7 4 4 8 9 1 5 7 7 4 8 9 1 5


c语言基础--数组.doc 将本文的Word文档下载到电脑
搜索更多关于: c语言基础--数组 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219