2011年10月自考00342高級(jí)語(yǔ)言程序設(shè)計(jì)一試題及答案含解析_第1頁(yè)
2011年10月自考00342高級(jí)語(yǔ)言程序設(shè)計(jì)一試題及答案含解析_第2頁(yè)
2011年10月自考00342高級(jí)語(yǔ)言程序設(shè)計(jì)一試題及答案含解析_第3頁(yè)
2011年10月自考00342高級(jí)語(yǔ)言程序設(shè)計(jì)一試題及答案含解析_第4頁(yè)
2011年10月自考00342高級(jí)語(yǔ)言程序設(shè)計(jì)一試題及答案含解析_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余4頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

高級(jí)語(yǔ)言程序設(shè)計(jì)(一)年月真題

00342201110

1、【單選題】自定義標(biāo)識(shí)符由字母、數(shù)字或下劃線組成,且第一個(gè)字符必須是()

數(shù)字

字母或數(shù)字

A:

數(shù)字或下劃線

B:

字母或下劃線

C:

答D:案:D

解析:在C語(yǔ)言中,合法的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,并且第1個(gè)字符必須為字

母或下劃線。

2、【單選題】運(yùn)算符優(yōu)先級(jí)符合由高到低排列的一組是()

+、!=、&&、=

&&、!=、+、=

A:

!=、+、=、&&

B:

&&、=、!=、+

C:

答D:案:A

解析:選項(xiàng)中給出的運(yùn)算符,優(yōu)先級(jí)符合由高到低排列為:+、!=、&&、=。

3、【單選題】轉(zhuǎn)義字符中正確的是()

'\'

'\xyz'

A:

'\\\'

B:

'\820'

C:

答D:案:C

解析:反斜線后為1~3為八進(jìn)制數(shù),選項(xiàng)D中的8不屬于八進(jìn)制數(shù)。反斜線后的十六進(jìn)

制數(shù)由小寫字母x開(kāi)頭,后面1~2位十六進(jìn)制數(shù),選項(xiàng)B中x后面不是十六進(jìn)制數(shù)。選

項(xiàng)A也是錯(cuò)誤的轉(zhuǎn)義字符,選項(xiàng)C是正確的轉(zhuǎn)義字符,表示字符\。

4、【單選題】下列程序段執(zhí)行后x、y和z的值分別是()intx=10,y=20,z=30;

if(x>y)z=x;x=y;y=z;

10,20,30

A:

20,30,30

20,30,10

B:

20,30,20

C:

答D:案:B

解析:x>y不成立,所以z=x;不執(zhí)行,繼續(xù)執(zhí)行x=y;x的值變?yōu)?0,接著執(zhí)行y=z;,

有的值變?yōu)?0,所以程序段執(zhí)行后x、y和z的值分別是20,30,30。

5、【單選題】下列程序段執(zhí)行后的輸出結(jié)果是()intk=4,a=3,b=2,c=1;printf("%

d/n",k<a?k:c<b?c:a);

1

2

A:

3

B:

4

C:

答D:案:A

解析:k<a?k:c<b?c:a是一個(gè)嵌套的條件表達(dá)式,先計(jì)算c<b?c:a,由于c<b成立,

表達(dá)式c<b?c:a的值取c的值1;接著計(jì)算k<a?k:1,由于k<a不成立,表達(dá)式k<

a?k:1的值去1。

6、【單選題】關(guān)于for(表達(dá)式1;表達(dá)式2;表達(dá)式3),敘述正確的是()

表達(dá)式1不可以缺省

表達(dá)式2不可以缺省

A:

表達(dá)式3不可以缺省

B:

三個(gè)表達(dá)式都可以缺省

C:

答D:案:D

解析:for循環(huán)中的三個(gè)表達(dá)式都可以省略,省略表達(dá)式2,需要在循環(huán)題中使用break

語(yǔ)句結(jié)束循環(huán),負(fù)責(zé)一定是死循環(huán)。

7、【單選題】設(shè)int*p[4];,則標(biāo)識(shí)符p是()

整型數(shù)組名

指針數(shù)組名

A:

指針函數(shù)名

B:

指向整型變量的指針

C:

答D:案:B

解析:顯然p是指針數(shù)組的數(shù)組名,該數(shù)組長(zhǎng)度為4,存放指向整型變量的指針。

8、【單選題】在循環(huán)結(jié)構(gòu)中,continue語(yǔ)句的作用是()

繼續(xù)執(zhí)行本次循環(huán)

提前退出多重循環(huán)

A:

提前結(jié)束本次循環(huán)

B:

提前退出本重循環(huán)

C:

答D:案:C

解析:在循環(huán)結(jié)構(gòu)中,continue語(yǔ)句的作用是提前結(jié)束本次循環(huán),重新判斷循環(huán)控制條

件,決定是否繼續(xù)循環(huán)。

9、【單選題】數(shù)組定義及初始化正確的是()

chara[5]={};

inta[5]={0,1,2,3,4,5};

A:

chara={"string"};

B:

chara[]={'0','1','2','3','4','5'};

C:

答D:案:D

解析:選項(xiàng)D,正確定義并初始化了字符數(shù)組a,省略的長(zhǎng)度為6。選項(xiàng)A,沒(méi)有進(jìn)行初始

化,選項(xiàng)B初始化的值比數(shù)組長(zhǎng)度大,選項(xiàng)C中的a不是數(shù)組,只是普通字符變量。

10、【單選題】設(shè)intm;,與while(!m)等價(jià)的是()

while(m!=0)

while(m=1)

A:

while(m==0)

B:

while(m!=1)

C:

答D:案:C

解析:本題考核的知識(shí)點(diǎn)是邏輯表達(dá)式的含義。m的值m的邏輯值!m的值m==0的

值m!=0的值00110非01001可見(jiàn),邏輯上,!m與m==0的,m

與m!=0等價(jià)

11、【單選題】設(shè)char*sl="12345",*s2="1234";,執(zhí)行語(yǔ)句printf("%d\n",

strlen(strcpy(sl,s2)));后的輸出結(jié)果是()

4

5

A:

9

B:

C:

1O

答D:案:A

解析:strcpy(sl,s2)的含義是將字符串s2復(fù)制到字符串s1,這樣字符串s1的內(nèi)容就是

"1234",函數(shù)strlen求s1的長(zhǎng)度,為4。

12、【單選題】下列不屬于C語(yǔ)言數(shù)據(jù)類型的保留字是()

real

void

A:

float

B:

double

C:

答D:案:A

解析:real不屬于C語(yǔ)言數(shù)據(jù)類型的保留字。

13、【單選題】設(shè)inti,j=7,*p=&j;,與賦值語(yǔ)句i=j;等價(jià)的是()

i=&p;

p=*&j;

A:

p=&j;

B:

i=*p:

C:

答D:案:D

解析:P是變量j的地址,i=*p含義是變量p所指變量j的值賦給變量i,所以與賦值語(yǔ)

句i=j;等價(jià)的是i=*p:。

14、【單選題】正確表示數(shù)學(xué)關(guān)系式x≥y≥z的C語(yǔ)言表達(dá)式是()

x>=y>=z

(x>=y)&&(y>=z)

A:

(x>=y)&(y>=z)

B:

(x>=y)||(y>=z)

C:

答D:案:B

解析:數(shù)學(xué)關(guān)系式x≥y≥z的含義是x≥y且y≥z,所以正確表示數(shù)學(xué)關(guān)系式x≥y≥z的

C語(yǔ)言表達(dá)式是(x>=y)&&(y>=z)。選項(xiàng)C中的“&”是按位與運(yùn)算。尤其注意選項(xiàng)A,

x>=y>=z的含義是先計(jì)算x>=y的值,然后再與z進(jìn)行>=運(yùn)算。

15、【單選題】設(shè)structstudent{charname[10];charsex;}stu;,則sizeof(stu)的

值是()

2

1O

A:

11

B:

12

C:

答D:案:C

解析:結(jié)構(gòu)體變量占用內(nèi)存單元字節(jié)數(shù)等于其所有成員占用內(nèi)存單元字節(jié)數(shù)的和,題中

stu是結(jié)構(gòu)體變量,它占用內(nèi)存單元字節(jié)數(shù)=10+1=11。sizeof(stu)的含義是計(jì)算變量stu

占用內(nèi)存單元數(shù)。

16、【問(wèn)答題】voidmain(){intn=9;if(n++<lO)printf("%d\n",n);else

printf("%d\n",n--);}

答案:10

解析:表達(dá)式n++<lO的含義是先進(jìn)行n<10的判斷,顯然成立,然后n再加1變?yōu)?0,所

以執(zhí)行printf("%d\n",n);輸出10。

17、【問(wèn)答題】voidfun(intx,inty,intz){z=x*x+y*y;printf("%d\n",z);}

voidmain(){inta=31;fun(5,2,a);printf("%d\n",a);}

答案:2931

解析:執(zhí)行fun(5,2,a);函數(shù)fun中變量x、y、z到的值分別為5、2、31。執(zhí)行

z=x*x+y*y;后z的值變?yōu)?9,所以執(zhí)行printf("%d\n",z);輸出29?;氐街骱瘮?shù)輸出a的

值31。

18、【問(wèn)答題】voidmain(){inta[]={O,9,8,7,6,5,4,3,2,1},*p=a;

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

答案:9,1

解析:*p相當(dāng)于a[0],*p+9=0+9=9;*(p+9)相當(dāng)于a[9],值為1。所以輸出結(jié)果為9,1。

19、【問(wèn)答題】func(inta){staticintm=O;m+=a;printf("%d\n",m);}void

main(){intk=4;func(k);func(k);}

答案:48

解析:本題考察靜態(tài)變量,靜態(tài)變量只在第一次調(diào)用所在函數(shù)時(shí)進(jìn)行初始化,以后調(diào)用不

再進(jìn)行初始化而是使用上次調(diào)用結(jié)束時(shí)該變量的值。第一次func(4),m=0+4=4;第二次

func(4),m=4+4=8。

20、【問(wèn)答題】求數(shù)組a的所有元素之和。#defineN3voidmain(){inti,j,

sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;i<N;______)/*第一

空*/for(j=O;______;j++)/*第二空*/sum=sum+______;/*第三空*/

printf("sum=%d\n",sum);}

答案:i++j<Na[i][j]

解析:數(shù)組a是N行N列的二維數(shù)組,外圍的for循環(huán)負(fù)責(zé)掃描行,內(nèi)層的for循環(huán)負(fù)責(zé)

掃描列,所以第一空填i++,第二空填j<N。語(yǔ)句sum=sum+______;負(fù)責(zé)累加所有元素的

和,所以第三空填a[i][j]

21、【問(wèn)答題】鍵入一個(gè)字符串(不超過(guò)80個(gè)字符)存至字符數(shù)組s中并對(duì)各元素升序排

序。#include<stdio.h>voidmain(){inti,j,len;chars[81],t;gets(s);

puts(s);len=strlen(s);for(i=O;i<len-l;i++)for(j=i+1;j<len;______)/*第一

空*/if(______)/*第二空*/{t=s[i]s[i]=s[j];______;/*第三空*/}

puts(s);}

答案:j++s[j]<s[i]s[j]=t

解析:外層循環(huán)執(zhí)行l(wèi)en-l次,共進(jìn)行l(wèi)en-l趟排序,內(nèi)層循環(huán)負(fù)責(zé)參與每趟排序的元

素,每一趟會(huì)比前一趟少一個(gè)元素,第一空填j++。每一趟排序過(guò)程中,如果發(fā)現(xiàn)元素

s[j]比s[i]小,則s[j]與s[i]交換,一趟排序結(jié)束s[i]中的值是本趟參與排序的所有元

素中最小的元素,經(jīng)過(guò)len-l趟排序,完成對(duì)各元素升序排序,所以第二空填

s[j]<s[i],第三空填s[j]=t。

22、【問(wèn)答題】輸入一個(gè)正整數(shù),若是素?cái)?shù)(或稱質(zhì)數(shù))則輸出“Yes”,否則輸出“No”。

voidmain(){inti,n;scanf("%d",______);/*第一空*/printf("%d",n);

for(i=2;i<n;i++)if(n%i==O)______;/*第二空*/if(______)printf("Yes\n");/

*第三空*/elseprintf(”No\n”);}

答案:&nbreaki==n

解析:scanf完成輸入一個(gè)正整數(shù),所以第一空填&n。for循環(huán)用2~n-1去除n如果出現(xiàn)

整除,則結(jié)束循環(huán),n不是素?cái)?shù),所以第二空填break。循環(huán)結(jié)束后,如果i==n則n是素

數(shù),所以第三空填i==n。

23、【問(wèn)答題】從鍵盤輸入一串字符(!作為結(jié)束標(biāo)志),保存到文件“user.dat”中。

答案:#include<stdio.h>#include<stdlib.h>voidmain(){charch;FILE*fp;/*

定義FILE的指針變量*/if((fp=fopen("user.bat","wb"))==NULL)/*使用fopen打開(kāi)

文件并判斷是否打開(kāi)成功*/{printf("Cannotopenfile!\n");exit(0);}while

((ch=getchar())!='!')/*循環(huán)讀取輸入的一串字符并寫入到文件中*/fputc(ch,fp);

fclose(fp);/*關(guān)閉文件*/}

解析:按照文件讀取的方法操作即可,步驟1:定義FILE的指針變量保存打開(kāi)文件時(shí)的指

針,步驟2:使用fopen打開(kāi)文件,步驟3:循環(huán)讀取輸入的一串字符并依次寫入到文件

中,步驟4:關(guān)閉文件。

24、【問(wèn)答題】

答案:#include<stdio.h>voidmain(){intage;printf("inputage:");/*提示輸入

年齡*/scanf("%d",&age);/*輸入年齡*/switch(age)/*根據(jù)輸入的年齡做判斷*/

{case1:case2:case3:printf("Lowerclass");break;/*考慮1-3歲的情況*/

case4:printf("Middleclass");break;/*考慮4歲的情況*/case5:case

6:printf("Higherclass");break;/*考慮5-6歲的情況*/default:printf("Can’t

enter");/*除開(kāi)上述情況的其他情況*/}}

解析:用scanf輸入年齡后將這個(gè)值保存在age中。然后將age寫在switch后的圓括號(hào)

中,接著在switch后的大括號(hào)中使用case考慮age為1-6的每種情況,1-3對(duì)應(yīng)一種情

況輸出內(nèi)容后并使用break結(jié)束,其他情況以此類推。

25、【填空題】設(shè)inta=2,b=3;floatx=3.5,y=2.5;,表達(dá)式(float)(a+b)/

2+(int)x%(int)y的值是______。

答案:3.5

解析:該題考察數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換。(float)(a+b)/2+(int)x%(int)y=(float)(2+3)/

2+(int)3.5%(int)2.5=5.0/2+3%2=2.5+1=3.5。

26、【填空題】設(shè)inti;,語(yǔ)句for(i=l;i==10;i++)++i;循環(huán)的次數(shù)是______。

答案:0

解析:i的初始值為1,第一次判斷循環(huán)條件i==10不成立,循環(huán)一次也不執(zhí)行。

27、【填空題】l數(shù)組名作為實(shí)參傳給被調(diào)用的函數(shù)時(shí),形參獲得的是______。

答案:數(shù)組首地址

解析:數(shù)組名代表數(shù)組首地址,數(shù)組名作為實(shí)參傳給被調(diào)用的函數(shù)時(shí),形參獲得的是數(shù)組

的首地址。

28、【填空題】設(shè)intx=9;,執(zhí)行語(yǔ)句printf("%d\n",x<<2);后的結(jié)果是______。

答案:36

解析:x<<2的含義是按位左移2位。先將x的值9轉(zhuǎn)換為2進(jìn)制數(shù)00001001,按位左

移2位變?yōu)椋?0100100,按照%d格式輸出結(jié)果是36。

29、【填空題】設(shè)charc[5]={'c','d','\0','e','\0'};,執(zhí)行語(yǔ)句

printf("%s\n”,c);后的結(jié)果是______。

答案:cd

解析:執(zhí)行語(yǔ)句printf("%s\n”,c)按照字符串格式輸出數(shù)組c的內(nèi)容,含義是從數(shù)組

首地址逐個(gè)輸出字

溫馨提示

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

評(píng)論

0/150

提交評(píng)論