9512.net
甜梦文库
当前位置:首页 >> 数学 >>

六数组相关试题


六数组 1)有以下程序: main() { char s[]="abcde"; s+=2; printf("%d\n",s[0]); } 执行后的输出结果是(06.9) 。 A)输出字符 a 的 ASCII 码 B)输出字符 c 的 ASCII 码 C)输出字符 c D)程序出错 2)有以下程序 void change(int k[ ]){k[0]=k[5];} main() { int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4) {change(&x[n]);n++;} for(n=0;n<5;n++) printf(“%d”,x[n]); printf(“\n”); } 程序运行后输出结果是(06 9) A)6 7 8 9 10 B)1 3 5 7 9 C)1 2 3 4 5 D)6 2 3 4 5 3)若要求定义具有 10 个 int 型元素的一维 数组 a, 则以下定义语句中错误的是 (06.9) 。 A) #define N 10 B) #define n 5 int a N] [ ; int a 2*n] [ ; C)int a[5+5]; D)int n=10,a[n]; 4)有以下程序 main() { int x[3][2]={0},i; for(i=0;i<3;i++) scanf(“%d”,x[i]); printf(“%3d%3d%3d\n”,x[0][0],x[0][1], x[1][0]);} 若运行时输入 2 4 6<回车>,则输出结果为 A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6 5)下面程序的功能是:将 N 行 N 列二维数组 中每一行的元素进行排序,第 0 行从小到大 排序 ,第一行从大到小排序,第 2 行从小到 大排序,第 3 行从大到小排序,例如: (06 9) 当 A= 2 3 4 1 8 6 5 7 11 12 10 9 15 14 16 13 则排序后

A=

1 8 9 16

2 7 10 15

3 6 11 14

4 5 12 13

#define N 4 Void sort (int a[][N]) { int i,j,k,t; for(i=0;i<N;i++) for(j=0;j<N-1;j++) for(k=__1___;k<N;k++)/*判断行下标是 否为偶数来确定按升序或降序来排序*/ if(___2___ ?a[i][j]<a[i][k]:a[i][j]>a[i][k]) { t = a[i][j]; a[i][j]=a[i][k]; a[i][k]=t; } } void outarr(int a[N][N]) {…} main() {int aa[N][N]={{2,3,4,1},{8,6,5,7},{11,12,10, 6},{15,14,16,13}}; outarr(aa);/*以矩阵的形式输出二维数组*/ sort (aa); outarr(aa);} 7)下面程序的运行结果是__(06 9)___ #include<stdio.h> int f(int a[],int n) {if(n>1) return a[0]+f(a+1,n-1); else return a[0];} main() {int aa[10]={1,2,3,4,5,6,7,8,9,10},s; s=f(aa+2,4);printf(“%d\n”,s);} 8)以下程序中函数 f 的功能是:当 flag 为 1 时, 进行由小到大排序,当 flag 为 0 时,进行由大 到小排序 void f(int b[];int n;int flag) { int i,j,t ; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(flag ?b[i]>b[j]:b[i]<b[j]){t=b[i];b[i]=b[j];b[j ]=t;}} main() { int a[10]={5,4,3,2,1,6,7,8,9,10},i; f(&a[2],5,0);f(a,5,1); for(i=0;i<10;i+=)printf(“%d”,a[i]);}

1

程序运行后的输出结果是(07 4) A)1,2,3,4,5,6,7,8,9,10, B)3,4,5,6,7,2,1,8,9,10, C)5,4,3,2,1,6,7,8,9,10, D)10,9,8,7,6,5,4,3,2,1, 9)有以下程序 void f(int b[]) { int i; for(i=2;i<6;i++) b[i]*=2;} main() { int a[10]={1,2,3,4,5,6,7,8,9,10},i; f(a); for(i=0;i<10;i++) printf(“%d”,a[i]); } 程序运行后的输出结果是(07 4) A)1,2,3,4,5,6,7,8,9,10 B)1,2,6,8,10,12,7,8,9,10, C)1,2,3,4,10,12,14,16,9,10, D)1,2,6,8,10,12,14,16,9,10, 10)有以下程序 main() {int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5}, {4,8,6,1}},i,j,k,t; for(i=0;i<4;i++) for(j=0;j<3;j++) for(k=j+1;k<4;k++) if (a[j][i]>a[k][i]) {t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序 */ for(i=0;i<4;i++) printf(“%d,”,a[i][j]);} 程序运行后结果是(07 4) A)1,2,5,7, B)8,7,3,1, C)4,7,5,2, D)1,6,2,1, 11)有以下程序 main() {int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6, 1}},i,k,t; for(i=0;i<3;i++) for(k=i+1;k<4;k++) if(a[i][i]<a[k][k]){t=a[i][i];a[i][i]=a[k][k];a[k] [k]=t;} for(i=0;i<4;i++)printf(“%d,”,a[0][i]); } 程序运行后的输出结果是(07 4) A)6,2,1,1, B)6,4,3,2, C)1,1,2,6, D)2,3,4,6,

12)有下列程序: #include <string.h> main( ) { char p[20]={'a', 'b', 'c', 'd'}, q [ ] ="abc", r[ ]="abcde"; strcpy(p+strlen(q), r); strcat(p, q); printf("%d %d\n", sizeof(p), strlen(p)); } 程序运行后的输出结果是( 07.4) 。 A)20 9 B)9 9 C)20 11 D)11 11 13)有下列程序: # include <string.h> main( ) { char p[20]={'a','b','c','d'},q[ ]="abc", r [ ]="abcde"; strcat(p, r); strcpy(p+strlen(q), q); printf("%d\n", strlen(p)); } 程序运行后的输出结果是( 07.4) 。 A)9 B)6 C)11 D)7 14)有下列程序: #include <string.h> void f(char p[ ] [10],int n) /*字符串从 小到大排序*/ { char t[10]; int i,j; for (i=0;i<n-1; i+ +) for (j=i+l; j<n; j+ +) if(strcmp(p[i], p[j])>0) {strcpy(t, p[i]); strcpy(p[i], p[j]); strcpy(p[j], t); } } main( ) { char p[5] [10]={"abc", "aabdfg", "abbd", "dcdbe", "cd"}; f(p, 5); printf("%d\n", strlen(p[0])); } 程序运行后的输出结果是( 07.4 ) 。 A)2 B)4 C)6 D)3 15)下列程序的输出结果是 【10】 (07.4) #include <string.h> main( ) {printf("%d\n",strlen("IBM\n012\1\\"));} 16)下列程序的输出结果是 【12】 (07.4) #include <string.h> main( )

2

{ char a[ ]={'\1', '\2', '\3', '\4', '\0'}; printf("% d%d\n",sizeof(a),strlen(a)); } 17 ) 设 有 定 义 语 句 : int a [ ] 3 ] [ ={{0},{1}{2}};,则数组元素 a[1] [2]的 值是 【13】 。(07.4) 18)下列程序的功能是:求出数组 x 中各 相邻两个元素的和依次存放到 a 数组中, 然后输 出。请填空。(07.4) main( ) { int x[10],a[9],i; for(i=0; i<10; i+ +) scanf("%d",&x[i]); for( 【 】 ; i<10; i+ + ) a[i-1]=x[i]+ 【 】 ;. for(i=0; i<9; i+ +) printf("%d ",a [ i ] ); printf("\n");} 19)若有定义语句:int a[3][6]; ,按在内存 中的存放顺序, 数组的第 10 个元素是(07.9) a A)a[0][4] B)a[1][3] C)a[0][3] D)a[1][4] 20)当用户要求输入的字符串中含有空格时, 应使用的输入函数是(07 9) A)scanf() B)getchar() C)gets D)getc() 21)以下关于字符串的叙述中正确的是(07 9) A)C 语言中有字符串类型的常量和变量 B)两个字符串中的字符个数相同时才能进 行字符串大小的比较 C)可以用关系运算符对字符串的大小进行 比较 D)空串一定比空格打头的字符串小 22)有以下程序 #include<stdio.h> #include<string.h> void fun(char s[][10],int n) {char t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++)/*比较字符串的首字 符大小,并交换字符串的首字符*/ if(s[i][0]>s[j][0]) {t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;} } main() {char ss[5][10] = {“bcc”,”bbcc”,”xy”,” aaaacc”,”aabcc”}; fun(ss,5);printf(“%s,%s\n”,ss[0],ss[4]);}} 程序运行的结果是(07 9)

A) xy,aaaacc B)aaaacc,xy C)xcc,aabcc D)acc,xabcc 23)以下程序中函数 f 的功能是在数组 x 的 n 个数(假定 n 个数互不相同)中找出最大最小 数,将其中最小的数与第一个数对换,把最大 的数与最后一个数对换,请填空(07 9) #include<stdio.h> void f(int x[],int n) { int p0,p1,I,j,t,m; i=j=x[0];p0=p1=0; for(m=0;m<n;m++) {if (x[m]>i) {i=x[m];p0=m;} else if(x[m]<j){j=x[m];p1=m;}} t = x[p0];x[p0]=x[n-1];x[n-1]=t; t=x[p1];x[p1]=___1___;___2__=t;} main() {int a[10],u; for(u=0;u<10;u++) scanf(“%d”,&a[u]); f(a,10); for(u=0;u<10;u++) printf(“%d”,a[u]); printf(“\n’); } 24)以下程序统计从终端输入的字符中大写 字 母 的 个 数 ,num[0] 中 统 计 字 母 A 的 个 数,num[1]中统计字母 B 的个数,其他依次类 推.用#结束输入,请填空.(07 9) #include<stdio.h> #include<ctype.h> main() {int num[26]={0},i;char c; while ((__1__)!=?#?) if(isupper(c)) num[c-’A’]+=__2___; for(i=0;i<26;i++) printf(“%c:%d\n”,i+’A’,num[i]); } 25)执行以下程序的输出结果是__1__ .(07 9) #include<stdio.h> main() {int i,n[4]={1}; for(i=1;i<=3;i++) {n[i]=n[i-1]*2+1;printf(“%d”,n[i]);}} 26)以下错误的定义语句是(08.4) A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3} ,{1,2,3}};

3

C)int x[4][]={{1,2,3},{1,2,3},{1,2,3}, {1,2,3}}; D)int x[][3]={1,2,3,4}; 27)若有定义:int a[2][3];,以下选项中对 a 数组元素正确引用的是(08.4) A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][ !1] 28)有定义语句:char s[10];,若要从终端 给 s 输入 5 个字符, 错误的输入语句是(08.4) A)gets(&s[0]); B)scanf(“%s”,s+1); C)gets(s); D)scanf(“%s”,s[1]); 29)有以下程序 #include <stdio.h> main() { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={ 0},i; for(i=0;i<12;i++) c[s[i]]++; for(i=1;i<5;i++) printf(“%d”,c[i]); printf(“\n”); } 程序的运行结果是(08.4) A)1 2 3 4 B)2 3 4 4 C)4 3 3 2 D )1 1 2 3 30)若有定义语句:int m[]={5,4,3,2,1},i=4,则 下面对数组元素的引用中错误的是(08.9) A)m[--i] B)m[2*2] C)m[m[0]] D)m[m[i]] 31)若有定义语句: char s[10]=“1234567\0\0”;, 则 strlen(s)的值是(08.9) A) 7 B) 8 C) 9 D) 10 32)有以下程序 #include<stdio.h> Void fun(int a,int b) { int t; t=a;a=b;b=t;} main() { int c[10]={1,2,3,4,5,6,7,8,9,0},i; for(i=0;i<10;i+=2) fun(c[i],c[i+1]); for(i=0;i<10;i++) printf(“%d”,c[i]); printf(“\n”); }程序运行的结果是(08.9) A)1,2,3,4,5,6,7,8,9,0 B) 2,1,4,3,6,5,8,7,0,9 C)0,9,8,7,6,5,4,3,2,1 D)0,1,2,3,4,5,6,7,8,9 33)有以下程序

#include<stdio.h> void fun(int a[],int n) { int i,t; for(i=0;i<n/2;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}} main() { int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++)printf(“%d”,k[i]); printf(“\n”);}程序的运行结果是(08 9) A)345678 B)876543 C)1098765 D)321678 34)有以下程序 #include<stdio.h> #denfine N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i<N;i++)b[i]=a[i][i]; } main() { int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}}, y[N],i; fun(x,y); for(i=0;i<N;i++)printf(“%d,”,y[i]); printf(“\n”);} 程序运行的结果是(08 9) A)1,2,3,4, B)1,0,7,0, C) 1,4,5,9, D)3,4,8,10, 35)以下程序按下面指定的数据给 x 数组的 下三角置数,并按如下形式输出,请填空 (08 9) 4 37 269 1 5 8 10 #include<stdio.h> main() { int x[4][4],n=0,I,j; for(j=0;j<4;j++) for(i=3;i>=j;___1__){n++;x[i][j]=___2__;} for(i=0;i<4;i++) {for(j=0;j<=I;j++) printf(“%3d”,x[i][j])}; printf(“\n”); } }

4

36)设有定义:char s[81];int i=10;,以下不能 将一行(不超过 80 个字符)带有空格的字 符串真确读入的语句或语句组是(09.3) A gets(s) B) ( while (s[i++]=getchar ) ( !=?\n?) ;s[i]=?\0?; C)scanf(“%s”,s); D)do{scanf(“%c”,&s[i]);}while (s[i++]!= ?\n?);s[i]=?\0?; 37)以下函数 findmax 拟实现在数组中查找 最大值并作为函数值返回, 但程序中有错导 致不能实现预定功能. #define MIN -2147463647 int findmax (int x[],int n) { int i,max; for(i=0;i<m;i++) {max=MIN; if(max<x[i]) max=x[i];} return max;} 造成错误的原因是(09.9 ) A)定义语句 int i;max;中 max 未赋初值 B)赋值语句 max=MIN 中,不应给 max 赋 MIN 值 C)语句 if(max<x[i])max=x[i]中判断条件设 置错误 D)赋值语句 max=MIN 放错了位置 38}有以下程序 #include <stdio.h> main() {int a[]={2,3,5,4},i; for (i=0;i<4;i++) switch(i%2) {case 0: switch(a[i]%2) {case 0:a[i]++;break; case 1: a[i]--; }break; case 1 :a[i]=0; } for (i=0;i<4;i++) printf(“%d ”,a[i]); printf(“\n”); } 程序运行后的输出结果是(09.9 ) A) 3 3 4 4 B) 2 0 5 0 C) 3 0 4 0 D) 0 3 0 4 39)有以下程序 #include <stdio.h>

main() { char a[10]=”abcd”; printf(“%d,%d\n”,strlen(a),sizeof(a)); } 程序运行后的输出结果是(09.9) A) 7,4 B )4,10 C) 8,8 D) 10,10 40)下面是有关 C 语言字符数组的描述,其 中错误的是(09.9) A)不可以用赋值语句给字符数组名赋字符 串 B)可以用输入语句把字符串整体输入给字 符数组 C)字符数组中的内容不一定是字符串 D)字符数组只能存放字符串 41)有以下程序 #include <stdio.h> main() {char s[]={“012xy”}; int i,n=0; for (i=0;s[i]!=0;i++) if(s[i]>=?a?&&s[i]<=?z?)n++; printf(“%d\n”,n); } 程序运行后的输出结果是(09.9) A) 0 B) 2 C) 3 D) 5 42)有以下程序 #include <stdio.h> main() { char a[20]=“How are you ?”,b[20]; scanf(“%s”,b);printf(“%s,%s\n,a,b”); }程序运行时从键盘输入:How are you ?<回 车>则输出结果为_______.(09.9) 43)下列选项中,能正确定义数组的语句是 (10.3) A)int num[0..2008]; B)int num[]; C)int N=2008; int num[N]; D)#define N 2008 int num[N]; 44)有以下程序 #include(stdio.h) main() {int a[5]={1,2,3,4,5},b[5]= {0,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]); printf("%d\n", s);

5

} 程序运行后的输出结果是(10.3) A)6 B)10 C)11 D)15 45)有以下程序 #include <stdio.h> main() {int b [3][3]= {0,1,2,0,1,2,0,1,2} ,i,j,t=1; for(i=0;i<3;i++) for(j=i,j<=1;j++) t+=b[i][b[j][i]]; printf("%d\n",t); }程序运行后的输出结果是(10.3) A)1 B)3 C)4 D)9 46)若有以下定义和语句 char s1[10]="abcd!",*s2="\n123\\"; printf ("%d %d\n", strlen s1) (s2); ( ,strlen ) 则输出结果是(10.3) A)5 5 B)10 5 C)10 7 D)5 8 47)有以下程序 #include <studio.h> int f(int t[],int n); main { int a[4]={1,2,3,4},s; s=f(a,4); printf("%d\n",s); } int f(int t[],int n) { if(n>0) return t[n-1]+f(t,n-1); else return 0; } 程序运行后的输出结果是(10.3) A)4 B)10 C)14 D)6 48)有以下程序 #include <stdio.h> main() { int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i;j<3;j++) printf(“%d”,a[i][j]); printf("\n"); } 程序运行后的输出结果是 【9】 (10.3) 49)有以下程序 #include <stdio.h> main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int b[3]={0},i; for(i=0;i<3;i++) b[i]=a[i][2]+a[2][i];

for(i=0;i<3;i++) printf("%d",b[i]); printf("\n"); } 程序运行后的输出结果是 【11】(10.3) 50)以下程序用以删除字符串所有的空格, 请填空。(10.3) #include <stdio.h> main() { char s[100]={"Our teacher teach C language!"};int i,j; for(i=j=0;s[i]!=?\0?;i++) if(s[i]!= ' ') {s[j]=s[i];j++;} s[j]= 【14】 printf(“%s\n”,s); }

6


赞助商链接

更多相关文章:
数组测试题
数组如果没有初始化,也没有被赋值,则每个元素的默认值为 0 B. 在给数组初始...1/2 相关文档推荐 第5章数组测试题 暂无评价 6页 免费 数组章节试题 暂无...
练习题6及参考答案
练习题6及参考答案_司法考试_资格考试/认证_教育专区。c语言每章练习!练习题,二级考试复习题练习题 6 及参考答案 1. 单项选择题 (1)以下关于数组的描述正确的...
第6章练习题--数组
第6章练习题--数组_财会/金融考试_资格考试/认证_教育专区。(一)基本概念 1...相等 D )字符串”That”小于字符串”The” 21 下面有关字符数组的描述中错误...
练习题-第六章_数组(有答案)
C语言习题 结构体和杂... 7页 2下载券练​习​题​-​第​六​...定义了二维数组:int array[4][5],该数组所占的内存空间为___字节。 3. ...
java数组习题及答案
三、 /*现在有如下一个数组: *int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; *要求将以上数组中的 0 项去掉,将不为 0 的值存入一...
第6章 数组和字符串 练习题
第6章 数组和字符串 练习题 - 一、 选择题 1. 下面正确的初始化语句是___ A. char str[]=hello; B. char str[100]=hello; D. char st...
矩阵分析试卷6
矩阵分析(6) 87页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 矩阵分析试卷6 矩阵分析试卷矩阵分析试卷隐藏...
数组复习题
第7章 1. 单项选择题 数组习题 (1) int a[4]={5,3,8,9};其中 a[3...数组所有元素的首地址 D.数组最后 1 个元素的首地址 (6) 若有以下数组说明,...
第6章 数组习题参考答案
C语言数组编程题及解答 10页 免费 C语言第六章数组习题 35页 2财富值 c语言数组习题 7页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意...
数组复习题
(6) 若有以下数组说明,则数值最小的和最大的元素下标分别是( b int a[12...判断题( ×)(1) C 允许对数组的大小作动态定义,即可用变量定义数组的大小。...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图