第6章 数组Word文件下载.docx

上传人:b****6 文档编号:21624963 上传时间:2023-01-31 格式:DOCX 页数:14 大小:21.13KB
下载 相关 举报
第6章 数组Word文件下载.docx_第1页
第1页 / 共14页
第6章 数组Word文件下载.docx_第2页
第2页 / 共14页
第6章 数组Word文件下载.docx_第3页
第3页 / 共14页
第6章 数组Word文件下载.docx_第4页
第4页 / 共14页
第6章 数组Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

第6章 数组Word文件下载.docx

《第6章 数组Word文件下载.docx》由会员分享,可在线阅读,更多相关《第6章 数组Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

第6章 数组Word文件下载.docx

的输出是A。

A.6B.7C.11D.12

(9)设有定义:

则printf("

%d\n"

sizeof(s));

的输出是D。

(10)合法的数组定义是A。

A.chara[]="

string"

B.inta[5]={0,1,2,3,4,5};

C.chara="

D.chara[]={0,1,2,3,4,5}

(11)合法的数组定义是B。

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

B.inta[][3]={0,1,2,3,4};

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

D.chara[2][3]={0,1,2,3,4,5,};

(12)下列语句中,正确的是D。

A.chara[3][]={'

abc'

B.chara[][3]={'

C.chara[3][]={'

a'

"

1"

D.chara[][3]={"

a"

(13)下列定义的字符数组中,printf("

%s\n"

str[2]);

的输出是C。

staticstr[3][20]={"

basic"

foxpro"

windows"

A.basicB.foxproC.windowsD.输出语句出错

(14)下列各语句定义了数组,其中哪一个是不正确的C。

A.chara[3][10]={"

China"

"

American"

Asia"

B.intx[2][2]={1,2,3,4};

C.floatx[2][]={1,2,4,6,8,10};

D.intm[][3]={1,2,3,4,5,6};

(15)数组定义为inta[3][2]={1,2,3,4,5,6},值为6的数组元素是B。

A.a[3][2]B.a[2][1]

C.a[1][2]D.a[2][3]

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

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

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

(17)以下对一维整型数组a的正确说明是_D_。

A.inta(10);

B.intn=10,a[n];

C.intn;

D.#defineSIZE10

scanf(“%d”,&

n);

inta[SIZE];

inta[n];

(18)若有说明:

inta[10];

则对a数组元素的正确引用是_D_。

A.a[10]B.a[3.5]

C.a(5)D.a[10-10]

(19)在C语言中,一维数组的定义方式为:

类型说明符数组名_A_。

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

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

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

A.inta[10]=(0,0,0,0,0);

B.inta[10]={};

C.inta[]={0};

D.inta[10]={10*1};

(21)以下对二维数组a的正确说明是_C_。

A.inta[3][];

B.floata(3,4);

C.doublea[1][4];

D.floata(3)(4);

(22)若有说明:

inta[3][4];

则对a数组元素的非法引是_D_。

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

(23)若有说明:

inta[3][4]={0};

则下面正确的叙述是_D_。

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

B.此说明语句不正确

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

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

(24)若有说明:

则对a数组元素的正确引用是C_。

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

(2)

(1)

(25)对以下说明语句的正确理解是B。

inta[10]={6,7,8,9,10};

A.将5个初值依次赋给a[1]至a[5]

B.将5个初值依次赋给a[0]至a[4]

C.将5个初值依次赋给a[6]至a[10]

D.因为数组长度与初值的个数不相同,所以此语句不正确

(26)若有说明inta[][3]={1,2,3,4,5,6,7};

则a数组第一维的大小是B。

A.2B.3C.4D.无确定值

(27)定义如下变量和数组:

intk;

inta[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是A_。

for(k=0;

k<

3;

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

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

(28)下面是对s的初始化,其中不正确的是D_。

A.chars[5]={“abc”};

B.chars[5]={‘a’,‘b’,‘c’};

C.chars[5]=“”;

D.chars[5]=“abcdef”;

(29)对两个数组a和b进行如下初始化

chara[]=“ABCDEF”;

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

则以下叙述正确的是D_。

A.a与b数组完全相同B.a与b长度相同

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

(30)有两个字符数组a、b,则以下正确的输入格式是B_。

A.gets(a,b);

B.scanf(“%s%s”,a,b);

C.scanf(“%s%s”,&

a,&

b);

D.gets(“a”),get(“b”);

(31)有字符数组a[80]和b[80],则正确的输出形式是D_。

A.puts(a,b);

B.printf(“%s%s”,a[],b[]);

C.putchar(a,b);

D.puts(a),puts(b);

(32)下面程序段的运行结果是D_。

chara[7]=“abcdef”;

charb[4]=“ABC”;

strcpy(a,b);

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

A.空格B.\0C.eD.f

(33)有下面的程序段

chara[3],b[]=“China”;

a=b;

printf(“%s”,a);

则D_。

A.运行后将输出ChinaB.运行后将输出Ch

C.运行后将输出ChiD.编译出错

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

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

(35)判断字符串s1是否大于字符串s2,应当使用D_。

A.if(s1>

s2)B.if(strcmp(s1,s2))

C.if(strcmp(s2,s1)>

0)D.if(strcmp(s1,s2)>

0)

(36)下面程序段是输出两个字符串中对应字符相等的字符。

请选择填空。

charx[]=“programming”;

chary[]=“Fortran”;

inti=0;

while(x[i]!

=‘\0’&

&

y[i]!

=‘\0’)

{if(x[i]==y[i])printf(“%c”,A_);

elsei++;

}

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

(37)下面描述正确的是D_。

A.两个字符串所包含的字符个数相同时,才能比较字符串

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

C.字符串“STOP”与“stop”相等

D.字符串“That”小于字符串“The”

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

#include<

stdio.h>

intmain()

{

chars[80];

inti,j;

gets(s);

for(i=j=0;

s[i]!

=‘\0’;

i++)

if(s[i]!

=‘c’)A_;

s[j]=‘\0’;

puts(s);

return0;

}

A.s[j++]=s[i]B.s[++j]=s[i]

C.s[j]=s[i];

j++D.s[j]=s[i]

(39)下面程序的运行结果是D_。

chara[80]=“AB”,b[80]=“LMNP”;

inti=0;

strcat(a,b);

while(a[i++]!

=‘\0’)b[i]=a[i];

puts(b);

return0;

A.LBB.ABLMNPC.ABD.LBLMNP

(40)下面程序的运行结果是B_。

chara[]=“morning”,t;

inti,j=0;

for(i=1;

i<

7;

i++)

if(a[j]<

a[i])

j=i;

t=a[j];

a[j]=a[7];

a[7]=t;

puts(a);

A.mogninrB.moC.morningD.mornin

2.填空题

(1)C语言中,数组的各元素必须具有相同的数据类型,元素的下标下限为0,下标必须是正整数、0、或者符号常量。

但在程序执行过程中,不检查元素下标是否越界。

(2)C语言中,数组在内存中占一片连续的存储区,由数组名代表它的首地址。

数组名是一个地址常量,不能对它进行赋值运算。

(3)执行staticintb[5],a[][3]={1,2,3,4,5,6};

后,b[4]=0,a[1][2]=6。

(4)设有定义语句staticinta[3][4]={{1},{2},{3}};

则a[1][0]值为2,a[1][1]值为0,a[2][1]的值为0。

(5)如定义语句为chara[]="

b[]="

95"

,语句printf("

%s"

strcat(a,b));

的输出结果为windows95。

(6)输入20个数,输出它们的平均值,输出与平均值之差的绝对值为最小的数组元素。

请填空。

intmain()

{

floata[20],pjz=0,s,t;

inti,k;

for(i=0;

20;

i++);

{

scanf(“%f”,&

a[i]);

pjz+=a[i]

pjz/=20;

s=fabs(a[0]-pjz);

if(fabs(a[i]-pjz)<

s)

s=fabs(a[i]-pjz);

t=a[i];

}

printf(“%f\n”,t);

(7)以下程序以每行10个数据的形式输出a数组,请填空。

inta[50],i;

printf("

输入50个整数:

"

);

i<

50;

i++)scanf("

%d"

&

a[i]);

=50;

i++)

if(i%10==0)

printf("

%3d\n"

a[i-1]);

printf("

%3d"

a[i-1]);

(8)下面程序的功能是输出数组s中最大元素的下标,请填空。

intmain()

intk,p;

ints[]={1,-9,7,2,-10,3};

for(p=0,k=p;

p<

6;

p++)

if(s[p]>

s[k])k=p;

k);

3.阅读程序,分析程序的功能。

(1)

string.h>

voidmain()

inti;

80;

{

s[i]=getchar();

if(s[i]=='

\n'

)break;

}

s[i]='

i=0;

while(s[i])putchar(s[i++]);

putchar(‘\n’);

程序功能;

从键盘输入一个字符串,并逐一输出

(2)

charstr[10][80],c[80];

inti;

10;

gets(str[i]);

strcpy(c,str[0]);

if(strlen(c)<

strlen(str[i]))

strcpy(c,str[i]);

c);

strlen(c));

从键盘输入10个字符串,找到其中最长的一个输出它及它的长度

(3)

intmain()

chara[10][80],c[80];

inti,j,k;

gets(a[i]);

9;

k=i;

for(j=i+1;

j<

j++)

if(strcmp(a[j],a[k])<

0)k=j;

if(k!

=i)

{strcpy(c,a[i]);

strcpy(a[i],a[k]);

strcpy(a[k],c);

//字符串交换

puts(a[i]);

从键盘输入10个字符串,并将它们按大到小顺序排好再输出

(4)阅读程序,写出运行结果。

inta[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;

for(j=0;

j<

j++)if(a[i]==b[j])break;

if(j<

6)printf("

%d"

a[i]);

printf("

\n"

结果:

4252716

(5)阅读程序,写出运行结果。

chara[8],temp;

intj,k;

j++)a[j]='

+j;

a[7]='

j++)

temp=a[6];

for(k=6;

k>

0;

k--)a[k]=a[k-1];

a[0]=temp;

a);

return0;

结果:

gabcdef

fgabcde

efgabcd

(6)阅读下列程序,写出程序运行的输出结果。

charstr1[]="

*******"

for(inti=0;

4;

str1);

str1[i]='

'

str1[strlen(str1)-1]='

*******

*****

***

*

4.程序设计题

(1)输入20个整数,求其中最大值和最小值。

intd[20],i,max,min;

d[0]);

max=min=d[0];

{

scanf(“%d”,&

d[i]);

if(d[i]>

max)max=d[0];

if(d[i]<

min)min=d[0];

}

printf(“maxis%d,minis%d.\n”,max,min);

(2)求一个4*4矩阵对角线上的最小值,矩阵的值在程序运行时,由用户输入。

#include"

stdio.h"

intd[4][4],i,j,min;

scanf("

&

d[i][j]);

min=d[0][0];

if(d[i][i]<

min)min=d[i][i];

if(d[i][3-i]<

min)min=d[i][3-i];

min);

(3)输入10个整数,按从大到小的顺序输出。

inta[10],i,j,t;

for(i=0;

scanf(“%d”,&

for(j=0;

8-i;

j++)

if(a[j]<

a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

printf(“%d”,a[i]);

printf(“\n”);

(4)编程序。

输入单精度型一维数组a[10],计算并输出a数组中所有元素的平均值。

floata[10],ave=0;

ave+=a[i];

ave/=10.0;

printf(“%f”,ave);

(5)编一个程序,利用数组求费波那契(Fibonacci)序列:

1,1,2,3,5,8,…。

请按每行5个数的格式输出前20项。

序列满足关系式:

F[n]=F[n-1]+F[n-2]。

intf[20]={1,1};

inti;

for(i=2;

f[i]=f[i-1]+f[i-2];

if(i%5==0)

printf(“%5d”,f[i]);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1