違法信息舉報(bào) 客服熱線:400-118-7898
廣告
?
專接本欄目測試廣告

?2022年湖北專升本C語言數(shù)組模擬題

普通專升本 責(zé)任編輯:管理員 2022-02-12

摘要:本文是2022年湖北專升本C語言數(shù)組模擬題,共有42道選擇題和11道填空題,供大家參考。具體詳細(xì)內(nèi)容見下文。

一、單項(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]);

}

image.png

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<n;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<n;c[i]=getchar(),i++);

for(i=0;i<n;putchar(c[i]),i++);

}

輸入以下三行,每行輸入都是在第一列上開始,<CD>代表一個(gè)回車符:

a<CD>

b<CD>

cdef<CD>

程序的輸出結(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.請讀程序:

image.png

上面程序的輸出結(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ù)組的描述中錯(cuò)誤的是( 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<k;i++)

for(j=0;j<k;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]);

}

image.png

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<k; j=j+2 )

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<stdio.h>

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)< p="">

{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<n;i++)< p="">

if(ave>a[i]) printf(“%f\n”, x[i]);

}

更多資料

廣東省專升本《大學(xué)語文》真題

云南專升本《高等數(shù)學(xué)》真題(2019年)

統(tǒng)招專升本《高等數(shù)學(xué)》真題回憶版(2021年)

更多課程

《市場營銷學(xué)》公開課—業(yè)務(wù)成長戰(zhàn)略

1節(jié)課

《基礎(chǔ)會(huì)計(jì)》公開課—會(huì)計(jì)要素-反映財(cái)務(wù)狀況的會(huì)計(jì)要素

1節(jié)課

《管理學(xué)》公開課——馬斯洛需要層次理論

1節(jié)課

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

專升本備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

資料下載
  • 統(tǒng)招專升本《大學(xué)語文》真題資料

    下載
  • 統(tǒng)招專升本《大學(xué)語文》真題回憶版(2021年)

    下載
  • 統(tǒng)招專升本《大學(xué)語文》備考資料一

    下載
  • 全國版專接本《大學(xué)語文》真題匯編

    下載