版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件技術(shù)C語言基礎(chǔ)知識練習(xí)題第一部分單選題(50題)1、若inti=0;執(zhí)行while(1){printf("%d",i);i++;if(i==3)break;}輸出結(jié)果是?()
A.012
B.0123
C.無限循環(huán)
D.無輸出
【答案】:答案解析:while(1)無限循環(huán),i=3時break,輸出012,故選A。2、若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。3、定義整型變量x、y并均賦值10的語句是?()
A.intx=y=10;
B.intx=10,y=10;
C.intx=10;y=10;
D.intx=10;inty=10;
【答案】:答案解析:同一行定義多個變量用逗號分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。4、以下關(guān)于空指針的定義正確的是?()
A.#defineNULL0
B.#defineNULL(void*)0
C.int*p=NULL;
D.以上都正確
【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。5、以下哪個是合法的字符常量?()
A."a"
B.'ab'
C.'a'
D.a
【答案】:答案解析:字符常量用單引號包裹單個字符,A是字符串,B是兩個字符(錯誤),D是標識符,故選C。6、以下函數(shù)聲明錯誤的是?()
A.voidfun(int);
B.voidfun(inta);
C.voidfun(inta,intb);
D.voidfun(inta;intb);
【答案】:答案解析:函數(shù)聲明中參數(shù)用逗號分隔,不能用分號,D語法錯誤,故選D。7、函數(shù)定義和函數(shù)聲明的區(qū)別是?()
A.定義包含函數(shù)體,聲明不包含
B.聲明包含函數(shù)體,定義不包含
C.定義和聲明無區(qū)別
D.定義在程序開頭,聲明在結(jié)尾
【答案】:答案解析:函數(shù)定義是完整實現(xiàn)(含函數(shù)體),聲明是告訴編譯器函數(shù)名、參數(shù)、返回類型(不含函數(shù)體),故選A。8、以下哪個是NULL指針?()
A.void*p=0;
B.int*p=NULL;
C.charp=(char)0;
D.以上都正確
【答案】:答案解析:NULL指針是不指向任何有效地址的指針,三種寫法均正確,故選D。9、函數(shù)參數(shù)的默認值在______指定?()
A.函數(shù)定義時
B.函數(shù)聲明時
C.函數(shù)調(diào)用時
D.C語言不支持默認參數(shù)
【答案】:答案解析:標準C語言不支持函數(shù)參數(shù)默認值(C++支持),故選D。10、若inti=0;執(zhí)行while(1){if(i==3)break;printf("%d",i);i++;}輸出結(jié)果是?()
A.012
B.0123
C.無限循環(huán)
D.無輸出
【答案】:答案解析:while(1)是無限循環(huán),i=3時break,輸出012,故選A。11、以下switch語句語法錯誤的是?()
A.switch(x){case1:printf("1");break;}
B.switch(x){case'a':printf("a");break;}
C.switch(x){case1.5:printf("1.5");break;}
D.switch(x){default:printf("0");}
【答案】:答案解析:case后必須是整型常量,1.5是浮點型,語法錯誤,故選C。12、以下哪個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)三個表達式均省略時,條件恒為真,是無限循環(huán),A執(zhí)行5次,C、D初始條件不滿足(執(zhí)行0次),故選B。13、若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。14、以下函數(shù)無返回值的是?()
A.intfun(){return0;}
B.voidfun(){printf("hello");}
C.floatfun(){return3.14;}
D.charfun(){return'b';}
【答案】:答案解析:void類型函數(shù)無返回值,A、C、D均有返回值,故選B。15、若inta=5,p=&a;執(zhí)行p=8;后a的值是?()
A.5
B.8
C.&a
D.無定義
【答案】:答案解析:*p=8通過指針修改指向變量a的值,a變?yōu)?,故選B。16、若inta[5]={1,2,3,4,5};則a[5]是?()
A.5
B.0
C.越界訪問
D.無定義
【答案】:答案解析:a[5]下標超出0-4范圍,屬于越界訪問(可能導(dǎo)致程序錯誤),故選C。17、以下哪個運算符的優(yōu)先級最高?()
A.+
B.*
C.=
D.==
【答案】:答案解析:算術(shù)運算符中*(乘)優(yōu)先級高于+(加),賦值(=)和關(guān)系(==)優(yōu)先級更低,故選B。18、C語言程序編譯的正確順序是?()
A.預(yù)處理→編譯→匯編→鏈接
B.編譯→預(yù)處理→匯編→鏈接
C.預(yù)處理→匯編→編譯→鏈接
D.鏈接→編譯→匯編→預(yù)處理
【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標文件)→鏈接(生成可執(zhí)行文件),故選A。19、以下指針運算中,結(jié)果為值的是?()
A.*p
B.p+1
C.&a
D.p-2
【答案】:答案解析:*p是解引用,獲取指針指向變量的值,B、C、D結(jié)果均為指針,故選A。20、若inta=5,*p=&a;則&*p的值是?()
A.5
B.&a
C.p
D.無定義
【答案】:答案解析:&*p等價于p,即&a(a的地址),故選B。21、以下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。22、C語言中,宏定義的預(yù)處理命令關(guān)鍵字是?()
A.include
B.define
C.ifdef
D.endif
【答案】:答案解析:#define用于宏定義,#include用于包含頭文件,#ifdef/endif是條件編譯,故選B。23、若inta=3,b=4;則表達式ab++的值是?()
A.12
B.15
C.16
D.7
【答案】:答案解析:b++是后置自增,先參與運算(ab=3*4=12),再自增(b變?yōu)?),故選A。24、若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。25、若inti=0;執(zhí)行while(i<5){if(i==2)break;printf("%d",i);i++;}輸出結(jié)果是?()
A.01
B.012
C.01234
D.無限循環(huán)
【答案】:答案解析:i=2時執(zhí)行break,終止循環(huán),輸出01,故選A。26、以下哪個操作會導(dǎo)致野指針?()
A.指針未初始化
B.指針指向的內(nèi)存被釋放后未置空
C.指針越界訪問
D.以上都是
【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會導(dǎo)致野指針,故選D。27、C語言中基本數(shù)據(jù)類型不包括以下哪項?()
A.char
B.int
C.float
D.array
【答案】:答案解析:基本數(shù)據(jù)類型為char、int、float、double,array是數(shù)組(構(gòu)造類型),故選D。28、數(shù)組名作為函數(shù)參數(shù)時,傳遞的是?()
A.數(shù)組第一個元素的值
B.數(shù)組所有元素的值
C.數(shù)組第一個元素的地址
D.數(shù)組長度
【答案】:答案解析:數(shù)組名傳參本質(zhì)是首元素地址(指針傳遞),函數(shù)中可通過指針訪問數(shù)組,故選C。29、函數(shù)返回值通過______語句返回?()
A.printf
B.scanf
C.return
D.break
【答案】:答案解析:return語句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。30、指針與結(jié)構(gòu)體的關(guān)系,以下說法正確的是?()
A.結(jié)構(gòu)體指針通過->訪問成員
B.結(jié)構(gòu)體變量通過。訪問成員
C.結(jié)構(gòu)體指針可指向結(jié)構(gòu)體變量
D.以上都正確
【答案】:答案解析:A、B、C均是結(jié)構(gòu)體與指針的基本規(guī)則,故選D。31、若charstr[]="Clanguage";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:字符串長度以\0結(jié)束,"Clanguage"含10個字符(不含\0),故選A。32、C語言程序的入口函數(shù)是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序從main()函數(shù)開始執(zhí)行,必須有且僅有一個,故選A。33、以下switch語句語法正確的是?()
A.switch(x){case1:printf("1");break;case2:printf("2");}
B.switch(x){case1:printf("1");case2:printf("2");break;}
C.switch(x){case1:printf("1");break;default:printf("0");}
D.以上都正確
【答案】:答案解析:switch語句case后可加break(跳出)或不加(穿透),default可選,A、B、C語法均正確,故選D。34、若floatx=3.14;則表達式(int)x的結(jié)果是?()
A.3
B.3.14
C.4
D.0
【答案】:答案解析:強制轉(zhuǎn)換為int取整數(shù)部分,3.14→3,故選A。35、執(zhí)行scanf("%d,%d",&a,&b);時,正確的輸入格式是?()
A.23
B.2;3
C.2,3
D.2和3
【答案】:答案解析:scanf格式串中含逗號分隔符,輸入需嚴格對應(yīng),故選C。36、轉(zhuǎn)義字符\0的作用是?()
A.表示空格
B.表示制表符
C.字符串結(jié)束標志
D.換行
【答案】:答案解析:\0ASCII碼為0,是字符串默認結(jié)束標志,不計入長度,故選C。37、若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。38、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},(p)[3]=a;則((p+1)+2)的值是?()
A.5
B.6
C.8
D.9
【答案】:答案解析:p是指向3列數(shù)組的指針,p+1指向第二行,(p+1)+2指向第二行第三列,值為6,故選B。39、以下函數(shù)調(diào)用正確的是?()
A.fun(5);
B.fun(3,4);
C.fun("hello");
D.取決于函數(shù)定義
【答案】:答案解析:函數(shù)調(diào)用需匹配函數(shù)定義的參數(shù)類型和個數(shù),A、B、C是否正確取決于函數(shù)定義,故選D。40、若intx=6;執(zhí)行if(x<5)printf("A");else{printf("B");printf("C");}輸出結(jié)果是?()
A.A
B.BC
C.ABC
D.無輸出
【答案】:答案解析:x=6不滿足if,執(zhí)行else代碼塊,輸出BC,故選B。41、函數(shù)中局部變量的作用域是?()
A.整個程序
B.函數(shù)內(nèi)部
C.函數(shù)外部
D.所有函數(shù)
【答案】:答案解析:局部變量定義在函數(shù)內(nèi),僅在函數(shù)內(nèi)部有效,故選B。42、數(shù)組作為函數(shù)參數(shù)時,函數(shù)形參不能是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均可作為數(shù)組形參,故選D。43、指針變量的作用是存儲?()
A.變量的值
B.變量的地址
C.函數(shù)的地址
D.數(shù)組的元素
【答案】:答案解析:指針變量專門存儲其他變量的內(nèi)存地址,故選B。44、函數(shù)參數(shù)為數(shù)組時,形參的寫法錯誤的是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均正確,故選D。45、以下函數(shù)聲明中,返回類型為float的是?()
A.floatfun();
B.vo
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機電工程模擬題及參考答案
- 護士資格考試試題及答案
- 2025年ISO質(zhì)量管理體系內(nèi)審員培訓(xùn)題庫及參考答案
- 影像技師考試題及答案
- OPPO校招試題及答案
- 2026紫金礦業(yè)招聘試題及答案
- 2026黑龍江哈工大基建處招聘1人參考題庫附答案
- 中央統(tǒng)戰(zhàn)部直屬事業(yè)單位2026年度應(yīng)屆高校畢業(yè)生招聘34人參考題庫附答案
- 北京市懷柔區(qū)政務(wù)服務(wù)和數(shù)據(jù)管理局招聘行政輔助人員3人考試備考題庫必考題
- 南充市房地產(chǎn)管理局2025年公開遴選參照管理人員(2人)考試備考題庫附答案
- 2026湖南衡陽耒陽市公安局招聘75名警務(wù)輔助人員考試參考試題及答案解析
- 黑龍江高職單招語文試題附答案
- 高低壓配電安裝工程施工方案方案
- 2026年中國煙草專業(yè)知識考試題含答案
- 2026云南新華書店集團限公司公開招聘34人易考易錯模擬試題(共500題)試卷后附參考答案
- 2026年人教版八年級語文上冊期末考試卷含答案
- 造紙業(yè)五年環(huán)保化:2025年竹漿環(huán)保再生紙行業(yè)報告
- GB/T 17587.2-2025滾珠絲杠副第2部分:公稱直徑、公稱導(dǎo)程、螺母尺寸和安裝螺栓公制系列
- 鍋爐應(yīng)急預(yù)案演練(3篇)
- 2026中國數(shù)字化口腔醫(yī)療設(shè)備市場滲透率與增長動力研究報告
- 2025中證信息技術(shù)服務(wù)有限責(zé)任公司招聘16人筆試參考題庫附答案
評論
0/150
提交評論