版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2/2湖州師范學(xué)院C語言期末總分:100分 考試時間:60分鐘注意事項:仔細(xì)查看答題卡正反面,如出現(xiàn)字跡模糊、行列歪斜或缺印、破損、有褶皺等現(xiàn)象,要立即向監(jiān)考老師報告。答題須在專用的“答題卡”上進(jìn)行,在試題卷和草稿紙上答題無效??荚嚱Y(jié)束前要離開考場的考生須先按答題卡、試卷、草稿紙從上到下的順序平放在桌面上,再舉手提出離場。一、單項選擇題(每小題2分,共100分)1、下列說法中,正確的是______。 A、指針是一個變量 B、指針中存放的可以是任何類型的值 C、指針變量是變量地址 D、指針變量占用存儲空間【答案】D【解析】指針是地址,存放指針的變量是指針變量,不同類型的指針變量存放不同類型數(shù)據(jù)的地址,指針變量作為可存儲指針的變量,也要占用一定的存儲空間。2、若int類型占兩個字節(jié),則以下語句輸出為________。intk=-1;
printf("%d,%u\n",k,k); A、-1,-1 B、-1,65536 C、-1,32768 D、-1,65535【答案】D3、在嵌套使用if語句時,c語言規(guī)定else總是________。 A、和之前與其具有相同縮進(jìn)位置的if配對 B、和之前與其最近的if配對 C、和之前與其最近的且不帶else的if配對 D、和之前的第一個if配對【答案】C4、下列各循環(huán)語句中,不是死循環(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【解析】分析各個選項。選項A中,當(dāng)變量i的值等于20時,會執(zhí)行break;語句,即退出整個while循環(huán)體。所以選項A的循環(huán)語句不是死循環(huán)。其他各個選項的循環(huán)語句中,沒有循環(huán)退出點(diǎn),所以都是死循環(huán)。5、以下敘述不正確的是________。 A、一個C源程序可由一個或多個函數(shù)組成 B、一個C源程序必須包含一個main函數(shù) C、C程序的基本組成單位是函數(shù) D、在C程序中,注釋說明只能位于一條語句的后面【答案】D【解析】本題考查C語言的基本基礎(chǔ)知識。在C程序中,注釋用符號“/*”開始,而以符號“*/”結(jié)束。程序的注釋可以放在程序的任何位置。通常將注釋放在程序的開始,以說明本程序的功能;或者放在程序的某個語句后面,以對此語句的功能進(jìn)行說明。無論將注釋放有何處,在程序進(jìn)行編譯時,編譯程序不會處理注釋的內(nèi)容,且注釋內(nèi)容也不會出現(xiàn)在目標(biāo)程序中。6、設(shè)intx=7,則~x的值是________。 A、-8 B、7 C、-1 D、1【答案】A7、若二維數(shù)組a有m列,則計算任一元素a[i][j]在數(shù)組中位臵的公式為(假設(shè)a[0][0]位于數(shù)組的第一個位臵上)________。 A、i*m+j B、j*m+i C、i*m+j-1 D、i*m+j+1【答案】D8、我們所寫的每條c語句,經(jīng)過編譯最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令。關(guān)于轉(zhuǎn)換以下說法錯誤的是______。 A、一條C語句可能會被轉(zhuǎn)換成零條機(jī)器指令 B、一條C語句可能會被轉(zhuǎn)換成多條機(jī)器指令 C、一條C語句對應(yīng)轉(zhuǎn)換成一條機(jī)器指令 D、某種類型和格式的C語句被轉(zhuǎn)換成機(jī)器指令的條數(shù)是固定的【答案】C9、下面程序段的運(yùn)行結(jié)果是char*s="abcde";s+=2;printf("%d",s); A、cde B、字符'c' C、字符'c'的地址 D、無確定的輸出結(jié)果【答案】C【解析】對于字符串指針,其保留的是整個串的首地址,即第一個字符的起始地址;當(dāng)該指針做算術(shù)運(yùn)算時,就是該指針根據(jù)其類型向后移動相應(yīng)的存儲空間。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)用語句func(rec1,rec2+rec3,rec4,rec5);該函數(shù)調(diào)用語句中,含有的實(shí)參個數(shù)是__________. A、3 B、4 C、5 D、有語法錯誤【答案】B12、下列標(biāo)識符,不合法的是________。 A、abc B、_d C、123 D、e1【答案】C【解析】123不是合法的標(biāo)識符,標(biāo)識符不能以數(shù)字開頭。13、每個c程序中都必須有且僅有一個________。 A、類 B、預(yù)處理命令 C、主函數(shù) D、語句【答案】C【解析】每個C程序中都要有且僅有一個主函數(shù),該函數(shù)是程序的入口,而語句、預(yù)處理命令和函數(shù)及類在程序中都可以有多個。14、若有如下定義和語句,且0<=i<5,下面()是對數(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語句的關(guān)鍵字沒有哪個? A、continue B、break C、default D、if【答案】A17、在c語言中______。 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【解析】逗號表達(dá)式a++,b++,a+b先計算a++,a=2;再計算b++,b=3;表達(dá)式的值就是a+b的值,為5。表達(dá)式c++的值是c遞增前的值,為3。所以fun((a++,b++,a+b),c++)等價于fun(5,3),返回值為5+3=8。19、下列字符數(shù)組初始化語句中,不正確的是________。 A、charc[]='goodmorning'; B、chare[20]="goodmorning": C、charc[]=('a','b','c','d'); D、charc[]={”ffgoodmorning”);【答案】A20、c語言中的基本數(shù)據(jù)類型包括 A、整型、實(shí)型、字符型 B、整型、字符型、數(shù)組 C、整型、實(shí)型、邏輯型 D、整型、實(shí)型、結(jié)構(gòu)體【答案】A21、若采用雙符號位判斷溢出,當(dāng)結(jié)果的符號位為11時,表示(13)。 A、結(jié)果為正溢出 B、結(jié)果正,無溢出 C、結(jié)果負(fù)溢出 D、結(jié)果為負(fù),無溢出【答案】D【解析】本題考查定點(diǎn)數(shù)加、減法溢出問題。
定點(diǎn)數(shù)加、減時,若采用雙符號位法,即采用兩個符號位,如果兩個符號位相同,則沒有溢出;若不同,則表示出現(xiàn)溢出,而第一符號位才是真正的符號。即兩個符號位的高位為1表示負(fù)溢出,而高位為0、低位為1則表示正溢出。
題目中給出的結(jié)果的符號位為11,根據(jù)上面的分析,第一個符號位才是真正的符號,那么此數(shù)是負(fù)數(shù),但兩個符號位相同,表示沒有溢出。22、未指定存儲類別的變量,其隱含的存儲類別為________。 A、auto B、static C、extern D、register【答案】A23、若有函數(shù)char*func(char*p)…returnp;則該函數(shù)的返回值是______。 A、無確切的值 B、形參p中存放的地址 C、一個臨時存儲單元的地址 D、形參p自身的地址【答案】B24、以下不正確的是______。 A、語句for(i=0:;i++)表示無限循環(huán) B、for(;;)表示無限循環(huán) C、for()也表示無限循環(huán) D、while(1)表示無限循環(huán)【答案】C25、以下敘述中正確的是______。 A、不能用字符串常量對字符數(shù)組名進(jìn)行整體賦值操作 B、字符串常量"Hello"會被隱含處理成一個無名字符型數(shù)組,它有5個元素 C、charstr[7]="string!";在語法上是合法的,運(yùn)行也是安全的 D、char*str;str="Hello";與charstr[];str="Hello";效果是一樣的【答案】A【解析】字符數(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、若有定義語句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;
則錯誤引用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【解析】選項A的運(yùn)算結(jié)果為字符串類型;選項B語法錯誤;選項D的運(yùn)算結(jié)果也是字符串;只有選項C可以看做是兩個字符的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、編譯出錯 D、00【答案】B【解析】在C語言中,調(diào)用函數(shù)時是將實(shí)參復(fù)制一份給形參,所以無論怎么改變形參的值,都不會影響到實(shí)參,即傳值調(diào)用。即使形參是指針變量,也沒有改變C語言傳值調(diào)用這個事實(shí),實(shí)參指針也還是復(fù)制了一份給形參指針,無論怎么改變形參指針的內(nèi)容(注意:不是形參指針?biāo)赶虻膬?nèi)容),也不會影響實(shí)參指針的內(nèi)容。但它們兩個現(xiàn)在的值一樣,即指向的是同一個內(nèi)存地址,所以改變形參指針?biāo)赶虻膬?nèi)容,也就改變了實(shí)參指針?biāo)赶虻膬?nèi)容,C語言就是這樣實(shí)現(xiàn)傳址調(diào)用的。本題中fun()函數(shù)的形參就是兩個指針,但函數(shù)中沒有任何語句改變這兩個指針?biāo)赶虻膬?nèi)容,只是交換了兩個參數(shù)的內(nèi)容,所以該函數(shù)不會對傳遞給它的實(shí)參以及實(shí)參所指向的內(nèi)容造成任何影響,故a,b初始化時為3,6,輸出結(jié)果亦為3和6。應(yīng)該選擇B。32、若希望當(dāng)a的值為奇數(shù)時,表達(dá)式的值為"真"。a的值為偶數(shù)時,表達(dá)式的值為"假"。則以下不能能滿足要求的表達(dá)式是________。 A、!(A%2) B、!(A%2==0) C、A%2==1 D、A%2【答案】A33、以下與庫函數(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語言中用于定義類的關(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、與下面程序段等價的是________。
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、語句int(*ptr)();
的含義是______。 A、ptr是指向一維數(shù)組的指針變量 B、ptr是指向int型數(shù)據(jù)的指針變量 C、ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù) D、ptr是一個函數(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ù)組初始化語句中,正確且與語句floata[]={0,3,8,0,9};等價的是__________. 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、以下敘述中錯誤的______。 A、C程序在運(yùn)行過程中所有計算都以二進(jìn)制方式進(jìn)行 B、C程序在運(yùn)行過程中所有計算都以十進(jìn)制方式進(jìn)行 C、所有C程序都需要編譯鏈接無誤后才能運(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)中,能簡化大量程序代碼的是________。 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)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句 B、do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號 C、在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?"假")的操作 D、do-while循環(huán)中,根據(jù)情況可以省略while【答案】C45、charh,*s=&h;可將字符h通過指針存入變量h中的語句是________。 A、*s=H; B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年空調(diào)銷售渠道拓展與品牌建設(shè)服務(wù)合同3篇
- 二零二五版合租房屋租賃合同-含裝修保證金條款3篇
- 二零二五版建筑設(shè)備租賃合同書范例2篇
- 二零二五版法院判決指導(dǎo)下的債務(wù)償還與再融資合同3篇
- 二零二五版第5章第5節(jié)合同擔(dān)保及供應(yīng)鏈金融合作協(xié)議3篇
- 二零二五版合同部合同合規(guī)性審查與風(fēng)險預(yù)警合同3篇
- 二零二五年度酒店物業(yè)服務(wù)質(zhì)量持續(xù)改進(jìn)合同3篇
- 二零二五年青少年體育賽事服裝贊助合同3篇
- 二零二五版安防監(jiān)控設(shè)備研發(fā)與生產(chǎn)合同3篇
- 二零二五年度物流行業(yè)集體合同協(xié)議范本3篇
- 2024年08月云南省農(nóng)村信用社秋季校園招考750名工作人員筆試歷年參考題庫附帶答案詳解
- 防詐騙安全知識培訓(xùn)課件
- 心肺復(fù)蘇課件2024
- 2024年股東股權(quán)繼承轉(zhuǎn)讓協(xié)議3篇
- 2024-2025學(xué)年江蘇省南京市高二上冊期末數(shù)學(xué)檢測試卷(含解析)
- 四川省名校2025屆高三第二次模擬考試英語試卷含解析
- 湖南財政經(jīng)濟(jì)學(xué)院專升本管理學(xué)真題
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- Proud-of-you中英文歌詞
- 基因的表達(dá)與調(diào)控.ppt
評論
0/150
提交評論