版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
全國二級計算機(jī)C語言程序設(shè)計題庫第一部分單選題(50題)1、以下switch語句中,case后的常量可以是?()
A.整數(shù)
B.字符
C.枚舉常量
D.以上都可以
【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質(zhì)是ASCII碼整數(shù)),故選D。2、預(yù)處理命令#definePI3.14159的作用是?()
A.定義變量
B.定義常量
C.函數(shù)聲明
D.包含頭文件
【答案】:答案解析:#define是宏定義,用于定義常量(無分號,直接替換),故選B。3、若intx=6;執(zhí)行以下代碼后輸出結(jié)果是?()if(x<5){printf("A");}elseif(x<8){printf("B");}else{printf("C");}
A.A
B.B
C.C
D.無輸出
【答案】:答案解析:x=6<8,執(zhí)行第二個分支,輸出B,故選B。4、以下switch語句中,break語句的位置正確的是?()
A.case后任意位置
B.必須在case代碼最后
C.必須在default后
D.不能在default后
【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。5、以下循環(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。6、若charc='A';執(zhí)行c=c+32后,c的值是?()
A.'a'
B.'B'
C.65
D.97
【答案】:答案解析:大寫字母ASCII碼比對應(yīng)小寫字母小32,'A'(65)+32='a'(97),故選A。7、以下if-else語句的語法錯誤是?()
A.if(x>0)printf("a");elseprintf("b");
B.if(x>0){printf("a");}else{printf("b");}
C.if(x>0)printf("a");else;printf("b");
D.if(x>0){printf("a");}elseprintf("b");
【答案】:答案解析:else后不能直接加分號(否則else無作用),C中else;后printf獨(dú)立執(zhí)行,故選C。8、若inta=7,b=3;執(zhí)行if(a%b==1)a=0;elseb=0;后a和b的值分別是?()
A.0,3
B.7,0
C.0,0
D.7,3
【答案】:答案解析:7%3=1,條件為真,a=0,b保持3,故選A。9、若inta[5]={1,2,3,4,5};則a[5]是?()
A.5
B.0
C.越界訪問
D.無定義
【答案】:答案解析:a[5]下標(biāo)超出0-4范圍,屬于越界訪問(可能導(dǎo)致程序錯誤),故選C。10、以下函數(shù)定義正確的是?()
A.voidfun(){printf("hello");}
B.voidfun(inta){printf("%d",a);}
C.intfun(){return5;}
D.以上都正確
【答案】:答案解析:A無參無返回值,B有參無返回值,C無參有返回值,均符合語法,故選D。11、若inta[4]={10,20,30,40};則*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三個元素地址,*(a+2)=a[2]=30,故選B。12、若charstr[]="Clanguage";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:字符串長度以\0結(jié)束,"Clanguage"含10個字符(不含\0),故選A。13、以下關(guān)于指針的說法正確的是?()
A.野指針是指向無效地址的指針
B.空指針是野指針的一種
C.避免野指針需初始化并及時置空
D.以上都正確
【答案】:答案解析:A、B、C均是野指針的核心知識點(diǎn),故選D。14、指針變量的作用是存儲?()
A.變量的值
B.變量的地址
C.函數(shù)的地址
D.數(shù)組的元素
【答案】:答案解析:指針變量專門存儲其他變量的內(nèi)存地址,故選B。15、以下if-else語句中,代碼塊執(zhí)行順序正確的是?()
A.先執(zhí)行if條件,滿足則執(zhí)行if代碼塊,否則執(zhí)行else代碼塊
B.先執(zhí)行else代碼塊,再執(zhí)行if條件
C.同時執(zhí)行if和else代碼塊
D.僅執(zhí)行else代碼塊
【答案】:答案解析:if-else邏輯為“條件判斷→滿足執(zhí)行if,否則執(zhí)行else”,互斥執(zhí)行,故選A。16、continue語句只能用于以下哪種結(jié)構(gòu)?()
A.循環(huán)語句
B.switch語句
C.if語句
D.所有結(jié)構(gòu)
【答案】:答案解析:continue僅用于循環(huán)語句(for/while/do-while),用于跳過本次循環(huán),故選A。17、若inti=0,s=0;執(zhí)行for(i=1;i<=4;i++)s+=i;后s的值是?()
A.10
B.9
C.8
D.7
【答案】:答案解析:累加1+2+3+4=10,s=10,故選A。18、若intx=10,y=20;則表達(dá)式x!=y的結(jié)果是?()
A.0
B.1
C.10
D.20
【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。19、C語言程序編譯的正確順序是?()
A.預(yù)處理→編譯→匯編→鏈接
B.編譯→預(yù)處理→匯編→鏈接
C.預(yù)處理→匯編→編譯→鏈接
D.鏈接→編譯→匯編→預(yù)處理
【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標(biāo)文件)→鏈接(生成可執(zhí)行文件),故選A。20、若inta[4]={1,2,3,4};則*(a+1)的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a是首地址,a+1是第二個元素地址,*(a+1)=a[1]=2,故選B。21、以下for循環(huán)的循環(huán)變量初始化表達(dá)式為“i=5”的是?()
A.for(i=0;i<5;i++)
B.for(i=5;i>0;i--)
C.for(i=2;i<=5;i++)
D.for(i=5;i<10;i+=2)
【答案】:答案解析:初始化表達(dá)式是for循環(huán)第一個部分,B中i=5符合,其余初始化非5,故選B。22、若intx=0;執(zhí)行if(x)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:x=0為假,執(zhí)行else分支,輸出B,故選B。23、以下switch語句語法錯誤的是?()
A.switch(x){case1:printf("1");break;case2:printf("2");break;}
B.switch(x){case1:printf("1");case2:printf("2");}
C.switch(x){case1:;break;case2:printf("2");}
D.switch(x){case1:printf("1");break;case1:printf("2");break;}
【答案】:答案解析:case后常量不能重復(fù),D中case1重復(fù),編譯報錯,故選D。24、若inta=6;執(zhí)行a/=3;后a的值是?()
A.2
B.3
C.6
D.18
【答案】:答案解析:a/=3等價于a=a/3=6/3=2,故選A。25、若intx=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>6)printf("B");elseif(x>3)printf("C");elseprintf("D");
A.A
B.B
C.C
D.
【答案】:答案解析:x=5>3,執(zhí)行第三個分支,輸出C,故選C。26、以下關(guān)于二維數(shù)組的說法正確的是?()
A.二維數(shù)組是數(shù)組的數(shù)組
B.二維數(shù)組元素在內(nèi)存中按列存儲
C.二維數(shù)組長度必須是常量
D.二維數(shù)組不能作為函數(shù)參數(shù)
【答案】:答案解析:二維數(shù)組本質(zhì)是數(shù)組的數(shù)組,內(nèi)存按行存儲,可作為函數(shù)參數(shù),長度需常量,故選A。27、若inta[5]={1,2,3};則a[3]的值是?()
A.0
B.3
C.隨機(jī)值
D.無定義
【答案】:答案解析:初始化時未賦值的元素默認(rèn)為0,a[3]=0,故選A。28、若intx=1;執(zhí)行switch(x){case1:printf("1");break;case1:printf("2");break;}會出現(xiàn)什么情況?()
A.輸出1
B.輸出2
C.編譯錯誤
D.運(yùn)行錯誤
【答案】:答案解析:case后常量不能重復(fù),編譯時會報錯,故選C。29、以下哪個是NULL指針?()
A.void*p=0;
B.int*p=NULL;
C.charp=(char)0;
D.以上都正確
【答案】:答案解析:NULL指針是不指向任何有效地址的指針,三種寫法均正確,故選D。30、以下if語句的語法正確的是?()
A.if(x>0){printf("a");elseprintf("b");}
B.if(x>0)printf("a");else{printf("b");}
C.if(x>0)printf("a");elseprintf("b");}
D.if(x>0){printf("a");}elseprintf("b");}
【答案】:答案解析:A缺少},C多},D多},B語法正確(else后{}可加可不加),故選B。31、函數(shù)返回值的類型與return語句中表達(dá)式類型不一致時,會?()
A.編譯錯誤
B.自動強(qiáng)制轉(zhuǎn)換為函數(shù)返回類型
C.程序崩潰
D.無影響
【答案】:答案解析:編譯器會將return表達(dá)式類型強(qiáng)制轉(zhuǎn)換為函數(shù)返回類型(可能丟失精度),不報錯,故選B。32、若inti=0;執(zhí)行for(i=0;i<5;i++){printf("%d",i);if(i==2)break;}輸出結(jié)果是?()
A.012
B.01
C.01234
D.無輸出
【答案】:答案解析:i=2時break,輸出012,故選A。33、以下for循環(huán)中,循環(huán)變量初始化、條件判斷、更新表達(dá)式均正確的是?()
A.for(i=0;i<5;i++)
B.for(i=5;i>0;i--)
C.for(i=0;i<5;i+=2)
D.以上都正確
【答案】:答案解析:A(遞增)、B(遞減)、C(步長2)的三個表達(dá)式均合法,循環(huán)邏輯正確,故選D。34、以下關(guān)于空指針的定義正確的是?()
A.#defineNULL0
B.#defineNULL(void*)0
C.int*p=NULL;
D.以上都正確
【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。35、數(shù)組在內(nèi)存中的存儲方式是?()
A.隨機(jī)存儲
B.連續(xù)存儲
C.鏈?zhǔn)酱鎯?/p>
D.散列存儲
【答案】:答案解析:數(shù)組元素在內(nèi)存中連續(xù)存放,便于通過下標(biāo)訪問,故選B。36、以下指針運(yùn)算中,結(jié)果為值的是?()
A.*p
B.p+1
C.&a
D.p-2
【答案】:答案解析:*p是解引用,獲取指針指向變量的值,B、C、D結(jié)果均為指針,故選A。37、以下定義指向字符串的指針正確的是?()
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。38、若charstr="Clanguage";則(str+2)的值是?()
A.'C'
B.''
C.'l'
D.'a'
【答案】:答案解析:str+2指向第三個字符,值為'l',故選C。39、以下函數(shù)調(diào)用錯誤的是?()
A.fun();
B.fun(5);
C.fun(3,4);
D.無錯誤(需看函數(shù)定義)
【答案】:答案解析:調(diào)用需匹配函數(shù)定義,A對應(yīng)無參函數(shù),B對應(yīng)單參函數(shù),C對應(yīng)雙參函數(shù),均可能正確,故選D。40、以下函數(shù)定義錯誤的是?()
A.voidfun(){}
B.voidfun(inta){}
C.intfun(){}
D.intfun(){return;}
【答案】:答案解析:D返回類型int(必須return表達(dá)式),return無表達(dá)式錯誤,A、B、C正確,故選D。41、若inta=3;執(zhí)行if(++a>3)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:++a是前置自增,a變?yōu)?>3,條件為真,輸出A,故選A。42、若charstr[10]="abcde";則str[5]的值是?()
A.'e'
B.'\0'
C.隨機(jī)值
D.無定義
【答案】:答案解析:字符串自動在末尾加\0,str[5]是\0,故選B。43、若inta=10;執(zhí)行if(a%2==0)printf("偶數(shù)");elseprintf("奇數(shù)");輸出結(jié)果是?()
A.偶數(shù)
B.奇數(shù)
C.10
D.無輸出
【答案】:答案解析:a=10%2=0,條件為真,輸出偶數(shù),故選A。44、若inta=3,b=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(a>b)printf("A");elseprintf("B");
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:a=3<b=5,條件為假,執(zhí)行else分支,輸出B,故選B。45、若inta=8;執(zhí)行if(a%4==0)a=a/2;else
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學(xué)危險品押運(yùn)培訓(xùn)課件
- 2026年呼吸康復(fù)在肺部疾病中應(yīng)用實(shí)訓(xùn)
- 2026年手術(shù)患者術(shù)中民族復(fù)興監(jiān)測實(shí)訓(xùn)
- 《GAT 2085-2023法庭科學(xué) 粉末顯現(xiàn)手印技術(shù)規(guī)范》專題研究報告
- 保密協(xié)議(2026年游戲行業(yè)保密)
- 光伏項(xiàng)目質(zhì)量管理獎罰制度
- 2026銀河金融控股招聘試題及答案
- 化妝師客戶思維培訓(xùn)課件
- 2025年汽車零部件檢測與維修技術(shù)手冊
- 化妝學(xué)徒基本功培訓(xùn)課件
- GB/Z 17626.1-2024電磁兼容試驗(yàn)和測量技術(shù)第1部分:抗擾度試驗(yàn)總論
- T-CNCIA 01004-2017 水性石墨烯電磁屏蔽建筑涂料
- 50萬噸年脫硫石膏及20萬噸年廢硫磺綜合利用項(xiàng)目可行性研究報告寫作模板-申批備案
- 《床上擦浴技術(shù)》評分標(biāo)準(zhǔn)
- 設(shè)備安裝可行性方案
- 高中化學(xué)人教版(2019)選擇性必修二知識點(diǎn)總結(jié)
- 消化系統(tǒng)常見癥狀與體征課件整理-002
- 流程與TOC改善案例
- 【當(dāng)代中國婚禮空間設(shè)計研究4200字(論文)】
- GB/T 20322-2023石油及天然氣工業(yè)往復(fù)壓縮機(jī)
- 中國重汽車輛識別代號(VIN)編制規(guī)則
評論
0/150
提交評論