一维数组试题

更新时间:2024-05-14 23:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言考试试题[一维数组]

姓名: 学号: 成绩:

一、 填空题:(每题1分,共10分)

1、数组是 构成的集合。

2、数组元素被顺序连续地存放在内存中,并通过 进行访问。 3、数组元素的下标从 开始。长度为n的数组中,最后一个元素下标为 。

4、一维数组是最简单的数组,其定义形式是: 。 5、一个C字符串是以 结束的字符序列。

6、专门用于字符串的输入和输出的函数是 。 7、float fv[]={0,4,5,12,-7,56.8,0};数组fv的长度是_________。 8、存储字符串“\\0”占用________字节的存储单元。

9.有定义int a[]={4,6,78,3456,98,2,89};该数组元素最大的下标为___________。

二、 单项选择题,请将答案写在下列答题卡中(每题2分,共24分 )。 1、以下正确的概念是( ) A、 数组名的规定与变量名不相同。

B、 数组名后面的常量表达式用一对圆括号括起来。 C、 数组下标的数据类型为整型常量或整型表达式。 D、 在C语言中,一个数组的数组下标从1开始。 2、对数组初始化正确的方法是: A、int a(5)={1,2,3,4,5}; B、int a[5]={1,2,3,4,5}; C、int a[5]={1?5}; D、int a[5]={0,1,2,3,4,5}; 3、若有以下的数组定义:

char x[]=”12345”; char y[]={?1?,?2?,?3?,?4?,?5?}; 则正确的描述是:( )

A、x数组和y数组长度相同 B、x数组长度大于y数组长度 C、x数组长度小于y数组长度 D、两个数组中存放相同的内容 4、以下程序运行时,从键盘输入:AhaMA Aha<回车>,则下面程序的 运行结果是( ) #include main()

{char s[80],c=?a?; int m=0; scanf(“%s”,s); while(s[m]!=?\\0?)

{ if(s[m]==c) s[m]=s[m]-32;

else if(s[m]==c-32) s[m]=s[m]+32; m++;} puts(s);}

A、ahAMa B、AhAMa C、AhAMa ahA D、ahAMa ahA 5、给出以下定义:char x[]=”abcdefg”; char y[]={?a?,?b?,?c?,?d?,?e?,?f?,?g?};则正确的叙述为:( )

A 数组A和数组属于空数组 B 数组X和数组Y的长度相同

C 数组X的长度大于数组Y的长度 D数组X的长度小于数组Y的长度

6、下面程序的运行结果是( ) main()

{char a[]=”morning”,t;int m,n=0; for(m=1;m<7;m++) if(a[n]

t=a[n];a[n]=a[7];a[7]=a[n];puts(a);}

共5页,第1页

A、mogninr B、mo C、morning D、mornin 7、字符数组C在内存中所占字节数是:( ) char c[]={“language”};

A、 9 B、10 C、11 D、12 8、下列程序的输出结果是( ) main() {int n[2],m,k;

for(m=0;m<2;m++) n[m]=m;k=2;

for(m=0;m<3;m++) printf(“%d\\n”,n[k]);} A、不确定的值 B、3 C、2 D、1

9、在C语言中引用数组元素时,其数组下标的数据类型允许是( ) A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型表达式

10.定义一个具有8个元素的整型数组,应使用的语句是( ) A.int a[8]; B.int a[2,4]; C. int a[]; D.int *a[8]; 11.字符串“w\\x53\\\\\\np\\103q”长度是( ) A.7 B.9 C.15 D.16

12.已知int cn=20;下列关于数组的定义正确的是() A.int a[cn]; B.char cmt[35.0]; C.char nm[8]=”2014高考”; D.int x[31];

三、程序分析题,写出下面各程序的输出结果。(每小题5分,共20分)

①、#include “stdio.h”

main()

{int x,sum=3;

int a[]={2,3,4,5,6,7,8,9}; for(x=1;x<7;x*=2) sum=sum+a[x];

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

程序运行结果: ②、 #include “stdio.h”

main()

{ int a[8]={1,4,3,56,77,44,66,88}; int x=0,y=0,i;

for (i=0;i<8;i++) { if(a[i]%2==0) x=x+1

else y=y+1; }

printf(“X=%d,Y=%d\\n”,x,y);

}程序运行结果: ③、#include main( ) {int m,f[10]; f[0]=f[1]=1; for(m=2;m<10;m++) f[m]=f[m-2]+f[m-1]; for(m=0;m<10;m++) { printf(“=”,f[m]);}

}程序运行结果:

④、main( ) {int a=2,b=3,c=4; ++a;c+=++b;

c=b*3;a+=c; printf(“A:%d,%d,%d\\n”,a,b,c); a+=c; printf(“B:%d,%d,%d\\n”,a,b,c);} printf(“C:%d,%d,%d\\n”,a,b,c);}

}程序运行结果:

共5页,第2页

四、程序填空题:(前两题15分,最后一题16分,共46分)。

1. 从键盘输入20个数存入在一个数组中,计算所有元素之和及平均值,并找出最大值和最小值。

3.从键盘上输入一行字符(不多于40个,以回车行符作为输入结束标记)将其中的大写字母转换成小写字母,其它字符不变,然后输出

2.连续向数组输入若干成绩,并输出这些成绩。当输入负数时停止接收数据。

共5页,第3页

本文来源:https://www.bwwdw.com/article/s7z7.html

Top