




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2/2湖州師范學(xué)院C語(yǔ)言期末總分:100分 考試時(shí)間:60分鐘注意事項(xiàng):仔細(xì)查看答題卡正反面,如出現(xiàn)字跡模糊、行列歪斜或缺印、破損、有褶皺等現(xiàn)象,要立即向監(jiān)考老師報(bào)告。答題須在專用的“答題卡”上進(jìn)行,在試題卷和草稿紙上答題無(wú)效??荚嚱Y(jié)束前要離開考場(chǎng)的考生須先按答題卡、試卷、草稿紙從上到下的順序平放在桌面上,再舉手提出離場(chǎng)。一、單項(xiàng)選擇題(每小題2分,共100分)1、下列說(shuō)法中,正確的是______。 A、指針是一個(gè)變量 B、指針中存放的可以是任何類型的值 C、指針變量是變量地址 D、指針變量占用存儲(chǔ)空間【答案】D【解析】指針是地址,存放指針的變量是指針變量,不同類型的指針變量存放不同類型數(shù)據(jù)的地址,指針變量作為可存儲(chǔ)指針的變量,也要占用一定的存儲(chǔ)空間。2、若int類型占兩個(gè)字節(jié),則以下語(yǔ)句輸出為________。intk=-1;
printf("%d,%u\n",k,k); A、-1,-1 B、-1,65536 C、-1,32768 D、-1,65535【答案】D3、在嵌套使用if語(yǔ)句時(shí),c語(yǔ)言規(guī)定else總是________。 A、和之前與其具有相同縮進(jìn)位置的if配對(duì) B、和之前與其最近的if配對(duì) C、和之前與其最近的且不帶else的if配對(duì) D、和之前的第一個(gè)if配對(duì)【答案】C4、下列各循環(huán)語(yǔ)句中,不是死循環(huán)的是________。 A、inti=100;
while(i){
i=i%100+1;
if(i==20)
break;
} B、inti,sum=0;
for(i=1;;i++)
sum=sum+1; C、intk=0;
do
++k;
while(k>=0); D、ints=3379;
while(s++%2+3%2)
s++;【答案】A【解析】分析各個(gè)選項(xiàng)。選項(xiàng)A中,當(dāng)變量i的值等于20時(shí),會(huì)執(zhí)行break;語(yǔ)句,即退出整個(gè)while循環(huán)體。所以選項(xiàng)A的循環(huán)語(yǔ)句不是死循環(huán)。其他各個(gè)選項(xiàng)的循環(huán)語(yǔ)句中,沒(méi)有循環(huán)退出點(diǎn),所以都是死循環(huán)。5、以下敘述不正確的是________。 A、一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成 B、一個(gè)C源程序必須包含一個(gè)main函數(shù) C、C程序的基本組成單位是函數(shù) D、在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面【答案】D【解析】本題考查C語(yǔ)言的基本基礎(chǔ)知識(shí)。在C程序中,注釋用符號(hào)“/*”開始,而以符號(hào)“*/”結(jié)束。程序的注釋可以放在程序的任何位置。通常將注釋放在程序的開始,以說(shuō)明本程序的功能;或者放在程序的某個(gè)語(yǔ)句后面,以對(duì)此語(yǔ)句的功能進(jìn)行說(shuō)明。無(wú)論將注釋放有何處,在程序進(jìn)行編譯時(shí),編譯程序不會(huì)處理注釋的內(nèi)容,且注釋內(nèi)容也不會(huì)出現(xiàn)在目標(biāo)程序中。6、設(shè)intx=7,則~x的值是________。 A、-8 B、7 C、-1 D、1【答案】A7、若二維數(shù)組a有m列,則計(jì)算任一元素a[i][j]在數(shù)組中位臵的公式為(假設(shè)a[0][0]位于數(shù)組的第一個(gè)位臵上)________。 A、i*m+j B、j*m+i C、i*m+j-1 D、i*m+j+1【答案】D8、我們所寫的每條c語(yǔ)句,經(jīng)過(guò)編譯最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令。關(guān)于轉(zhuǎn)換以下說(shuō)法錯(cuò)誤的是______。 A、一條C語(yǔ)句可能會(huì)被轉(zhuǎn)換成零條機(jī)器指令 B、一條C語(yǔ)句可能會(huì)被轉(zhuǎn)換成多條機(jī)器指令 C、一條C語(yǔ)句對(duì)應(yīng)轉(zhuǎn)換成一條機(jī)器指令 D、某種類型和格式的C語(yǔ)句被轉(zhuǎn)換成機(jī)器指令的條數(shù)是固定的【答案】C9、下面程序段的運(yùn)行結(jié)果是char*s="abcde";s+=2;printf("%d",s); A、cde B、字符'c' C、字符'c'的地址 D、無(wú)確定的輸出結(jié)果【答案】C【解析】對(duì)于字符串指針,其保留的是整個(gè)串的首地址,即第一個(gè)字符的起始地址;當(dāng)該指針做算術(shù)運(yùn)算時(shí),就是該指針根據(jù)其類型向后移動(dòng)相應(yīng)的存儲(chǔ)空間。10、表達(dá)式if(!x)中的"!x"等效于() A、x==0 B、x==1 C、x!=0 D、x!=1【答案】A【解析】表達(dá)式if(!x)表示判定x是否為0,即"如果x==0"。11、有如下函數(shù)調(diào)用語(yǔ)句func(rec1,rec2+rec3,rec4,rec5);該函數(shù)調(diào)用語(yǔ)句中,含有的實(shí)參個(gè)數(shù)是__________. A、3 B、4 C、5 D、有語(yǔ)法錯(cuò)誤【答案】B12、下列標(biāo)識(shí)符,不合法的是________。 A、abc B、_d C、123 D、e1【答案】C【解析】123不是合法的標(biāo)識(shí)符,標(biāo)識(shí)符不能以數(shù)字開頭。13、每個(gè)c程序中都必須有且僅有一個(gè)________。 A、類 B、預(yù)處理命令 C、主函數(shù) D、語(yǔ)句【答案】C【解析】每個(gè)C程序中都要有且僅有一個(gè)主函數(shù),該函數(shù)是程序的入口,而語(yǔ)句、預(yù)處理命令和函數(shù)及類在程序中都可以有多個(gè)。14、若有如下定義和語(yǔ)句,且0<=i<5,下面()是對(duì)數(shù)值為3數(shù)組元素的引用
inta[]={1,2,3,4,5},*p,i;
p=a; A、*(a+2) B、a[p-3] C、p+2 D、a+3【答案】A15、有以下程序
#include<stdio.h>
main()
{
intx=0x13;
printf("int:%d\n",x+1);
}
程序運(yùn)行后的輸出結(jié)果是________。 A、INT:20 B、INT:13 C、INT:12 D、INT:14【答案】A16、用在switch語(yǔ)句的關(guān)鍵字沒(méi)有哪個(gè)? A、continue B、break C、default D、if【答案】A17、在c語(yǔ)言中______。 A、函數(shù)定義可以嵌套,但函數(shù)調(diào)用不能嵌套 B、函數(shù)定義不可以嵌套,但函數(shù)調(diào)用可以嵌套 C、函數(shù)定義和調(diào)用均不能嵌套 D、函數(shù)定義和調(diào)用均可以嵌套【答案】B【解析】函數(shù)可以實(shí)現(xiàn)嵌套調(diào)用,但它的定義不可以嵌套。18、以下程序的輸出結(jié)果是
fun(intx,inty)return(x+y);
main()
{
inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d",sum);
} A、9 B、8 C、7 D、6【答案】B【解析】逗號(hào)表達(dá)式a++,b++,a+b先計(jì)算a++,a=2;再計(jì)算b++,b=3;表達(dá)式的值就是a+b的值,為5。表達(dá)式c++的值是c遞增前的值,為3。所以fun((a++,b++,a+b),c++)等價(jià)于fun(5,3),返回值為5+3=8。19、下列字符數(shù)組初始化語(yǔ)句中,不正確的是________。 A、charc[]='goodmorning'; B、chare[20]="goodmorning": C、charc[]=('a','b','c','d'); D、charc[]={”ffgoodmorning”);【答案】A20、c語(yǔ)言中的基本數(shù)據(jù)類型包括 A、整型、實(shí)型、字符型 B、整型、字符型、數(shù)組 C、整型、實(shí)型、邏輯型 D、整型、實(shí)型、結(jié)構(gòu)體【答案】A21、若采用雙符號(hào)位判斷溢出,當(dāng)結(jié)果的符號(hào)位為11時(shí),表示(13)。 A、結(jié)果為正溢出 B、結(jié)果正,無(wú)溢出 C、結(jié)果負(fù)溢出 D、結(jié)果為負(fù),無(wú)溢出【答案】D【解析】本題考查定點(diǎn)數(shù)加、減法溢出問(wèn)題。
定點(diǎn)數(shù)加、減時(shí),若采用雙符號(hào)位法,即采用兩個(gè)符號(hào)位,如果兩個(gè)符號(hào)位相同,則沒(méi)有溢出;若不同,則表示出現(xiàn)溢出,而第一符號(hào)位才是真正的符號(hào)。即兩個(gè)符號(hào)位的高位為1表示負(fù)溢出,而高位為0、低位為1則表示正溢出。
題目中給出的結(jié)果的符號(hào)位為11,根據(jù)上面的分析,第一個(gè)符號(hào)位才是真正的符號(hào),那么此數(shù)是負(fù)數(shù),但兩個(gè)符號(hào)位相同,表示沒(méi)有溢出。22、未指定存儲(chǔ)類別的變量,其隱含的存儲(chǔ)類別為________。 A、auto B、static C、extern D、register【答案】A23、若有函數(shù)char*func(char*p)…returnp;則該函數(shù)的返回值是______。 A、無(wú)確切的值 B、形參p中存放的地址 C、一個(gè)臨時(shí)存儲(chǔ)單元的地址 D、形參p自身的地址【答案】B24、以下不正確的是______。 A、語(yǔ)句for(i=0:;i++)表示無(wú)限循環(huán) B、for(;;)表示無(wú)限循環(huán) C、for()也表示無(wú)限循環(huán) D、while(1)表示無(wú)限循環(huán)【答案】C25、以下敘述中正確的是______。 A、不能用字符串常量對(duì)字符數(shù)組名進(jìn)行整體賦值操作 B、字符串常量"Hello"會(huì)被隱含處理成一個(gè)無(wú)名字符型數(shù)組,它有5個(gè)元素 C、charstr[7]="string!";在語(yǔ)法上是合法的,運(yùn)行也是安全的 D、char*str;str="Hello";與charstr[];str="Hello";效果是一樣的【答案】A【解析】字符數(shù)組在定義時(shí)可以用字符串賦初值,其后就不可以再用字符串常量進(jìn)行賦值。答案選擇A。26、inta=1,b=2,c=3;
if(a>c)b=a;
a=c;
c=b;
則c的值為________。 A、1 B、2 C、3 D、不一定【答案】B27、若有定義語(yǔ)句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;
則錯(cuò)誤引用x數(shù)組元素的是______。 A、*p B、x[5] C、*(p+1) D、*x【答案】B28、C源程序中的命令#include與#define是在______階段被處理的。 A、預(yù)處理 B、編譯 C、連接 D、執(zhí)行【答案】A29、下列表達(dá)式中,類型可以作為int型的是________。 A、"abe"+"efg" B、"abc"+"efg" C、'a'+'b' D、3+"4"【答案】C【解析】選項(xiàng)A的運(yùn)算結(jié)果為字符串類型;選項(xiàng)B語(yǔ)法錯(cuò)誤;選項(xiàng)D的運(yùn)算結(jié)果也是字符串;只有選項(xiàng)C可以看做是兩個(gè)字符的ASCII值相加,結(jié)果為int型。30、若要打開a盤上的user子目錄下名為abc.txt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是______。 A、fopen("A:\user\abc.txt","r") B、fopen("A:\\user\\abc.txt","r+") C、fopen("A:\user\abc.txt","rb") D、fopen("A:\\user\\abc.txt","w")【答案】B31、下列程序的運(yùn)行結(jié)果是________。
voidfun(int*a,int*b)
{
int*k;
k=a;
a=b;
b=k;
}
main()
{
inta=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
} A、63 B、36 C、編譯出錯(cuò) D、00【答案】B【解析】在C語(yǔ)言中,調(diào)用函數(shù)時(shí)是將實(shí)參復(fù)制一份給形參,所以無(wú)論怎么改變形參的值,都不會(huì)影響到實(shí)參,即傳值調(diào)用。即使形參是指針變量,也沒(méi)有改變C語(yǔ)言傳值調(diào)用這個(gè)事實(shí),實(shí)參指針也還是復(fù)制了一份給形參指針,無(wú)論怎么改變形參指針的內(nèi)容(注意:不是形參指針?biāo)赶虻膬?nèi)容),也不會(huì)影響實(shí)參指針的內(nèi)容。但它們兩個(gè)現(xiàn)在的值一樣,即指向的是同一個(gè)內(nèi)存地址,所以改變形參指針?biāo)赶虻膬?nèi)容,也就改變了實(shí)參指針?biāo)赶虻膬?nèi)容,C語(yǔ)言就是這樣實(shí)現(xiàn)傳址調(diào)用的。本題中fun()函數(shù)的形參就是兩個(gè)指針,但函數(shù)中沒(méi)有任何語(yǔ)句改變這兩個(gè)指針?biāo)赶虻膬?nèi)容,只是交換了兩個(gè)參數(shù)的內(nèi)容,所以該函數(shù)不會(huì)對(duì)傳遞給它的實(shí)參以及實(shí)參所指向的內(nèi)容造成任何影響,故a,b初始化時(shí)為3,6,輸出結(jié)果亦為3和6。應(yīng)該選擇B。32、若希望當(dāng)a的值為奇數(shù)時(shí),表達(dá)式的值為"真"。a的值為偶數(shù)時(shí),表達(dá)式的值為"假"。則以下不能能滿足要求的表達(dá)式是________。 A、!(A%2) B、!(A%2==0) C、A%2==1 D、A%2【答案】A33、以下與庫(kù)函數(shù)strcpy(char*p1,char*p2)功能不等的程序段是________。 A、strcpy1(char*p1,char*p2){
while((*p1++=*p2++)!='\0');
} B、strcpy2(char*p1,char*p2){
while((*p1=*p2)!='\0'){
p1++;p2++;
}
} C、strcpy3(char*p1,char*p2){
while(*p1++=*p2++);
} D、strcpy4(char*p1,char*p2){
while(*p2)*p1++=*p2++;
}【答案】D34、c語(yǔ)言中用于定義類的關(guān)鍵字是________。 A、class B、struct C、default D、sizeof【答案】A【解析】C中類定義的關(guān)鍵字是class。class不能大寫。35、以下程序的輸出結(jié)果是______。
#defineSQR(X)X*X
main()
{
intA,k=2,m=1;
A=SQR(k+m)/SQR(k+m);
printf("%d\n",a);
} A、1 B、7 C、9 D、3【答案】B36、與下面程序段等價(jià)的是________。
for(n=100;n<=200;n++)
{
if(n%3==0)continue;
printf("%4d",n);
} A、for(n=100;(n%3)&&n<=200;n++)printf("%4d",n); B、for(n=100;(n%3)||n<=200;n++)printf("%4d",n); C、for(n=100;n<=200;n++)if(n%3!=0)printf("%4d",n); D、for(n=100;n<=200;n++){
if(n%3)printf("%4d",n);Elsecontinue;Break;}【答案】C37、語(yǔ)句int(*ptr)();
的含義是______。 A、ptr是指向一維數(shù)組的指針變量 B、ptr是指向int型數(shù)據(jù)的指針變量 C、ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù) D、ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針【答案】C38、下面程序的輸出結(jié)果是__________.
#include<stdio.h>
voidmain()
{
intx=8,y=-7,z=9;
if(x<y)if(y<0)z=0;
elsez-=1;
printf("%d\n",z);
} A、8 B、1 C、9 D、0【答案】C39、下列一維數(shù)組初始化語(yǔ)句中,正確且與語(yǔ)句floata[]={0,3,8,0,9};等價(jià)的是__________. A、floata[6]={
0,3,8,0,9}; B、floata[4]={
0,3,8,0,9}; C、floata[7]={
0,3,8,0,9}; D、floata[5]={
0,3,8,0,9};【答案】D40、有以下程序
structstu
{
charname[10];
intnum;
};
voidf(char*name,intnum)
{
structstus[2]={{"sundan",20044},{"penghua",20045}};
num=s[0].num;
strcpy(name,s[0].name);
}
main()
{
structstus[2]={{"yangsan",20041},{"lisiguo",20042}},*p;
p=&s[1];
f(p->name,p->num);
printf("%s%d\n",p->name,p->num);
}
程序運(yùn)行后的輸出結(jié)果是________。 A、SunDan20042 B、SunDan20044 C、LiSiGuo20042 D、YangSan20041【答案】A41、以下敘述中錯(cuò)誤的______。 A、C程序在運(yùn)行過(guò)程中所有計(jì)算都以二進(jìn)制方式進(jìn)行 B、C程序在運(yùn)行過(guò)程中所有計(jì)算都以十進(jìn)制方式進(jìn)行 C、所有C程序都需要編譯鏈接無(wú)誤后才能運(yùn)行 D、C程序中整型變量只能存放整數(shù),實(shí)型變量只能存放浮點(diǎn)數(shù)【答案】B42、設(shè)x=061,y=016,則z=x|y的值是________。 A、00001111 B、11111111 C、00111111 D、11000000【答案】C【解析】本題主要考查按位或運(yùn)算,x=061(二進(jìn)制為00110001),y=016(二進(jìn)制為00001110),進(jìn)行或運(yùn)算后結(jié)果為00111111。43、三種基本結(jié)構(gòu)中,能簡(jiǎn)化大量程序代碼的是________。 A、順序結(jié)構(gòu) B、分支結(jié)構(gòu) C、選擇結(jié)構(gòu) D、重復(fù)結(jié)構(gòu)【答案】D44、以下描述中正確的是________。 A、由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句 B、do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號(hào) C、在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?"假")的操作 D、do-while循環(huán)中,根據(jù)情況可以省略while【答案】C45、charh,*s=&h;可將字符h通過(guò)指針存入變量h中的語(yǔ)句是________。 A、*s=H; B
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 1 Life Choices Lesson 2 Understanding and Coping with Stress 教學(xué)設(shè)計(jì)-2024-2025學(xué)年高中英語(yǔ)北師大版(2019)必修第一冊(cè)
- 2025-2030年中國(guó)拖拉機(jī)加長(zhǎng)半軸項(xiàng)目投資可行性研究分析報(bào)告
- 畜牧養(yǎng)殖建設(shè)項(xiàng)目可研報(bào)告
- 2025年醫(yī)療廢物處理設(shè)施建設(shè)合同范本
- 2025年度新型農(nóng)業(yè)承包土地入股合同范本
- 2025年度制冷設(shè)備環(huán)保性能評(píng)估合同
- 第17課《動(dòng)物笑談》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)上冊(cè)
- 2025年度自然人個(gè)人經(jīng)營(yíng)貸款合同范本
- 2025年度汽車銷售售后服務(wù)返點(diǎn)合同
- 2025年度電子商務(wù)交易安全風(fēng)險(xiǎn)評(píng)估合同
- 移動(dòng)投訴工作總結(jié)
- 運(yùn)動(dòng)損傷以及預(yù)防
- 《汽車油料與維護(hù)》課件
- 《電力系統(tǒng)規(guī)劃》第1章
- 高二歷史【開學(xué)第一課】2022年高中秋季開學(xué)指南之愛(ài)上歷史課
- 人間生活(外國(guó)部分)
- 2023年TOFD檢測(cè)通用工藝規(guī)程參考版
- 物業(yè)保潔團(tuán)隊(duì)建設(shè)與管理
- 紙與我們的生活
- 國(guó)家中長(zhǎng)期科技發(fā)展規(guī)劃綱要2021-2035
- 施工班組考核評(píng)分表
評(píng)論
0/150
提交評(píng)論