第六章 数组作业_第1页
第六章 数组作业_第2页
第六章 数组作业_第3页
第六章 数组作业_第4页
第六章 数组作业_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——第六章数组作业

第六章数组

6.1选择题

6.1在c语言中,引用数组元素时,其数组下标的数据类型是。

A)整型常量B)整型表达式

C)整型常量或整型表达式D)任何类型的表达式

6.2以下对一维数组a的正确说明是。

A)intn;scanf(%d,n);inta[n];B)intn=10,a[n];

C)inta(10);D)#defineSIZE10

inta[SIZE];

6.3若有说明:inta[10];则对数组元素的正确引用是。

A)a[10]B)a[3,5]C)a(5)D)a[10-10]

6.4在C语言中,一维数组的定义方式为:类型说明符数组名。

A)[常量表达式]B)[整型表达式]

C)[整型表达式]或[整型常量]D)[整型常量]

6.5以下能对一维数组a进行正确初始化的语句是。

A)inta[10]=(0,0,0);B)inta[10]={};

C)inta[]={0};D)inta[10]={10*1};

6.6以下对二维数组a的正确说明是。

A)inta[3][];B)floata(3,4);

C)doublea[1][4];D)floata(3)(4);

6.7若有说明:inta[3][4];则对a数组元素的正确引用是。

A)a[2][4]B)a[1,3]C)a[1+1][0]D)a(2)(1)

6.8若有说明:inta[3][4];则对a数组元素的非法引用是。

A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]

6.9以下能对二维数组a进行正确初始化的语句是。

A)inta[2][]={{1,0,1},{5,2,3}};

B)inta[][3]={{1,2,3},{4,5,6}};

C)inta[2][4]={{1,2,3},{4,5},{6}};

D)inta[][3]={{1,0,1}{},{1,1}};

6.10以下不能对二维数组a进行正确初始化的说明是。

A)inta[2][3]={0};B)inta[][3]={{1,2},{0}};

C)inta[2][3]={{1,2},{3,4},{5,6}};D)inta[][3]={1,2,3,4,5,6};

6.11若有说明:inta[3][4]={0};则下面正确的表达是。

A)只有元素a[0][0]可以得到初值0

B)此说明语句不正确

C)数组中各元素都可以得到初值,但其值不一定为0

D)数组中每个元素均可得到初值0

6.12若有说明:inta[][4]={0,0};则下面不正确的表达是。

A)数组a的每个元素都可得到初值0

B)二维数组a的第一维大小为1

C)由于二维数组a中其次维大小的值除初值个数的商为0,故数组a的行数为1

D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

6.13若有说明:staticinta[3][4];则数组中各元素。

A)可在程序的运行阶段得到初值0

B)可在程序的编译阶段得到初值0

C)不能得到确定的初值

D)可在程序的编译或运行阶段得到初值0

6.14以下各组选项中,均能正确定义二维实型数组a的选项是。

A)floata[3][4];B)floata(3,4);

floata[][4];floata[3][4];

floata[3][]={{1},{0}};floata[][]={{0},{0}};

C)floata[3][4];D)floata[3][4];

staticfloata[][4]={{0},{0}};floata[3][];

autofloata[][4]={{0},{0},{0}};floata[][4];

6.15下面程序有错误的行是(行前数字表示行号)。

1main()

2{inta[3]={3*0};

3inti;

4for(i=0;i3;i++)

5scanf(%d,a[i]);

6for(i=1;i3;i++)a[0]=a[0]+a[i];

7printf(%d\n,a[0]);

8}

A)第2行有错误B)第6行有错误

C)第7行有错误D)没有错误

6.16下面程序有错误的行是(行前数字表示行号)。

1main()

2{

3floata[10]={0.0};

4inti;

5for(i=0;i3;i++)scanf(%d,a[i]);

6for(i=1;i10;i++)a[0]=a[0]+a[i];

7printf(%f\n,a[0]);

8}

A)没有错误B)第3行有错误

C)第5行有错误D)第7行有错误

6.17下面程序有错误的行是(行前数字表示行号)。

1main()

2{

3inta[3]={1};

4inti;

5scanf(%d,a);

6for(i=1;i3;i++)a[0]=a[0]+a[i];

7printf(a[0]=%d\n,a[0]);

8}

A)3B)6C)7D)5

6.18下面程序有错误的行是(行前数字表示行号)。

1main()

2{

3inta[3]={0};

4inti;

5for(i=0;i3;i++)scanf(%d,a[i]);

6for(i=1;i4;i++)a[0]=a[0]+a[i];

7printf(%d\n,a[0]);

8}

A)没有错误B)3C)5D)6

6.19若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(假设a[0][0]位于数组的第一个位置上)。

A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1

6.20对说明语句inta[10]={6,7,8,9,10};的正确理解是。

A)将5个初值依次a[1]至a[5]

B)将5个初值依次a[0]至a[4]

C)将5个初值依次a[5]至a[9]

D)将5个初值依次a[6]至a[10]

6.21以下不正确的定义语句是。

A)doublex[5]={2.0,4.0,6.0,8.0,10.0};

B)inty[5]={0,1,3,5,7,9};

C)charc1[]={1,2,3,4,5};

D)charc2[]={\x10,\xa,\x8};

6.22若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是。

A)2B)3C)4D)无法确定

6.23若二维数组a有m列,则在a[i][j]前的元素个数为。

A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+1

6.24定义如下变量和数组:intk,a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是。

for(k=0;k3;k++)printf(%d,a[k][2-k]);

A)357B)369C)159D)147

6.25以下程序段的作用是。

inta[]={4,0,2,3,1},i,j,t;

for(i=1;i5;i++)

{t=a[i];j=i-1;

while(j=0ta[j])

{a[j+1]=a[j];j--;}

a[j+1]=t;

}

A)对数组a进行插入排序(升序)

B)对数组a进行插入排序(降序)

C)对数组a进行选择排序(升序)

D)对数组a进行选择排序(降序)

6.26以下正确的定义语句是。

A)inta[1][4]={1,2,3,4,5};B)floatx[3][]={{1},{2},{3}};

C)longb[2][3]={{1},{2,3},{4,5,6}};D)doubley[][3]={0};

6.28下面程序的运行结果是。

#includestdio.h

main()

{inta[6],i;

for(i=1;i6;i++)

{a[i]=9*(i-2+4*(i3))%5;

printf(%2d,a[i]);

}

}

A)-40404B)-40403C)-40443D)-40440

*6.29下面是对s的初始化,其中不正确的是。

A)chars[5]={abc};B)chars[5]={a,b,c};

C)chars[5]=;D)chars[5]=abcde;

*6.30下面程序段的运行结果是。

charc[5]={a,b,\0,c,\0};

printf(%s,c);

A)abB)abC)abcD)ab▄(▄表示空格)

*6.31对两个数组a和b进行如下初始化

chara[]=ABCDEF;

charb[]={A,B,C,D,E,F};

则以下表达正确的是。

A)a与b数组完全一致B)a与b数组长度一致

C)a和b中都存放字符串D)a数组比b数组长度长

6.32有两个字符数组a、b,则以下正确的输入语句是。

A)gets(a,b);B)scanf(%s%s,a,b);

C)scanf(%s%s,a,b);D)gets(a);gets(b);

6.33有字符数组a[80]和b[80],则正确的输出语句是。

A)puts(a,b);B)printf(%s,%s,a[],b[]);

C)putchar(a,b);D)puts(a),puts(b);

*6.34下面程序段的运行结果是。

chara[7]=abcdef,b[4]=ABC;

strcpy(a,b);

printf(%c,a[4]);

A)■B)\0C)eD)ef

6.35有下面程序段,上机运行,将。

chara[3],b[]=China;

a=b;

printf(%s,a);

A)输出ChinaB)输出ChiC)输出ChD)编译出错

*6.36下面程序段的运行结果是。

charc[]=\t\v\\\0will\n;

printf(%d,strlen(c));

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

6.37判断字符串a和b是否相等,应当使用。

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

6.38判断字符串s1是否大于字符串s2,应当使用。

A)if(s1s2)B)if(strcmp(s1,s2)

C)if(strcmp(s2,s1)0)D)if(strcmp(s1,s2)0)

6.39下面程序段输出两个字符串中对应相等的字符。请分析程序填空。

charx[]=programming;

chary[]=Fortran;

inii=0;

while(x[i]!=\0y[i]!=\0)

if(x[i]==y[i])printf(%c,);

elsei++;

A)x[i++]B)y[++i]C)x[i]D)y[i]

6.40下面描述正确的是。

A)两个字符串包含的字符个数一致时,才能比较字符串

B)字符个数多的字符串比字符个数少的字符串大

C)字符串STOP与STOP■相等

D)字符串That小于字符串The

6.41下面对C语言字符数组的描述中错误的是。

A)字符数组可以存放字符串

B)字符数组的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符对字符数组整体赋值

D)不可以用关系运算符对字符数组中的字符串进行比较

***6.44下面程序的功能是将字符串s中所有的字符c删除。

#includestdio.h

main()

{chars[80];

inti,j;

gets(s);

for(i=j=0;s[i]!=\0;i++)

if(s[i]!=c);

s[j]=\0;

puts(s);}

A)s[j++]=s[i]B)s[++j]=s[i]C)s[j]=s[i];j++D)s[j]=s[i]

*6.45下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。请分析程序填空。

#includestdio.h

main()

{chars[80],c1,c2=;

inti=0,num=0;

gets(s);

while(s[i]!=\0)

{c1=s[i];

if()num++;

i++;

c2=c1;

}

printf(Thereare%dwords.\n,num);

}

A)c1==c2==B)c1!=c2==

C)c1==c2!=D)c1!=c2!=

6.46下面程序的运行结果是。

#includestdio.h

main()

{charch[7]={12ab56};

inti,s=0;

for(i=0;ch[i]=0ch[i]=9;i+=2)

s=10*s+ch[i]-0;

printf(%d\n,s);

}

A)1B)1256C)12ab56

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论