2023年二級c語言程序設(shè)計(jì)習(xí)題及解答_第1頁
2023年二級c語言程序設(shè)計(jì)習(xí)題及解答_第2頁
2023年二級c語言程序設(shè)計(jì)習(xí)題及解答_第3頁
2023年二級c語言程序設(shè)計(jì)習(xí)題及解答_第4頁
2023年二級c語言程序設(shè)計(jì)習(xí)題及解答_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

12)計(jì)算機(jī)能直接執(zhí)行程序是(B

)。A)源程序

B)目的程序

C)匯編程序

D)可執(zhí)行程序

13)如下論述中對的是(D)

A)程序設(shè)計(jì)任務(wù)就是編寫程序代碼并上機(jī)調(diào)試

B)程序設(shè)計(jì)任務(wù)就是擬定所用數(shù)據(jù)構(gòu)造

C)程序設(shè)計(jì)任務(wù)就是擬定所用算法

D)以上三種說法都不完整例年模仿真題:

#include<stdio.h>

main()

{Int

a;A=5;

/*給A變量賦值5A+=3;

再賦值后再加3*/Printf(“%d”,a);}

(11)如下論述中對的是(

)。A)C

程序基本構(gòu)成單位是語句

B)C

程序中每一行只能寫一條語句C)簡樸C

語句必要以分號結(jié)束

D)C

語句必要在一行內(nèi)寫完

(11)如下論述中對的是(C)

A)C程序中注釋只能出當(dāng)前程序開始位置和語句背面

B)C程序書寫格式嚴(yán)格,規(guī)定一行內(nèi)只能寫一種語句

C)C程序書寫格式自由,一種語句可以寫在多行上

D)用C語言編寫程序只能放在一種程序文獻(xiàn)中(12)如下選項(xiàng)中,能用作顧客標(biāo)記符是(C)A)voidB)8_8C)_0_D)unsigned【解析】A:核心字不可以B:不以數(shù)字開頭C:對的D:核心字(13)如下選項(xiàng)中合法標(biāo)記符是(C)?A)

1-1B)1—1

C)-11

D)1—【解析】A:不以數(shù)字開頭,浮現(xiàn)非法字符-而不是_B:不以數(shù)字開頭,非法字符C:對的D:不以數(shù)字開頭,浮現(xiàn)非法字符(14)如下選項(xiàng)中不合法標(biāo)記符是

(C)?

A)printB)FOR

C)&a

D)_00

【解析】C:浮現(xiàn)非法字符&(15)如下選項(xiàng)中,能用作數(shù)據(jù)常量是

(D)?A)o115B)

0118C)1.5e1.5

D)

115L【解析】A:八進(jìn)制以0開頭而不是以o開頭B:八進(jìn)制最大值為7,范疇0-7C:指數(shù)必要為整數(shù)D:長整型對的(13)如下選項(xiàng)中不能作為C

語言合法常量是(

A

)。A)'cd'

B)0.1e+6C)"\a"D)'\011'【解析】A:字符常量只能有一種字符(16)如下選項(xiàng)中不屬于字符常量是

(B)?

A)'C'

B)"C"

C)'\xCC0'D)'\072'【解析】B:字符常量以單引號作為標(biāo)志,其為字符串

(14)表達(dá)式:4-(9)%2值是(B)

A)0

B)3

C)4

D)5【解析】(9)%2=1(取余),4-1=3

(14)設(shè)變量已正擬定義并賦值,如下對的表達(dá)式是

(C)

A)x=y*5=x+z

B)int(15.8%5)

C)x=y+z+5,++y

D)x=25%5.0

【解析】A:等號左邊必要為變量,不可覺得表達(dá)式,y*5是表達(dá)式B:%只合用于整型變量D:%只合用于整型變量(15)若有定義語句:int

x=10;,則表達(dá)式x-=x+x值為(B)

A)-20

B)-10

C)0

D)10

【解析】先算右邊得20,x-=20,則10-20=-10(14)設(shè)有定義:int

x=2;,如下表達(dá)式中,值不為6是

(D)A)

x*=x+1x=x*(x+1)B)

x++,2*xC)x*=(1+x)D)2*x,x+=2

【解析】逗號表達(dá)式最后成果看最后一種表達(dá)式,x+=2,成果為4(17)若變量均已正擬定義并賦值,如下合法C語言賦值語句是

(A)A)x=y==5;B)x=n%2.5;C)x+n=ID)x=5=4+1;

【解析】等號左邊必為變量,不能為常量或數(shù)字排除C、D,%只能用于整數(shù)排除B第三章輸入輸出習(xí)題解說(13)閱讀如下程序

#include

main()

{

int

case;float

printF;

printf(“請輸入2個數(shù):”);

scanf(“%d%f”,&case,&pjrintF);

printf(“%d%f\n”,case,printF);

}

該程序編譯時(shí)產(chǎn)生錯誤,其犯錯因素是(

A

A)定義語句犯錯,case是核心字,不能用作顧客自定義標(biāo)記符

B)定義語句犯錯,printF不能用作顧客自定義標(biāo)記符

C)定義語句無錯,scanf不能作為輸入函數(shù)使用

D)定義語句無錯,printf不能輸出case值

(16)有如下程序

#include

main()

{

int

a=1,b=0;

printf(“%d,”,b=a+b);

printf(“%d\n”,a=2*b);

}

程序運(yùn)營后輸出成果是

D

)

A)0,0

B)1,0

C)3,2

D)1,2【解析】b=a+b即b=1,a=2*b,a=2(15)程序段:int

x=12;doubley=3.141593;

printf(“%d%8.6f”,x,y);輸出成果是

(

A

)A)123.141593B)123.141593C)12,3.141593D)123.141593

【解析】“%d%8.6f”原樣輸出,沒有,也沒有空格,因此x與y相連,小數(shù)總共8位,小數(shù)點(diǎn)之后6位

#include<stdio.h>main(){

double

a=123.456;printf("%6.2f",a);

成果:123.46例題:int

x;x=11/3;int

y=5;printf("%%d,%%%d\n",x,y);

成果是:%d,%3

【解析】"%%d,%%%d\n"原樣輸出,%%d中第一種%為轉(zhuǎn)義字符,不是輸出占位符,因此原樣輸出%d,然后%%轉(zhuǎn)義只輸出一種%,%d\n只有一種占位符,因此只輸出x值為3[3.5]

若變量已對的闡明為int類型,要給a、b、c輸入數(shù)據(jù),如下對的輸入語句是(

D

)A)read(a,b,c);

B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,&a,%b,%c);

D)scanf(“%d%d%d”,&a,&b,&c);【解析】scanf中賦值必要用&(取地址符),即將輸入字符放在指定位置中[3.6]

若變量已對的闡明為float類型,要通過如下賦值語句給a賦予10、b賦予22、c賦予33,如下不對的輸入形式是(

)

A)10

B)10.0,22.0,33.0

C)10.0

D)10

22

22

22.033.0

33

33

scanf(“%f%f%f”,&a,&b,&c);【解析】輸入時(shí)可以空格可以回車,但是不可以浮現(xiàn),

復(fù)合語句:各種語句被{}括起來,當(dāng)成一條語句來執(zhí)行??照Z句:最后表達(dá)只有一種;

程序舉例:1。編寫一種程序,從鍵盤上輸入兩個數(shù)字,讓后讓她們互換一下。#include<stdio.h>main(){int

a,b;printf("請輸入兩個數(shù)字:");scanf("%2d%3d",&a,&b);printf("qian:%d%d",a,b);int

c;c=a,a=b,b=c;printf("后:%d%d",a,b);

}

2。編寫程序,對一種double型數(shù)據(jù)進(jìn)行四舍五入運(yùn)算。規(guī)定保存兩位有效數(shù)字。123.4567兩種算法:(1)#include<stdio.h>main(){doublek=1234.4567;k+=0.005;printf("%7.2f",k);}(2)#include<stdio.h>main(){doublek=1234.4567;k*=100;k+=0.5;k=(int)k;k/=100;printf("%7.2f",k);}3。編寫程序,使從鍵盤中輸入三位數(shù)倒著輸出。

#include<stdio.h>main(){?inta,three,two,one;?printf("請輸入一種三位數(shù):"); scanf("%d",&a);?three=a/100;//取出百位?two=a%100/10;//取出十位?one=a%10;//取出個位 printf("%d%d%d",one,two,three);}

選取題[3.1]

若a、b、c、d、都是int類型變量且初值為0,如下選項(xiàng)中不對的賦值語句是(C)A)a=b=c=d=100;

B)d++;

C)c+b;

D)d=(c=22)-(b++);

【解析】C是表達(dá)式,無法完畢賦值[3.2]

如下選項(xiàng)中不是C語句是(C)A){int

i;

i++;

printf(“%d\n”,i);}

B);

C)a=5,c=10

D){;}

【解析】C是表達(dá)式,沒有;結(jié)尾,只有;語句是空語句[3.3]

如下合法C語言賦值語句是(D)A)a=b=58

B)k=int(a+b);

C)a=58,b=58

D)--i;

【解析】語句必要以;結(jié)尾,B中強(qiáng)制類型轉(zhuǎn)換對的寫法為k=(int)(a+b);

[3.4]

如下程序輸出成果是(C)A)0

B)1

C)3

D)不擬定值main(

){

int

x=10,y=3;

printf(“%d\n”,y=x/y);}

【解析】除法并且兩邊都為整型,最后也是整型

[3.7]

若變量已正擬定義,要將a和b中數(shù)進(jìn)行互換,下面不對的語句組是(D)A)a=a+b,b=a-b,a=a-b;

B)t=a,a=b,b=t;C)a=t;t=b;b=a;

D)t=b;b=a;a=t;

[3.8]

若變量已正擬定義,如下程序段輸出成果是(D)A)

輸出格式闡明與輸出項(xiàng)不區(qū)配,輸出無定值

B)5.17C)5.168

D)5.169

X=5.16894;

Printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);

【解析】其上市四舍五入發(fā),保存3位有效數(shù)字[3.9]

若有如下程序段,c3中值是(A)A)0

B)1/2

C)0.5

D)1int

c1=1,c2=2,c3;c3=c1/c2;

【解析】不夠除,商0[3.10]

若有如下程序段,其輸出成果是(B)A)3,0,-10

B)0,0,5

C)-10,3,-10

D)3,0,3

int

a=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

printf(“%d,%d,%d\n”,a,b,c);【解析】a-=a-5得a=5,賦值給c=5,背面將b賦值給a,a=0,b+3執(zhí)行了,但是并沒有變化b值辨析:inta=0,b=0,c=0;c=((a-=a-5),(a=b,b+3));printf("%d,%d,%d\n",a,b,c);

【解析】a-=a-5得a=5,沒有賦值給c,背面將b賦值給a,a=0,b+3執(zhí)行后賦值給了c;由于逗號表達(dá)式永遠(yuǎn)是最后一種逗號后值賦值給c,只是相差一種(),成果就不同了。

填空題

[3.21]

若有如下定義,請寫出如下程序段中輸出語句執(zhí)行后輸出成果。(1)-200,2500(2)i=-200,j=500

(3)i=-200

回車

j=2500

int

i=-200,j=2500;printf(“(1)

%d

%d”,i,j);printf(“(2)

i=%d,j=%d\n”,i,j);printf(“(3)

i=%d\nj=%d\n”,i,j);

[3.22]

變量i、j、k已定義為int類型并有初值0,用如下語句進(jìn)行輸入時(shí)scanf(“%d”,&i);

scanf(“%d”,&j);

scanf(“%d”,&k);

當(dāng)執(zhí)行第一種輸入語句,從鍵盤輸入:12.3<CR>

<CR>表達(dá)Enter鍵

則變量i、j、k值分別是____12____、____(dá)0___、__0___(dá)_。

【解析】由于只輸入一種數(shù),并且定義i為整型,因此會自動將12.3進(jìn)行截?cái)?變成12[3.23]

復(fù)合語句在語法上被認(rèn)為是

一條語名??照Z句形式是

[3.24]C語句最后用

;結(jié)束。

[3.25]

如下程序段,規(guī)定通過scanf語句給變量賦值,然后輸出變量值。寫出運(yùn)營時(shí)給k輸入100,給a輸入25.81,給x輸入1.89234

時(shí)三種也許輸入形式___(dá)__、_____、_____。

int

k;floata;

doublex;

scanf(“%d%f%lf”,&k,&a,&x);

pirntf(“k=%d,a=%f,x=%f\n”,k,a,x);

以空格隔開輸入以回車隔開輸入

回車和空格連用輸入編程題和改錯題

[3.29]

如下程序多處有錯。要按下面指定形式輸入數(shù)據(jù)和輸出數(shù)據(jù)時(shí),請對該程序做相應(yīng)修改。

main

{double

a,b,c,s,v;

printf(input

a,b,c:\n);

scanf(“%d%d%d”,a,b,c);

s=a*b;

/*計(jì)算長方形面積*/

v=a*b*c;

/*計(jì)算長方體體積*/

printf(“%d

%d

%d”,a,b,c);

printf(“s=%f\n”,s,”v=%d\n”,v);

}

當(dāng)程序執(zhí)行時(shí),屏幕顯示和規(guī)定輸入形式如下:

inputa,b,c:2.02.03.0

此處2.0

2.0

3.0是顧客輸入數(shù)據(jù)

a=2.000000,b=2.000000,c=3.000000

此處是規(guī)定輸出形式

s=4.000000,v=12.000000代碼改成如下:#include<stdio.h>main(){float(yī)a,b,c,s,v;printf("inputa,b,c:\n");scanf("%f%f%f",&a,&b,&c);s=a*b;/*計(jì)算長方形面積*/v=a*b*c;/*計(jì)算長方體體積*/printf("%f%f%f\n",a,b,c);printf("s=%f,v=%f\n",s,v);}

[3.30]

編寫程序,把560分鐘換算成用小時(shí)和分鐘表達(dá),然后進(jìn)行輸出。

#include<stdio.h>main(){ intminute=560,hour;?hour=minute/60;?minute%=60; printf("560分鐘=%d小時(shí)%d分鐘\n",hour,minute);}[3.31]

編寫程序,輸入兩個整數(shù):1500和350,求出它們商數(shù)和余數(shù)并進(jìn)行輸出。#include<stdio.h>main(){ inta

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論