C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第1頁(yè)
C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第2頁(yè)
C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第3頁(yè)
C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第4頁(yè)
C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一、單選題1、?下面的敘述正確的是()。?A.一個(gè)C的源程序必須包含1個(gè)以上的main函數(shù)B.一個(gè)C的源程序可以由一個(gè)或多個(gè)函數(shù)組成C.printf函數(shù)是程序執(zhí)行的起始位置D.在C的源程序中,main函數(shù)不是必須的正確答案:B解析:A、一個(gè)C的源程序可以由一個(gè)或多個(gè)函數(shù)組成,其中有且只有一個(gè)main()函數(shù)。C、C程序是從main()函數(shù)開始執(zhí)行。D、一個(gè)C的源程序可以由一個(gè)或多個(gè)函數(shù)組成,其中必須有一個(gè)main()函數(shù)。2、?C程序是從()開始執(zhí)行的。A.放在最前面的函數(shù)B.文件開始的注釋部分C.主函數(shù)D.return語(yǔ)句正確答案:C解析:A、無論main函數(shù)放在哪里,程序都從它開始執(zhí)行B、程序的注釋部分是不執(zhí)行的,僅方便人閱讀程序。C、main函數(shù)是主函數(shù),它是程序執(zhí)行的入口。D、return語(yǔ)句結(jié)束程序的執(zhí)行。3、?以下正確的printf語(yǔ)句是()。A.printf"ThisisaCprogram.";B.printf("ThisisaCprogram.);C.printf("ThisisaCprogram.")D.printf("ThisisaCprogram.\n");正確答案:D解析:A、函數(shù)缺少()B、字符串缺少引號(hào)C、語(yǔ)句缺少分號(hào)4、?設(shè)有程序“1.cpp”,編譯后運(yùn)行該程序,執(zhí)行的是()文件。A.1.cppB.1.objC.1.cD.1.exe正確答案:D解析:A、cpp擴(kuò)展名的文件是用C或c++編寫的源程序。Visualc++6.0、Dev-C++的源程序默認(rèn)采用cpp為擴(kuò)展名B、obj擴(kuò)展名的文件是執(zhí)行“編譯”命令產(chǎn)生的目標(biāo)文件C、c擴(kuò)展名的文件是用C語(yǔ)言編寫的源程序5、?不合法的C語(yǔ)言標(biāo)識(shí)符是()。A.j2_KEYB.DoubleC.4dD._8_正確答案:C解析:C、標(biāo)識(shí)符的第1個(gè)字符不能是數(shù)字6、?下列定義變量的語(yǔ)句中錯(cuò)誤的是()。A.doublez1;B.floaty1;C.Doublea1;D.intx1;正確答案:C解析:C、雙精度浮點(diǎn)型的類型說明為double,C語(yǔ)言中嚴(yán)格區(qū)分大小寫,本選項(xiàng)的一個(gè)字母用大寫D,是錯(cuò)誤的7、?下面()語(yǔ)句正確地描述了計(jì)算公式y(tǒng)=ax?A.y=a*x*x*x/x–b;B.y=ax*x*x/(x–b);C.y=ax*x*x/x–b;D.y=(a*x*x*x)/(x–b);正確答案:D8、?下面()是合法的賦值語(yǔ)句.A.i=1;B.i+1=5;C.i*3=i+1;D.5=i;正確答案:A解析:B、賦值語(yǔ)句的左邊必須是變量,只有變量才有保存值的功能D、=是賦值運(yùn)算符功能是將=右邊的值賦給左邊的變量,與數(shù)學(xué)中的等號(hào)不同9、下面程序的輸出是()。#include<stdio.h>intmain(){inta=5;printf("a=%d\n",++a+2);return0;?}?A.a=6B.a=8C.a=5D.8正確答案:B解析:B、++a+2是將++a表達(dá)式的值加2++a,自增運(yùn)算符在前,先自增,a=a+1,a=6,然后,取a的值作為表達(dá)式的值,所以,(++a)的值為6,6+2=8printf("a=%d\n",++a+2);雙引號(hào)中的非%開始的普通字符原樣輸出,因此,結(jié)果是a=810、78%10的結(jié)果是()。A.7B.10C.78D.8正確答案:D解析:D、%是取余數(shù)的運(yùn)算符,x%10的結(jié)果為x的個(gè)位數(shù)11、下面程序的輸出是()。#include<stdio.h>intmain(){inta=8;printf("%d\n",(a++)*2);return0;}A.9B.16C.18D.8正確答案:B解析:B、(a++)*2是將a++表達(dá)式的值乘2a++,自增運(yùn)算符在后,先取a的值作為表達(dá)式的值,所以,(a++)的值為8,8*2=1612、下面程序的輸出是()。#include<stdio.h>intmain(){intb=3,a=3;printf("%d,%d\n",b,a--);return0;}A.3,2B.3C.2,3D.3,3正確答案:D解析:A、要求輸出的第2個(gè)是表達(dá)式a--的值,并不是a的值D、要求輸出的是b和表達(dá)式a--的值,b的值為3,關(guān)鍵是分析清楚a--表達(dá)式的值a--,自減運(yùn)算符在后,則先取a的值作為a--表達(dá)式的值,所以,a--表達(dá)式的值為3.因此,本選項(xiàng)正確13、i=1;執(zhí)行()語(yǔ)句后,變量i的值不會(huì)發(fā)生變化。A.--i;B.i=2*i;C.i+5;D.i=6;正確答案:C解析:A、i的值減1B、i的值是原來的2倍C、該語(yǔ)句僅取i的值1參與計(jì)算,整個(gè)表達(dá)式的值為6。但是,并沒有賦值語(yǔ)句,所以,i的值不變D、i的值被改為614、intx;scanf("%d",&x);下面()可以獲得x的個(gè)位數(shù)。A.x-x/10;B.x/100-x/10;C.x/10;D.x%10;正確答案:D解析:D、%是取余運(yùn)算,結(jié)果是x除以10的余數(shù),即個(gè)位數(shù)15、有關(guān)運(yùn)算符的正確描述是()A.賦值運(yùn)算符是左結(jié)合的B.單目運(yùn)算符優(yōu)先級(jí)高于雙目運(yùn)算符C.賦值號(hào)的運(yùn)算優(yōu)先級(jí)是最低的D.所有運(yùn)算符都是左結(jié)合的正確答案:B解析:A、賦值運(yùn)算符是右結(jié)合的,從右向左運(yùn)算C、逗號(hào)的運(yùn)算優(yōu)先級(jí)最低,其次是賦值類運(yùn)算符16、下面選項(xiàng)中,()的優(yōu)先級(jí)最低。A.++B.=C./D.+正確答案:B解析:B、賦值運(yùn)算符的優(yōu)先級(jí)較低,僅高于逗號(hào)運(yùn)算符。17、能正確表示邏輯關(guān)系“a大于等于10或a小于等于0”的C語(yǔ)言表達(dá)式是()A.a>=10ora<=0B.a>=10‖a<=0C.a>=10&&a<=0D.a>=0|a<=10正確答案:B解析:A、或者運(yùn)算符寫錯(cuò)C、該項(xiàng)寫成了并且18、設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系10<a<15的C語(yǔ)言表達(dá)式是()A.a>10&&a<15B.10<a<15C.a==11||a==12||a==13||a==14D.!(a<=10)&&!(a>=15)正確答案:B解析:B、這是數(shù)學(xué)中的表示方式,在C語(yǔ)言程序中,含義已經(jīng)不同。它將先判斷10<a,再將結(jié)果與15比19、?設(shè)x,t均為int型變量,則執(zhí)行語(yǔ)句“x=10;t=x&&x>10;”后,t的值為()提示:賦值運(yùn)算優(yōu)先級(jí)較低,低于算術(shù)、關(guān)系、邏輯運(yùn)算。A.值不確定B.1C.0D.10正確答案:C解析:C、t=x&&x>10,按優(yōu)先級(jí)等價(jià)于t=(x&&x>10)。先執(zhí)行x>10,結(jié)果為0,再執(zhí)行x&&x>10,10&&0,結(jié)果為0再執(zhí)行t=020、語(yǔ)法不正確的語(yǔ)句是()A.if(x==y)&&(x!=0)x++;B.if(x=y){x++;y++;}C.if(x!=y)scanf("%d",&x);D.if(x>y);正確答案:A解析:A、if后面的條件必須完全在括號(hào)內(nèi),應(yīng)寫為if((x==y)&&(x!=0))x++;B、本項(xiàng)語(yǔ)法正確:if的條件可以是任何合法的表達(dá)式,如果表達(dá)式的值非0,則條件為真。此處為賦值表達(dá)式,如果x的值非0,則為真。分支語(yǔ)句為復(fù)合語(yǔ)句21、?如果整型變量a,b,c的值分別為5,4,3,則語(yǔ)句if(a>b>c)c++;執(zhí)行后c的值是()A.5B.4C.2D.3正確答案:D解析:D、按左結(jié)合性,if(a>b>c),先執(zhí)行a>b,5>4,結(jié)果為1再執(zhí)行1>c,結(jié)果為假,為0,所以if條件不滿足,c++不執(zhí)行22、?C語(yǔ)言語(yǔ)句中,可以用來決定分支流程的表達(dá)式是()A.只能用邏輯表達(dá)式或關(guān)系表達(dá)式B.只能用關(guān)系表達(dá)式C.任意表達(dá)式D.只能用邏輯表達(dá)式正確答案:C解析:A、C語(yǔ)言中表示條件的可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等,根據(jù)表達(dá)式值為非0或0來判斷條件成立與否。B、C語(yǔ)言中表示條件的可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等,根據(jù)表達(dá)式值為非0或0來判斷條件成立與否。C、C語(yǔ)言中表示條件的可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等,根據(jù)表達(dá)式值為非0或0來判斷條件成立與否。D、C語(yǔ)言中表示條件的可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等,根據(jù)表達(dá)式值為非0或0來判斷條件成立與否。23、?intx=102,y=12;?printf("%2d,%3d\n",x,y);?執(zhí)行后輸出結(jié)果是()?提示:當(dāng)%md中m小于數(shù)據(jù)的實(shí)際寬度時(shí),按實(shí)際寬度輸出。A.102,120B.102,12C.02,12D.10,012正確答案:B解析:B、printf("%2d,%3d\n",x,y)中的格式字符%2d表示輸出整型數(shù)值,寬度為2,而實(shí)際所需寬度超過2時(shí),以實(shí)際所需寬度為準(zhǔn),因此輸出102.%3d表示輸出整型數(shù)值,寬度為3,而實(shí)際所需寬度不足3時(shí),補(bǔ)足空格,因此輸出12之前補(bǔ)了一個(gè)空格.24、?設(shè)i是int型變量,j是float型變量,用下面的語(yǔ)句給這兩個(gè)變量輸入值:?scanf("i=%d,j=%f",&i,&j);?為了把10和2.5分別賦給i和j,則正確的輸入為()A.10<回車>2.5<回車>B.x=10<回車>,y=2.5<回車>C.i=10,j=2.5<回車>D.102.5<回車>正確答案:C解析:C、scanf("i=%d,j=%f",&i,&j);中的格式字符i=%d表示輸入格式%d,%f之外的字符要按照原樣輸入,因此,必須輸入i=10,j=2.5<回車>才能正確輸入i和j的值。25、執(zhí)行下面語(yǔ)句,inta=1,b=2,c=3;if(a>c)b=c;a=c;c=b;a,b,c的值分別為()(用逗號(hào)分隔)提示:由if控制的分支語(yǔ)句只有一條A.1,2,3B.3,2,2C.3,3,2D.3,3,3正確答案:B解析:B、注意,題目中的:if(a>c)b=c;a=c;c=b;if內(nèi)嵌語(yǔ)句只有一句,也稱if子句,b=c;是if的子句,而a=c;c=b;不是,它們是分支語(yǔ)句的后續(xù)語(yǔ)句。本題中,a>c條件不成立,不執(zhí)行b=c;而要執(zhí)行a=c;c=b;故a,b,c的值為3,2,2如果想表示條件成立執(zhí)行三條賦值語(yǔ)句,應(yīng)當(dāng)寫作:if(a>c){b=c;a=c;c=b;}采用復(fù)合語(yǔ)句做為if子句二、多選題1、?輸出結(jié)果為25*64=1600的語(yǔ)句是()。A.printf("25*64=%d",25*64);B.printf("25*64=1600");C.print25*64=1600;D.printf("25*64=%d,25*64");正確答案:A、B解析:C、printf("格式控制字符串",表達(dá)式);函數(shù)格式不正確D、輸出結(jié)果為25*64=0,25*64第二個(gè)25*64在雙引號(hào)內(nèi),非%開始的格式控制符原樣輸出2、下面是關(guān)于C程序注釋的敘述,其中正確的是()。A.//是行注釋,從//開始至行尾為注釋內(nèi)容B.從//開始的程序都是注釋內(nèi)容C./*……*/可以注釋多行,也可以注釋一行D./**/與//注釋的范圍沒有區(qū)別正確答案:A、C解析:B、只注釋至本行尾D、/**/可以注釋多行3、?下面()語(yǔ)句正確地描述了方程A.y=a*x*x*(x+c);B.y=(a*x*x*x)+c;C.y=a*x*x*x+c;D.y=(a*x)*x*(x+c);正確答案:B、C4、?下面()能完成變量a,b的值的交換。A.t=a;a=b;b=t;B.a=a+b;b=a-b;a=a-b;C.a=b;b=a;D.a=b;正確答案:A、B解析:B、a=a+b;b=a-b=(a+b)-b=aa=a-b=(a+b)-(a)=b因此,實(shí)現(xiàn)了交換C、執(zhí)行后,b的值不變5、?()可以使整型變量i的值加1。A.i=i+1;B.i++;C.i+=1;D.++i;正確答案:A、B、C、D解析:C、+=是復(fù)合賦值運(yùn)算符,該語(yǔ)句等價(jià)于i=i+1;6、?在printf函數(shù)中,浮點(diǎn)型數(shù)據(jù)輸出的格式控制符有()。A.%dB.%gC.%eD.%f正確答案:B、C、D解析:B、%g為浮點(diǎn)型數(shù)據(jù)輸出格式控制符,表示按指數(shù)形式或小數(shù)形式二者中占寬度較短的形式輸出C、%e為浮點(diǎn)型數(shù)據(jù)輸出格式控制符,表示按指數(shù)形式輸出D、%f為浮點(diǎn)型數(shù)據(jù)輸出格式控制符,表示按小數(shù)形式輸出7、?下面程序中,()可以輸出變量a,b,c的最大值。A.if(a>b)max=a;if(c>max)max=c;printf("最大值為%d\n",max);B.if(a>=b&&a>=c)printf("最大值為%d\n",a);if(b>=a&&b>=c)printf("最大值為%d\n",b);if(c>=a&&c>=b)printf("最大值為%d\n",c);C.max=a;if(b>max)max=b;if(c>max)max=c;printf("最大值為%d\n",max);D.if(a>b>c)printf("最大值為%d\n",a);if(b>a>c)printf("最大值為%d\n",b);if(c>a>b)printf("最大值為%d\n",c);正確答案:B、C解析:A、當(dāng)a<=b時(shí),不執(zhí)行max=a,則max沒有值,無法再與下面的c進(jìn)行比較D、注意,a>b>c不能表示a>b且b>c。三、填空題1、?設(shè)a=1,b=2,c=3,邏輯表達(dá)式a&&b&&c的值是()。正確答案:1解析:整型值參與關(guān)系運(yùn)算,如果該整型值非0,表示邏輯真,如果該整型值為0,表示邏輯假。根據(jù)a,b,c的值,可以得到:a&&b&&c為1。2、?設(shè)a=1,b=2,c=3,邏輯表達(dá)式a||!b||!c的值是()。正確答案:1解析:整型值參與關(guān)系運(yùn)算,如果該整型值非0,表示邏輯真,如果該整型值為0,表示邏輯假。根據(jù)a,b,c的值,可以得到:a為1,!b為0,!c為0,因此,a||!b||!c為1。3、輸入一個(gè)考試分?jǐn)?shù)(0至100范圍內(nèi)),如果分?jǐn)?shù)小于60分,則輸出“不及格”;大于90分輸出“優(yōu)秀”;大于等于60并且小于等于90,則輸出“合格”。(有1個(gè)空,答案一行寫一個(gè),不要添加多余的空格)?#include<stdio.h>intmain(){intx;printf("請(qǐng)輸入分?jǐn)?shù)(0-100):");scanf("%d",&x);if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論