C語言歷年真題分章顯示_第1頁
C語言歷年真題分章顯示_第2頁
C語言歷年真題分章顯示_第3頁
C語言歷年真題分章顯示_第4頁
C語言歷年真題分章顯示_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章:程序設計基本概念

(1)算法具有五個特性,以下選項中不屬于算法特性的是(B)(05年4月)

(A)有窮性(B)簡潔性(C)可行性(D)確定性

(2)以下敘述中正確的是(C)(05年4月)

(A)用C語言實現(xiàn)的算法必須要有輸入和輸出操作

(B)用C語言實現(xiàn)的算法可以沒有輸出但必須要有輸入

(C)用C程序實現(xiàn)的算法可以沒有輸入但必須要有輸出

(D)用C程序實現(xiàn)的算法可以既沒有輸入也沒有輸出

(3)以下敘述中錯誤的是(D)(06年4月)

??A)C語言源程序經(jīng)編譯后生成后綴為.obj的目標程序

???B)C語言經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件

???C)用C語言編寫的程序稱為源程序,它以ASCH代碼形式存放在一個文本文件中

???D)C語言的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉換成二進制的機器指令

(4)以下敘述中錯誤的是(B)(06年4月)

????A)算法正確的程序最終一定會結束

???B)算法正確的程序可以有零個輸出

???C)算法正確的程序可以有零個輸入

???D)算法正確的程序對于相同的輸入一定有相同的結果

(5)算法中,對需要執(zhí)行的每一步操作,必須給出清楚、嚴格的規(guī)定,這屬于算法的(C)

(07年4月)

A)正當性B)可行性C)確定性D)有窮性

(6)下列敘述中錯誤的是(D)(07年4月)

A)計算機不能直接執(zhí)行用C語言編寫的源程序

B)C程序經(jīng)C編譯后,生成后綴為.obj的文件是一個二進制文件

C)后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個二進制文件

D)后綴為.obj和.exe的二進制文件都可以直接運行

(7)以下敘述中錯誤的是(C)(07年4月)

A)C語言是一種結構化程序設計語言

B)結構化程序有順序、分支、循環(huán)三種基本結構組成

C)使用三種基本結構構成的程序只能解決簡單問題

D)結構化程序設計提倡模塊化的設計方法

(8)C語言源程序名的后綴是(B)(07年9月)

A).exeB).CC).objD).cp

(9)、計算機能直接執(zhí)行的程序是(A)(08年9月)

A)源程序B)目標程序C)匯編程序D)可執(zhí)行程序

第二章:C程序設計的初步知識

(1)以下選項中可作為C語言合法常量的是(A)(05年4月)

(A)-80.(B)-080(C)-8el.O(D)-80.0e

(2)以下不能定義為用戶標識符是(D)(05年4月)

(A)Main(B)?0(C)_int(D)sizeof

(3)以下選項中,不能作為合法常量的是(B)(05年4月)

(A)1.234e04(B)1.234c0.4(C)1.234e+4(D)1.234e0

(4)以下敘述中錯誤的是(A)o(05年9月)

A.用戶所定義的標識符允許使用關鍵字

B.用戶所定義的標識符應盡量做到“見名知意”

C.用戶所定義的標識符必須以字母或下劃線開頭

D.用戶定義的標識符中,大、小寫字母代表不同標識

(5)以下敘述中錯誤的是(C)(05年9月)

A.C語句必須以分號結束

B.復合語句在語法上被看作一條語句

C.空語句出現(xiàn)在任何位置都不會影響程序運行

D.賦值表達式末尾加分號就構成賦值語句

(6)以下不能正確計算代數(shù)式值的C語言表達式是(A)(05年9月)

A)l/3*sin(l/2)*sin(l/2)B)sin(0.5)*sin(0.5)/3

C)pow(sin(0.5),2)/3D)1/3.0*pow(sin(l.0/2),2)

(7)以下能正確定義且賦初值的語句是(B)(05年9月)

A)intnl=n2=10;B)charc=32;C)floatf=f+l.1;D)doublex=12.3E2.5;

(8)以下程序的功能是:給r輸入數(shù)據(jù)后計算半徑為r的圓面積s。程序在編譯時出錯。(D)

(05年9月)

main()

/*Beginning*/

{intr;floats;

scanf&r);

s=*p*r*r;printf(//s=%f\n,/,s);

出錯的原因是

A)注釋語句書寫位置錯誤

B)存放圓半徑的變量r不應該定義為整型

C)輸出語句中格式描述符非法

D)計算圓面積的賦值語句中使用了非法變量

9)設有定義:intk=l,m=2;floatf=7;,則以下選項中錯誤的表達式是(C)(05年9月)

A)k=k>=kB)-k++C)k%int(f)D)k>=f>=m

10)以下不合法的用戶標識符是(C)(06年4月)

A)j2_KEYB)DoubleC)4dD)_8_

11)以下示合法的數(shù)值常量是(C)(06年4月)

A)011B)leiC)8.0E0.5D)Oxabcd

12)以下不合法的字符常量是(A)(06年4月)

A)AOIS'B)'\"'C)'\\'D)'\xcc'

13)表達式3.6-5/2+1.2+5%2的值是(D)(06年4月)

A)4.3B)4.8C)3.3D)3.8

14)以下敘述中錯誤的是(D)(06年4月)

A)C程序中的#include和#define行均不是C語句

B)除逗號運算符外,賦值運算符的優(yōu)先級最低

C)C程序中,j++;是賦值語句

D)C程序中,+、-、*、/、%號是算術運算符,可用于整型和實型數(shù)的運算

(15)下列敘述中錯誤的是(A).(06年9月)

A)一個C語言程序只能實現(xiàn)一種算法

B)C程序可以由多個程序文件組成

C)C程序可以由一個或多個函數(shù)組成

D)?個C函數(shù)可以單獨作為一個C程序文件存在

(16)下列敘述中正確的是(A)。(06年9月)

A)每個C程序文件中都必須有一個main。函數(shù)

B)在C程序中main。函數(shù)的位置是固定的

C)C程序可以由一個或多個函數(shù)組成

D)在C程序的函數(shù)中不能定義另一個函數(shù)

(17)下列定義變量的語句中錯誤的是(D)。(06年9月)

A)int_int;B)doubleint_;C)charFor;D)floatUSS

(⑻若變曷:x、y已正確定義并賦值,以卡符合C語言語法的表達式是(D)(06年9月)

A)++x,y=x—B)x+l=yC)x=x+10=x+yD)double(x)/10

(19)按照C語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在標識符中的是(B)(07年4月)

A)大寫字母B)連接符C)數(shù)字字符D)下劃線

(20)對于一個正常運行的C程序,以下敘述中正確的是(A)(07年4月)

A)程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結束

B)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結束

C)程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結束

D)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結束

(21)若有代數(shù)式(其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式

的C語言表達式是(C)(07年4月)

A)sqrt(abs(n"x+e-x))B)sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(fabs(pow(n,x)+exp(x,e)))D)sqrt(fabs(pow(x,n)+exp(x)))

(22)設有定義:intk=0;,以下選項的四個表達式中與其他三個表達式的值不相同的是(A)

(07年4月)

A)k++B)k+=1C)++kD)k+1

(23)可在C程序中用作用戶標識符的一組標識符是(A)(07年9月)

A)andB)DateC)HiD)case

_2007y-m-dDr.TomBigl

(24)以下選項中,合法的一組C語言數(shù)值常量是(A)(07年9月)

A)028B)12.C).177D)0x8A

.5e-30Xa234el.510,000

-Oxf4.5e0Oabc3.e5

(25)以下敘述中正確的是(C)(07年9月)

A)C語言程序將從源程序中第一個函數(shù)開始執(zhí)行

B)可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序將從此開始執(zhí)行

C)C語言規(guī)定必須用main作為主函數(shù)名,程序將從此開始執(zhí)行,在此結束

D)main可作為用戶標識符,用以命名任意一個函數(shù)作為主函數(shù)

(26)以下關于long、int和short類型數(shù)據(jù)占用內存大小的敘述中正確的是(D)(07年9月)

A)均占4個字節(jié)B)根據(jù)數(shù)據(jù)的大小來決定所占內存的字節(jié)數(shù)

C)由用戶自己定義D)由C語言編譯系統(tǒng)決定

(27)若變量均已正確定義并賦值,以下合法的C語言賦值語句是(A)(07年9月)

A)x=y==5;B)x=n%2.5;C)x+n=i;D)x=5=4+l;

(28)以下敘述中正確的是(C)(08年4月)

A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面

B)C程序書寫格式嚴格,要求一行內只能寫一個語句

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

D)用C語言編寫的程序只能放在一個程序文件中

(29)以下選項中不合法的標識符是(C)(08年4月)

A)printB)F0RO&aD)_00

(30)設變量已正確定義并賦值,以下正確的表達式是(0(08年4月)

A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0

(31)、以下敘述中正確的是(C)

A)C程序的基本組成單位是語句B)C程序中的每一行只能寫一條語句

C)簡單C語句必須以分號結束D)C語句必須在一行內寫完

(32)、以下選項中不能作為C語言合法常量的是(A)(08年9月)

A)'cd'B)0.lc+6C)”\a"D)'\011'

(33)、以下選項中正確的定義語句是(C)(08年9月)

A)doublea;b;B)doublea=b=7C)doublea=7,b=7;D)double,a,b;

(34)、以下不能正確表示代數(shù)式2ab/cd的C語言表達式是(D)(08年9月)

A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2D)2*a*b/c*d

(35)、C源程序中不能表示的數(shù)制是(A)(08年9月)

A)二進制B)八進制C)十進制D)十六進制

(36)、若函數(shù)中有定義語句:intk;WJ(B_)

A)系統(tǒng)將自動給k賦初值0B)這時k中的值無定義

C)系統(tǒng)將自動給k賦初值TD)這時k中無任何值

(37)設有定義:intx=2;以下表達式中,值不為6的值是(D)

A)x*=x+1B)x++,2*xC)x*=(l+x)D)2*x,x+=2

(38)設變量已正確定義為整型,則表達式n=i=2,++i,i++的值為[3](08年4月)

(39)表達式(int)((double)(5/2)+2.5)的值是[4]。(09年3月)

第三章:順序結構

⑴有以下程序(05年4月)

main()

{intm=12,n=34;

printf(H%d%dH,m++.4-+n);printf(,'%d%d\n,',n++,++m);

)

程序運行后的輸出結果是(A)

(A)12353514(B)l2353513(C)l2343514(D)l2343513

⑵有以下語句:intb;charc[10];,則正確的輸入語句是(B)(05年4月)

A)scanf("%d%s'\&b,&c);B)scanf("%d%s,',&b,c);

C)scanf(H%d%sH,b,c);D)scanf(,,%d%s'\b,&c);

⑶有以下程序(05年4月)

main()

{intm,n,p;

scanf("m=%dn=%dp=%d,',&m,&n,&p);

printf(H%d%d%d\nH,m,n,p);

若從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是

A)m=l23n=456p=789B)m=l23n=456p=789C)m=l23,n=456,p=789D)123456789

(4)有以下程序(05年9月)

main()

{chara1=M',a2=fm';

printf(',%c\n,\(al,a2));

以下敘述中正確的是()

A.程序輸出大寫字母M

B.程序輸出小寫字母m

C.格式說明符不足,編譯出錯

D.程序運行時產(chǎn)生出錯信息

??5)下四個程序中,完全正確的是()(06年4月)

??????A)includeB)#include

??????main();main()

??????{/^programming*/{/*/programming/*/

??????printfC4programming!\n^);}printfC'programming!\nM);}

??????C)includeD)include

??????main()main()

??????{/*/*programming*/*/{/"programming*/

??????printf(uprogrammingiXn^);}printf(€4programming!\nM);}

??6)有以下程序(05年9月)

main()

{intx,y,z;

x=y=l;

z=x++,y++,++y;

printf("%d,%d,%d\n”,x,y,z);

程序運行后的輸出結果是()。

A)2,3,3B)2,3,2C)2,3,1D)2,2,1

(7)設有定義:inta;floatb;執(zhí)行scanf("%2d%f",&a,&b);語句時,若從鍵盤輸入876543.0<

回車>,a和b的值分別是().(05年9月)

A)876和543.000000B)87和6.000000

C)87和543.000000D)76和543.000000

(8)有以下程序(05年9月)

main()

{inta=0,b=0;

a=10;/*給a賦值

b=20;給b賦值*/

printf(〃a+b=%d\n〃,a+b);/*輸出計算結果*/

程序運行后輸出結果是()。

A)a+b=0B)a+b=30C)30D)出錯

(9)設變量均已正確定義,若要通過$?@武(“猊枇%(1%(:”,&21,舐1,&22,舐2);語句為變量21和22

賦數(shù)值10和20,為變量cl和C2賦字符X和Y。以下所示的輸入形式正確的是()(注:□代表空

格字符)(07年4月)

A)10口*口20口丫〈回車〉B)10nX20CY〈回車〉

C)10DX〈回車〉D)10X〈回車〉

20QY〈回車〉20Y〈回車〉

(10)有以下程序,其中%11表示按無呼號整數(shù)輸出(07年4月)

main()

{unsignedintx=0xFFFF;/*x的初值為十六進制數(shù)*/

printf(t4%u\n,,,x);

)

程序運行后的輸出結果是()

A)-IB)65535C)32767D)OXFFFF

(11)若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語

句是()(07年9月)

A)scanf(%d”,a,b,c);B)scanf("%d%d%d”,a,b,c);

C)scanf("%d",p);D)scanf("%d",&p);

(12)有以下程序段(07年9月)

intj;floaty;charname[50];

scanf(級2d&j,&y,name);

當執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()

A)55566.0B)566.0C)7777.0D)566777.0

(13)有以下程序段(D)(08年4月)

charch;intk;

ch='a';k=12;

printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);

己知字符a的ASCII十進制代碼為97,則執(zhí)行上述程序段后輸出結果是()

A)因變量類型與格式描述符的類型不匹配輸出無定值

B)輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

C)a,97,12k=12D)a,97,k=12

14)、若變量已正確定義為int型,要通過語句scanf("%d,%d,%d”,&a正b,&c);給a賦值1、給b

賦值2、給c賦值3,以下輸入形式中錯誤的是(u代表-個空格符)(08年9月)

A)uuul,2,3〈回車>B)lu2113c回車》C)1,uuu2,uuu3〈回車》D)1,2,3〈回車)

15).以下程序運行時若從鍵盤輸入:102030〈回車>.輸出結果是(05年4月)

#include

main()

{inti=O,j=O,k=O;

scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);

)

(16)設有定義:floatx=123.4567;,則執(zhí)行以下語句后的輸出結果是。

printf("%f\n",(int)(x*100+0.5)/100.0);(05年9月)

17)以下程序運行后的輸出結果是。(05年9月)

main()

{intx=0210;printf("%X\n",x);

)

18)以下程序運行后的輸出結果是。(05年9月)

main()

{charc;intn=100;

floatf=10;doublex;

x=f*=n/=(c=50);

printf("%d%f\n",n,x);

}

?19)若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫

出完整的輸出語句O(06年4月)

20)以下程序運行后的輸出結果是o(05年9月)

main()

{intm=01l,n=l1;

printf(H%d%d\n”,++m,n++);

21)執(zhí)行以下程序后的輸出結果是.(07年4月)

main()

{inta=10;

a=(3*5,a+4);printf(tia=%d\n,,,a);

}

22)執(zhí)行以下程序時輸入1234567<CR>,則輸出結果是。(07年9月)

ttinclude<stdio.h>

main()

{inta=l,b;

scanf(〃%2d%2d”,&a,&b);printf("%d%d\n〃,a,b);

)

23)設變量a和b已正確定義并賦初值。請寫出與a-=a+b等價的賦值表達式—(08年9月

24)若整型變量a和b中的值分別為7和9,要求按以下格式輸出a和b的值—(08年9月

a=7

b=9

請完成輸出語句〃printf(〃,a,b);

25)若變量x、y已定義為int類型且x的值為99,y的值為9,請將輸出語句printf(【—】,x/y);補充完整,

使其輸出的計算結果形式為:x/y=U.(09年3月)

第四章:選擇結構

⑴有以下程序(05年4月)

main()

{inta,b,d=25;

a=d/10%9;b=a&&{-l);

printf(',%d,%d\n,,,a,b);

)

程序運行后的輸出結果是()

A)6,1B)2,1C)6,0D)2,0

(2)有以下程序(05年4月)

main()

{inti=l,j=2,k=3;

if(i++==l&&(++j==3llk++==3))

printf("%d%d%d\n”,i,j,k);

}

程序運行后的輸出結果是()

(A)l23(B)234(C)223(D)233

(3)當把以下四個表達式用作if語句的控制表達式時,有一個選項與其它三個選項含義不同,

這個選項是()(05年9月)

A)k%2B)k%2=lC)(k%2)!=0D)!k%2==l

(4)設有定義:inta=2,b=3,c=4;,則以下選項中值為0的表達式是()(05年9月)

A)(!a==l)&&(!b==0)B)aC)a&&bD)all(b+b)&&(c-a)

(5)有以下程序段(05年9月)

intk=(),a=l,b=2,c=3;

k=ac?c:k;

執(zhí)行該程序段后,k的值是()

A)3B)2C)1D)0

6)有以下程序(D)(06年4月)

??????main()

??????{??inta=0,b=0,c=0,d=0;

??????if(a==l)b=l;c=2;

??????elsed=3;

??????printfC<%d,%d,%d,%d\n,,,a,b,c,d);

999979)

??????程序輸出()

??????A)0,1,2,0?B)0,0,0,3?C)l,l,2,0?D)編譯有錯

7)以下關于邏輯運算符兩側運算對象的敘述中正確的是()。(06年9月)

A)只能是整數(shù)0或1B)只能是整數(shù)0或非0的整數(shù)

C)可以是結構體類型的數(shù)據(jù)D)可是任意合法的表達式

8)若有定義intx.y;并已正確給變量賦值,則以下選項中與表達式(x-y)?(x++):(y++)中

的條件表達式(x-y)等價的是()。(06年9月)

A)(x-y>0)B)(x-y<0)C)(x-y<|x-y>0)D)(x-y==0)

9)在嵌套使用if語句時,C語言規(guī)定else總是()。(06年9月)

A)和之前與其具有相同縮進位置的if配對B)和之前與其最近的if配對

C)和之前與其最近的且不帶else的if配對D)和之前的第一個if配對

10)下列敘述中正確的是()o(06年9月)

A)break語句只能用于switch語句

B)在switch語句中必須使用default

C)break語句必須與switch語句中的case配對使用

D)在switch語句中,不一定使用break語句

11)設變量x和y均已正確定義并賦值,以下if語句中,在編譯時將產(chǎn)生錯誤信息的是()(07

年4月)

A)if(x++)B)if(x>y&y!=0);C)if(x>y)x--D)if(y<0){;}

elsey++:elsex++;

12)以下選項中,當x為大于1的奇數(shù)時,值為0的表達式()(07年4月)

A)x%2==lB)x/2C)x%2!=0D)x%2=0

13)以下敘述中正確的是()(07年4月)

A)break語句只能用于switch語句題中

B)continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C)break語句只能用在循環(huán)體內和switch語句體內

D)在循環(huán)體內使用break語句和continue語句的作用相同

14)有以下計算公式y(tǒng)=

若程序前面已在命令行中包含math,h文件,不能夠正確計算上述公式的程序段是()

(07年9月)

A)if(x>=0)y=sqrt(x);B)y=sqrt(x);

elsey=sqrt(-x);if(x<0)y=sqrt(-x);

C)if(x>=0)y=sqrt(x);D)y=sqrt(x>=0?x:-x);

if(x<0)y=sqrt(-x);

15)設有條件表達式:(EXP)?i++:j-,則以下表達式中與(EXP)完全等價的是()

(07年9月)

A)(EXP==0)B)(EXP!=0)C)(EXP==1)D)(EXP!=1)

16)當變量C的值不為2、4、6時,值也為“真”的表達式是()(08年4月)

A)(c==2)II(c==4)II(c==6)B)(c>=2&&c<=6)II(c!=3)II(c!=5)

C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)

17)若變量已正確定義,有以下程序段(08年4月)

inta=3,b=5,c=7;

if(a>b)a=b;c=a;

if(c!=a)c=b;

printf("%d,%d,%d\n”,a,b,c);

其輸出結果是()

A)程序段有語法錯B)3,5,3C)3,5,5D)3,5,7

18)有以下程序(08年4月)

include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

)

case2:a++;b++;break;

case3:a++;b++;

)

printf(ua=%d,b=%d\n),,a,b);

)

程序的運行結果是()

A)a=1,b=0B)a=2,b=2C)3=1,b=1D)a=2,b=1

19)、若有表達式(w)?(-x):(++y),則其中與w等價的表達式是(08年9月)

A)w==lB)w=0C)w!=lD)w!=0

20)、執(zhí)行以下程序段后,w的值為(08年9月)

intw=,A',x=14,y=15;

W=((x||y)&&(w<<az));

A)-1B)NULLC)1D)0

21)、有以下程序段(08年9月)

inta,b,c;

a=10;b=50;c=30;

if(a>b)a=b,b=c,c=a;

printfCa=%db=%dc=%d\n/,,a,b,c);

程序的輸出結果是

A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=50

22)、有以下程序(08年9月)

#include<stdio.h>

mainO

{intx=l,y=2,z=3;

if(x>y)

if(y>z)printf(〃%d〃,++z);

elseprintf(〃%d〃,++y);

printfC%d\n”,x++);

)

程序運行的結果是

A)331B)4102D)1

23)以下是if語句的基本形式:

if(表達式)語句

其中“表達式”()(09年3月)

A)必須是邏輯表達式B)必須是關系表達式

0必須是邏輯表達式或者關系表達式D)可以是任意合法的表達式

24)有以下程序

ttinclude<stdio.h>

main()

{intx;

scanfCld",&x)'

if(x<=3);else

if(x!=10)printf("%d\nM,x);

}程序運行時,輸入的值在那個范圍才會有輸出結果()(09年3月)

A)不等于10的整數(shù)B)大于3且不等10的整數(shù)

C)大于3或等于10的整數(shù)D)小于3的整數(shù)

25)有以下程序

tfincludes<stdio.h>

main()

{inta=l,b=2,c=3,d=0;

if(a==l&&b++==2)

if(b!=2||c—!=3)

printf("%d,%d,%d\n",a,b,c);

elseprintf("%d,%d,%d\n",a,b,c);

elseprintf%d,%d\n",a,b,c);

}程序運行后的輸出結果是()(09年3月)

'A)l,2,3B)1,3,201,3,3D)3,2,1

26).以下程序運行后的輸出結果是一(05年4月)

main()

{inta,b,c;

a=10;b=20;c=(a%b<l)ll(a/b>l);

printf("%d%d%d\n",a,b,c);

)

27)以下程序運行后的輸出結果是—。(05年9月)

main()

{inta=l,b=2,c=3;

if(c—a)printf("%d\n",c);

elseprintf("%d\n",b);

}?

28)以下程序用于判斷a,b,c能否構成三角形,若能輸出YES,若不能輸出NO。當a,b,c輸入三角

形三條邊長時,確定a,b,c能構成三角形的條件是需要同時滿足三條件:a+b>c,a+c>b,b+c>ao請

填空。)(06年4月)

??????main()

??????{?floata,b,c;

??????scanfC%f%f%f\&a,&b,&c);

??????if(_)printf,YES'n");/*a,b,c能構成三角形*/

??????elseprintf(44NO\nM);/*a,b,c不能構成三角形*/

29)以下程序運行后的輸出結果是一o(06年9月)

main()

{intx,a=l,b=2,c=3,d=4;

x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;

printf("%d\nu,x);

)

30)以下程序的運行結果是一o(07年4月)

main()

{inta=2,b=7,c=5;

switch(a>0)

{case1:switch(b<0)

{casel:switch("@");break;

case2:printf("!”);break;

)

case0:switch(c==5)

{case0:printf("*'');break;

case1:printf("#‘');break;

case2:printf('$');break;

)

default:printf("&”);

)

printfCt\n,>);

)

31)已定義charch=飛”;inti=l,j;執(zhí)行j=!ch&&i++以后,i的值為____(07年4月)

32)以下程序的功能是:輸出a、b、c三個變量中的最小值。請?zhí)羁?07年9月)

ttinclude<stdio.h>

main()

{inta,b,c,tl,t2;

scanf(〃%d%d%d〃,&a,&b,&c);

tl=a<b?;

t2=c<tl?____;

printf(z,%d\n,z,t2);

)

33)已有定義:221^=''阿2=1,13;(此處0的初值為空格字符),執(zhí)行b=!c&&a;后b的值為____。

(08年4月)

第五章:循環(huán)結構

1)有以下程序(05年4月)

main()

{inta=l,b;

for(b=l;b<=10;b++)

{if(a>=8)break;

if(a%2==1){a+=5;continue;}

a-=3;

}

printf(u%d\n",b);

程序運行后的輸出結果是()

A)3B)4C)5D)6

(2)有以下程序段(05年9月)

intn,t=l,s=0;

scanf("%d",&n);

do{s=s+t;t=t-2;}while(t!=n);

為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應該是()

A)任意正奇數(shù)B)任意負偶數(shù)C)任意正偶數(shù)D)任意負奇數(shù)

(3)設變量已正確定義,則以下能正確計算f=n!的程序段是()(05年9月)

for(i=n;i>l;i++)f*=i;for(i=n;i>=2;i-)f*=i;

A)f=0;B)f=l;C)f=l;D)f=l;

(4)有以下程序(05年9月)

main()

{intk=5,n=0;

while(k>0)

{switch(k)

{default:break;

case1:n+=k;

case2:

case3:n+=k;

)

k-;

)

printf("%d\n",n);

)

程序運行后的輸出結果是()

A)0B)4C)6D)7

???5)若有以下程序(06年4月)

??????main()

??????{inty=10;

??????while(y--);printf(**y=%d\n,,y);

??????}

??????程序運行后的輸出結果是()

??????A)y=0B)y=-1C)y=lD)while構成無限循環(huán)

?6)有以下程序(06年4月)

??????main()

??????{??inti,j,x=0;

??????for(i=0;i<2;i++)

??????{X++;

??????for(j=0;j<=3;j++)

??????{

??????if(j%2)continue;

??????x++;

??????}

??????X++;

??????}

??????printfC'x=%d\n,,,x);

??????!

??????程序執(zhí)行后的輸出結果是()

??????A)x=4?B)x=8?C)x=6?D)x=12

7)有以下程序(06年9月)

mianO

{intk=5;

while(-k)printfk-=3);

printfCW)

)

執(zhí)行后的輸出結果是()o

A)1B)2C)4D)死循環(huán)

8)有以下程序(06年9月)

main()

{inti;

for(i=l;i<=40;i++)

{if(i++%5=0)

if(++i%8=0)printfC%d",i)

)

printfC\nO

)

執(zhí)行后的輸出結果是()o

A)5B)24C)32D)40

9)有以下程序(07年4月)

main()

{intk=5,n=0;

do

{switch(k)

{case1:case3:n+=1;break;

default;n=O;k—;

case2:case4:n+=2;k—;break;

)

printfCt%d,\n);

}while(k>0&&n<5);

程序運行后的輸出結果是()

A)235B)0235C)02356D)2356

10)若變量已正確定義,有以下程序段(07年9月)

i=0;

doprintf(%d,〃,i);while(i++);

printf(〃%d\n〃,i);

其輸出結果是()

A)0,0B)0,1C)1,1D)程序進入無限循環(huán)

ID有以下程序(07年9月)

#include<stdio.h>

main()

{inty=9;

for(;y>0;y-)

if(y%3=0)printf(,z%dzz,-y);

程序的運行結果是()

A)741B)963C)852D)875421

12)有以下程序(07年9月)

ttinclude<stdio.h>

main()

{inti,j,m=55;

for(i=l;i<=3;i++)

for(j=3;j<=i;j++)m=m%j;

printf(z,%d\nm);

)

程序的運行結果是()

A)0B)1C)2D)3

13)有以下程序(08年4月)

#include<stdio.h>

main()

{intx=8;

for(;x>0;x-)

{i,(x%3){printf(“%d,”,x--);continue;}

printf(“%d,”,??x);

)

)

程序的運行結果是()

A)7,4,2B)8,7,5,2C)9,7,6,4D)8,5,4,2

14)以下不構成無限循環(huán)的語句或者語句組是()(08年4月)

A)n=0;B)n=0;C)n=10;D)for(n=0,i=1;;i++)n+=i;

do{++n;}while(n<=0);while⑴{n++;}while(n);{n-;}

15)、有以下程序(08年9月)

#include<stdio.h>

main()

{inti,j;

for(i=3;i>=l;i--)

{for(j=l;j<=2;j++)printfC%d",i+j);

pintf('\n〃);

}

程序運行的結果是

A)234B)432023D)45

3455433434

4523

16)、有以下程序(08年9月)

#include<stdio.h>

main()

{inti=5;

do

{if(i%3==l)

if(i%5=2)

{printfC%d〃,i);break;}

i++;

}while(i!=0);

printf(,z\n〃);

}程序運行的結果是(*號代表空格)

A)*7B)*3*5C)*5D)*2*6

17)以下程序段中的變量已正確定義

for(i=0;i<4;i++,i++)

for(k=l;k<3;k++);printf(“*”);

則程序段輸出的結果是()(09年3月)

A)********B)****C)**D)*

18)以下程序的功能是計算:s=l+12+123+1234+12345。請?zhí)羁铡?05年9月)

main()

{intt=O,s=O,i;

for(i=l;i<=5;i++)

{t=i+___;s=s+t;)

printf(us=%d\nu,s);

)

?19)以下程序的功能是:輸出100以內(不含100)能被3整除且個位數(shù)為6的所有整數(shù),請?zhí)羁铡?/p>

(06年4月)

??????main()

??????{inti,j;

??????for(i=0;____;i++)??

???{j=i*10+6;

??????if<____)continue;

??????printf(<4%d”,j);

20)以下isprime函數(shù)的功能是判斷形參a是否為素數(shù),是素數(shù),函數(shù)返回1,否則返回0,請?zhí)羁?/p>

(06年4月)

??????intisprime(inta)

??????{inti;

??????for(i=2;i<=a/2;i++)

??????if(a%i==0)_____;

9999?______?9}

21)看訴程序,若運行時從鍵盤輸入:18,Ik回車〉則程序輸出結果是_(06年9月)

main()

{inta,b;

printf(MEntera,b:,,);scanf(,,%d,%d,,,&a,&b);

while(a!=b)

{while(a>b)a-=b;

while(b>a)b-=a;

)

printf(,,%3d%3d\nH,a,b);

}

22)以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如,若輸入135,則輸出531。請?zhí)羁铡?/p>

(06年9月)

#include<stdio.h>

main()

intn,s;

printf("Enteranumber:");scanf("%d",&n);

printffOutput:");

do

{

s=n%10;printf("%d",s);__;}while(n!=0);

printfC'Xn1');

)

23)以下程序的功能是:求出數(shù)組x中各相鄰兩個元素的和,依次存放到a數(shù)組中,然后輸出,

請?zhí)羁铡?07年4月)

main()

{intx[10],a[9],I;

for(i=0;i<10;i++)

scanf("%d”,&x[i]);

for(i=l;i<10;i++)

a[i-l]=x[i]+;

for(i=0;i<9;i++)

printf("%d”間i]);

printf("\n”);

24)以下程序的輸出結果是一o(07年9月)

#include<stdio.h>

main()

{int『12345,d;

while(n!=0){d=n%10;printf(〃%d",d);n/=10;}

}

25)有以下程序段,且變量已正確定義和賦值(07年9月)

for(s=1.0,k=l;k<=n;k++)s=s+1.0/(k*(k+l));

printf(〃s二%f\n\n〃,s);

請?zhí)羁?,使下面程序段的功能與之完全相同

s=l.0;k=l;

while(____){s=s+l.0/(k*(k+l));;}

26)若有定義:intk;,以下程序段的輸出結果是—。(08年4月)

for(k=2;k<6;k++,k++)printf(u##%d,,,k);

27)以下程序的輸出結果是()(08年9月)

#include<stdio.h>

main()

{inti,j,sum;

for(i=3;i>=l;i一一)

{sum=0;

for(j=l;j<=i;j++)sum+=i*j;

)

printf(,z%d\n〃,sum);

第六章:字符型數(shù)據(jù)

⑴數(shù)字字符0的ASCII值為48,若有以下程序(05年4月)

main()

{chara=T,b=2;

printf(',%c,,,,b++);

printf(n%d\nn,b-a);

程序運行、的輸出結果是()

(A)3,2(B)50,2(C)2,2(D)2,50

(2)以下敘述中正確的是()(05年9月)

A)調用printf函數(shù)時

溫馨提示

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

評論

0/150

提交評論