版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)實(shí)例教程第一部分單選題(50題)1、以下for循環(huán)的語法錯(cuò)誤是?()
A.for(inti=0;i<5;i++)printf("%d",i);
B.for(i=0;i<5;i++)printf("%d",i);
C.for(;i<5;i++)printf("%d",i);
D.for(i=0;;i++)printf("%d",i);
【答案】:答案解析:B中i未定義(需先聲明inti;),A(C99標(biāo)準(zhǔn)允許循環(huán)內(nèi)定義)、C(初始化省略)、D(條件省略,無限循環(huán))語法均正確,故選B。2、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()
A.7
B.8
C.&a
D.無定義
【答案】:答案解析:++*p等價(jià)于++(*p),先解引用取a的值,再加1(a=8),故選B。3、函數(shù)調(diào)用的一般格式是?()
A.函數(shù)名(實(shí)參列表);
B.函數(shù)名實(shí)參列表;
C.返回類型函數(shù)名(實(shí)參列表);
D.函數(shù)名=實(shí)參列表;
【答案】:答案解析:函數(shù)調(diào)用格式為“函數(shù)名(實(shí)參列表);”,實(shí)參與形參匹配,故選A。4、邏輯表達(dá)式!5的結(jié)果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5為真,!是邏輯非,真變假(0),故選A。5、若charstr[]="Clanguage";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:字符串長度以\0結(jié)束,"Clanguage"含10個(gè)字符(不含\0),故選A。6、若floatx=3.14;則表達(dá)式(int)x的結(jié)果是?()
A.3
B.3.14
C.4
D.0
【答案】:答案解析:強(qiáng)制轉(zhuǎn)換為int取整數(shù)部分,3.14→3,故選A。7、若charstr="Clanguage";則(str+2)的值是?()
A.'C'
B.''
C.'l'
D.'a'
【答案】:答案解析:str+2指向第三個(gè)字符,值為'l',故選C。8、以下關(guān)于main函數(shù)的說法錯(cuò)誤的是?()
A.程序從main開始執(zhí)行
B.main函數(shù)可帶參數(shù)
C.main函數(shù)必須有返回值
D.main函數(shù)可調(diào)用其他函數(shù)
【答案】:答案解析:main函數(shù)可聲明為void(無返回值),C說法錯(cuò)誤,A、B、D正確,故選C。9、以下二維數(shù)組初始化正確的是?()
A.inta[2][3]={{1},{2},{3}};
B.inta[2][3]={1,2,3,4,5};
C.inta[2][3]={{1,2,3},{4,5,6}};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:A行數(shù)超2,B元素不足6個(gè)(補(bǔ)0),C標(biāo)準(zhǔn)初始化,D元素超6個(gè),故選C。10、若inta[3]={1,2,3},p=a;則(p+2)的值是?()
A.1
B.2
C.3
D.無定義
【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故選C。11、以下關(guān)于函數(shù)的說法正確的是?()
A.函數(shù)可提高代碼復(fù)用性
B.函數(shù)可簡化程序結(jié)構(gòu)
C.函數(shù)可便于維護(hù)
D.以上都正確
【答案】:答案解析:函數(shù)的核心優(yōu)勢是復(fù)用、簡化結(jié)構(gòu)、便于維護(hù),故選D。12、以下關(guān)于return語句的說法正確的是?()
A.函數(shù)中可有多條return語句
B.函數(shù)中必須有return語句
C.return語句必須在函數(shù)末尾
D.return語句只能返回一個(gè)值
【答案】:答案解析:A函數(shù)中可有多條return(如條件判斷后返回),Bvoid函數(shù)可無return,Creturn可在任意位置,Dreturn只能返回一個(gè)值(返回多個(gè)值需用指針/數(shù)組),故選A。13、以下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多加分號(hào),故選B。14、指針作為函數(shù)參數(shù)時(shí),傳遞的是?()
A.指針的值
B.指針的地址
C.變量的值
D.變量的地址
【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實(shí)參值,故選D。15、若inta[4]={10,20,30,40};則*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三個(gè)元素地址,*(a+2)=a[2]=30,故選B。16、以下函數(shù)遞歸調(diào)用的例子是?()
A.計(jì)算階乘
B.循環(huán)輸出數(shù)字
C.數(shù)組遍歷
D.變量交換
【答案】:答案解析:階乘常用遞歸實(shí)現(xiàn)(n!=n*(n-1)!),B、C、D用循環(huán)更高效,故選A。17、若inta[5]={1,2,3,4,5},p=a;執(zhí)行p+=2;后p的值是?()
A.2
B.3
C.4
D.5
【答案】:答案解析:p+=2使p指向a[2],*p=3,故選B。18、以下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。19、若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。20、定義單精度浮點(diǎn)型變量y并賦值2.718的語句是?()
A.doubley=2.718;
B.floaty=2.718f;
C.floaty=2.718;
D.inty=2.718;
【答案】:答案解析:float是單精度,需加f后綴(否則默認(rèn)double),double是雙精度,故選B。21、若inta=2,b=4;執(zhí)行if(a==b)a=0;elseb=0;后a和b的值分別是?()
A.0,4
B.2,0
C.0,0
D.2,4
【答案】:答案解析:a==b為假,執(zhí)行else,b=0,a保持2,故選B。22、若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。23、數(shù)組名的本質(zhì)是?()
A.數(shù)組第一個(gè)元素的地址
B.數(shù)組最后一個(gè)元素的地址
C.數(shù)組元素的個(gè)數(shù)
D.數(shù)組的大小
【答案】:答案解析:數(shù)組名是首元素地址(常量,不可修改),故選A。24、若inta[5]={10,20,30,40,50};則a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:數(shù)組下標(biāo)從0開始,a[2]是第三個(gè)元素30,故選C。25、轉(zhuǎn)義字符\0的作用是?()
A.表示空格
B.表示制表符
C.字符串結(jié)束標(biāo)志
D.換行
【答案】:答案解析:\0ASCII碼為0,是字符串默認(rèn)結(jié)束標(biāo)志,不計(jì)入長度,故選C。26、若inti=1;執(zhí)行while(i<=4){printf("%d",i);i+=3;}輸出結(jié)果是?()
A.14
B.1234
C.1
D.無輸出
【答案】:答案解析:i初始1,加3后4,執(zhí)行2次,輸出14,故選A。27、函數(shù)定義和函數(shù)聲明的區(qū)別是?()
A.定義包含函數(shù)體,聲明不包含
B.聲明包含函數(shù)體,定義不包含
C.定義和聲明無區(qū)別
D.定義在程序開頭,聲明在結(jié)尾
【答案】:答案解析:函數(shù)定義是完整實(shí)現(xiàn)(含函數(shù)體),聲明是告訴編譯器函數(shù)名、參數(shù)、返回類型(不含函數(shù)體),故選A。28、以下循環(huán)中,用于計(jì)算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。29、以下數(shù)組定義中,可省略數(shù)組長度的是?()
A.inta[5];
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[][3];
【答案】:答案解析:初始化時(shí)可省略長度(編譯器自動(dòng)計(jì)算),D二維數(shù)組第二維不能省略,故選B。30、以下if語句中,賦值表達(dá)式作為條件的是?()
A.if(x==3)
B.if(x=3)
C.if(x>3)
D.if(x!=3)
【答案】:答案解析:x=3是賦值表達(dá)式,結(jié)果為3(非0,真),其余是判斷表達(dá)式,故選B。31、若intx=0;執(zhí)行if(x)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:x=0為假,執(zhí)行else分支,輸出B,故選B。32、若inta=10,b=20,*p=&a,q=&b;執(zhí)行p=q;后p的值是?()
A.10
B.20
C.&a
D.&b
【答案】:答案解析:p=q使p指向b,*p=b=20,故選B。33、若intx=4;執(zhí)行if(x++>4)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:x++是后置自增,條件判斷時(shí)x=4,4>4為假,執(zhí)行else(輸出B),后x變?yōu)?,故選B。34、若inta[3][3]={{1,2},{3,4},{5,6}};則a[1][1]的值是?()
A.2
B.4
C.5
D.6
【答案】:答案解析:a[1][1]是第二行第二列,值為4,故選B。35、以下數(shù)組定義錯(cuò)誤的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[5]={1,2,3,4,5,6};
D.inta[]={1,2,3,4,5};
【答案】:答案解析:C初始化元素超5個(gè),編譯報(bào)錯(cuò),其余正確,故選C。36、break語句不能用于以下哪種結(jié)構(gòu)?()
A.for循環(huán)
B.while循環(huán)
C.do-while循環(huán)
D.if語句
【答案】:答案解析:break可用于循環(huán)(for/while/do-while)和switch語句,不能用于if語句,故選D。37、以下哪個(gè)是合法的字符常量?()
A."a"
B.'ab'
C.'a'
D.a
【答案】:答案解析:字符常量用單引號(hào)包裹單個(gè)字符,A是字符串,B是兩個(gè)字符(錯(cuò)誤),D是標(biāo)識(shí)符,故選C。38、以下數(shù)組定義錯(cuò)誤的是?()
A.inta[0];
B.inta[5];
C.inta[]={1,2,3};
D.inta[5]={1,2,3};
【答案】:答案解析:數(shù)組長度不能為0,編譯報(bào)錯(cuò),其余正確,故選A。39、C語言程序的入口函數(shù)是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序從main()函數(shù)開始執(zhí)行,必須有且僅有一個(gè),故選A。40、若inta[4]={10,20,30,40};則a+1表示?()
A.10的地址
B.20的地址
C.30的地址
D.40的地址
【答案】:答案解析:a是首地址(a[0]=10),a+1是a[1](20)的地址,故選B。41、指針變量的作用是存儲(chǔ)?()
A.變量的值
B.變量的地址
C.函數(shù)的地址
D.數(shù)組的元素
【答案】:答案解析:指針變量專門存儲(chǔ)其他變量的內(nèi)存地址,故選B。42、函數(shù)參數(shù)傳遞中,地址傳遞的特點(diǎn)是?()
A.形參是實(shí)參的副本
B.形參修改不影響實(shí)參
C.傳遞的是變量地址
D.用于簡單變量傳參
【答案】:答案解析:地址傳遞(指針)傳遞變量地址,形參通過地址修改實(shí)參值,值傳遞是副本,故選C。43、以下關(guān)于數(shù)組初始化的說法正確的是?()
A.數(shù)組必須初始化
B.數(shù)組初始化時(shí)元素個(gè)數(shù)不能少于長度
C.數(shù)組初始化時(shí)可部分賦值
D.數(shù)組初始化后不能修改
【答案】:答案解析:數(shù)組可部分賦值(未賦值元素默認(rèn)0),A數(shù)組可不用初始化,B可少于長度,D數(shù)組元素可修改,故選C。44、以下函數(shù)無返回值的是?()
A.intfun(){return0;}
B.voidfun(){printf("hello");}
C.floatfun(){return3.14;}
D.charfun(){return'b';}
【答案】:答案解析:void類型函數(shù)無返回值,A、C、D均有返回值,故選B。45、若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。46、以下數(shù)組初始化正確的是?()
A.charstr[]="hello";
B.charstr[5]="hello";
C.charstr[]={'h','e','l','l','o'};
D.charstr[5]={'h','e','l','l','o','\0'};
【答案】:答案解析:A字符串自動(dòng)加\0,B長度5不足以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年西雙版納州人力資源和社會(huì)保障局公益性崗位招聘(3人)備考考試試題及答案解析
- 化學(xué)品安全技術(shù)
- 2026年大學(xué)生愛我國防知識(shí)競賽試卷含答案(二)
- 2026年康復(fù)期帕金森病患者護(hù)理要點(diǎn)精要
- 2026年產(chǎn)科子癇前期識(shí)別與護(hù)理干預(yù)策略
- 2026年消毒供應(yīng)中心器械清洗質(zhì)量控制要點(diǎn)
- 《GB 4706.104-2010家用和類似用途電器的安全 屋頂排水用加熱排水槽的特殊要求》專題研究報(bào)告
- 2026年護(hù)理崗位風(fēng)險(xiǎn)動(dòng)態(tài)評估與預(yù)警機(jī)制
- 數(shù)據(jù)庫運(yùn)行管理員節(jié)假日前安全考核試卷含答案
- 《GAT 2000.230-2018公安信息代碼 第230部分:警犬使用結(jié)果代碼》專題研究報(bào)告
- 2024年某銀行內(nèi)部管理制度范文(2篇)
- 酒店食材采購節(jié)假日預(yù)案
- 《貴州省水利水電工程系列概(估)算編制規(guī)定》(2022版 )
- JGJ256-2011 鋼筋錨固板應(yīng)用技術(shù)規(guī)程
- 歌曲《我會(huì)等》歌詞
- 干部因私出國(境)管理有關(guān)要求
- 民爆物品倉庫安全操作規(guī)程
- 老年癡呆科普課件整理
- 2022年鈷資源產(chǎn)業(yè)鏈全景圖鑒
- GB/T 22900-2022科學(xué)技術(shù)研究項(xiàng)目評價(jià)通則
- GB/T 14518-1993膠粘劑的pH值測定
評論
0/150
提交評論