2022年湖北專升本C語言數(shù)組模擬題
一、單項(xiàng)選擇題
1.下列描述中不正確的是( C )。
A) 字符型數(shù)組中可以存放字符串
B) 可以對字符型數(shù)組進(jìn)行整體輸入、輸出
C) 可以對整型數(shù)組進(jìn)行整體輸入、輸出
D) 不能在賦值語句中通過賦值運(yùn)算符"="對字符型數(shù)組進(jìn)行整體賦值
2.執(zhí)行下面的程序段后,變量 k 中的值為( A )。
int k=3, s[2];
s[0]=k; k=s[1]*10;
A) 不定值
B) 33
C) 30
D) 10
3.設(shè)有數(shù)組定義: char array[ ]="China"; 則數(shù)組 array 所占的空間為( C )。
A) 4 個(gè)字節(jié)
B) 5 個(gè)字節(jié)
C) 6 個(gè)字節(jié)
D) 7 個(gè)字節(jié)
4.下列程序執(zhí)行后的輸出結(jié)果是( A )。
#include
main()
{ char arr[2][4];
strcpy(arr,"you"); strcpy(arr[1],"me");
arr[0][3]=’&’;
printf("%s \n",arr);
}
A) you&me
B) you
C) me
D) err
5.執(zhí)行下列程序時(shí)輸入:123<空格>456<空格>789<回車>,輸出結(jié)果是( D )。
main()
{ char s[100];
int c, i;
scanf("%c", &c);
scanf("%d", &i);
scanf("%s", s);
printf("%c, %d, %s\n", c, i, s);
}
A) 123,456,789
B) 1,456,789
C) 1,23,456,789
D) 1,23,456
6.假定 int 類型變量占用兩個(gè)字節(jié),若有定義:int x[10]={0,2,4}; 則數(shù)組 x 在內(nèi)存中所占字節(jié)數(shù)是( D)。
A) 3
B) 6
C) 10
D) 20
7.以下程序的輸出結(jié)果是( C)。
main()
{int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A) 258
B) 741
C) 852
D) 369
8.以下數(shù)組定義中不正確的是( D )。
A) int a[2][3];
B) int b[][3]={0,1,2,3};
C) int c[100][100]={0};
D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
9.以下程序的輸出結(jié)果是( A )。
main()
{int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n", a[0][3],a[1][2],a[2][1],a[3][0]);
}
A) 0650
B) 1470
C) 5430
D) 輸出值不定
10.以下程序的輸出結(jié)果是( B )。
#include
main()
{char st[20]="hello\0\t\\\";
printf(%d %d\n", strlen(st),sizeof(st));
}
A) 9 9
B) 5 20
C) 9 20
D) 20 20
11.以下程序的輸出結(jié)果是(B)。
main()
{int i,k,a[10],p[3];
k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3;i++) p[i]=a[i*(i+1)];
for(i=0;i<3;i++) k+=p[i]*2;
printf("%d\n",k);
}
A) 20
B) 21
C) 22
D) 23
12.以下程序的輸出結(jié)果是( C)。
main()
{int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d", x[i][2-i]);
}
A) 159
B) 147
C) 357
D) 369
13.以下程序的輸出結(jié)果是( A )。
main()
{int a[3][3]={{1,2},{3,4},{5,6}}, i, j, s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)
s+=a[i][j];
printf("%d\n", s);
}
A) 18
B) 19
C) 20
D) 21
14.以下程序的輸出結(jié)果是( D)。
main()
{char w[ ][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for(k=1;k<3;k++) printf("%s\n",w[k]);
}
15.當(dāng)執(zhí)行下面的程序時(shí),如果輸入 ABC,則輸出結(jié)果是( A)。
#include
#include
main()
{char ss[10]="12345";
gets(ss);strcat(ss,"6789");printf("%s\n", ss);
}
A) ABC6789
B) ABC67 C) 12345ABC6
D) ABC456789
16.若要定義 c 為 2×3×4 的三維數(shù)組,正確的定義語句是( A )。
A) float c[2][3][4]
B) float c[2,3,4]
C) float c(2,3,4)
D) float c(2)(3)(4)
17.若定義 int a[2][2]={1,2,3,4},則 a 數(shù)組的各數(shù)組元素值分別為( A )。
A) a[0][0]=1,a[0][1]=2,a[1][0]=3,a[1][1]=4
B) a[0][0]=1,a[0][1]=3,a[1][0]=2,a[1][1]=4
C) a[0][0]=4,a[0][1]=3,a[1][0]=2,a[1][1]=1
D) a[0][0]=4,a[0][1]=2,a[1][0]=3,a[1][1]=1
18.在下列敘述中,正確的一條是( A )。
A) 以下語句是正確的:char c[]=”ab”;
B) 一維數(shù)組的定義可采用下列格式:int a(10);
C) 下面的語句定義了一個(gè)二維數(shù)組:float a[3,4];
D) 以下兩個(gè)語句中的 a[3][4]的含義相同:int a[3][4]; a[3][4]=1;
19.當(dāng)輸入的數(shù)據(jù)為 2、5 時(shí),以下程序的輸出結(jié)果是( C )。
#include
main()
{int f[100],i,j,k,m;
scanf(“%d%d”,&k,&m);
for(i=0;i<=m;i++) f[i]=0;
f[k-1]=1;
for(i=k;i<=m;i++)
for(j=i-k;j<=i-1;j++)
f[i]+=f[j];
printf(“%d%10d%10d\n”,k,m,f[m]);
}
A) 3 5 5
B) 3 5 7
C) 2 5 5
D) 3 6 9
20.在下列語句中,正確的是(A)。
A) char str[]=”China”;
B) char str[];str=”China”;
C) char str1[5],str2[]={”China”};str1=str2;
D) char str1[],str2[];str2={”China”};strcpy(str1,str2);
21.下面語句中不正確的是( D )。
A) int a[5]={1,2,3,4,5};
B) int a[5]={1,2,3};
C) int a[]={0,0,0,0,0};
D) int a[5]={0*5};
22.若先后輸入 4、1、5、3、7,以下程序的輸出結(jié)果為( D)。
#define MAX 100
main()
{
int i,j,n,flag,t,a[MAX];
printf(“輸入數(shù)據(jù)個(gè)數(shù):”);
scanf(“%d\n”,&n);
for(i=1;i<=n;i++) scanf(“%d”,&a[i]);
for(i=1;i {flag=1; for(j=1;j<=n-i;j++) if(a[j]>a[j+1]) {flag=0; t=a[j]; a[j]=a[j+1]; a[j+1]=t; } if(flag) break; } for(i=1;i<=n;i++) printf(“%-3d”,a[i]); printf(“\n”); } A) 2 4 6 7 B) 1 2 3 4 C) 1 5 4 7 D) 1 3 5 7 23.以下程序的輸出結(jié)果是( B )。 main() {int n,a[10]; for(n=0;n<=9;n++) a[n]=n; for(n=9;n>=0;n--) printf(“%d”,a[n]); } A) 1 2 3 4 5 6 7 8 9 10 B) 9 8 7 6 5 4 3 2 1 0 C) 10 9 8 7 6 5 4 3 2 1 D) 0 1 2 3 4 5 6 7 8 9 24.若輸入 aefjhi、c、adfjhijk,以下程序的輸出結(jié)果為(B)。 #include #include main() {int i; char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); if(strcmp(str[0],str[1])>0) strcpy(string,str[0]); else strcpy(string,str[1]); if(strcmp(str[2],string)>0) strcpy(string,str[2]); printf(“The largest string is\n%s\n”,string); } A) adfjhi B) c C) aefjhijk D) aefjhi 25.以下程序的輸出結(jié)果是( A )。 #include #include main() {char str[12]={’s’,’t’,’r’,’i’,’n’,’g’}; printf(“%d\n”,strlen(str)); } A) 6 B) 7 C) 11 D) 12 26.有以下程序: #include #define N 6 main() {char c[N]; int i=0; for(;i for(i=0;i } 輸入以下三行,每行輸入都是在第一列上開始, a b cdef 程序的輸出結(jié)果是( C)。c[i]={'a','\0','b','\0','c','d'} A) abcdef B) a b c d e f C) a b cd D) a b d cdef 27.設(shè)有:char str[ ]=“Beijing”; 則執(zhí)行:printf(“ %d\n”, strlen(strcpy(str, “China”))); 后輸出的結(jié)果為( A )。"china"copy to str with '\0',it will stop when the strlen meets with '\0'. A) 5 B) 7 C) 12 D) 14 28.請選出以下程序的輸出結(jié)果( A)。 #include main() {char s1[10],s2[10],s3[10],s4[10]; scanf(“%s%s”,s1,s2);gets(s3);gets(s4); puts(s1);puts(s2);puts(s3);puts(s4); } 輸入數(shù)據(jù)如下:(此處代表回車符) aaaa bbbb cccc dddd A) aaaa bbbb cccc dddd B) aaaa bbbb cccc dddd C) aaaa bbbb cccc dddd eeee D) aaaa bbbb cccc dddd 29.請讀程序: 上面程序的輸出結(jié)果是( A )。 A) 不確定的值 B) 3 C) 2 D) 1 30.請讀程序片段(字符串內(nèi)沒有空格字符):printf(“%d\n”,strlen(“ATS\n012\1\\”));其輸出結(jié)果應(yīng)為(C)。 A) 11 B) 10 C) 9 D) 12 31.下述對 C 語言字符數(shù)組的描述中錯誤的是( C)。 A) 字符數(shù)組可以存放字符串 B) 字符數(shù)組中的字符串可以整體輸入、輸出 C) 可以在賦值語句中通過賦值運(yùn)算符“=”對字符數(shù)組整體賦值 D) 不可以用關(guān)系運(yùn)算符對字符數(shù)組中的字符串進(jìn)行比較 32.閱讀下列程序: main() {int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for(i=0;i for(j=0;j n[j]=n[i]+1; printf(“%d\n”,n[1]); } 上述程序運(yùn)行后,輸出的結(jié)果是( D )。 A) 2 B) 1 C) 0 D) 3 33.以下程序的輸出結(jié)果是(C)。 main() {int n[3][3], i, j; for(i=0;i<3;i++) for(j=0;j<3;j++) n[i][j]=i+j; for(i=0;i<2;i++) for(j=0;j<2;j++) n[i+1][j+1]+=n[i][j]; printf(“%d\n”, n[i][j]); } A) 14 B) 0 C) 6 D) 值不確定 34.以下語句的輸出結(jié)果為( A )。 printf(“%d\n”, strlen(“\t\”\065\xff\n”)); A) 5 B) 14 C) 8 D) 輸出項(xiàng)不合法,無正常輸出 35.合法的數(shù)組定義是( D )。 A) int a[]=”string”; B) int a[5]={0,1,2,3,4,5}; C) char a=”string”; D) char a[]={0,1,2,3,4,5}; 36.以下程序的輸出結(jié)果是( D )。 main() {char w[ ][10]={"ABCD","EFGH","IJKL","MNOP"},k; for(k=1;k<3;k++) printf("%s\n", &w[k][k]); } 37.函數(shù)調(diào)用 strcat( strcpy(str1,str2), str3 )的功能是( C )。 A) 將串 str1 復(fù)制到串 str2 中后再連接到串 str3 之后 B) 將串 str1 連接到串 str2 之后再復(fù)制到串 str3 之后 C) 將串 str2 復(fù)制到串 str1 中后再將串 str3 連接到串 str1 之后 D) 將串 str2 連接到串 str1 之后再將串 str1 復(fù)制到串 str3 之后 38.有以下定義: char x[ ]=“abcdefg”; char y[ ]={‘a(chǎn)’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’}; 則正確的敘述為( C )。 A) 數(shù)組 x 和數(shù)組 y 等價(jià) B) 數(shù)組 x 和數(shù)組 y 的長度相同 C) 數(shù)組 x 的長度大于數(shù)組 y 的長度 D) 數(shù)組 x 的長度小余數(shù)組 y 的長度 39.下面程序的運(yùn)行結(jié)果是( C )。 main() {char ch[7]={"65ab21"}; int i, s=0; for(i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i+=2) s=10*s+ch[i]-‘0’; printf("%d\n", s); } A) 12ba56 B) 6521 C) 6 D) 62 40.以下程序運(yùn)行后,輸出結(jié)果是( B )。 main() {int y=18, i=0, j, a[8]; do {a[i]=y%2; i++; y=y/2; }while(y>=1); for(j=i-1;j>=0;j--) printf("%d", a[j]); printf(“\n”); } A) 10000 B) 10010 C) 00110 D) 10100 41.以下程序的輸出結(jié)果是( D )。 main() {int n[5]={0,0,0}, i, k=2; for(i=0; i printf("%d\n", n[k]); } A) 不確定的值 B) 2 C) 1 D) 0 42.若有定義和語句:char s[10];s=”abcd”;printf(“%s\n”,s);則輸出結(jié)果是( D )。 A) abcd B) a C) abc D) 編譯通不過 二、填空題 1.下面程序的功能是:將字符數(shù)組 a 中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。請?zhí)羁铡?/p> #include #include main() {char a[ ]="clanguage", t; int i, j, k; k=strlen(a); for(i=0; i<=k-2; i+=2) for(j=i+2; j if( a[j]>a[i] ) { t=a[i]; a[i]=a[j]; a[j]=t; } puts(a); printf("\n"); } 2.若有定義語句:char s[100],d[100]; int j=0, i=0;,且 s 中已賦字符串,請?zhí)羁找詫?shí)現(xiàn)字符串拷貝。(注:不得使用逗號表達(dá)式) while(s[i]){ d[j]= s[i++];j++;} d[j]=0; 3.下列程序段的輸出結(jié)果是 Hello。 main() { char b[]="Hello,you"; b[5]=0; printf("%s\n", b); } 4.若想通過以下輸入語句使 a 中存放字符串 1234,b 中存放字符 5,則輸入數(shù)據(jù)的形式應(yīng)該是a=1234 b=5。 char a[10], b; scanf(“a=%s b=%c”, a, &b); 5.以下程序可以把從鍵盤上輸入的十進(jìn)制數(shù)(long 型)以二到十六進(jìn)制數(shù)的形式輸出,請?zhí)羁铡?/p> main() {int b[16]={‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘A’, ‘B’,‘C’,‘D’,‘E’,‘F’}; int c[64], d, i=0, base; long n; printf(“Enter a number:\n”); scanf(“%ld”, &n); printf(“Enter new base:\n”); scanf(“%d”, &base); do {c[i]= n%base; i++; n=n/base; }while(n!=0); printf(“Transmite new base:\n”); for(--i;i>=0;--i) {d=c[i]; printf("%c", [ d]); }} 6.以下程序用來對從鍵盤上輸入的兩個(gè)字符串進(jìn)行比較,然后輸出兩個(gè)字符串中的第一個(gè)不相同字符的ASCII 碼之差。例如:輸入的兩個(gè)字符串分別為 abcdefg 和 abceef,則輸出為-1。請?zhí)羁铡?/p> main() {char str1[100], str2[100], c; int i, s; printf(“\n Input string 1:\n”); gets(str1); printf(“\n Input string 2:\n”); gets(str2); i=0; while((str1[i]= =str2[i])&&(str1[i]!= ' \0 ' )) i++; s=str1[i]-str2[i]; printf("%d\n", s); } 7.以下語句的輸出結(jié)果是2。 printf(“%d\n”, strlen(“\t\”\085\xff\n”)); 8.對數(shù)組中的元素值進(jìn)行排序: main() {int a[ ]={2,4,15,3,17,5,8,23,9,7,11,13}, i, j, k; for(k=0;k<12;k++) for(i=k;i<12;i++) if(a[i]>a[k]) {j=a[i]; a[i]=a[k]; a[k]=j; } for(i=0;i<12;i++) printf(“%4d”, a[i]); } 9.由 25 人圍坐成圓圈,先從任意一人出發(fā)用 1 到 25 順時(shí)針依次編號,然后從 1 號開始順時(shí)針報(bào)數(shù)(1、2、3、……),凡報(bào) 5 的倍數(shù)者出圈,剩下者繼續(xù)報(bào)數(shù),求出最后出圈者的編號。 #include Void main() {int a[26], j, n, count; for(j=1;j<=25;j++) a[j]=j; j=1;count=0;n= 0; do {if(a[j]!=0) {n++; if(n%5= =0) {a[j]=0; if(count= =24) printf(“%d\n”, j); count++; } } j++; if(j>25) j=1; } while( count<25); } 10.閱讀下列程序: main() {int i, j, row, column, m; int array[3][3]={{100, 200, 300}, {28, 72, -30}, {-850, 2, 6}}; m=array[0][0]; for(i=0; i<3; i++) for(j=0; j<3; j++) if(array[i][j] {m=array[i][j]; row=i; column=j;} printf("%d, %d, %d\n", m, row, column); } 上述程序的輸出結(jié)果是 -850,2,0。 11.以下程序的功能是:從鍵盤上輸入若干個(gè)學(xué)生的成績,計(jì)算出平均成績,并輸出低于平均分的學(xué)生成績,用輸入負(fù)數(shù)結(jié)束輸入。請?zhí)羁铡?/p> main() {float x[1000], sum=0.0, ave, a; int i, n=0; printf(“Enter mark:\n”); scanf(“%f”, &a); while(a>=0.0&&n<1000) {sum+=a; x[n]=a; n++; scanf(“%f”, &a);} ave=sum/n; printf(“Output:\n”); printf(“ave=%f\n”, ave); for(i=0;i if(ave>a[i]) printf(“%f\n”, x[i]); } 以上就是關(guān)于2022年湖北專升本C語言數(shù)組模擬題的全部內(nèi)容了,如果你還有專升本相關(guān)的疑惑(如專升本報(bào)名、考試動態(tài)、院校招生簡章、統(tǒng)考動態(tài)、湖南專升本院校、歷年真題、考試大綱、專升本等相關(guān)信息),可以在文章下方留下你的聯(lián)系方式,老師會第一時(shí)間聯(lián)系到你,為你答疑解惑哦! 部分內(nèi)容來源于網(wǎng)絡(luò)轉(zhuǎn)載、學(xué)生投稿,如有侵權(quán)或?qū)Ρ菊居腥魏我庖?、建議或者投訴,請聯(lián)系郵箱(1296178999@qq.com)反饋。
未經(jīng)本站授權(quán),不得轉(zhuǎn)載、摘編、復(fù)制或者建立鏡像, 如有違反,本站將追究法律責(zé)任!