c語言考試第五單元循環(huán)_第1頁
c語言考試第五單元循環(huán)_第2頁
c語言考試第五單元循環(huán)_第3頁
c語言考試第五單元循環(huán)_第4頁
已閱讀5頁,還剩115頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

假定所有變量均已正確定義,下列程序段運(yùn)行后X的值為()。kl=l;k2=2;k3=3;x=15;if(!kl)x-;elseif(k2)if(k3)x=4;elsex=3;(1.5分)L5分4153正確答案:A我的答案:A答案解析:2下面有關(guān)for循環(huán)的正確描述是()(L5分)1.5分for循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達(dá)式for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況在for循環(huán)中,不能用break語句跳出循環(huán)體正確答案:B我的答案:B答案解析:

在C語言中,為了結(jié)束while語句構(gòu)成的循環(huán),while后ー對圓括號中表達(dá)式的值應(yīng)該為()。(1.5分)1.5分true正確答案:D我的答案:D答案解析:4逗號表達(dá)式(a=3*5,a*4),a+15的值為(L5分)1.5分6030■15正確答案:C我的答案:C答案解析:5有程序段如下intk=-20;while(k=0)k=k+l;則以下說法中正確的是()。(1.5分)1.5分循環(huán)是無限循環(huán)循環(huán)體語句ー次也不執(zhí)行while循環(huán)執(zhí)行20次循環(huán)體語句執(zhí)行ー次正確答案:B我的答案:B答案解析:6以下正確的描述是( ).(1.5分)1.5分break語句只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用在循環(huán)體內(nèi)使用break語句或continue語句的作用相同,

continue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行從多層循環(huán)嵌套中退出時(shí),只能使用goto語句正確答案:A我的答案:A答案解析:7以下程序片段的輸出結(jié)果是()。inty=10;for(;y>0;y-)if(y%3==0)printf("%d",—y);continue;(1.5分)1.5分852875421741正確答案:A我的答案:A答案解析:8C語言中( )?(1.5分)1.5分do-while語句構(gòu)成的循環(huán)必須用break語句才能退出不能使用do-while語句構(gòu)成的循環(huán)do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)do—whiLe語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán)正確答案:C我的答案:C答案解析:9以下程序段的輸出結(jié)果是inti,j,m=0;for(i=l;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);(1.5分)1.5分15202512正確答案:B我的答案:B答案解析:10以下程序片段的輸出結(jié)果().intx=3;do{printf("%3d",x-=2);}while(—x);(1.5分)0.0分*303

死循環(huán)1-2正確答案:B我的答案:D答案解析:11下面程序段不是死循環(huán)的是〇〇(1.5分)1.5分

for(;;);intk=0;do(++k;}while(k>=0);ints=36while(s)inti=100;while(l){i=i%100+l:正確答案:B我的答案:B答案解析:12有以下語句:1=1;for(;i<=100;i++)sum+=i;與以上語句序列不等價(jià)的有()。(L5分)1.5分for(i=1;i<=100;){sum+=i;i++;}i=1;for(;;){sum+=i;if(i==1OO)break;i++;}i=1;for(;i<=1OO;)sum+=i;for(i=l;;i++){sum+=i;if(i==100)break;}正確答案:c我的答案:C答案解析:13以下程序段的輸出結(jié)果是()。intk,j,s;for(k=2;k〈6;k++,k++)(s=l;for(j=k;j<6;j++)s+=j;)printf("%d\n",s);11c、D、10正確答案:D我的答案:D答案解析:(L5分)L5分for(表達(dá)式1:1!表達(dá)式3)for(表達(dá)式1;表達(dá)式1;表達(dá)式3)for(表達(dá)式1;1;表達(dá)式3)正確答案:C我的答案:C答案解析:15能正確表示“當(dāng)x的取值在[-58,-40]和[40,58]范圍內(nèi)為真,否則為假”的表達(dá)式是 〇(L5分)1.5分(x>=-58)||(x<=x丁'>=40)||(x<=58)(x>=-58)&&(x<=x="">=40)&&(x<=58)(x>=-58)&&(x<=-40)II(x=>=40)&&(x<=58)(x>=-58)I|(x<=x="">=40)||(x<=58)正確答案:C我的答案:C答案解析:16以下程序運(yùn)行輸出結(jié)果是main()intc,x,y;x=l;y=l;c=0;

c=x++||y++;printf("\n%d%d%d\n",x,y,c);)(L5分)13分211Oilno001正確答案:A我的答案:A答案解析:17C語言中while和do-while循環(huán)的主要區(qū)別是( )(L5分)1.5分while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格do-while的循環(huán)體不能是復(fù)合語句do-while的循環(huán)體至少無條件執(zhí)行一次■do一while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)正確答案:C我的答案:C答案解析:18設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2J執(zhí)行(m二a>b)&&(n=c>d)后n的值是()〇(L5分)1.5分C、D、正確答案:A我的答案:A答案解析:以下能正確計(jì)算1X2X3X…X10的程序段是((L5分)L5分do{i=l;s=0:s=s*i;i++;}while(i<=10);do{i=l;s=l;s=s*i:i++;}while(i<=10);

i=l;s=O;do{s=s*i;i++;}while(i<=10);*i=l;s=l;do{s=s*i;i++;}while(i<=10);正確答案:D我的答案:D答案解析:20利?段如下intk=l;while(!k==O){k=k+l;printf("%d\n",k);}說法正確的是((1.5分)1.5分循環(huán)是無限循環(huán)循環(huán)體語句執(zhí)行ー次while循環(huán)執(zhí)行2次循環(huán)體語句ー次也不執(zhí)行正確答案:A我的答案:A答案解析:21下列程序片段的輸出結(jié)果是()。inti,a=O,b=O;for(i=l;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);)(1.5分)1.5分a=4,b=5a=5,b=5a=4,b=4正確答案:A我的答案:A答案解析:22下面程序片段的運(yùn)行結(jié)果為( )。intn;for(n=l;n<=10;n++){if(n%3=0)continue;printfn);}(1.5分)L5分369121234567891012457810正確答案:D我的答案:D答案解析:23在C語言中,if語句后的ー對圓括號中,用以決定分支的流程的表達(dá)式( )。(1.5分)1.5分只能用邏輯表達(dá)式或關(guān)系表達(dá)式可用任意表達(dá)式只能用邏輯表達(dá)式正確答案:C我的答案:C答案解析:24在以下給出的表達(dá)式中,與do-while(E)語句中的(E)不等價(jià)的表達(dá)式是()。(1.5分)1.5分*(E>0||E<0)(E==0)

(E!=0)正確答案:B我的答案:B答案解析:25以下程序片段的輸出結(jié)果是()。intn=0;while(n++<=l)printf("%d\t',n);printf("%d\n',n);(1.5分)1.5分112123122正確答案:C我的答案:C答案解析:在C程序中,判邏輯值時(shí),用"非〇"表示邏輯值"真",用"0"表示邏輯值"假"。在求邏輯值時(shí),用()表示邏輯表達(dá)式值為"真”,用()表示邏輯表達(dá)式值為"假".(1.5分)1.5分10非。非。正確答案:B我的答案:B答案解析:27設(shè)有以下程序段,則執(zhí)行該片段后().intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);(1.5分)1.5分

運(yùn)行程序段后輸出1程序段中的控制表達(dá)式是非法的程序段執(zhí)行無限次運(yùn)行程序段后輸出0正確答案:A我的答案:A答案解析:

為了避免嵌套的if-else語句的二義性,C語言規(guī)定else總是與〇組成配對關(guān)系。(L5分)L5分在其之前未配對的if縮排位置相同的if同一行上的if

在其之前未配對的最近的if正確答案:D我的答案:D答案解析:29下列程序片段運(yùn)行的情況是()。inti=l,sum=0;while(i<10)sum=sum+l;i++;printf(ni=%d,sum=%d",i,sum);(1.5分)0.0分

i=10,sum=9運(yùn)行出現(xiàn)死循環(huán)i=2,sum=l正確答案:C我的答案:B答案解析:30若i,j已定義為int類型,則以下程序段中內(nèi)循環(huán)的總的執(zhí)行次數(shù)是()。for(i=5;i;i-)for(j=0;j<4;j++){???)(L5分)1.5分24202530正確答案:B我的答案:B答案解析:31以下for循環(huán)是()。for(a=0,b=0;(b!=123)&&(a<=4);a++)(1.5分)1.5分循環(huán)次數(shù)不定無限循環(huán)執(zhí)行5次執(zhí)行4次正確答案:C我的答案:C答案解析:32若inti,j;,則for(i=j=0;i<10&&j<8;i++,j+=3)控制的循環(huán)體執(zhí)行的次數(shù)是()〇

(L5分)1.5分正確答案:D我的答案:D答案解析:33當(dāng)輸入為“quert?”時(shí),下面程序片段的輸出結(jié)果是()。charc;c=getcharO;while((c=getchar())!='?*)putchar(++c);(L5分)1.5分■vfsuquert?Quert■rvfsu?正確答案:A我的答案:A答案解析:34執(zhí)行下面語句的輸出為()。inti=-l;if(i<=O)printf("****\nz,);elseprintf("%%%%\n");(1.5分)1.5分%%%%有錯(cuò),執(zhí)行不正確%%%%c正確答案:D我的答案:D答案解析:35已知intt=0;while(t=l){???)則以下敘述正確的是()。(15分)1.5分循環(huán)控制表達(dá)式的值為1以上說法都不對循環(huán)控制表達(dá)式的值為0循環(huán)控制表達(dá)式不合法正確答案:A我的答案:A答案解析:36程序段如下

while(k++<=2);printf("last=%d\n",k);則執(zhí)行輸出結(jié)果是!ast=().(1.5分)1.5分■32*

無結(jié)果正確答案:c我的答案:C答案解析:37下面程序的運(yùn)行結(jié)果是()?inty=10;do{y-;}while(—y);printf("%d\n",y-);(1.5分)0.0分正確答案:C我的答案:A答案解析:38標(biāo)有/**/的語句的執(zhí)行次數(shù)是()。inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/**/)(1.5分)1.5分1020正確答案:c我的答案:C答案解析:39程序段如下intk=0;while(k++<=2)printf("%d",k);則執(zhí)行結(jié)果是().234123無結(jié)果正確答案:B我的答案:B答案解析:40根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為:已有定義:floatal,a2;數(shù)據(jù)的輸入方式:4.5233.52(1.5分)0.0分scanfi("%f,%f“,al,a2);scanf(“%4.3f,%3.2f”,&al,&a2);scanf(“%4.3f%3.2f”,al,a2);scanft'%f%f",&al,&a2);正確答案:D我的答案:B答案解析:二、填空題(題數(shù):25,共40.0分)1以下程序段的輸出結(jié)果是 inti=0,sum=1;

do{sum+=i++;}while(i<5);printf("%d\n",sum);(1.6分)L6分正確答案第一空:11我的答案:第一空:11答案解析:2將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是.if(a>b)max=a;elsemax=b;

(1.6分)L6分正確答案第一空:max=(a>b)?a:b;我的答案:第一空:max=(a>b)?a:b;答案解析:3的前40項(xiàng)。下列程序片段功能是計(jì)算的前40項(xiàng)。main(){inti;longfl=l,f2;for(i=0;i<20;i++)if(i%2)printf("\n");fl+=f2;f2=f2+fl;))(1.6分)OQ分正確答案第一空:f2=l我的答案:第一空:fl=l;f2=l

當(dāng)執(zhí)行以下程序段后,i的值是,inta,b,c,d,i;a=10;b=5;i=0;for(;a>b;++b)i++;(L6分)1.6分正確答案第一空:5我的答案:第一空:5

若輸入字母C,下面程序片段輸出結(jié)果為ーcharcl,c2;cl=getcharQ;while(cl<97||cl>122)cl=getchar();c2=cl-32;printf(M%c\n',c2);(1.6分)0.0分正確答案第一空:C我的答案:第一空:cC定義intx=10,y,z;執(zhí)行y=z=x;x=y==z;后,x的結(jié)果是.(L6分)1.6分正確答案第一空:1我的答案:第一空:1答案解析:7下面程序片段的功能是把316拆分為兩個(gè)分別能被13和11整除的加數(shù)。請?jiān)趦?nèi)填入正確內(nèi)容。inti=0,j,k;

do{i++;k=316-13*i;}while();j=k/ll;printf(“316=13*%d+ll*%d",i,);)(1.6分)1.6分正確答案第一空:m%ll第二空:j我的答案:第一空:m%ll第二空:

答案解析:8下面程序片段的功能是將從鍵盤輸入的ー組字符中統(tǒng)計(jì)出大寫字母的個(gè)數(shù)m和小寫字母個(gè)數(shù)n,并輸出m,n中的較大數(shù),請?jiān)趦?nèi)填入正確內(nèi)容。intm二0,n=O;charc;while(()!二,\n,){if(c>=,A,&&c<=,Z,) m++;if(c>=,a,&&c<=,z,) n++;)printf("%d\n",m<n?);(1.6分)1.6分正確答案

第一空:c=getchar()第二空:n:m我的答案:第一空:c=getchar()第二空:n:m答案解析:9下面程序片段是從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁?。intn=O,c;c=getchar();while( )

if(C>=’〇’&&C<='9')n++;c=getchar();)(1.6分)0.0分正確答案第一空:c!='\n'我的答案:第一空:c!='\n'答案解析:10下面程序段的運(yùn)行結(jié)果是:x=y=O;

while(x<15)y++,x+=++y;printfC%d",y);(1.6分)1.6分正確答案第一空:8我的答案:第一空:8答案解析:11下列程序片段功能是判斷ー個(gè)數(shù)是否為素?cái)?shù)。inti,k,m;scanf("%dn,&m);

k=sqrt( );for(i=2;i<=k;i++)if(m%i==0);if(i>=k+l)printf("%dyes\n",m);elseprintf("%dno\n",m);)(1.6分)0.8分正確答案第一空:m第二空:break我的答案:第一空:

第二空:break答案解析:12以下程序片段完成兩個(gè)數(shù)的四則運(yùn)算。請?jiān)趦?nèi)填入正確內(nèi)容。floatx,y;charoperator;scanf(〃%f%c%f〃,&x,&operator,&y);switch(){case,+,:printf(〃%g%c%g二%g\n〃,x,operator,y,x+y);break;case’:printf(〃%g%c%g二%g\n〃,x,operator,y,x-y);break;case'★,:printf(〃%g%c%g二%g\n〃,x,operator,y,x*y);break;case'/,:if(yニ二0.0)printf(〃除零錯(cuò)誤!\n〃);else

printf(,,%g%c%g=%g\n,,(x,operator,y,x/y);break;default:printf("表達(dá)式存在錯(cuò)誤!\n");)(1.6分)1.6分正確答案第一空:operator我的答案:第一空:operator答案解析:13以下程序片段執(zhí)行后,屏幕輸出結(jié)果是:=charc='c'+5;printf(,,%c\n,,,c);

(1.6分)0Q分正確答案第一空:h我的答案:第一空:'h'答案解析:14從鍵盤上輸入若干個(gè)學(xué)生的成績,輸出最高成績和最低成績,當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束。請?jiān)趦?nèi)填入正確內(nèi)容。#include<stdio.h>voidmain()

floatx,max,min;scanf("%f",&x);max=min=x;while( )(if(x>max)max=x;if(x<min)min=;scanf(〃%f”,&x);)printf(nmax=%f\nmin=%f\n",max,min);(1.6分)正確答案第一空:x>=0第二空:x<min</min我的答案:第一空:x>=0第二空:X答案解析:15要使以下程序段輸出10個(gè)整數(shù),請?zhí)钊氅`個(gè)整數(shù):for(i=0;i<= ;printf("%d\n",i+=2));(1.6分)

1.6分正確答案第一空:19我的答案:第一空:19答案解析:16已知A=7.5,B=2,C=3.6.表達(dá)式A>B&&C>A||A<B&&!C>B的值是.(1.6分)1.6分正確答案第一空:0我的答案:第一空:答案解析:17以下程序片段的輸出結(jié)果是.intx=2;while(x—);printf("%d\n",x);(1.6分)1.6分正確答案第一空:-1我的答案:第一空:-1答案解析:18下面程序段的運(yùn)行結(jié)果是:一x=y=O;while(x<15)y++,x+=++y;printfC%d",x);(1.6分)1.6分正確答案第一空:20我的答案:第一空:20答案解析:

下列程序片段的功能是:對輸入的正整數(shù)n,統(tǒng)計(jì)各位數(shù)字中零的個(gè)數(shù)。請?jiān)趦?nèi)填入正確內(nèi)容。intn,count,t;count=max=0;scanf("%d",);do{t=;if(t==0)++count;n/=10;}while(n);printf(<<count=%dw.count);(1.6分)1.6分正

溫馨提示

  • 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

提交評論