




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
二級(jí)C語(yǔ)言-4-2(總分79,做題時(shí)間90分鐘)一、選擇題1.
下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是
。A.軟件測(cè)試
B.概要設(shè)計(jì)
C.軟件維護(hù)
D.詳細(xì)設(shè)計(jì)A
B
C
D
分值:2答案:C[解析]軟件的生命周期可分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。其中軟件定義階段的主要工作有可行性研究與計(jì)劃制定和需求分析等;軟件開(kāi)發(fā)階段的主要工作有概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和測(cè)試等;軟件運(yùn)行維護(hù)階段的主要工作是軟件的運(yùn)行及后期的維護(hù)等。2.
以下函數(shù)返回a所指數(shù)組中最大值所在的下標(biāo)值,在下畫(huà)線處應(yīng)填入的內(nèi)容是
fun(int*a,intn)
{
inti,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]>a[p])______;
return(p);
}A.i=p
B.a[p]=a[i]
C.p=j
D.p=iA
B
C
D
分值:2答案:D[解析]該題目要求的是最大數(shù)的位置(下標(biāo))。程序通過(guò)對(duì)a所指數(shù)組中的元素進(jìn)行逐個(gè)比較,記錄最大數(shù)的下標(biāo)i,并把該下標(biāo)記錄在變量p中,所以,如果a[i]>a[p]關(guān)系成立,則應(yīng)該把i的值賦給p,這樣才滿(mǎn)足題目的要求。3.
在C語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類(lèi)別是()******D.無(wú)存儲(chǔ)類(lèi)別A
B
C
D
分值:1答案:A4.
有三個(gè)關(guān)系R、S和T如下:
由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為A.并
B.自然連接
C.笛卡兒積
D.交A
B
C
D
分值:1答案:D[解析]在關(guān)系運(yùn)算中,交的定義如下:設(shè)R1和R2為參加運(yùn)算的兩個(gè)關(guān)系,它們具有相同的度n,且相對(duì)應(yīng)的屬性值取自同一個(gè)域,則為交運(yùn)算,結(jié)果仍為度等于n的關(guān)系,其中,交運(yùn)算的結(jié)果既屬于R1,又屬于R2。5.
已知a的ASCⅡ碼為97,執(zhí)行下面兩個(gè)語(yǔ)句后,輸出的結(jié)果為_(kāi)_____。
charc1=97;c2=98;
printf("%d%c",c1,c2);A.97
98
B.97
b
C.a
98
D.a
bA
B
C
D
分值:1答案:B[解析]整型數(shù)據(jù)和字符數(shù)據(jù)可以通用,變量c1和c2被定義為字符型,語(yǔ)句c1=97和c2=98的作用相當(dāng)于執(zhí)行c1='a'和c2='b'兩語(yǔ)句。在輸出語(yǔ)句中,%d%c是輸出格式符,要求在相應(yīng)位置上分別輸出一個(gè)整數(shù)和一個(gè)字符。6.
下列選項(xiàng)中,能正確定義數(shù)組的語(yǔ)句是A.intnum[0..2008];
B.intnum[];
C.intN=2008;
intnum[N];
D.#defineN2008
intnum[N];A
B
C
D
分值:2答案:D[解析]定義數(shù)組時(shí),數(shù)組大小只能是常量。選項(xiàng)C中是變量,選項(xiàng)B中沒(méi)有指定數(shù)組大小,所以選項(xiàng)C和B錯(cuò)誤的。選項(xiàng)A的表示方法顯然是錯(cuò)誤的。選項(xiàng)D中的N是符號(hào)常量,滿(mǎn)足數(shù)組定義的語(yǔ)法要求。7.
下列定義不正確的有______。A.#definePI
3.141592
B.#defineS345;
C.intmax(x,y);
intx,y;
{}
D.intmax(int,int);A
B
C
D
分值:1答案:C[解析]定義函數(shù)時(shí),函數(shù)頭后不能加分號(hào)。8.
有以下程序:
#include<stdio.h>
voidfun(char*c,intd)
{
*c=*c+1;d=d+1;
printf("%c,%c,",*c,d);
}
main()
{
charb='a',a='A';
fun(&b,a);printf("%c,%c\n",b,a);
}
程序運(yùn)行后的輸出結(jié)果是A.b,B,b,A
B.b,B,B,A
C.a,B,B,a
D.a,B,a,BA
B
C
D
分值:2答案:A[解析]函數(shù)fun的第一個(gè)參數(shù)傳指針,可以將更改后的值傳回調(diào)用函數(shù),第二個(gè)參數(shù)傳值,不能將更改后的值傳回調(diào)用函數(shù),故選A)。9.
以下敘述中正確的是(
)。A.調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B.使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h
C.在C語(yǔ)言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D.調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤(pán)上輸入字符所對(duì)應(yīng)的ASCII碼A
B
C
D
分值:1答案:B[解析]本題考查了C語(yǔ)言的一些基本概念。printf()函數(shù)可以只有控制項(xiàng)而沒(méi)有輸出項(xiàng),例如,printf("Hello!");,所以選項(xiàng)A)不正確。C語(yǔ)言中不支持整數(shù)以十二進(jìn)制輸出,因此選項(xiàng)C)不正確。getchar()函數(shù)從鍵盤(pán)讀入一個(gè)字符,而不管該字符為數(shù)字還是字母,因此輸入ASCII碼的話,只能讀到第1個(gè)數(shù)字字符,所以選項(xiàng)D)不正確。故應(yīng)該選擇B),putchar是C語(yǔ)言中的庫(kù)函數(shù),使用時(shí)必須包含stdio.h。10.
以下程序的輸出結(jié)果是
#include<stdio.h>
inta[3][3]={1,3,5,7,9,11,13,15,17,},*p;
main()
{
p=(int*)malloc(sizeof(int));
f(p,a);
printf("%d\n",*p);
free(p);}
f(int*s,intp[][3])
{
*s=p[1][1];}A.1
B.7
C.9
D.13A
B
C
D
分值:2答案:C[解析]本題考查了二維數(shù)組元素引用的方法。題中用動(dòng)態(tài)存儲(chǔ)分配函數(shù)malloc分配了一個(gè)int型數(shù)據(jù)長(zhǎng)度大小的內(nèi)存,然后指針p指向這段內(nèi)存,函數(shù)f()中對(duì)p所指向的數(shù)據(jù)進(jìn)行了賦值,p[1][1]為二維數(shù)組第二行第二列的元素,對(duì)應(yīng)于實(shí)參a的元素9,所以輸出結(jié)果為9。11.
設(shè)有intx=11;則表達(dá)式(x++*1/3)的值是______。A.3
B.4
C.11
D.12A
B
C
D
分值:1答案:B12.
若有以下程序段
int
m=0xabc,n=0xabc;
m-=n;
printf("%X\n".m);
執(zhí)行后輸出結(jié)果是A.0X0
B.0x0
C.0
D.0XABCA
B
C
D
分值:1答案:C[解析]本題考核的知識(shí)點(diǎn)是C語(yǔ)言中的自反賦值運(yùn)算符。
“m-=n”相當(dāng)于“m=m-n”,兩個(gè)相等的數(shù)相減,其值為0。所以,C選項(xiàng)為所選。13.
在以下給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是______。A.(E>0||E<0)
B.(E==0)
C.(!E==0)
D.(E!=0)A
B
C
D
分值:1答案:B[解析]while語(yǔ)句中條件表達(dá)式E的值不為0即為真,認(rèn)為滿(mǎn)足條件,所以與B選項(xiàng)中表達(dá)式的含義正好相反,選擇B選項(xiàng)。14.
有以下程序
#include<stdio.h>
voidfun(int*s,intn1,intn2)
{
inti,j,t;
i=n1;j=n2;
while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}
}
main()
{
inta[10]={1,2,3,4,5,6,7,8,9,0),k;
fun(a,0,3);fun(a,4,9);fun(a,0,9);
for(k=0;k<10;k++)printf("%d",a[k]);printf("\n");
}
程序運(yùn)行的結(jié)果是
。**
**
**
**A
B
C
D
分值:1答案:C[解析]fun()函數(shù)的功能為使數(shù)組中的元素逆序。15.
以下語(yǔ)句或語(yǔ)句組中,能正確進(jìn)行字符串賦值的是________。A.char*sp;*sp="right!";B.chars[10];s="right!";C.chars[10];*s="right!";D.char*sp="right!";A
B
C
D
分值:2答案:D16.
有以下程序:
#include<stdio.h>
main()
{FILE*pf;
char*s1="China",*s2="Beijing":
pf=fopen("abc.dat","wb+");
fwrite(s2,7,1,pf);
rewind(pf);
/*文件位置指針回到文件開(kāi)頭*/
fwrite(s1,5,1,pf);
fclose(pf);
}
以上程序執(zhí)行后abc.dat文件的內(nèi)容是
。A.China
B.Chinang
C.ChinaBeijingD.BeijingChinaA
B
C
D
分值:2答案:B[解析]本題考查函數(shù)fwrite的使用。函數(shù)fwrite的調(diào)用形式為:intfwrita(char*pt,unsignedn,F(xiàn)ILE*fp);其功能是把pt所指向的n*size個(gè)字節(jié)輸出到fp所指文件中,第二次調(diào)用該函數(shù)時(shí),從文件的第一個(gè)位置開(kāi)始寫(xiě)入,之前已有的會(huì)被覆蓋掉,如果第二次寫(xiě)入的長(zhǎng)度沒(méi)有第一次的長(zhǎng),則后面短出的部分保留原樣。17.
下列敘述中正確的是______。A.循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu)
B.在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
C.在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
D.循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定的A
B
C
D
分值:4答案:D[解析]循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,但是循環(huán)隊(duì)列仍是線性結(jié)構(gòu)的,所以A錯(cuò)誤;在循環(huán)隊(duì)列中只需要隊(duì)頭指針與隊(duì)尾兩個(gè)指針來(lái)共同反映隊(duì)列中元素的動(dòng)態(tài)變化情況,所以B與C錯(cuò)誤。18.
有以下程序:
voidchange(intk[]){k[0]=k[5];)
main()
{intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while(n<=4)(change(&x[n]);n++;}
for(n=0;n<5;n++)printf("%d",x[n]);
printf("\n");
}
程序運(yùn)行后的輸出結(jié)果是______。A.678910
B.13579
C.12345
D.62345A
B
C
D
分值:2答案:A[解析]本題主要考查數(shù)組元素的地址作為實(shí)參,當(dāng)n=0時(shí),把x[0]的地址傳遞給被調(diào)函數(shù)change(),即把形參k和實(shí)參x指向同一個(gè)存儲(chǔ)單元,執(zhí)行被調(diào)函數(shù)后k[0]=6,即x[0]=6;當(dāng)n=1時(shí),執(zhí)行被調(diào)函數(shù)后x[1]=7,以此類(lèi)推,最后得到x數(shù)組的值為6,7,8,9,10。19.
設(shè)有定義:intk=1,m=2;noatf=7;則下列選項(xiàng)中錯(cuò)誤的表達(dá)式是
。A.k=k>=k
B.-k++
C.k%int(f)
D.k>=f>=mA
B
C
D
分值:1答案:C[解析]在C語(yǔ)言中,求余運(yùn)算符“%”兩邊的運(yùn)算對(duì)象都應(yīng)為整型數(shù)據(jù),所以需要對(duì)變量f進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,正確的寫(xiě)法為k%(int)f。在C語(yǔ)言中,邏輯運(yùn)算符與賦值運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符之間從高到低的運(yùn)算優(yōu)先次序是:!(邏輯“非”)、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、&&(邏輯“與”)、‖(邏輯“或”)、賦值運(yùn)算符。根據(jù)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,對(duì)于選項(xiàng)A),先計(jì)算k>=k的值(為真,即1),再用1對(duì)k進(jìn)行賦值。對(duì)于選取項(xiàng)B),先計(jì)算k什的值,再對(duì)其取負(fù)數(shù)。對(duì)于選項(xiàng)D),先計(jì)算k>=f的值(為假,即0),再用0與m進(jìn)行比較,故最終結(jié)果為0。20.
以下選項(xiàng)中,不能正確賦值的是______。A.chars1[10];s1="chest";
B.chars2[]={'C','t','e','s','t'};
C.chars3[20]="Chest";
D.char*s4="Ctest\n"A
B
C
D
分值:1答案:A[解析]語(yǔ)言中不能將字符串常量直接賦給數(shù)組。但在賦初值時(shí)可以。21.
下列敘述中正確的是
。A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
D.以上3種描述都不對(duì)A
B
C
D
分值:2答案:C[解析]算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過(guò)程中所需的存儲(chǔ)空間。22.
下列敘述中不正確的是
。A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參
B.在C的函數(shù)中,最好使用全局變量
C.外部變量可以在函數(shù)之間傳遞數(shù)據(jù)
D.自動(dòng)變量實(shí)質(zhì)上是一個(gè)函數(shù)內(nèi)部的局部變量A
B
C
D
分值:2答案:B[解析]編譯時(shí),編譯系統(tǒng)不為局部變量分配內(nèi)存單元,而是在程序運(yùn)行中,當(dāng)局部變量所在的函數(shù)被調(diào)用時(shí),編譯系統(tǒng)根據(jù)需要要臨時(shí)分配內(nèi)存,調(diào)用結(jié)束空間釋放;全局變量一經(jīng)定義,編譯系統(tǒng)為其分配固定的內(nèi)存單元,在程序運(yùn)行的自始至終都占用固定的單元。在考慮內(nèi)存不定的情況下,最好使用全局變量。23.
以下有4組用戶(hù)標(biāo)識(shí)符,其中合法的一組是______。A.For
-sub
Case
B.4d
DO
Size
C.f2_G3
IF
abc
D.WORD
void
defineA
B
C
D
分值:2答案:C[解析]選項(xiàng)A中有非法標(biāo)識(shí)符-sub,選項(xiàng)B中有非法標(biāo)識(shí)符4d,選項(xiàng)D中有C語(yǔ)言保留字void。24.
對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是A.快速排序
B.冒泡排序
C.直接插入排序
D.堆排序A
B
C
D
分值:2答案:D[解析]在最壞情況下,快速排序、冒泡排序和直接插入排序需要的比較次數(shù)都為n(n-1)/2,堆排序需要的比較次數(shù)為nlog2n。25.
有下列函數(shù):
intfun(char*s)
{char*t=s;
while(*t++);
return(t-s);
}
該函數(shù)的功能是
。A.比較兩個(gè)字符串的大小
B.計(jì)算s所指字符串占用內(nèi)存字節(jié)的個(gè)數(shù)
C.計(jì)算s所指字符串的長(zhǎng)度
D.將s所指字符串復(fù)制到字符串t中A
B
C
D
分值:2答案:C[解析]在函數(shù)fun(char*s)中,首先用字符指針變量t指向s,而循環(huán)語(yǔ)句while(*t++);的功能是使指針變量t指向字符串變量s的末尾,這時(shí)退出循環(huán),因而語(yǔ)句return(t-s);返回的就是字符串s所指字符串的長(zhǎng)度。26.
已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是A.數(shù)組a和b的長(zhǎng)度相同
B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度
C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度
D.上述說(shuō)法都不對(duì)A
B
C
D
分值:1答案:C[解析]a數(shù)組存放的是字符串,系統(tǒng)會(huì)自動(dòng)在字符串的最后加上一個(gè)“\0”,所以a數(shù)組的長(zhǎng)度為4,而b數(shù)組的長(zhǎng)度為3,故a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度。27.
在關(guān)系數(shù)據(jù)庫(kù)模型中,通常可以把(
)稱(chēng)為屬性,其值稱(chēng)為屬性值。A.記錄
B.基本表
C.模式
D.字段A
B
C
D
分值:1答案:D[解析]數(shù)據(jù)庫(kù)表中字段轉(zhuǎn)化為屬性,把記錄的類(lèi)型轉(zhuǎn)化為關(guān)系模式。28.
執(zhí)行以下程序時(shí)輸入1234567<CR>,則輸出結(jié)果是
#include<stdio.h>
main()
{inta=1,b;
scanf("%3d%2d",&a,&b);
printf("%d%d\n",a,b);
}A.12367
B.12346
C.12312
D.12345A
B
C
D
分值:1答案:D[解析]scanf函數(shù)中的格式控制說(shuō)明為“%3d%2d”,分別選中輸入中的3位和2位,因此a=123,b=45。因此正確答案為D)。29.
以下能正確定義的數(shù)組并正確賦初值的語(yǔ)句是A.intN=5,b[N][N];
**a[1][2]={{1},{3}};
C.intc[2][]={{1,2},{3,4}};
D.intd[3][2]={{1,2},{3,4}};A
B
C
D
分值:1答案:D[解析]本題考核的知識(shí)點(diǎn)是二維數(shù)組的定義以及數(shù)組元素初始化。選項(xiàng)A中,數(shù)組的長(zhǎng)度使用了變量N,而在c中是不能用變量來(lái)定義數(shù)組的的長(zhǎng)度的,故選項(xiàng)A錯(cuò)誤。在c語(yǔ)言中,給二維數(shù)組賦初值時(shí),行數(shù)不能超過(guò)定義的行數(shù),每行的初值個(gè)數(shù)不能超過(guò)定義時(shí)的列數(shù),故選項(xiàng)B錯(cuò)誤。選項(xiàng)C數(shù)組的第二維下標(biāo)缺省,而在C中,數(shù)組的第二維下標(biāo)不能缺省,故選項(xiàng)C錯(cuò)誤。所以,D選項(xiàng)為所選。30.
為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來(lái)代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱(chēng)為
A.PAD圖
B.N-S圖
C.結(jié)構(gòu)圖
D.數(shù)據(jù)流圖A
B
C
D
分值:1答案:B31.
若有語(yǔ)句:char*line[5];,以下敘述中正確的是
。A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類(lèi)型為char的指針變量
B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組
C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱(chēng)為間址運(yùn)算符
D.定義line是一個(gè)指向字符型函數(shù)的指針A
B
C
D
分值:2答案:A[解析]C語(yǔ)言中[]比*優(yōu)先級(jí)高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個(gè)元素,然后再與line前面的“+”結(jié)合,表示此數(shù)組是一個(gè)指針數(shù)組,每個(gè)數(shù)組元素都是一個(gè)基類(lèi)型為char的指針變量。32.
下列敘述中正確的是A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的聯(lián)系
B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴(lài)性小
D.上述三種說(shuō)法都不對(duì)A
B
C
D
分值:2答案:C[解析]本題考查了面向?qū)ο蟮幕靖拍睢?/p>
[解題要點(diǎn)]在面向?qū)ο蟪绦蛟O(shè)計(jì)中所使用的對(duì)象,其數(shù)據(jù)和操作是作為平等伙伴出現(xiàn)的。因此,對(duì)象具有很強(qiáng)的自含性,此外,對(duì)象所固有的封裝性,使得對(duì)象的內(nèi)部實(shí)現(xiàn)與外界隔離,具有較強(qiáng)的獨(dú)立性。
[考點(diǎn)鏈接]對(duì)象的定義。33.
在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于
。A.需求分析階段
B.邏輯設(shè)計(jì)階段
C.概念設(shè)計(jì)階段
D.物理設(shè)計(jì)階段A
B
C
D
分值:1答案:B[解析]數(shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中,邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。34.
有以下程序
main()
{
intx[]={1,3,5,7,2,4,6,0},i,j,k;
for(i=0;i<3;i++)
for(j=2;j>=i;j--)
if(x[j+1]>x[j])
{k=x[j];
x[j]=x[j+1];
x[j+1]=k;
}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j]>x[j+1])
{k=x[j];x[j]=x[j+1];
x[j+1]=k;
}
for(i=0;i<8;i++)
printf("%d",x[i]);
printf("\n");
}
程序運(yùn)行后的輸出結(jié)果是______。A.75310246
B.01234567
C.76310462D.13570246A
B
C
D
分值:1答案:A[解析]在程序中,第一個(gè)for循環(huán)內(nèi)部實(shí)現(xiàn)的是對(duì)數(shù)組中前四個(gè)元素進(jìn)行降序排序,第二個(gè)for循環(huán)內(nèi)部實(shí)現(xiàn)的是對(duì)數(shù)組后四個(gè)元素進(jìn)行升序排序,因此數(shù)組x中的最后結(jié)果應(yīng)該是前四個(gè)降序,后四個(gè)升序。最終結(jié)果為{7,5,3,1,0,2,4,6}。35.
有以下函數(shù):
fun(char*a,char*b)
{
while((*a!='\0')&&(*b!='\0')&&(*a==*b))
{
a++;b++;}
return(*a-*b);
}
該函數(shù)的功能是______。A.計(jì)算a和b所指字符串的長(zhǎng)度之差
B.將b所指字符串連接到a所指字符串中
C.將b所指字符串連接到a所指字符串后面
D.比較a和b所指字符串的大小A
B
C
D
分值:2答案:D[解析]本題的函數(shù)fun的最后一個(gè)語(yǔ)句是“return(*a-*b);”,也就是返回指針a所指單元的值與指針b所指單元的值的差。顯然這不可能是計(jì)算a和b所指字符串的長(zhǎng)度之差,因此選項(xiàng)A的說(shuō)法是錯(cuò)誤的。由于函數(shù)中并沒(méi)有出現(xiàn)。a=*b的賦值操作,所以選項(xiàng)B的連接字符串的說(shuō)法也是錯(cuò)誤的。同理,由于沒(méi)有*a現(xiàn)*a=*b的賦值操作,所以選項(xiàng)C的復(fù)制字符串的說(shuō)法也是錯(cuò)誤的。排除了三個(gè)選項(xiàng)后,就可以斷定正確選項(xiàng)是D。二、填空題36.
下面程序的運(yùn)行結(jié)果是
。
main()
{unsigneda=0112,x;
x=a>>3;
printf("x=%o",x);
}
分值:1答案:x=11[解析]在對(duì)無(wú)符號(hào)數(shù)的右移是高位補(bǔ)0。37.
若有定義:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},<1,3,5,7}},則初始化后,a[2][2]得到的初值是______。
分值:2答案:8[解析]二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,a[0]的元素為a[0][0]、a(0][1]、a[0][2]、a[0][3]38.
以下程序的輸出結(jié)果是
。
main()
{intx=0;
sub(&x,8,1);
printf(“%d\n”,x);
}
sub(int*a,intn,intk)
{
if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
分值:1答案:7[解析]在主函數(shù)中定義了一個(gè)變量x并賦初值0,然后執(zhí)行函數(shù)調(diào)用語(yǔ)句,該語(yǔ)句的執(zhí)行過(guò)程為sub(&x,8,1)調(diào)用sub(&a,4,2),sub(&a,4,2)調(diào)用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號(hào)里的判斷為假,遞歸結(jié)束,執(zhí)行其后的*a+=k;語(yǔ)句此時(shí)x=x+k=0+4=4,回退到上一層調(diào)用函數(shù)sub(&x,4,2)中,執(zhí)行后面的語(yǔ)句,x=x+k=4+2=6,再回推到最上一層調(diào)用函數(shù)sub(&x,8,1)執(zhí)行后面的語(yǔ)句,x=x+k=6+1=7,所以最后輸出7。39.
以下程序運(yùn)行后的輸出結(jié)果是______。
fun(inta)
{
intb=0;
staticintc=3;
b++;c++;
return(a+b+c);
}
main()
{
inti,a=5;
for(i=0;j<3;i++)printf("%d%d",i,fun(a));
printf("\n");
}
分值:2答案:010111212[解析]本題考查靜態(tài)局部變量。靜態(tài)局部變量的作用域和普通局部變量一樣,但它的生存期將延長(zhǎng)到程序運(yùn)行結(jié)束。主函數(shù)中,用一個(gè)for循環(huán)輸出循環(huán)變量i和fun(a)的值。第一次調(diào)用時(shí),b=0,c=3,所以返回5+1+4=10;第二次調(diào)用時(shí),因?yàn)閏是靜態(tài)局部變量,它仍保存上次調(diào)用結(jié)束時(shí)的值4,所以返回值為5+1+5=11;以此類(lèi)推,第三次調(diào)用返回值是12。所以,最終輸出:010111212。40.
以下程序從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁眨?/p>
#include<stdio.h>
main()
{FILE*fp;charch;
fp=fopen(______);
ch=fgetc(fp);
whlie(!feof(fp)){putchar(ch);ch=fgetc(fp);)
putchar('\n');felose(fp);
}
分值:4答案:“filea.dat”,“r”[解析]本題首先應(yīng)該打開(kāi)filea.dat文件再讀取字符,空白處應(yīng)為以只讀方式打開(kāi)文件。41.
軟件工程研究的內(nèi)容主要包括:______技術(shù)和軟件工程管理。
分值:2答案:軟件開(kāi)發(fā)[解析]軟件工程包括軟件開(kāi)發(fā)技術(shù)和軟件工程管理。其中軟件開(kāi)發(fā)技術(shù)包括:軟件開(kāi)發(fā)方法學(xué)、開(kāi)發(fā)過(guò)程、開(kāi)發(fā)工具和軟件工具環(huán)境,其主體內(nèi)容是軟件開(kāi)發(fā)方法學(xué):軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。42.
若從鍵盤(pán)輸入58,則以下程序的輸出結(jié)果是
。
main()
{
inta;
scanf(“%d”,&A);
if(a>50)printf(“%d”,A);
if(a>40)printf(“%d”,A);
if(a>30)printf(“%d”,A);
}
分值:1答案:585858[解析]在程序中,執(zhí)行scanf()語(yǔ)句后,a被賦值為58。接著執(zhí)行第一個(gè)if語(yǔ)句,因?yàn)椋琣=58>50,執(zhí)行第一個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第二個(gè)if語(yǔ)句,因?yàn)?,a=58>40,執(zhí)行第二個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第三個(gè)if語(yǔ)句,因?yàn)椋琣=58>30,執(zhí)行第三個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58,所以最后的輸出為585858。43.
下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。
for(x=1,y=0;(y!=19)&&(x<7);x++);
分值:2答案:6[解析]分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿(mǎn)足x<7時(shí)循環(huán)6次。44.
以下程序用來(lái)輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>
structst
{
charname[20];doublescore;};
main()
{
structstex;
pfintf("exsize:%d\n",sizeof(______));}
分值:2答案:structst或ex[解析]考查了結(jié)構(gòu)體變量的存儲(chǔ)分配結(jié)構(gòu)。
[解題要點(diǎn)]結(jié)構(gòu)體類(lèi)型數(shù)據(jù),其數(shù)據(jù)成員各自占據(jù)不同的存儲(chǔ)空間,整個(gè)結(jié)構(gòu)體變量所占存儲(chǔ)單元的字節(jié)數(shù)為每一個(gè)數(shù)據(jù)成員所占的存儲(chǔ)空間的和。
[考點(diǎn)鏈接]共用體變量所占存儲(chǔ)單元字節(jié)數(shù)的計(jì)算。45.
下面程序的運(yùn)行結(jié)果是______
#indude<stdio.h>
main()
{intY,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
分值:2答案:1,-2[解析]考查嵌套的循環(huán)結(jié)構(gòu)。題中外層while循環(huán)的循環(huán)條件是y--!--1,即y>=0;內(nèi)層do…while循環(huán)的循環(huán)條件是y--,即y-->0,y>=1。46.
關(guān)系表達(dá)式x<y<z,用C語(yǔ)言的表達(dá)式為
。
分值:1答案:(x<y)&&(y<z)[解析]x<y<z的意思是y大于x并且y小于z。在C語(yǔ)言中,表達(dá)“并且”用邏輯與運(yùn)算符“&&”。47.
執(zhí)行以下程序時(shí)輸入1234567<CR>,則輸出結(jié)果是______。
#include
<stdio.h>
main()
{
inta=1,b;
scanf("%2d%2d",&a,&b);prinff("%d
%dhn",a,b);
}
分值:0答案:12
34
[解析]本題考查的知識(shí)點(diǎn)是:Scanf()函數(shù)。scanf()是標(biāo)準(zhǔn)輸入函數(shù);其第1個(gè)參數(shù)為格式控制字符串。其中“%2d”表示讀入一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 親人兄弟和解協(xié)議書(shū)
- 聯(lián)誼學(xué)校共建協(xié)議書(shū)
- 中途暗股協(xié)議書(shū)模板
- 外賣(mài)委托協(xié)議書(shū)模板
- 聘用美術(shù)老師協(xié)議書(shū)
- 物業(yè)消防改造協(xié)議書(shū)
- 簽訂房產(chǎn)分割協(xié)議書(shū)
- 勞務(wù)協(xié)作計(jì)劃協(xié)議書(shū)
- 商場(chǎng)設(shè)備代管協(xié)議書(shū)
- 撞車(chē)諒解協(xié)議書(shū)范本
- 消防中級(jí)監(jiān)控練習(xí)試題及答案
- 2025年競(jìng)聘融資面試試題及答案
- 2025年地鐵英文面試題及答案
- 2025年鐘山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)1套
- 2025年度跨境電商平臺(tái)總經(jīng)理聘用合同
- 2025年吉林鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)必考題
- 《經(jīng)絡(luò)與腧穴》課件-手太陰肺經(jīng)
- 專(zhuān)題01 富強(qiáng)與創(chuàng)新【考情透視+框架梳理+考點(diǎn)突破+題型歸納】道德與法治上學(xué)期期末高效復(fù)習(xí)資料
- 人力資源管理軟件采購(gòu)協(xié)議
- 電動(dòng)汽車(chē)充電樁項(xiàng)目投資商業(yè)計(jì)劃書(shū)范本
- 中國(guó)技能大賽-第45屆世界技能大賽全國(guó)選拔賽“水處理技術(shù)”項(xiàng)目技術(shù)工作文件
評(píng)論
0/150
提交評(píng)論