2021-2022年河南省鄭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第1頁
2021-2022年河南省鄭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第2頁
2021-2022年河南省鄭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第3頁
2021-2022年河南省鄭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第4頁
2021-2022年河南省鄭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2021-2022年河南省鄭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)));}程序的運行結(jié)果是()。

A.6B.3C.8D.12

2.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向一個鏈表中連續(xù)的三個節(jié)點。structnode{chardata;structnode*next;}*p,*q,*r;

現(xiàn)要將q和r所指節(jié)點交換前后位置,同時要保持鏈表的連續(xù),以下不能完成此操作的語句是()。

A.q->next=r->next;p->next=r;r->next=q;

B.p->next=r;q->next=r->next;r->next=q;

C.q->next=r->next;r->next=q;p->next=r;

D.r->next=q;p->next=r;q->next=r->next;

3.下列程序是用來判斷數(shù)組中特定元素的位置所在的。#include<conio.h>#include<stdio.h>intfun(int*s,intt,int*k){inti;*k=0;for(i=0;i<t;i++)if(s[*k]<s[i])*k=i;returns[*k];}main(){inta[10]={876,675,896,101,301,401,980,431,451,777},k;fun

A.7,431B.6C.980D.6,980

4.以下敘述中錯誤的是A.算法正確的程序最終一定會結(jié)束

B.算法正確的程序可以有零個輸出

C.算法正確的程序可以有零個輸入

D.算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果

5.設(shè)有一個棧,元素依次進(jìn)棧的順序為A、B、C、D、E。下列()是不可能的出棧序列。

A.A,B,C,D,EB.B,C,D,E,AC.E,A,B,C,DD.E,D,C,B,A

6.若長度為n的線性表采用順序存儲結(jié)構(gòu),在其第i個位置插入一個新元素的算法的時間復(fù)雜度為()。

A.O(0)B.O(1)C.O(n)D.O(n2)

7.以下敘述中錯誤的是()。

A.形參可以是常量、變量或表達(dá)式

B.實參可以是常量、變量或表達(dá)式

C.實參的類型應(yīng)與形參的類型賦值兼容

D.實參的個數(shù)應(yīng)與形參的個數(shù)一致

8.

9.下列運算符中,運算對象必須是整型的是()。

A./B.%=C.=D.&

10.若果要求一個線性表既能較快查找,又能適應(yīng)動態(tài)變化的要求,可以采用()查找方法。

A.分塊B.順序C.二分D.散列

11.已知大寫字母A的ASCII值是65,小寫字母a的ASCII值是97。下列不能將變量c中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是()。

A.c=(‘A’,+c)%26-‘a(chǎn)’B.c=c+32C.c=c-‘A’+‘a(chǎn)’D.c=(c-‘A’)%26+‘a(chǎn)’

12.下列程序的輸出結(jié)果是()。#include<stdio.h>main{structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un))}A.6,2B.6,4C.8,4D.8,6

13.交換兩個變量的值,不允許用臨時變量,應(yīng)該使用下列()位運算符。

A.&.B.^C.||D.~

14.若一棵二叉樹具有10個度為2的結(jié)點,5個度為1的結(jié)點,則度為0的結(jié)點的個數(shù)是()。

A.9B.11C.15D.不能確定

15.

16.折半查找法的查找速度一定比順序查找法快()。

A.正確B.錯誤

17.若有定義“intk=7,x=12;”,則以下表達(dá)式值為3的是()。

A.(x%=k)-(k%=5)B.x%=(k%=5)C.x%=(k-k%5)D.x%=k-k%5

18.

19.若有下列說明和語句,則對結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;

A.st.iB.*p.iC.(*p).iD.p->i

20.

有以下程序:

main

{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,

12,},{13,14,15,16}},i,j;

for(i=0;i<4;i++)

{for(j=0;j<i;j++)printf("%4c",);

for(j=________;J<4;j++)printf("%4d",num

[i][j]);

printf("\n");}}

若要按以下形式輸出數(shù)組右上半三角

1234

678

1112

16

則在程序下劃線處應(yīng)填入的是()。

A.i-1B.iC.i+1D.4一i

二、2.填空題(20題)21.設(shè)有定義:

struct{inta;floatb;charc;}abc;*p_abc=&abc;

則對結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。

22.已知字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果是______。

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

printf("%d%c\n",a,B);

}

23.以下程序的輸出結(jié)果是【】。

main()

{

intarr[]={30,25,20,15,10,5},*p=arr;

p++;

printf("%d\n",*(p+3));

}

24.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。

25.C語言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。

26.以下程序運行后輸入3,abcde<回車>,則輸出結(jié)果是【】。

#include<string.h>

move(char*str,intn)

{chartemp;inti;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1];

str[0]=temp;

}

main()

{chars[50];intn,i,z;

scanf("%d,%s",&n,s);

z=strlen(S);

for(i=1;i<=n;i++)move(s,z);

printf("%s\n",s);

}

27.有以下定義和語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

28.以下程序的輸出結(jié)果是【】。

main()

{charc=′z′;

printf("%c",c-25);}

29.設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為【】。

30.如果調(diào)用fopen函數(shù)不成功,則函數(shù)返回【】;如果調(diào)用fclose函數(shù)不成功,則函數(shù)返回【】。

31.下列程序的運行結(jié)果是______。

#include<stdio.h>

main()

{inta=10,b=3;

printf("%d,",a%b);

printf("%d,",(a-b,a+b));

printf("%d\n",a-b?a-b:a+b);

}

32.數(shù)據(jù)庫管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。

33.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

34.下面程序的功能是:計算110之間的奇數(shù)之和與偶數(shù)之和,請?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta,b,c,I;

a=c=0;

for(I=0;I<=10;I+=2)

{a+=I;

【】;

c+=b;}

printf("偶數(shù)之和=%d\n",a);

printf("奇數(shù)之和=%d\n",c-11);}

35.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為______。

36.下列程序輸出的結(jié)果是______。

intm=17;

intfun(intx,inty)

{intm=3;

return(x*Y-m);

}

main()

{inta=5,b=7;

printf("%d\n",fun(a,B)/m);

}

37.以下程序運行后的輸出結(jié)果是【】。

#include<stdio,h>

main()

{inta=3,b=4,c=5,t=99;

if(b<a&&a<c)t=a;a=c;c=t;

if(a<e&&b<c)t=b;b=a;a=t;

printf("%d%d%d\n",a,b,e);

}

38.用十六進(jìn)制給存儲器中的字節(jié)地址進(jìn)行編號,其地址編號從0000到FFFF,則該存儲器容量是【】。

39.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。

#include"stdio.h"

main()

{charfun(char,int);

chara='A';

intb=13;

a=fun(a,b);

putchar(a);}

charfun(chara,intb)

{chark;

k=a+b;

returnk;}

40.算法執(zhí)行過程中所需要的基本運算次數(shù)稱為算法的______。

三、1.選擇題(20題)41.有如下程序:main(){charch[2][5]={"6937","8254"},*p[2];inti,j,S=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",S);}該程序的輸出結(jié)果是()。

A.69825B.63825C.693825D.6385

42.以下能正確定義整型變量a,b和c,并為其賦初值1的語句是______。

A.inta=b=c=1;B.inta,b,c=1;C.a=b=c=1;D.inta=1,b=1,c=1;

43.下列敘述中正確的是()。

A.在賦值表達(dá)式中,賦值號的左邊既可以是變量,也可以是任意表達(dá)式

B.實型變量中允許存放整型數(shù)

C.若a和b類型相同,在執(zhí)行了賦值a=b后,b中的值將放入a中,但b中的值不變

D.在C程序中,求余運算符“%”兩邊的類型相同時才能進(jìn)行運算

44.能將高級語言程序轉(zhuǎn)換成目標(biāo)語言程序的是______。

A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序

45.字符(char)型數(shù)據(jù)在微機內(nèi)存中的存儲形式是______。

A.反碼B.補碼C.EBCDIC碼D.ASCII碼

46.按照“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A.隊列B.棧C.雙向鏈表D.二叉樹

47.以下程序的輸出結(jié)果是main(){intb[3][3]={0,1,2,O,l,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t=t+b[i][b[j][j]];printf("%d\n",t);}

A.3B.4C.1D.9

48.以下敘述中錯誤的是()

A.在C程序中,APH和aph是兩個不同的變量

B.C程序中的變量,代表內(nèi)存中的一個存儲單元,它的值可以根據(jù)需要隨時修改

C.在C程序中,無論是整數(shù)還是實數(shù),都能準(zhǔn)確無誤地表示

D.在C程序中,一個正整數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式來表示

49.下列合法的整型常量的表示是

A.98B.oXdeC.32767D.0xDG

50.程序中對fun()函數(shù)有如下說明void*fun();此說明的含義是______。

A.fun函數(shù)無返回值

B.fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型

C.fun函數(shù)的返回值是無值型的指針類型

D.指針fun指向一個函數(shù),該函數(shù)無返回值

51.若運行以下程序時,從鍵盤輸入ADescriptor<回車>,則下面程序的運行結(jié)果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do{switch(c=getehar()){case'a':case'A':case'e':case'E':case'i':case'I':case'o':case'O':case'u':case'U':v1+=1default:v0+=1;v2+=1;}}while(c!='\n');printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}

A.v0=7,v1=4,v2=7

B.v0=8,v1=4,v2=8

C.v0=11,v1=4,v2=11

D.v0=13,v1=4,v2=12

52.若變量已正確定義,有以下程序段:i=0;doprintf("%d,",i);while(i++);printf("%d\n",i);其輸出結(jié)果是()。

A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)

53.若調(diào)用fputc函數(shù)輸出字符成功,則其返回值是()。

A.EOFB.1C.0D.輸出的字符

54.下列描述中不正確的是()。

A.字符型數(shù)組中可以存放字符串

B.可以對字符型數(shù)組進(jìn)行整體輸入、輸出

C.可以對整型數(shù)組進(jìn)行整體輸入、輸出

D.不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進(jìn)行整體賦值

55.下列程序執(zhí)行后輸出的結(jié)果是()#include<stdio.h>f(intA){intb=0;staticc=3;a=c++,b++;return(A);}main(){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}

A.3B.0C.5D.4

56.以下正確的說法是______。

A.實參和與其對應(yīng)的形參各占用獨立的存儲單元

B.實參和與其對應(yīng)的形參共用一個存儲單元

C.只有當(dāng)實參和與其對應(yīng)的形參同名時才共用存儲單元

D.型參是虛擬的,函數(shù)在沒有被調(diào)用時,不占用存儲單元

57.在面向?qū)ο蠓椒ㄖ校?)描述的是具有相似屬性與操作的一組對象。

A.屬性B.事件C.方法D.類

58.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)If(a[i]<a[p])______,return(p);}在橫線處應(yīng)填入的是______。

A.i=pB.a[p]=a[i]C.p=jD.p=i

59.if語句的基本形式為:if(表達(dá)式)語句,其中“表達(dá)式”()。

A.可以是任意合法的表達(dá)式B.必須是邏輯表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.必須是關(guān)系表達(dá)式

60.下面的程序main(){intx=3;do{printf("%d\n",x-=2);}while(!(--x));}

A.輸出的是1B.輸出的是1和-2C.輸出的是3和0D.是死循環(huán)

四、選擇題(20題)61.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達(dá)式是()。

A.&t[3][2]B.t[3]C.t[l]D.t[2][2]

62.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(工具軟件)。下面屬于應(yīng)用軟件的是().

A.編譯程序B.操作系統(tǒng)C.教務(wù)管理系統(tǒng)D.匯編程序

63.

64.概要設(shè)計是軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計,以下選項中不屬于概要設(shè)計的是()。A.A.把軟件劃分成模塊B.確定模塊之間的調(diào)用關(guān)系C.確定各個模塊的功能D.設(shè)計每個模塊的偽代碼

65.

66.當(dāng)執(zhí)行下面的程序時,如果輸入ABC,則輸出結(jié)果是()。

#include<stdio.h>

#include<string.h>

voidmain()

{charss[10]="12345",

gets(ss);strcat(ss,"6789");

printf("%s\n",ss);

}

A.ABC6789B.ABC67C.12345ABC6D.ABC456789

67.第

1

若有運算符<<,sizeof,^,&=,則它們按優(yōu)先級由高至低的正確排列次序是

A.sizeof,&=,<<,^

B.sizeof,<<,^,&=

C.^,<<,sizeof,&=

D.<<,^,&=,sizeof

68.利用fseek函數(shù)可實現(xiàn)的操作是()。

A.實現(xiàn)文件的順序讀寫B(tài).改變文件的位置指針C.實現(xiàn)文件的隨機讀寫D.以上答案均正確

69.

70.下列哪個不屬于DOM元素結(jié)點類型?

A.元素結(jié)點B.文本結(jié)點C.屬性結(jié)點D.樣式結(jié)點

71.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用退役的過程

B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程

C.軟件的開發(fā)過程

D.軟件的運行維護(hù)過程

72.4個元素A、B、C、D依次入棧,入棧過程中允許棧頂元素出棧,假設(shè)某一時刻棧的狀態(tài)是C(棧頂)、B、A(棧底),則不可能的出棧順序是()。

A.D、C、B、A

B.C、B、D、A

C.C、A、D、B

D.C、D、B、A

73.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)

74.函數(shù)調(diào)用strcat(strcpy(str1,str2),str3)的功能是()。

A.將字符串str1復(fù)制到字符串str2中后再連接到字符串str3之后

B.將字符串str1連接到字符串str2之后再復(fù)制到字符串str3之后

C.將字符串str2復(fù)制到字符串str1之后再將字符串str3連接到字符串str1之后

D.將字符串str2連接到字符串str1之后再將字符串strl復(fù)制到字符串str3中

75.以下敘述中錯誤的是()。

A)對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出

B)數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變

C)當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界的出錯信息”

D)可以通過賦初值的方式確定數(shù)組元素的個數(shù)

76.下列敘述中正確的是()。

A.算法的執(zhí)行效率與數(shù)據(jù)存儲結(jié)構(gòu)無關(guān)

B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)

C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止

D.以上3種描述都不對

77.

78.

79.

80.有以下程序:

程序運行后的輸出結(jié)果是()。

A..3,2,1,B.1,2,3,4,5,6,C.1,1,1,1,1,lD.6,6,6,6,6,6,

五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc的功能是:判斷字符ch是,與str所指字符串中的某個字符相同;若相同,則什么也不做,若不同,則將其插在串的最后。請修改程序中的錯誤,使它能得出正確的結(jié)果。

注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

//****found****

voidproc(charstr,charch)

{

while(*str&&*str!=ch)str++;

//****found****

if(*str==ch)

{str[0]=ch;

//****found****

str[1]=0:

}

}

voidmain

{

charstr[81],ch;

system("CLS");

printf("\nPleaseenterastring:");

gets(str);

printf("\nPleaseenterthecharacterto

search:");

ch=getchar;

proc(str,ch);

printf("\nTheresultis%s\n",str);

}

六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。此程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)該函數(shù)的功能是使數(shù)組下三角元素中的值乘以n。注意:部分源程序給出如下。請勿改動函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineN5voidfun(inta[][N],intn){}main(){inta[N][N],n,i,j;printf(“*****Thearray*****\n”);for(i=0;i<n;i++)<p=""></n;i++)<>{for(j=0;j<=""p="">{a[i][j]=rand()%10;printf(“%4d”,a[i][j]);}printf(“\n”);}n=rand()%4;printf(“n=%4d\n”,n);fun(a,n);printf(“*****TheResult*****\n”);for(i=0;i<=""p="">{for(j=0;j<=""p="">printf(“%4d”,a[i][j]);printf(“\n”);}}

參考答案

1.A本題中,fun函數(shù)第1次調(diào)用為fun(8,fun(5,6))。因為fun(5,6)的返回值為5,所以第2次調(diào)用為fun(8,5),即返回值為6。故本題答案為A選項。

2.D解析:D中的操作將會丟失r后面的鏈表結(jié)構(gòu),不能保持鏈表的連續(xù)。

3.D解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運算。此外,一開始應(yīng)知道*k的值為數(shù)組中的某一下標(biāo)值,即*k=0,本函數(shù)的功能是找出數(shù)組中的最大元素的位置及最大元素的值。

4.B(45)B)解析:算法應(yīng)該具有下列五個特性:

①有窮性:一個算法必須在執(zhí)行有窮步之后結(jié)束。

②確定性:算法中的每一步,必須有確切的含義,在他人理解時不會產(chǎn)生二義性。

③動態(tài)性:算法中描述的每一步操作都可以通過已有的基本操作執(zhí)行有限次實現(xiàn)。

④輸入:一個算法應(yīng)該有零個或多個輸入。

⑤輸出:一個算法應(yīng)該有一個或多個輸出。這里所說的輸出是指與輸入有某種特定關(guān)系的量。

5.C

6.C

7.A函數(shù)中,形參必須是變量,實參可以是常量、變量或表達(dá)式,選項A錯誤,選項B正確;實參的個數(shù)和類型要與形參一致,選項C、D正確。本題答案為A選項。

8.B

9.B

10.A

11.A根據(jù)題意可知,小寫字母比與之對應(yīng)的大寫字母的ASCII值大32。A選項中字符W加變量c再對字母個數(shù)26取余,不能轉(zhuǎn)換為對應(yīng)的小寫字母。故本題答案為A選項。

12.B本題主要考查結(jié)構(gòu)和聯(lián)合內(nèi)存使用的一些區(qū)別:結(jié)構(gòu)中每個成員相互獨立,一個結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個成員所占內(nèi)存空間大小的總和;聯(lián)合所占用內(nèi)存空間是指最長的成員占用的空間。

13.B按邏輯位運算特點:①用按位與運算將特定位清為0或保留特定位;②用按位或運算將特定的位置為1;③用按位異或運算將某個變量的特定位翻轉(zhuǎn)或交換兩個變量的值。

14.B

15.D

16.B

17.A選項A中,表達(dá)式“x%=k”結(jié)果為5,表達(dá)式“k%=5”結(jié)果為2,5-2結(jié)果為3;選項B中,“k%=5”結(jié)果為2,“x%=2”結(jié)果為0;選項C中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,“x%5”結(jié)果為2;選項D中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,x%5結(jié)果為2。故本題答案為A選項。

18.B

19.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問結(jié)構(gòu)體的成員,可以通過結(jié)構(gòu)變量訪問,即st.i,也可以用等價的指針形式,即(*p).i和p->i。

20.B

\n本題中要求輸出右上半角的數(shù),對角線上的數(shù)的下標(biāo)相同,所以j=i。

\n

21.->->解析:結(jié)構(gòu)變量abc有成員a,并有指針pabc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的形式有abc.a和p_abc->a。

22.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術(shù)運算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進(jìn)制整數(shù)和字符形式輸出a和b的值為:67G。

23.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個元素30,p++后,指針指向數(shù)組的下一個元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時,則相當(dāng)于a[1+3],即10。因此,輸出應(yīng)為100。

24.floatfloat解析:在此表達(dá)式中x是float類型的變量,經(jīng)過開方所得到的結(jié)果仍是float類型,再和2.8進(jìn)行運算時,應(yīng)該先將2.8轉(zhuǎn)換成float類型再運算,最后結(jié)果仍是float型。

25.非0非0解析:邏輯運算中,非0表示邏輯“真”,用。表示邏輯“假”。

26.cdeabcdeab解析:本題move()函數(shù)的作用,是將形參s仕所指地址的連續(xù)n位循環(huán)右移1位,即讓str[n-1]=str[n-2],str[n-2]=str[n-3],…,str[1]=str[0],str[0]=str[n-1](原)。主函數(shù)中用了一個for循環(huán)調(diào)用move()函數(shù),共循環(huán)3次,所以數(shù)組s被循環(huán)右移了3位,故最后輸出的值為cdeab。

27.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個成員分別占有其自己的內(nèi)存單元。int占2個字節(jié),float占4個字節(jié),共用體變量所占的內(nèi)存長度等于最長的成員的長度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。

28.aa解析:'z'的ASCII碼值為122,經(jīng)過c-25運算后,得97,以字符形式輸出是a。

29.33解析:本題考查的是C語言逗號表達(dá)式的相關(guān)知識。程序在計算逗號表達(dá)式時,從左到右計算由逗號分隔各表達(dá)式的值,整個逗號表達(dá)式的值等于其中最后一個表達(dá)式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計算為3。

30.NULL或0EOF或-1NULL或0\r\nEOF或-1解析:如果fopen()函數(shù)調(diào)用不成功,則返回一個空指針值NULL(0);如果fclose()函數(shù)調(diào)用不成功,則返回EOF(-1)。所以本題的兩個空應(yīng)分別填NULL和EOF。

31.11371,13,7解析:本題考查3個知識點:①余數(shù)的計算,題中的a=10,b=3,a%b=1;②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。

32.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是幫助用戶創(chuàng)建和管理數(shù)據(jù)庫的應(yīng)用程序的集合。因此,數(shù)據(jù)庫管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務(wù)。

33.軟件開發(fā)

34.b=I+1b=I+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2后的和累加至a,所以a的值就是110之間的偶數(shù)之和;b的值是111之間的奇數(shù)和,但在輸出b值時,c去掉多加的11,即為110之間的奇數(shù)之和。

35.1212解析:本題考查逗號表達(dá)式的運算規(guī)則。逗號表達(dá)式的基本格式為:“表達(dá)式1,表達(dá)式2,…”,其整個表達(dá)式的結(jié)果取最后一個子表達(dá)式的值。本題中首先計算逗號表達(dá)式中的第1個表達(dá)式a=2*3=6,然后計算第2個表達(dá)式a*2,這時整個表達(dá)式的值為12,但要注意,因為第2個表達(dá)式并沒有給a賦值,因此a的值不變;接下來執(zhí)行最后一個表達(dá)式a+6=12,所以整個表達(dá)式最后的值為12。

36.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級和塊級的變量,全局變量是指作用域在程序級和文件級的變量。本程序首先定義了一個全局變量m=17,m=17的作用域在整個程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過fun函數(shù)返回兩個形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。

37.45994599解析:要注意每條證語句后面是三條語句,而不是一條語句。執(zhí)行第一條if語句時,條件表達(dá)式不成立,執(zhí)行a=c;c=t;,此時a=5,c=99;執(zhí)行第二條if語句時,條件表達(dá)式成立,執(zhí)行t=b;b=a;a=t;交換a,b的值,輸出結(jié)果為4,5和99。

38.64KB

39.NN解析:函數(shù)說明語句中的類型名必須與函數(shù)返回值的類型一致。本題實現(xiàn)的是在字符“A”的ASCII碼值上加上一個常數(shù),使之變成另一個ASCII碼值,從而輸出字符。

40.時間復(fù)雜度時間復(fù)雜度解析:算法在執(zhí)行過程中所執(zhí)行的基本運算的次數(shù),也就是執(zhí)行算法所需要的計算工作量,稱為算法的時間復(fù)雜度。

41.D解析:“for(i=0;i<2;i++)p[i]=ch[i];”是將字符串'6937'和'8254'的首地址分別賦給指針數(shù)組p的兩個元素。下面的for循環(huán)嵌套是取二維字符數(shù)組ch偶數(shù)列上的數(shù)字字符,將它們組成一個數(shù)。所以選項D符合題意。

42.D解析:選項A中,變量b、c未定義;選項B中,a、b未賦值;選項C中a、b、c均未定義。

43.B解析:選項A),在賦值表達(dá)式中,賦值號的左邊只能是變量或者是代表某個存儲單元的表達(dá)式,不能是任意表達(dá)式。

在判斷選項B)時首先應(yīng)該建立這桿的概念,整型變量中只能存放整型數(shù),實型變量中能存放實型數(shù),也能存放整型數(shù)。

選項C),執(zhí)行表達(dá)式a=b后,將把變量b存儲單元中的值賦給變量a,從而覆蓋a中原有的值,但b中原有的值并不改變。

選項D),在C程序中,求余運算符“%”兩邊的類型均為整型數(shù)據(jù)。

44.C解析:用高級語言編寫的程序稱為“源程序”,而計算機只能識別和執(zhí)行由O和1組成的二進(jìn)指令,所以高級語言必須先用—種稱為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”。

45.D解析:將—個字符常量放到一個字符變量中,實際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲單元中。

46.BB.【解析】棧是一種特殊的線性表,其插入和刪除運算都只在線性表的一端進(jìn)行,而另一端是封閉的。進(jìn)行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元索是最后被插入的元素,也是最后被刪除的元素。棧是按先進(jìn)后出的原則組織數(shù)據(jù)的。

【知識拓展】“?!钡男问饺缡謽尩膹椣?,最后壓入的子彈總是最先被彈出,而最先壓人的子彈最后才被彈出,也就是“先進(jìn)后出”。

47.B解析:本題中定義了一個二維數(shù)組b并初始化,定義了一個變量t并賦初值1。接著通過一個二重循環(huán)將若干個元素的值加到變量t中。循環(huán)的執(zhí)行步驟是:外層循環(huán)變量i=0時,內(nèi)層循環(huán)變量j=i,執(zhí)行語句“t=t+b[i][b][j][j]]”,相當(dāng)于t=t+b[0][b][0][0]],由于b[0][0]的值為0,得到t的值為1;依次類推,循環(huán)共執(zhí)行了3次,最后輸出t的值為4。所以,4個選項中B為所選。

48.C

49.C解析:整型常量可以用+進(jìn)制、八進(jìn)制和+六進(jìn)制形式來表示。+進(jìn)制基本常量用一串連續(xù)的數(shù)字來表示,八進(jìn)制數(shù)用數(shù)字0開頭,+六進(jìn)制數(shù)用數(shù)字0和字母x或X開頭,各個進(jìn)制都需用各自合法的字符數(shù)字表示。選項A)中9是不合法的。選項B)+六進(jìn)制數(shù)字應(yīng)該用數(shù)字零和字母X(或x)開頭,選項D)中G不合法。

50.C解析:C語言中函數(shù)的定義分為有參函數(shù)的定義和無參函數(shù)的定義。無參函數(shù)的定義形式為:

類型標(biāo)識符函數(shù)名()

{說明部分

語句

}

有參函數(shù)的定義有兩種形式:

類型標(biāo)識符函數(shù)名(形式參數(shù)列表)

形式參數(shù)說明

{說明部分

語句

}

類型標(biāo)識符函數(shù)名(類型名形參1,類型名形參2,…)

{說明部分

語句

}

其中函數(shù)名為用戶定義的C語言的合法標(biāo)識符,其前面的類型標(biāo)識符用來說明函數(shù)值的類型,可以是C允許的任何類型,如int、char、float、double和指針類型等。當(dāng)函數(shù)值為整型時類型標(biāo)識符可以省略,如果函數(shù)沒有返回值,類型標(biāo)識符可以是void型。當(dāng)函數(shù)的形參多于一個時,各個形參之間用逗號分隔。

51.D解析:由于只有4個元音字符,所以v1=4,v0和v2在循環(huán)11次中都要加1,共循環(huán)12次,由于v0的初值為1,所以v0=13,v2=12。

52.B解析:對于do…while循環(huán),程序先執(zhí)行一次循環(huán)體,再判斷循環(huán)是否繼續(xù)。本題先輸出一次i的值“0,”,再接著判斷表達(dá)式i++的值,其值為0,所以循環(huán)結(jié)束。此時變量i的值經(jīng)過自加已經(jīng)變?yōu)?,程序再次輸出i的值“1”。

53.Dfputc函數(shù)的一般調(diào)用形式為fputc(ch,fp),其中ch是要輸出的字符,它可以是一個字符常量,也可以是一個字符變量,fp是文件指針變量。函數(shù)的作用是將字符(ch的值)輸出到fp所指向的文件中。

fputc函數(shù)也返回一個值,如果輸出成功,則返回值就是輸出的字符;如果輸出失敗,則返回一個EOF(-1)。因此,本題的正確答案選D。

54.C解析:本題考查對數(shù)組的理解。C語言規(guī)定只能逐個引用數(shù)組元素,而不能一次引用整個數(shù)組。對于字符數(shù)組,可以將整個字符串一次輸入或輸出。所以,選項C)不正確。

55.D

56.D解析:形參在個數(shù)和類型上要與實參匹配,形參在未被調(diào)用之前,不占用存儲單元。

57.D解析:類(calss)描述的是具有相似屬性與操作的一組對象,而一個具體對象則是其對應(yīng)類的一個實例。

58.D解析:該程序先判斷a[i]<a[p],如果條件為真,則a[i]比當(dāng)前設(shè)定的最小值小(p保留的當(dāng)前最小元素的下標(biāo)),那么將i賦給p,即將比較過的最小元素下標(biāo)保留在p中,作為下面判斷的標(biāo)準(zhǔn)。

59.A解析:本題考查if表達(dá)式。if(表達(dá)式)中的表達(dá)式可以為任何合法的表達(dá)式,一般情況下為邏輯、條件表達(dá)式,需要注意的是,當(dāng)?shù)忍?==)誤寫為賦值號(=)時不會報錯的,但是其值恒為1。

60.B

61.C數(shù)組的下標(biāo)是從0開始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個地址,但是也同樣越界了;選項C中表示的是第一個的首地址;選項D表示的為其元素的值,并不是地址。

62.C編譯程序、操作系統(tǒng)、匯編程序都屬于系統(tǒng)軟件.只有教務(wù)管理系統(tǒng)才是應(yīng)用軟件.因此本題答案為C):

63.A

64.D解析:概要設(shè)計是軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計,其目的就是要按照需求規(guī)格說明書,把軟件按照功能劃分為多個模塊,然后確定每個模塊要實現(xiàn)的功能,最后確定模塊之間的調(diào)用關(guān)系。而設(shè)計每個模塊的偽代碼則屬于詳細(xì)設(shè)計。所以只有最后一個不屬于概要設(shè)計范疇。

65.C

66.Astrcat函數(shù),gets函數(shù);首先將輸入的字符串賦給ss,然后將字符串“6789”連接到ss得后面

67.B本題主要考查運算符的優(yōu)先級。在C語言中包含算術(shù)運算符、關(guān)系運算符和邏輯運算符等。這些運算符的優(yōu)先級和結(jié)合方式在我們的教材《30天通過計算機等級考試:二級C語言》中可以查閱到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論