C语言考试试题[一维数组]
姓名:学号:成绩:
一、填空题:(每题1分,共10分)
1、数组是构成的集合。
2、数组元素被顺序连续地存放在内存中,并通过进行访问。
3、数组元素的下标从开始。长度为n的数组中,最后一个元素下标为。
4、一维数组是最简单的数组,其定义形式是:。
5、一个C字符串是以结束的字符序列。
请输入一个长度0和5之间的字符串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 <stdio.h>
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]<a[m]) n=m;
t=a[n];a[n]=a[7];a[7]=a[n];puts(a);}
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 <stdio.h>
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(“%3d”,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);}
}程序运行结果:
四、程序填空题:(前两题15分,最后一题16分,共46分)。
1.从键盘输入20个数存入在一个数组中,计算所有元素之和及平均值,并出最大值和最小值。
2.连续向数组输入若干成绩,并输出这些成绩。当输入负数时停止接收数据。
3.从键盘上输入一行字符(不多于40个,以回车行符作为输入结束标记)将其中的大写字母转换成小写字母,其它字符不变,然后输出
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论