![2011年1月自考00342高級(jí)語言程序設(shè)計(jì)一試題及答案含解析_第1頁(yè)](http://file4.renrendoc.com/view4/M00/32/13/wKhkGGYSdl6AbX4KAAFsU0YPZPg708.jpg)
![2011年1月自考00342高級(jí)語言程序設(shè)計(jì)一試題及答案含解析_第2頁(yè)](http://file4.renrendoc.com/view4/M00/32/13/wKhkGGYSdl6AbX4KAAFsU0YPZPg7082.jpg)
![2011年1月自考00342高級(jí)語言程序設(shè)計(jì)一試題及答案含解析_第3頁(yè)](http://file4.renrendoc.com/view4/M00/32/13/wKhkGGYSdl6AbX4KAAFsU0YPZPg7083.jpg)
![2011年1月自考00342高級(jí)語言程序設(shè)計(jì)一試題及答案含解析_第4頁(yè)](http://file4.renrendoc.com/view4/M00/32/13/wKhkGGYSdl6AbX4KAAFsU0YPZPg7084.jpg)
![2011年1月自考00342高級(jí)語言程序設(shè)計(jì)一試題及答案含解析_第5頁(yè)](http://file4.renrendoc.com/view4/M00/32/13/wKhkGGYSdl6AbX4KAAFsU0YPZPg7085.jpg)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
高級(jí)語言程序設(shè)計(jì)(一)年月真題
0034220111
1、【單選題】下列運(yùn)算符的操作數(shù)必須是整型的是()
/
!
A:
%
B:
=
C:
答D:案:C
解析:運(yùn)算符%的含義是求取兩個(gè)整數(shù)相除的余數(shù),要求除數(shù)和被除數(shù)必須是整型。
2、【單選題】可用于C語言用戶標(biāo)識(shí)符的是()
void,define
2c,DO
A:
or,-abc
B:
as_b3,_123
C:
答D:案:D
解析:在C語言中,合法的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,并且第1個(gè)字符必須為字
母或下劃線。選項(xiàng)A中void為C語言中的保留字,不能作為用戶的標(biāo)識(shí)符;選項(xiàng)B中2c
數(shù)字開頭,不能作為用戶的標(biāo)識(shí)符。選項(xiàng)C中For的首字母是大寫的,這和關(guān)鍵字for不
同,C語言中大小寫字母是有區(qū)別的,F(xiàn)or可以作為用戶的標(biāo)識(shí)符;但選項(xiàng)C中-abc的-開
頭,不能作為用戶的標(biāo)識(shí)符。選項(xiàng)D的兩個(gè)都可以用于C語言用戶標(biāo)識(shí)符。
3、【單選題】函數(shù)調(diào)用語句fun(fun(a,a+b,a+c),(a,b,c),5);中函數(shù)fun的參數(shù)個(gè)
數(shù)是()
3
4
A:
5
B:
6
C:
答D:案:A
解析:函數(shù)調(diào)用語句fun(fun(a,a+b,a+c),(a,b,c),5);中函數(shù)fun的參數(shù)個(gè)數(shù)有
3個(gè)分別是:fun(a,a+b,a+c)、(a,b,c)和5。
4、【單選題】設(shè)inta=0,b=1;,下列語句錯(cuò)誤的是()
a=b=10;
a++;
A:
b+=a;
B:
(a+b)++;
C:
答D:案:D
解析:進(jìn)行++的必須是變量,不能是表達(dá)式。比如a++相當(dāng)于a=a+1;而(a+b)++相當(dāng)于
(a+b)=(a+b)+1,顯然是錯(cuò)誤的,不能把一個(gè)值賦給一個(gè)表達(dá)式。
5、【單選題】能正確表達(dá)數(shù)學(xué)關(guān)系式0≤x<20的C語言表達(dá)式是()
0<=x<20
x>=0||x<20
A:
x>=0&&x<20
B:
!(x<=0)&&x<20
C:
答D:案:C
解析:數(shù)學(xué)關(guān)系式0≤x<20的含義是x大于等于0且x小于20,四個(gè)選項(xiàng)中只有選項(xiàng)C能
正確表達(dá)該數(shù)學(xué)關(guān)系式。特別要注意選項(xiàng)A,0<=x<20和數(shù)學(xué)關(guān)系式0≤x<20含義不同,C
語音表達(dá)式0<=x<20該式相當(dāng)于“(0<=x)<20”。先計(jì)算“0<=x”,結(jié)果為1或0;再計(jì)
算該結(jié)果(1或0)<20的值,顯然結(jié)果是“1”(真)。
6、【單選題】正確的C語言字符常量是()
‘\\\’
‘65’
A:
“A”
B:
‘/n’
C:
答D:案:A
解析:選項(xiàng)A.‘\\\’是轉(zhuǎn)義字符常量;選項(xiàng)B.‘65’是錯(cuò)誤表示;選項(xiàng)C.“A”是字符
串常量;選項(xiàng)D.‘/n’是錯(cuò)誤表示,回車換行用轉(zhuǎn)義字符‘\n’表示。
7、【單選題】設(shè)chars[]=“1234567”;,執(zhí)行printf(“%d,%d\n”,strlen(s),
sizeof(s));后的輸出結(jié)果是()
7,7
7,8
A:
8,7
B:
8,8
C:
D:
答案:B
解析:函數(shù)strlen(s)的功能是求取s中字符串的長(zhǎng)度,字符串“1234567”的長(zhǎng)度為7;
函數(shù)sizeof(s)的功能是計(jì)算數(shù)組s的長(zhǎng)度,定義s數(shù)組時(shí)長(zhǎng)度省略,實(shí)際長(zhǎng)度是8,除
了存放1234567為還要存放字符串結(jié)束標(biāo)記’\0’,所以7,8。
8、【單選題】設(shè)inta[]={12,34,56,78},*p=a;,下列表達(dá)式的值為56的是()
p[1+2]
*(a+2)
A:
a[3]
B:
*(p+3)
C:
答D:案:B
解析:選項(xiàng)A,相當(dāng)于p[3],即a[3],值為78;選項(xiàng)B,相當(dāng)于a[2],值為56;選項(xiàng)C
的值顯然是78;選項(xiàng)D,相當(dāng)于p[3],即a[3],值為78。
9、【單選題】對(duì)二維數(shù)組正確定義并初始化的是()
inta[][3]={1,2,3,4,5,6};
inta[3][3]=(1,2,3,4,5,6);
A:
inta[3][]={{l,2,3},{4,5,6}};
B:
inta[3][3]={a,b,c,d,e,f,g};
C:
答D:案:A
解析:選項(xiàng)A正確,對(duì)定義二維數(shù)組的同時(shí)進(jìn)行初始化,其第1維可以省略,選項(xiàng)A中省
略的第1維的長(zhǎng)度為2。選項(xiàng)B錯(cuò)誤,初始化數(shù)組用“{}”而不是“()”。選項(xiàng)C錯(cuò)
誤,不論什么情況,定義二維數(shù)組時(shí)也不能省略第2維的長(zhǎng)度。選項(xiàng)D錯(cuò)誤,定義a是整
型數(shù)組,初始化的不是整數(shù)。
10、【單選題】設(shè)doublex=5.168;,執(zhí)行printf(“%5.3f\n”,(int)(x*10+0.5)/
10.0);后的輸出結(jié)果是()
5.218
5.210
A:
5.200
B:
5.168
C:
答D:案:C
解析:求解過程:(int)(x*10+0.5)/10.0=(int)(5.168*10+0.5)/10.0
=(int)(51.68+0.5)/10.0=(int)(52.18)/10.0=52/10.0=5.200。
11、【單選題】關(guān)于函數(shù),下列敘述正確的是()
一個(gè)函數(shù)中可以定義其它的函數(shù)
程序總是從main()函數(shù)開始執(zhí)行
A:
main()函數(shù)也可以被其它函數(shù)調(diào)用
B:
一個(gè)C程序可以有多個(gè)main()函數(shù)
C:
答D:案:B
解析:一個(gè)C程序只能有一個(gè)main()函數(shù);C程序總是從main()函數(shù)開始執(zhí)行,并在
main()函數(shù)中結(jié)束;main()函數(shù)可以調(diào)用其它函數(shù)調(diào),其它函數(shù)之間可以相互調(diào)用,但不
能調(diào)用主函數(shù);函數(shù)不可以嵌套定義(在一個(gè)函數(shù)中定義其它的函數(shù)),但可以嵌套調(diào)
用。
12、【單選題】設(shè)charch=‘a(chǎn)’;,執(zhí)行printf(“%d,%c\n”,ch,ch+2);后的輸出
結(jié)果是()
97,c
97,99
A:
a,c
B:
a,a+2
C:
答D:案:A
解析:按%d的格式輸出,輸出的是‘a(chǎn)’對(duì)應(yīng)的ASCII碼的值97,ch+2的值是‘c’,
按%c的格式輸出是字符c,所以選項(xiàng)A正確。
13、【單選題】下列敘述正確的是()
continue語句的作用是跳出循環(huán)體
while循環(huán)語句的循環(huán)體至少執(zhí)行一次
A:
do-while循環(huán)語句的循環(huán)體至少執(zhí)行一次
B:
switch語句中的每個(gè)case語句組必須含有break語句
C:
答D:案:C
解析:continue語句的作用是結(jié)束本次循環(huán),轉(zhuǎn)去執(zhí)行下一次循環(huán);do-while循環(huán)語句
的循環(huán)體至少執(zhí)行一次;while循環(huán)語句的循環(huán)體至少執(zhí)行0次;switch語句中的case
語句組可以含有break語句,也可以不含有break語句。
14、【單選題】設(shè)struct{intx;inty;}m[2]={7,3,2,1};,執(zhí)行printf(“%
d\n”,m[0].x/m[1].x*m[0].y);后的輸出結(jié)果是()
10.5
9
A:
8.0
B:
7
C:
答D:案:B
解析:m是一個(gè)結(jié)構(gòu)體數(shù)組,m[0].x/m[1].x*m[0].y=7/2*3=3*3=9。
15、【單選題】設(shè)inta=l,b=2,c=3;,執(zhí)行表達(dá)式(a>b)&&(c=1)后c的值是()
0
1
A:
2
B:
3
C:
答D:案:D
解析:用&&對(duì)兩個(gè)表達(dá)式進(jìn)行計(jì)算時(shí),若第一個(gè)表達(dá)式的值為“假”,則運(yùn)算結(jié)果與第二
個(gè)表達(dá)式的值無關(guān),結(jié)果肯定為“假”,所以C語言規(guī)定此時(shí)第二個(gè)表達(dá)式將不再計(jì)算。
計(jì)算表達(dá)式(a>b)&(c=1),先計(jì)算a>b,值為0,表達(dá)式的值就是0,第二個(gè)表達(dá)式c=1不
再進(jìn)行計(jì)算,變量c仍然保持原來的值3。
16、【問答題】#include<stdio.h>voidmain(){inta=0,b=2,c=3;switch(a)
{case0:switch(b==2){casel:printf(“*”);break;case2:printf
(“%”);break;}case1:switch(c){casel:printf(“$”);break;case2:
printf(“&”);break;default:printf(“#”);}}printf(“\n”);}
答案:*#
解析:本題考核的知識(shí)點(diǎn)是switch語句的嵌套應(yīng)用。外層switch語句后面括號(hào)里的a的
值為0,所以執(zhí)行從case0:后面的語句開始執(zhí)行,而case0:后面語句也為switch語
句,這個(gè)switch語句后面括號(hào)里的b==2的值為1,執(zhí)行該switch語句里的case1:輸出
“*”,遇到break語句,退出內(nèi)層switch語句,由于外層switch語句的case0后面沒
有break語句,則繼續(xù)執(zhí)行下面的語句,即case1:后面的語句,又是switch語句,由于
c的值是3,所以執(zhí)行default:后面的語句printf(“#”);輸出“#”,所以程序的輸出
結(jié)果是*#。
17、【問答題】#includevoidfun(int*a,int*b,intx,inty){*a=x+y;*b=x-
y;}voidmain(){intc=8,d=4;fun(&c,&d,5,10);printf(“%d,%d”,c,
d);}
答案:c=15,d=-5
解析:
本題考查的是函數(shù)調(diào)用的問題。主函數(shù)中執(zhí)行語句fun(&c,&d,5,10);,指針變量a和
b分別指向變量c和d,形參x和y的值分別為10和5,執(zhí)行語句*a=x+y;*b=x-y;后,
指針變量a和b所指內(nèi)存單元的值分別變?yōu)?5和-5,由于指針變量a和b所指內(nèi)存單元
就是變量c和d的存儲(chǔ)位置,所以回到主函數(shù)后,變量c和d的值變成了15和-5。
18、【問答題】#include<stdio.h>intfun(intx){intp;if(x==1)return2;
elsep=x-fun(x-2);rerurnmp;}voidmain(){printf(“%d\n”,fun(9));}
答案:6
解析:主函數(shù)中調(diào)用fun(9)函數(shù),fun()函數(shù)中是一個(gè)遞歸調(diào)用的過程:fun(9)=9-
fun(7)=9-(7-fun(5))=9-(7-(5-fun(3)))=9-(7-(5-(3-fun(1))))=9-
(7-(5-(3-2)))=9-(7-(5-1))=9-(7-4)=9-3=6
19、【問答題】#include<stdio.h>inta=10;voidf(){inta=30;printf(“%
d,”,a);}voidmain(){f();printf(“%d\n”,a);}
答案:30,10
解析:本題考查的是局部變量和全局變量的區(qū)別。若在函數(shù)中定義與全局變量名字相同局
部變量,則全局變量在該函數(shù)中將不起作用。在主函數(shù)中調(diào)用f()函數(shù),執(zhí)行f()函數(shù)
printf(“%d,”,a);輸出的是在f()函數(shù)中定義的變量a的值30。在主函數(shù)中執(zhí)行
printf(“%d\n”,a);輸出的是全局變量a的值10。所以程序輸出結(jié)果為30,10。
20、【問答題】將數(shù)組a中元素按下圖循環(huán)左移一位并輸出。
#include
<stdio.h>voidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;
j<5;j++)a[j]=______;/*第一空*/a[4]=______;/*第二空*/for
(j=0;j<5;j++)printf(“%5d”,_______);/*第三空*/printf(“\n’’);}
答案:a[j+1]ka[j]
解析:第一個(gè)for循環(huán)負(fù)責(zé)將a[1]、a[2]、a[3]、a[4]四個(gè)元素依次左移1位,所以第一
空應(yīng)該填a[j+1]。接下來應(yīng)該將事先保存到變量k的原來a[0]的值賦給a[4],所以第二
空應(yīng)該填k,注意不能填a[0]。第二個(gè)for循環(huán)負(fù)責(zé)輸出循環(huán)左移后數(shù)組5個(gè)元素,所以
第三空應(yīng)該填a[j]。
21、【問答題】計(jì)算并輸出1!+2!+3!+4!+5!的值。#include<stdio.h>intf(inta)
{staticintc=1;c=c*a;return_____;/*第一空*/}voidmain(){inti,k;
k=_________;/*第二空*/for(i=2;i<=5;i++)k+=f(________);/*第三空*/
printf(“%d\n”,k);}
答案:c1i
解析:f()函數(shù)負(fù)責(zé)計(jì)算a的階乘并返回,所以第一空應(yīng)該填c。主函數(shù)中的for循環(huán)中
i從2到5調(diào)用for分別求2~5階乘并累加到變量k中,調(diào)用f函數(shù)的實(shí)參應(yīng)該是i,所
以第三空應(yīng)該填i;而1的階乘顯然沒有計(jì)算在內(nèi),所以第二空應(yīng)該填1,為k賦值為1。
22、【問答題】將文本文件fin.dat中的數(shù)字字符找出并寫入文本文件fnum.dat中。
#include<stdio.h>voidmain(){charch;FILE*fin,*fnum;fin=fopen
(“fin.dat”,________);/*第一空*/fnum=fopen(“fnum.dat”,“w’’);
while(!feof(_______))/*第二空*/{ch=fgetc(fin);if(______)fputc(ch,fnum);
/*第三空*/}fclose(fin);fclose(fnum);}
答案:"r"、fin、ch>='0'&&ch<='9'
解析:由于是將文本文件fin.dat中的數(shù)字字符找出并寫入文本文件fnum.dat中,所以
fin.dat文件以只讀方式打開,第一空填“r”。while(!feof(_______))含義是當(dāng)fin所
指文件為到文件尾,繼續(xù)執(zhí)行循環(huán),所以第二空填fin。if(______)用來判斷讀入的字符
是否是數(shù)字字符,如果是數(shù)字字符,則寫入文本文件fnum所指文件中,所以第三空填
ch>='0'&&ch<='9'。
23、【問答題】從鍵盤輸入代表平面上某點(diǎn)的橫坐標(biāo)x和縱坐標(biāo)y,輸出x和y的值并按下
列要求輸出相應(yīng)的標(biāo)志。當(dāng)x>0且y>0,屬于第一象限,輸出標(biāo)志“A’’當(dāng)x<0且y>0,屬
于第二象限,輸出標(biāo)志“B”當(dāng)x<0且y<0,屬于第三象限,輸出標(biāo)志“C”當(dāng)x>0且y<0,
屬于第四象限,輸出標(biāo)志“D”當(dāng)x=0或y=0,不屬于任何象限,輸出標(biāo)志“E”
答案:#include<stdio.h>voidmain(){intx,y;scanf("%d%d",&x,&y);/*輸入x和y
的值*/if(x>0&&y>0)printf("A\n");/*屬于第一象限*/elseif(x<0&&y>0)
printf("B\n");/*屬于第二象限*/elseif(x<0&&y<0)printf("C\n");/*屬于第
三象限*/elseif(x>0&&y<0)printf("D\n");/*屬于第四象限*/else
printf("E\n");/*不屬于任何象限*/}
解析:輸入兩個(gè)數(shù)之后,使用if語句依次判斷它們所屬的象限即可。
24、【問答題】從鍵盤輸入一個(gè)4行5列的二維整型數(shù)組,輸出其每一行的最小值。
答案:#include<stdio.h>voidmain(){inti,j,a[4][5],min;for(i=0;i<4;i++)/*輸
入4行5列的數(shù)據(jù)*/{for(j=0;j<5;j++)scanf("%d",&a[i][j]);}for(i=0;i<4;i++)
{min=a[i][0];/*假設(shè)每行的第1個(gè)數(shù)為當(dāng)前最小的*/for(j=1;j<5;j++)/*依次讀取
每行的其他元素,如果比當(dāng)前最小的值小,則更新min*/{if(a[i][j]<min)
min=a[i][j];}printf("第%d行最小數(shù)為%d\n",i+1,min);}}
解析:先用一個(gè)雙重循環(huán)輸入4行5列的數(shù)據(jù)。然后再用一個(gè)雙重循環(huán)讀取數(shù)組中的每一
個(gè)元素,在讀取每行數(shù)據(jù)時(shí),先假設(shè)每行的第1個(gè)數(shù)為最小的,然后用該行的每個(gè)數(shù)與最
小的比較,從而找出每行的最小值。
25、【填空題】表達(dá)式3!=6的值是_______________。
答案:1
解析:3不等于6成立,表達(dá)式3!=6的值為1。
26、【填空題】設(shè)inta=15;,執(zhí)行printf(“%d\n”,a>>2);后的輸出結(jié)果是
____________。
答案:3
解析:a>>2的含義是按位右移2位,先將a的值15轉(zhuǎn)換為2進(jìn)制數(shù)00001111,按位右
移2位變?yōu)椋?0000011,按照%d格式輸出結(jié)果是3。
27、【填空題】設(shè)char*str=“People”;,執(zhí)行printf(“%s\n”,str+4);后的輸出
結(jié)果是____________。
答案:le
解析:str是字符串“People”的首地址,str+4是字符串“People”中l(wèi)的地址,按%s
輸出從l開始的字符串,輸出結(jié)果是le。
28、【填空題】執(zhí)行下面程序段,輸出“FIFA”的行數(shù)是____________。inti,j;
for(i=0;i<5;i++)for(j=1;j
答案:6
解析:i=0和1時(shí),內(nèi)層循環(huán)1次也不執(zhí)行;i=2時(shí),內(nèi)層循環(huán)執(zhí)行1次,輸出1行
“FIFA”;i=3時(shí),內(nèi)層循環(huán)執(zhí)行2次,輸出2行“FIFA”;i=4時(shí),內(nèi)層循環(huán)執(zhí)行3
次,輸出3行“FIFA”;一共輸出了6行“FIFA”。
29、【填空題】的C語言表達(dá)式是____________。
答案:1.0/(x+y)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級(jí)上歷史聽評(píng)課記錄
- 2025年度城市防洪工程零星施工與加固合同
- 2025年度綠色能源項(xiàng)目融資借款合同范本大全
- 2025年度裝配式建筑腳手架租賃與維護(hù)一體化合同
- 2025年光伏發(fā)電項(xiàng)目環(huán)境評(píng)價(jià)與風(fēng)險(xiǎn)評(píng)估合同范本
- 湘教版數(shù)學(xué)九年級(jí)上冊(cè)1.3《反比例函數(shù)的應(yīng)用》(第2課時(shí))聽評(píng)課記錄
- 蘇科版數(shù)學(xué)九年級(jí)下冊(cè)《6.1 圖上距離與實(shí)際距離》聽評(píng)課記錄
- 現(xiàn)代市場(chǎng)營(yíng)銷從傳統(tǒng)到數(shù)字化的轉(zhuǎn)型
- 物理學(xué)經(jīng)典理論在教育游戲中的應(yīng)用
- 2025年度互聯(lián)網(wǎng)+合伙開店合同協(xié)議
- GB/T 18344-2016汽車維護(hù)、檢測(cè)、診斷技術(shù)規(guī)范
- 青島版科學(xué)(2017)六三制六年級(jí)下冊(cè)第2單元《生物與環(huán)境》全單元課件
- 2022-2023年人教版九年級(jí)物理上冊(cè)期末考試(真題)
- 關(guān)漢卿的生平與創(chuàng)作
- 一年級(jí)語文教材解讀分析ppt
- 編本八年級(jí)下全冊(cè)古詩(shī)詞原文及翻譯
- 公共政策學(xué)政策分析的理論方法和技術(shù)課件
- 裝載機(jī)教材課件
- 萬人計(jì)劃藍(lán)色簡(jiǎn)約萬人計(jì)劃青年拔尖人才答辯PPT模板
- 統(tǒng)編高中《思想政治》教材編寫理念和內(nèi)容介紹
- 2022年普通高等學(xué)校招生全國(guó)統(tǒng)一考試數(shù)學(xué)試卷 新高考Ⅰ卷(含解析)
評(píng)論
0/150
提交評(píng)論