2022-2023年山西省陽泉市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第1頁
2022-2023年山西省陽泉市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第2頁
2022-2023年山西省陽泉市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第3頁
2022-2023年山西省陽泉市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第4頁
2022-2023年山西省陽泉市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2022-2023年山西省陽泉市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。

A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4

2.

3.有以下程序:#include<stdio.h>#include<string.h>main(){printf(“%d\n”,strlen(“0\t\n\0C011\1”));}程序運(yùn)行后的輸出結(jié)果是()。

A.3B.13C.1D.0

4.采用折半查找法查找長度為n的線性表時(shí),每個(gè)元素的平均查找長度為()。

A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)

5.在一個(gè)帶頭結(jié)點(diǎn)的單鏈表HL中,若要在第一個(gè)元素之前插入一個(gè)由指針p指向的結(jié)點(diǎn),應(yīng)該使用的語句為()

A.HL=p;p->next=HL;

B.p->next=HL;HL=p;

C.p->next=HL->next;HL->next=p;

D.p->next=HL;p=HL;

6.設(shè)abcdef以所給的次序進(jìn)棧,若在進(jìn)棧操作時(shí),允許退棧操作,則下面得不到的序列為()。

A.fedcbaB.bcafedC.dcefbaD.cabdef

7.以下不能定義為用戶標(biāo)識符的是()。

A.scanfB.VoidC.3comD.int

8.以下敘述中錯(cuò)誤的是()。

A.線性結(jié)構(gòu)也能采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

B.線性結(jié)構(gòu)一定能采用順序存儲(chǔ)結(jié)構(gòu)

C.有的非線性結(jié)構(gòu)也能采用順序存儲(chǔ)結(jié)構(gòu)

D.非線性結(jié)構(gòu)一定不能采用順序存儲(chǔ)結(jié)構(gòu)

9.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.Sun,f,90,Sun,f,90

B.Zhao,m,85,Sun,f,90

C.Zhao,m,85,Qian,f,95

D.Sun,f,90,Qian,f,95

10.

11.有以下程序:#includeintadd(inta,intb){return(a+b);}Main(){Intk,(*f)(),a=5,b=10;f=add;...}則以下函數(shù)調(diào)用語句錯(cuò)誤的是()。A.k=f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=*f(a,b);

12.

13.if語句基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。

A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值

14.已有定義int(*q)(),指針q可以()。

A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型

15.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n—c>d)運(yùn)算后,n的值是()n

A.0B.1C.2D.3

16.C程序的基本模塊為()。

A.表達(dá)式B.標(biāo)識符C.語句D.函數(shù)

17.下面程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}

A.1B.2C.7D.10

18.有以下程序:#include<stdio.h>main(){intx=072;printf(“>%d<\n”,x+1);}程序運(yùn)行后的輸出結(jié)果是()。

A.>073<B.>73<C.>142<D.>59<

19.有以下程序:#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)));}程序運(yùn)行后的輸出結(jié)果是()。

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

20.以下函數(shù)調(diào)用語句中含有實(shí)參個(gè)數(shù)為().func((exp1,exp2),(exp3,exp4,exp5));

A.1個(gè)B.2個(gè)C.4個(gè)D.5個(gè)

二、2.填空題(20題)21.以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。

#defineN4

voidrotate(inta[][N],intb[][N])

{inti,j;

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

{b[i][N-1]=______;______=a[N-1][i];}

}

22.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請?zhí)羁铡?/p>

intfun(intn)

{intm=0,f=1,i;

for(i=1;i<=n;i++)

{m+=i*f;

f=【】;

}

returnm;

}

main()

{printf("m=%d\n",【】)};

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

intn='c';

switch(n++)

{default:printf("error");break;

case'a':

case'A':

case'b':

case'B':printf("good");break;

case'c':case'C':printf("pass");

case'd':case'D':printf("warn");

}

24.下列程序的運(yùn)行結(jié)果為【】。

main()

{inti;

chara[]="Ilovechina!",b[20],*p1,*p2;

p1=a;

p2=b;

while(*p1)

{*p2=*p1;

p1++;

p2++;

}

*p2='\0';

printf("stringbis:%s\n",b);

}

25.以下程序運(yùn)行后的輸出結(jié)果是______。

#include<string.h>

main()

{charch[]="abc",x[3][4];inti;

for(i=0;i<3;i++)strcpy(x[i],ch);

for(i=0;i<3;i++)printf("%s",&x[i][i]);

printf("\n");

}

26.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。

27.使用結(jié)構(gòu)體處理數(shù)據(jù)的場合是【】。

28.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。

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

#include<stdio.h>

main()

{inti;

for(i=′a′;i<′f′;i++,i++)printf("%c",i-′a′+′A′);

printf("\n");

}

30.在關(guān)系模型中,二維表的行稱為______。

31.下面程序

main()

{inti,j,m,n;

i=5;

j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

運(yùn)行后,i,j,m,n的值分別是_______。

32.在一個(gè)容量為25的循環(huán)隊(duì)列中,若頭指針front=16,尾指針rear=9,則該循環(huán)隊(duì)列中共有上【】個(gè)元素。

33.棧中允許進(jìn)行插入和刪除的一端叫做______。

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

main()

{inta[]={31,27,20,12,6,1),*p=a;

p++;

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

}

35.x、y、x均為int型變量,描述“x、y和z中至少有兩個(gè)為正數(shù)”的表達(dá)式是______。

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

main()

{int=0;

while(n++<=1);

printf("%d,",n);

printf("%d",n++);

}

37.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請?zhí)羁铡?/p>

#include<stdio.h>

intfun(intn)

{intm=0,f=1,i;

for(i=1;i<=n;i++)

{m+=i*f;f=【】;}

returnm;

}

main()

{printf("m=%d\n",【】);}

38.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。

#defineN2

#defineMN+1

#defineKM+1*M/2

main()

{

inti;

for(i=1;i<K;i++)

{…}

}

39.類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對象是類的【】。

40.下列程序利用指針將2個(gè)數(shù)按從大到小的順序輸出。

main()

{inta,b,【】;

printf("inputa,b:");

scanf("%d%d",&a,&b);

【】;

p2=&b;

if(a<b)

{p=p1;

p1=p2;

p2=p;

}

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

printf("max=%dmin=%d\n",【】);

三、1.選擇題(20題)41.已定義以下函數(shù)

fun(int*p)

{return*p;}

該函數(shù)的返回值是()

A.不確定的值

B.形參p中存放的值

C.形參p所指存儲(chǔ)單元中的值

D.形參p的地址值

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

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

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

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

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

43.以下數(shù)組定義中錯(cuò)誤的是()。

A.intx[][3]={0};

B.intx[2][3]={{1,2},{3,4},{5,6}};

C.intx[][3]={{1,2,3},{4,5,6}};

D.intx[2][3]={1,2,3,4,5,6};

44.有如下程序#include<stdio.h>main(){FILE*fp1;fp1;fopen("ftxt","w");fprintf(fpl,"abc")fclose(fpl);}若文本文件f1.txt中原有內(nèi)容為:good,則運(yùn)行以上:程序后文件f1.Mt中的內(nèi)容為

A.goodabcB.abcdC.abcD.abcgood

45.設(shè)有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));則以下敘述中正確的是

A.輸出語句中格式說明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),不能正確輸出

B.運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息

C.輸出值為2002

D.輸出值為2003

46.若有如下程序;#defineX3#defineYX+1#defineZY*Y/2main(){intn;for(n=1;n<=Z;n++)printf("%d",n);}則程序運(yùn)行后的輸出結(jié)果是()

A.12345B.1234567C.12345678D.123456

47.()是不正確的C語言賦值語句。

A.x=1,y=2B.x++C.x=y(tǒng)=5D.y=int(x);

48.若有說明inti,j=2,*P=&i;,則能完成i=j賦值功能的語句是_______。

A.i=*p;B.*P2=*&j;C.i=&j;D.i=**p;

49.設(shè)有以下宏定義:#defineN3#defi0neY(n)(N+1)*n)則執(zhí)行語句“z=2*(N+Y(5+1));”后,z的值為()

A.出錯(cuò)B.42C.48D.54

50.設(shè)有定義語句:intx[6]={2,4,6,8,5,7),*p=x,i;要求依次輸出x數(shù)組6個(gè)元素中的值,不能完成此操作的語句是()。

A.for(i=0;i<;i++)printf("%2d",*(p++));

B.for(i=0;i<6;i++)printf("%2d",*(p+i));

C.for(i=0;i<6;i++)printf("%2d",*p++);

D.for(i=0;i<6;i++)printf("%2d",(*p)++);

51.根據(jù)下列的定義,能打印出字母P的語句是()

structstu{charname[10];

intage;

};

stmctstus[10]={"John",11,

"Paul",12,

"Mary",11,

"adam",12

}:

A.printf("%c",s[3].name);

B.printf("%c",s[3].name[1]);

C.printf("%c",s[2].name[11]);

D.printf("%c",s[1].name[0]);

52.以下敘述中錯(cuò)誤的是()。

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

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

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

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

53.設(shè)有以下說明語句:structex{intx;floaty;charz;}example;則下面敘述中不正確的是()。

A.struct是結(jié)構(gòu)體類型的關(guān)鍵字

B.example是結(jié)構(gòu)體類型名

C.x,y,z都是結(jié)構(gòu)體成員名

D.structex是結(jié)構(gòu)體類型名

54.已知inta=6;則執(zhí)行a+=a-=a*a;語句后,a的值為()。

A.36B.0C.-24D.-60

55.若有如下程序:#include"stdio.h"voidmain(){FILE*fp;fp=fopen("test","wb")fprintf(fp,"%d%.1f,%c%c",5,238.41,'B','h');fclose(fp);}則程序運(yùn)行后向文件輸出的結(jié)果是()

A.5238.41BhB.5238.4,BhC.5,238.4,B,hD.5238.41Bh

56.有以下程序:#include<stdio.h>main(){FLLE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat""w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dar","r");fp=fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);)程序運(yùn)行后的輸出結(jié)果是()。

A.2030B.2050C.3050D.3020

57.有以下程序:#include<stdio.h>main(){printf("%d\n",NULL);}程序運(yùn)行后的輸出結(jié)果是()。

A.0B.1C.-1D.NULL沒定義,出錯(cuò)

58.有以下程序int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b:8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}執(zhí)行后輸出結(jié)果是

A.7,8,8B.7,8,7C.8,7,7D.8,7,8

59.設(shè)有說明:inta=1,b=0;,則執(zhí)行以下語句的輸出結(jié)果是______。switch(a){case1:switch(b){case0:printf("**0**\n");break;case1:printf("**1*\n");break;}case2:printf("**2**\n");break;}

A.**0**B.**0****2**C.**0****1****2**D.switch語句中存在語法錯(cuò)誤

60.下面程序的輸出結(jié)果是()。chars()="ABCD",*p;main(){for(p=s;p<s+4;p++)printf("%s\n",p);)

A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA

四、選擇題(20題)61.以下選項(xiàng)中表示一個(gè)合法的常量是(說明:符號口表示空格)()。

A.9口9口9B.0XabC.123E0.2D.2.7e

62.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()。

A.i*m+j-1B.i*m+jC.J*m+iD.i*m+j+1

63.以下選項(xiàng)中,合法的一組c語言數(shù)值常量是()。

A.12.0Xtl234.5e0

B.028.5e-3-0xf

C.1774el.50abe

D.0x8A10,0003.e5

64.

65.以下敘述中正確的是()。

A.程序設(shè)計(jì)的任務(wù)就是編寫程序代碼并上機(jī)調(diào)試

B.程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)

C.程序設(shè)計(jì)的任務(wù)就是確定所用算法

D.以上三種說法都不完整

66.設(shè)fun函數(shù)的定義形式為

voidfun(charch,floatx){…}

則下列對函數(shù)fun的調(diào)用語句中,正確的是()。A.A.fun("abc",3.0);B.t=fun('D'.16.5);

C.fun('65',2.8);

D.fun(32,32);

67.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法

68.設(shè)有定義下列:inta=1,b=2,c=3,d=4,m=2,n=2;則表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值是()。

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

69.

70.有以下程序已知字母A的ASCIl碼為65,程序運(yùn)行后的輸出結(jié)果是()。

A.E。68B.D,69C.E,DD.輸出無定值

71.

72.有以下程序,程序中庫函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母:

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

A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!

73.關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()。

A.排序、索引、統(tǒng)計(jì)B.選擇、投影、連接C.關(guān)聯(lián)、更新、排序D.顯示、打印、制表

74.

下列程序執(zhí)行后的輸出結(jié)果是()。

main

{charx=0xFFFF;printf("%d\n",x--);}

A.-32767B.FFFEC.1D.32768

75.

76.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是()。

A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦臺

77.

78.有以下程序:

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

A.2344B.4332C.1234D.1123

79.分析以下程序的輸出結(jié)果是()。

main

{inta=5,b=-1,c;

c=adds(a,b);

printf(“%d”,c);

c=adds(a,b);

printf(“%d\n”,c);}

intadds(intx,inty)

{staticintm=0,n=3;

n*=++m;

m=n%x+y++;

return(m);}

A.2,3B.2,2C.3,2D.2,4

80.有以下程序

五、程序改錯(cuò)題(1題)81.由N個(gè)有序整數(shù)組成的數(shù)列已放在一維數(shù)組中,下列給定程序函數(shù)fun()的功能是:利用折半查找法查找整數(shù)m在數(shù)組中的位置。若找到,返回其下標(biāo)值;否則,返回-1。折半查找的基本算法是:每次查找前先確定數(shù)組中待查的范圍low和high(10w%high)。然后用m與中間位置(mid)上元素的值進(jìn)行比較。如果m的值大于中間位置元素的值,則下一次的查找范圍落在中間位置之后的元素中;反之,下一次的查找范圍落在中間位置之前的元素中,直到low>;high,查找結(jié)束。請改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),該函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為13579299946999813570則函數(shù)值為61。注意:部分源程序在文件prog1.c中。請勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:1#include2#include3#include4#defineM45#defineN56intfun(inta[m][n])7{89}10voidmain()11{12FILE*wf;13intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};14inti,j,y;15system("CLS");16printf("Theoriginaldatais:\n");17for(i=0;i<m;i++)18{for(j=0;j<n;j++)19printf("%6d",aa[i][j]);20printf("\n");21}22y=fun(aa);23printf("\nThesum:%d\nM,y);24printf("\n");25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%d",y);28fclose(wf)29/******************/30}

參考答案

1.D解析:本題主要考查左移、右移對數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。

2.B

3.AC語言中的轉(zhuǎn)義字符也是一個(gè)字符。字符串“0\\t\\n\\0C011\\1”,共有字符‘0’、‘\\t’、‘\\n’3個(gè)字符。strlen遇到‘\\0’字符計(jì)數(shù)結(jié)束,因此計(jì)數(shù)為3。故本題答案為A選項(xiàng)。

4.D

5.C

6.D

7.D解析:標(biāo)識符是C語言中用來表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語句標(biāo)號等用途的字符序列。標(biāo)識符由1~32個(gè)字符組成,第一個(gè)字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識符不能與C關(guān)鍵字相同,并區(qū)分大小寫。選項(xiàng)D)錯(cuò)誤,因?yàn)閕nt是C語言中的關(guān)鍵字。

8.D滿二叉樹與完全二叉樹均為非線性結(jié)構(gòu),但可以按照層次進(jìn)行順序存儲(chǔ)。本題答案為D選項(xiàng)。

9.A程序定義結(jié)構(gòu)體類型STU,定義類型STU的全局變量a。main函數(shù)定義局部類型為STU變量b,并對它初始化,調(diào)用函數(shù)f。將局部變量c的各個(gè)成員值賦給a,覆蓋a的舊值,將a的新值返回并賦給b,此時(shí)a、b的各個(gè)成員值都是Sun,f,90,程序輸出:Sun,f,90,Sun,f,90。本題答案為A選項(xiàng)。

10.D

11.DD)選項(xiàng)中*f(a,b)表示調(diào)用后返回一個(gè)指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類型,所以不能將其賦值給整形變量k。

12.C

13.D考查if循環(huán)語句。if(表達(dá)式),其中表達(dá)式是一個(gè)條件,條件中可以是任意的合法的數(shù)值。

14.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標(biāo)識符(*指針變量名)()。其中,“類型標(biāo)識符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。

15.C因?yàn)閍>b不成立,故表達(dá)式a>b的值為0,即為0賦給m,因此&&左邊表達(dá)式的值為0,0與任何值&&運(yùn)算都為0,于是不再計(jì)算&&右邊表達(dá)式的值,所以此時(shí)的n仍然為2。

16.D

17.B解析:本題考查函數(shù)的調(diào)用。函數(shù)fun2的作用是將形參x和y的值相乘后減去3,在fun2中的變量m是一個(gè)局部變量,它的值在fun2函數(shù)內(nèi)有效;在主函數(shù)中的m指的是全局變量,其值為13,所以fun2(a,b)/m的值為(7*5-3)/13,即2。

18.D題干中x是一個(gè)整型變量,賦值為072。以0開頭的整數(shù)是八進(jìn)制的表示形式。printf函數(shù)中,格式字符%d表示以十進(jìn)制形式輸出“x+1”,所以需要將072轉(zhuǎn)換成十進(jìn)制數(shù),即7×8+2=58,輸出“x+1”為59。故本題答案為D選項(xiàng)。

19.Bfun函數(shù)的功能是獲取2個(gè)數(shù)的平均值,注意平均值是整型數(shù),小數(shù)會(huì)被截?cái)唷U{(diào)用函數(shù)“fun(2*4,fun(5,6))”相當(dāng)于調(diào)用函數(shù)“fun(8,5)”,平均值是6。故本題答案為B選項(xiàng)。

20.B

21.a[0][i]b[i][0]a[0][i]\r\nb[i][0]解析:因?yàn)閿?shù)組a[N][N]的第0行表示為a[0][n](n=0~3),而數(shù)組b[N][N]的最后一列表示為b[n][N-1)(n=0~3),所以前一空應(yīng)該填a[0][i]。又因?yàn)閿?shù)組a[N][N]的最后一行表示為a[N-1)][n](n=0~3),而數(shù)組b[N][N]的第0列表示為b[n][0](n=0~3),所以后一空應(yīng)該填b[i][0]。

22.=-ffun(10)=-f\r\nfun(10)解析:本題要求調(diào)用fun()函數(shù)計(jì)算m的值,故在主函數(shù)中的空白處應(yīng)該填調(diào)用fun()函數(shù)的語句。fun()函數(shù)有一個(gè)形參n,為每次參加計(jì)算的值個(gè)數(shù),故在主函數(shù)中的空白處應(yīng)該填fun(10),在fun()函數(shù)中用到了一個(gè)for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時(shí)候,m的值等于m=1-2+…+[(-1)的i-1次方]*i,所以在fun()函數(shù)的空白處應(yīng)該填使f改變符號的語句,故應(yīng)填-f或其他等價(jià)形式。

23.passwarnpasswarn解析:n++是在執(zhí)行完其所在的語句后再加1,因此,在執(zhí)行case的時(shí)候,n的值依然為'c',執(zhí)行case'c'后面的語句,先打印出“pass”;在執(zhí)行完case'c'后,未遇到break跳出switch,便接著執(zhí)行下面的語句,又打印出warn。所以此題輸出結(jié)果是passwarn。

24.stringbis:Ilovechina!

25.abcbcc

26.軟件工程學(xué)軟件工程學(xué)

27.把不同類型的數(shù)據(jù)作為整體處理

28.物理獨(dú)立性數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)與存取方式的改變不會(huì)影響應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩級。

29.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為\'a\',執(zhí)行一次循環(huán)后變?yōu)閈'c\',之后再變成\'e\',當(dāng)其變?yōu)閈'g\'時(shí),循環(huán)條件若不滿足,循環(huán)終止,故本題共輸出3個(gè)字符。表達(dá)式'i-\'a\'+\ue008\'A\'\ue009'即表示輸出i對應(yīng)的大寫字母,結(jié)果為ACE。

30.元組元組解析:在關(guān)系型數(shù)據(jù)庫中,用二維表來表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。

31.611610。6,11,6,10。解析:本題考查自加的前置和后置的區(qū)別。

32.1818解析:設(shè)循環(huán)隊(duì)列的容量為n。若rear>front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front;若rear<front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為n+(rear-from)。題中,front=16,rear=9,即rear>front,所以,循環(huán)隊(duì)列中的元素個(gè)數(shù)為m+(rear-front)=25+(9-16)=18。

33.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。

34.1212解析:本題考查如何用指針引用數(shù)組元素。分析程序,首先定義了一個(gè)指向數(shù)組a的指針p,p指向數(shù)組的首地址,通過p++,將p指向a[1],p+2是將指針后移2位指向a[3],*(p+2)即是取a[3]的值12。

35.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個(gè)為正數(shù)”,即x、y和x這3個(gè)數(shù)中必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。

36.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時(shí),該循環(huán)什么都不做;n++是先取n的當(dāng)前值和I做比較,然后再將n加1。第一次循環(huán),n=0時(shí),循環(huán)條件n++=0<=1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時(shí),循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時(shí),循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時(shí)仍將n加1,得到n=3。退出循環(huán)后執(zhí)行printf語句,第二個(gè)printf語句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加1,即程序結(jié)束后得到n=4,但輸出的是3。

37.(-1)*ffun(10)(-1)*f\r\nfun(10)解析:本題利用一個(gè)fun函數(shù)來完成題目要求的計(jì)算。程序中變量f起的作用是控制i*f的符號,偶數(shù)位都為負(fù)值,第一處填(-1)*f。在main函數(shù)中要輸出fun函數(shù)返回的m值,因此第二處填fun(10),實(shí)參10傳給形參n。

38.44解析:將程序中所有的宏替換掉可得:M=2+1,K=2+1*2+1/2=4,所以for循環(huán)共循環(huán)了K-1+1次,即4-1+1共4次。

39.實(shí)例將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。所以,類是對象的抽象,對象則是其對應(yīng)類的一個(gè)實(shí)例。

40.*p*p1*p2p1:&a*p1*p2

41.C解析:本題考核的知識點(diǎn)是函數(shù)的返回值.函數(shù)的返回值應(yīng)該為return后面的表達(dá)式的值,在本題中的表達(dá)式為*p,*p指的是形參p所指存儲(chǔ)單元中的值,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

42.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ù)值為整型時(shí)類型標(biāo)識符可以省略,如果函數(shù)沒有返回值,類型標(biāo)識符可以是void型。當(dāng)函數(shù)的形參多于一個(gè)時(shí),各個(gè)形參之間用逗號分隔。

43.B解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化;②不分行進(jìn)行初始化;③部分?jǐn)?shù)組元素進(jìn)行初始化;④省略第一維的定義,不省略第二維的定義。選頃B)等號右邊分了3行,大于等號左邊數(shù)組的行數(shù)2。

44.C解析:本題考核的知識點(diǎn)是操作文件的幾個(gè)基本函數(shù)。主函數(shù)中定義了一個(gè)文件指針中1,然后通過fopen()函數(shù),以寫的方式打開文件“f1.txt’,并讓指針印1指向它,接著調(diào)用fptind()函數(shù)將“abc”寫到文件fp1所指的文件里,由于開始fp1指向文件的“f1.txt”的開始位置,因此“abc”將把文件“f1.txt”里原來的內(nèi)容“good”覆蓋掉,故文件“f1.txt”里最后的內(nèi)容為“abc”,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

45.D解析:逗號運(yùn)算符的結(jié)合性為從左到右,其一般形式為“表達(dá)成1,表達(dá)式2”,整個(gè)表達(dá)式的值為表達(dá)式2的值。故4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

46.D

47.D

48.B解析:指針是一種用來存放變量地址的特殊變量。本題中指針變量p用于存放整型變量i的地址,改變*p的值即為改變i的值。又因?yàn)椤?”和“*”兩個(gè)運(yùn)算符的優(yōu)先級別相同,按自右而左的方向結(jié)合,所以*&j先進(jìn)行&j運(yùn)算,得j的地址,再進(jìn)行*運(yùn)算,取所得地址里面的值,故*&j與j等價(jià)。

49.C

50.D解析:本題中首先定義了一個(gè)了維數(shù)組并初始化,接著定義了一個(gè)指針變量p指向數(shù)組x。因此可以通過指針p的下移,即每次加1引用數(shù)組x中的元素,來指向數(shù)組中的每個(gè)元素,這樣循環(huán)6次即可引用數(shù)組的每個(gè)元素。選項(xiàng)A和C,*和++的優(yōu)先級相同且都具有右結(jié)合性,p++是先使用p的值再對p加1,即先輸出*p的值,再將指針下移一位。選項(xiàng)B是取*(p+i)所對應(yīng)的存儲(chǔ)單元中的數(shù)據(jù)輸出,隨著i的遞增輸出x數(shù)組的6個(gè)元素。選項(xiàng)D中表達(dá)式為(*p)++,該表達(dá)式是先取*p的值然后將其值加1,而沒有將指針下移一位,故選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

51.D解析:本題主要考查按結(jié)構(gòu)數(shù)組元素方式引用結(jié)構(gòu)成員。字母P為“Paul”的第一個(gè)字母,是結(jié)構(gòu)體s[1]的name成員的第二個(gè)元素的值,即s[1].name[0]的值。

52.C解析:在C語言中,除字符數(shù)組外,一個(gè)數(shù)組不能通過數(shù)組名對數(shù)姐進(jìn)行整體引用,因此選項(xiàng)A是對的。數(shù)組名中存放的是一個(gè)地址常量,它代表整個(gè)數(shù)組的首地址,因此選項(xiàng)B是對的。C語言程序在運(yùn)行過程中,系統(tǒng)不自動(dòng)檢驗(yàn)數(shù)組元素的下標(biāo)是否越界,因此選項(xiàng)C是錯(cuò)誤的。C語官規(guī)定可以通過賦初值來定義數(shù)組的大小,這時(shí)數(shù)組說明符的一對方括號中可以不指定數(shù)組的大小,因此選項(xiàng)D也是正確的。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

53.B解析:本題中,structex是結(jié)構(gòu)體類型名,example是結(jié)構(gòu)體變量名。

54.D解析:此題考查的是賦值表達(dá)式。執(zhí)行語句“a+=a-=a*a;”時(shí),首先執(zhí)行a=a-a*a=-30,然后執(zhí)行a=a+a=-60。

55.B解析:本題對文件test輸出4個(gè)數(shù)據(jù),第一個(gè)5原樣輸出,第二個(gè)238.41只保留小數(shù)點(diǎn)后1位,然后輸出一個(gè)‘,’,再連續(xù)輸出兩個(gè)字符‘B’和‘h’。所以最終的輸出結(jié)果是5238.4,Bh。應(yīng)該選擇B。

56.A解析:本題首先以創(chuàng)建方式打開文件d1.dat,兩次調(diào)用fpnntf()把i和j的值寫到文件d1.dat中,文件d1.dat的內(nèi)容為20<回車>30<回車>后把該文件關(guān)閉再以讀的方式打開,文件位置指針指向文件頭,再通過fscanf()函數(shù)從中讀取兩個(gè)整數(shù)到k和n中,由于格式符無間隔,因此輸入數(shù)據(jù)可以用回車隔開,故輸入的k值為20,n值為30。所以4個(gè)選項(xiàng)中A正確。

57.A解析:在C語言中NULL的ASCII碼值為0,而輸出函數(shù)要求以整形格式輸出,故最后的輸出數(shù)為0。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合愿意。

58.B解析:本題定義了一個(gè)返回值為指針的函數(shù)f(),此函數(shù)有兩個(gè)指針型的形參x和y,該函數(shù)的功能,是返回x和y指向的變量中值較小的那個(gè)指針變量。主函數(shù)中定義了兩個(gè)指針變量p和q,井讓它們指向了變量a和b,調(diào)用函數(shù)f(),返回指向的變量值較小的指針變量,r的值為指針變量p的值(變量a的地址),因此最后輸出的*p、*q和*r的值是7、8和7。

59.B解析:本題是switch-case語句的嵌套使用,外層switch語句的第一個(gè)分支(嵌套switch語句)執(zhí)行完后,沒有break;語句,將繼續(xù)執(zhí)行第二個(gè)分支。

60.A解析:p為指針型變量。第一次循環(huán),p=s,p的值為字符數(shù)組s的首地址,輸出字符串'ABCD'。p++,第二次循環(huán),p的值為字符數(shù)組s的首地址加1,輸出字符串'BCD'。p++,第三次循環(huán),p的值為字符數(shù)組s的首地址加2,輸出字符串'CD'。p++,第4次循環(huán),p的值為字符數(shù)組s的首地址加3,輸出字符串\'D'。

61.B當(dāng)用指數(shù)形式表示浮點(diǎn)數(shù)據(jù)時(shí),E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。

62.B解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,總是先存放第一行的元素,再存放第二行的元素。數(shù)組第一維的下標(biāo)是i,說明它前面還有i行,有i*m個(gè)元素,數(shù)組第二維的下標(biāo)是j,說明它前面還有j列,有j個(gè)元素,所以共有i*m+j個(gè)元素。

63.Ac語言中八進(jìn)制整型常量的開頭是數(shù)字0,十六進(jìn)制整型常量的開頭是數(shù)字c語言中的實(shí)型常量有兩種表示形式:小數(shù)形式,小數(shù)形式表示的實(shí)型常量必須要有小數(shù)點(diǎn);指數(shù)形式,以“e”或“E”后跟一個(gè)整數(shù)來表示以10為底數(shù)的冪數(shù),且規(guī)定字母e或E之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。B)選項(xiàng)中028錯(cuò)誤,八進(jìn)制中沒有數(shù)字8。C)選項(xiàng)中4el.5中e后面的指數(shù)不是整數(shù)。D)選項(xiàng)中e5小數(shù)點(diǎn)后面缺少數(shù)字。因此本題答案為A)。

64.C

65.D\n程序設(shè)計(jì)是指設(shè)計(jì)、編制、調(diào)試程序的方法和過程。內(nèi)容涉及有關(guān)的基本概念、工具、方法以及方法學(xué)等。程序設(shè)計(jì)通常分為問題建摸、算法設(shè)計(jì)、編寫代碼和編譯調(diào)試4個(gè)階段。

\n

66.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個(gè)形參為字符型,所以A不符合,第二個(gè)形參為精度型,所以D不符合,函數(shù)fun定義為void型(無論返回值型),故其沒有返回值,所以選項(xiàng)B錯(cuò)誤

溫馨提示

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

最新文檔

評論

0/150

提交評論