版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
清華c語言期末測試題第一部分單選題(50題)1、以下哪個數(shù)據(jù)類型用于存儲單個字符?()
A.int
B.char
C.float
D.double
【答案】:答案解析:char用于存儲單個字符(ASCII碼),int存儲整數(shù),float/double存儲浮點(diǎn)數(shù),故選B。2、若intx=3,y=5;則表達(dá)式x>y?x:y的結(jié)果是?()
A.3
B.5
C.true
D.false
【答案】:答案解析:三元運(yùn)算符格式“條件?值1:值2”,x>y為假,取y=5,故選B。3、以下if語句中,條件表達(dá)式正確的是?()
A.if(x=5)printf("yes");
B.if(x==5)printf("yes");
C.if(x=5;)printf("yes");
D.if(x==5;)printf("yes");
【答案】:答案解析:if條件需是判斷表達(dá)式(==),A是賦值,C、D多加分號,故選B。4、以下定義指向字符串的指針正確的是?()
A.char*str="hello";
B.charstr[]="hello";
C.char(*str)[]="hello";
D.charstr[5]="hello";
【答案】:答案解析:A是指向字符串常量的指針,B是字符數(shù)組,C是數(shù)組指針(類型不匹配),D長度不足(含\0需6字節(jié)),故選A。5、若inta=3;執(zhí)行if(++a==4)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:++a使a=4,條件為真,輸出A,故選A。6、以下循環(huán)語句中,語法正確的是?()
A.while(i<5){printf("%d",i);i++;}
B.while(i<5)printf("%d",i);i++;
C.do{printf("%d",i);i++;}while(i<5)
D.for(i=0;i<5)printf("%d",i);
【答案】:答案解析:B中i++在循環(huán)體外(循環(huán)無限),C缺少分號,D缺少更新表達(dá)式,A語法正確,故選A。7、以下關(guān)于void類型函數(shù)的說法正確的是?()
A.不能有return語句
B.可以有return語句(無表達(dá)式)
C.必須有return語句
D.可返回任意類型
【答案】:答案解析:void函數(shù)可寫return;(無表達(dá)式),用于提前結(jié)束函數(shù),不能返回表達(dá)式,故選B。8、以下函數(shù)聲明正確的是?()
A.intfun(intx,inty);
B.intfun(int,int);
C.intfun(intx;inty);
D.A和B
【答案】:答案解析:函數(shù)聲明可寫參數(shù)名或只寫類型,A、B正確,C用分號錯誤,故選D。9、若charstr[10];執(zhí)行strcpy(str,"hello");后str的長度是?()
A.5
B.6
C.10
D.不確定
【答案】:答案解析:strcpy復(fù)制字符串"hello"(含\0),長度為5(不含\0),故選A。10、putchar()函數(shù)的功能是?()
A.讀取一個字符
B.輸出一個字符
C.讀取字符串
D.輸出字符串
【答案】:答案解析:putchar()用于輸出單個字符,getchar()讀取單個字符,puts()輸出字符串,故選B。11、若intx=4;執(zhí)行switch(x){case2:printf("2");break;default:printf("0");case4:printf("4");break;}輸出結(jié)果是?()
A.04
B.4
C.204
D.無輸出
【答案】:答案解析:x=4匹配case4,執(zhí)行輸出4,break跳出,故選B。12、二維數(shù)組a[3][4]的元素個數(shù)是?()
A.7
B.12
C.3
D.4
【答案】:答案解析:3行4列,共3×4=12個元素,故選B。13、以下數(shù)組定義中,正確的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A、B、C均符合數(shù)組定義規(guī)則,故選D。14、以下關(guān)于數(shù)組越界的說法正確的是?()
A.編譯時會報錯
B.運(yùn)行時一定會崩潰
C.可能導(dǎo)致程序錯誤
D.無影響
【答案】:答案解析:數(shù)組越界屬于未定義行為,編譯時不報錯,運(yùn)行時可能正?;虮罎?,故選C。15、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()
A.7
B.8
C.&a
D.無定義
【答案】:答案解析:++*p等價于++(*p),先解引用取a的值,再加1(a=8),故選B。16、以下哪個for循環(huán)是無限循環(huán)?()
A.for(i=0;i<5;i++)
B.for(;;)
C.for(i=0;i<5;i--);
D.for(i=5;i>0;i--)
【答案】:答案解析:for循環(huán)三個表達(dá)式均省略時,條件恒為真,是無限循環(huán),A執(zhí)行5次,C、D初始條件不滿足(執(zhí)行0次),故選B。17、以下哪個是C語言中的賦值運(yùn)算符?()
A.==
B.=
C.+=
D.!=
【答案】:答案解析:=是賦值運(yùn)算符,==是等于判斷,+=是復(fù)合賦值,!=是不等于判斷,故選B。18、若intx=1;執(zhí)行switch(x){case1:printf("1");case2:printf("2");break;case3:printf("3");}輸出結(jié)果是?()
A.1
B.12
C.123
D.無輸出
【答案】:答案解析:x=1匹配case1,無break,穿透到case2(執(zhí)行后break),輸出12,故選B。19、以下數(shù)組初始化錯誤的是?()
A.inta[5]={0};
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[5]={1,2,3,4,5,6};
【答案】:答案解析:D初始化元素個數(shù)超數(shù)組長度(5),編譯報錯,A、B、C正確,故選D。20、以下循環(huán)中,用于計算1到10的乘積的是?()
A.s=0;for(i=1;i<=10;i++)s+=i;
B.s=1;for(i=1;i<=10;i++)s*=i;
C.s=0;while(i<=10){s*=i;i++;}
D.s=1;do{s+=i;i++;}while(i<=10);
【答案】:答案解析:乘積初始值為1,累加初始值為0,B的邏輯是12...*10,正確,故選B。21、以下關(guān)于空指針的定義正確的是?()
A.#defineNULL0
B.#defineNULL(void*)0
C.int*p=NULL;
D.以上都正確
【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。22、以下函數(shù)定義錯誤的是?()
A.voidfun(){}
B.voidfun(inta){}
C.intfun(){}
D.intfun(){return;}
【答案】:答案解析:D返回類型int(必須return表達(dá)式),return無表達(dá)式錯誤,A、B、C正確,故選D。23、指針作為函數(shù)返回值時,不能返回?()
A.靜態(tài)局部變量的地址
B.全局變量的地址
C.動態(tài)分配內(nèi)存的地址
D.局部變量的地址
【答案】:答案解析:局部變量在函數(shù)調(diào)用結(jié)束后釋放,返回其地址會導(dǎo)致野指針,故選D。24、若inta=7;執(zhí)行if(a%3==1)printf("A");elseif(a%3==2)printf("B");elseprintf("C");輸出結(jié)果是?()
A.A
B.B
C.C
D.無輸出
【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,條件1成立?哦7%3=1,應(yīng)輸出A?不對,7%3=1,第一個條件成立,輸出A?重新計算:7÷3=2余1,a%3=1,執(zhí)行第一個分支,輸出A,故選A(原解析修正:之前誤算,正確結(jié)果A)。25、函數(shù)的形參在______時分配內(nèi)存?()
A.函數(shù)定義
B.函數(shù)聲明
C.函數(shù)調(diào)用
D.程序編譯
【答案】:答案解析:形參是局部變量,函數(shù)調(diào)用時分配內(nèi)存,調(diào)用結(jié)束釋放,故選C。26、以下if語句中,賦值語句和判斷語句混淆的是?()
A.if(x==5)
B.if(x=5)
C.if(x!=5)
D.if(x>5)
【答案】:答案解析:x=5是賦值(將5賦給x),x==5是判斷(x是否等于5),B混淆了兩者,故選B。27、執(zhí)行scanf("%d,%d",&a,&b);時,正確的輸入格式是?()
A.23
B.2;3
C.2,3
D.2和3
【答案】:答案解析:scanf格式串中含逗號分隔符,輸入需嚴(yán)格對應(yīng),故選C。28、while循環(huán)的語法格式正確的是?()
A.while(條件)語句;
B.while條件語句;
C.while(條件);語句;
D.while(條件){語句}
【答案】:答案解析:while后條件需加括號,語句可是單條(加分號)或代碼塊(用{}),D缺少分號,故選A。29、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=3);輸出結(jié)果是?()
A.123
B.1234
C.012
D.無輸出
【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷,共執(zhí)行3次,輸出123,故選A。30、以下if語句中,邏輯非運(yùn)算符使用正確的是?()
A.if(!x)printf("yes");
B.if(!x==0)printf("yes");
C.if(!(x>0))printf("yes");
D.A和C
【答案】:答案解析:!x表示“x為假(0)”,!(x>0)表示“x不大于0”,均正確;B中!x==0等價于x!=0,邏輯不同,故選D。31、以下關(guān)于循環(huán)語句的說法錯誤的是?()
A.for循環(huán)三個表達(dá)式均可省略
B.while循環(huán)先判斷后執(zhí)行
C.do-while循環(huán)至少執(zhí)行一次
D.continue可用于switch語句
【答案】:答案解析:continue僅用于循環(huán)語句,不能用于switch,A、B、C說法正確,故選D。32、以下for循環(huán)中,用于計算1到5的平方和的是?()
A.s=0;for(i=1;i<=5;i++)s+=ii;
B.s=0;for(i=1;i<=5;i++)s+=i2;
C.s=1;for(i=1;i<=5;i++)s*=i;
D.s=0;for(i=1;i<=5;i++)s+=i+i;
【答案】:答案解析:平方和是12+22+32+42+52=1+4+9+16+25=55,A的邏輯正確,故選A。33、若inti=0,s=0;執(zhí)行do{s+=i;i++;}while(i<5);后s的值是?()
A.10
B.15
C.5
D.0
【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故選A。34、以下循環(huán)中,循環(huán)次數(shù)為3次的是?()
A.for(i=1;i<=3;i++)
B.while(i=3)
C.do{i++;}while(i<3);
D.for(i=5;i>0;i--)
【答案】:答案解析:A執(zhí)行3次(1-3),B是無限循環(huán),C(i初始0)執(zhí)行3次,D執(zhí)行5次,題目問“3次”,A明確正確,故選A。35、以下循環(huán)語句中,執(zhí)行次數(shù)為5次的是?()
A.for(i=0;i<5;i++)
B.while(i<5){i++;}
C.do{i++;}while(i<5);
D.for(i=1;i<=5;i--)
【答案】:答案解析:A執(zhí)行5次(0-4),B、C未初始化i(若i初始0則5次,否則不確定),D初始i=1>0,執(zhí)行0次,故選A。36、以下關(guān)于動態(tài)內(nèi)存分配的說法正確的是?()
A.malloc函數(shù)用于動態(tài)分配內(nèi)存,返回void*
B.free函數(shù)用于釋放動態(tài)分配的內(nèi)存
C.動態(tài)分配的內(nèi)存需手動釋放,避免內(nèi)存泄漏
D.以上都正確
【答案】:答案解析:A、B、C均是動態(tài)內(nèi)存分配的核心規(guī)則,故選D。37、若inti=0;執(zhí)行while(i<5){printf("%d",i);i++;if(i==3)break;}輸出結(jié)果是?()
A.012
B.0123
C.01
D.無輸出
【答案】:答案解析:i=3時break,輸出012,故選A。38、以下指針運(yùn)算中,結(jié)果為指針的是?()
A.*p
B.p+1
C.&a
D.B和C
【答案】:答案解析:p+1是指針偏移,&a是取地址,結(jié)果均為指針;*p是解引用(獲取值),故選D。39、C語言中,語句結(jié)束的標(biāo)志是?()
A.逗號
B.分號
C.冒號
D.句號
【答案】:答案解析:C語言單條語句以分號(;)結(jié)尾,復(fù)合語句用{}包裹,故選B。40、函數(shù)參數(shù)為數(shù)組時,形參的寫法錯誤的是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均正確,故選D。41、函數(shù)調(diào)用時,實(shí)參和形參的個數(shù)必須?()
A.相等
B.實(shí)參多于形參
C.形參多于實(shí)參
D.無要求
【答案】:答案解析:函數(shù)調(diào)用時實(shí)參和形參個數(shù)、類型需匹配,否則編譯錯誤,故選A。42、以下哪個條件表達(dá)式表示“x是奇數(shù)”?()
A.x%2==0
B.x%2!=0
C.x/2==0
D.x/2!=0
【答案】:答案解析:奇數(shù)除以2余數(shù)為1,x%2!=0表示奇數(shù),A是偶數(shù),故選B。43、若inti=0;執(zhí)行do{i++;printf("%d",i);}while(i<=2);輸出結(jié)果是?()
A.123
B.012
C.12
D.無輸出
【答案】:答案解析:do-while執(zhí)行3次,i=1、2、3,輸出123,故選A。44、若intx=0;執(zhí)行if(x)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:x=0為假,執(zhí)行else分支,輸出B,故選B。45、以下指針運(yùn)算中,結(jié)果為值的是?()
A.*p
B.p+1
C.&a
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職動漫制作技術(shù)(動漫動畫制作)試題及答案
- 2025年大學(xué)本科(動物科學(xué))動物遺傳學(xué)試題及答案
- 2025年大學(xué)健康管理(健康管理規(guī)劃)試題及答案
- 2025年大學(xué)統(tǒng)計學(xué)(統(tǒng)計學(xué)案例分析)試題及答案
- 2025年高職特許經(jīng)營管理(管理實(shí)務(wù))試題及答案
- 2025年高職第四學(xué)年(工業(yè)網(wǎng)絡(luò)安全)防護(hù)技術(shù)階段測試題及答案
- 2025年大學(xué)放射治療技術(shù)(放射治療操作)試題及答案
- 2025年高職(大數(shù)據(jù)應(yīng)用技術(shù))數(shù)據(jù)分析報告撰寫技術(shù)綜合測試題
- 2025年中職精細(xì)化工技術(shù)(產(chǎn)品研發(fā))試題及答案
- 2025年高職審計(審計實(shí)務(wù))試題及答案
- 新華書店管理辦法
- 檔案專業(yè)人員公司招聘筆試題庫及答案
- 工程竣工移交單(移交甲方、物業(yè))
- 糖水店員工管理制度
- 來料檢驗(yàn)控制程序(含表格)
- 2025年鈦合金閥項(xiàng)目可行性研究報告
- 耙地合同協(xié)議書
- 分布式基站光伏電站建設(shè)標(biāo)準(zhǔn)
- 2024-2025學(xué)年廣東省深圳市福田區(qū)六年級(上)期末數(shù)學(xué)試卷
- 道岔滾輪作用原理講解信號設(shè)備檢修作業(yè)課件
評論
0/150
提交評論