C語言習(xí)題總匯_第1頁
C語言習(xí)題總匯_第2頁
C語言習(xí)題總匯_第3頁
C語言習(xí)題總匯_第4頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ー、填空題若要輸出下列各種類型的數(shù)據(jù),應(yīng)使用什么轉(zhuǎn)換說明符。(答題請打上雙引號)字段寬度為4的十進制數(shù)應(yīng)使用"%4d”,字段寬度為6的十六進制數(shù)應(yīng)使用ハ進制整數(shù)應(yīng)使用ー一字段寬度為3的字符應(yīng)使用字段寬度為10,保留3位小數(shù)的實數(shù)應(yīng)使用字段寬度為8的字符串應(yīng)使用.答案:飛6x""%〇”"%3c"*%10.3f?訣8s”以下程序輸入三個整數(shù)值給a,b,c,程序把b中的值給a,把c中的值給b,把a中的值給c,然后輸出a,b,c的值。請?zhí)羁铡?include<stdio.h>main()(inttemp;printf("Entera,b,c:H);scanf(n%d%d%dM,—);a=b;b=c;printf(na=%db=%dc=%d\nn,a,b,c);)答案:inta,b,c;&a,&b,&ctemp=a;c=temp;讀懂程序并填空。#include<stdio.h>voidmain()(charch=0x31;printf("%d\n”,ch);〃屏幕顯示ーprintf(H%o\nヽch);〃屏幕顯示 primf("%x\n”,ch);〃屏幕顯示ーprintf("%c\n”,ch);〃屏幕顯示 }答案:496131輸入兩個實數(shù)a,b,然后交換它們的值,最后輸出(提示:要交換兩個數(shù)得借助一個中間變量tempo首先讓temp存放a的值,然后把b存入a,再把temp存入b就完成了)。voidmain()(lloata,b,temp;printf("請輸入a和b的值:");scanf(n%d,%dn,—);temp=a;printf("交換后,a=%d,b=%d\n';一);)答案:&a,&ba=b;b=temp;a,b閱讀下列程序,寫出運行結(jié)果#include<stdio.h>main(){intI;floatj;1=18;J=29.4361;PrintfCiI=%4d,j=%2.2f,,I,j);)運行結(jié)果: 答案:1=18,J=29.44閱讀下列程序,寫出運行結(jié)果#include<stdio.h>voidmain(){inta=l,b=4,c=2;a=(a+b)/c;printf(u%d\n",一a);)運行結(jié)果: 答案:1以下程序的輸出結(jié)果為.Main(){printff4*%f,%4.3f*\n",3.14,3.1415);}答案: *3.140000,3.142*以下程序的輸出結(jié)果為.Main(){charc=,x';printf(44c:dec=%d,oct=%o,hex=%c,ASCII=%c\nM,c,c,c,c);}答案:c:dec=120,oct=170,hex=78,ASCII=x已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是.PrintfC4*d(l)=%d*d(2)=&3d*d(3)=%-3d*\n",d,d,d);Printf("*d(4)=%o*d(5)=&7o*d(6)=%-7o*\nM,d,d,d);答案:*d(l)=-2*d(2)=1—1-2*d(3)=-2-**d(4)=177776*d(5)=1—1177776*d(6)=1777761—1*已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是.Printf("*d(l)=%d*d(2)=&3d*d(3)=%-3d*\n”,d,d,d);Printf("*d(4)=%x*d(5)=&6x*d(6)=%-6x*\n”,d,d,d);答案:*d(l)=-2*d(2)=1-2*d(3)=-2*—1**d(4)=fffe*d(5)=しJfffe*d(6)=fffeー」?已有定義floatd1=3.5,d2=-3.5;執(zhí)行以下語句后的輸出結(jié)果是.Printf("*d(l)=%e*d(2)=&.4e*d(3)=%10.4e*\n",dl,dl,dl);Printf(u*d(4)=%e*d(5)=&.6e*d(6)=%-12.5e*\n”,d2,d2,d2);答案:*d(l)=3.50000e+00*d(2)=3.500e+00*d(3)=13.5OOe+OO**d(4)=-3.5OOOOe+OO*d(5)=-3.5OOOOe+OO*d(6)=-3.5OOOOe+OO_*以下程序的輸出結(jié)果是.#include<stdio.h>main(){intx=10;floatpi=3.1416;prinrf(44(l)%d\n\x);printf(44(2)%6d\n,,,x);printf(44(3)%f\n\56.1);printfi(44(5)%14f\n,,,pi);printf(44(5)%e\n”,568.1)'printf(44(6)%14e\n,,,pi);printf(44(7)%g\n,\pi);printf(44(8)%12g\n,,,pi);)答案:⑴10⑵l_ll_lI_1I_110(3)56.100000(4)L-iI—?I—?I—?L-iL-I3.141600(5)5.68100e+00(6)1—11—1L-13.14160e+00(7)3.1416(8)l_ll_ll_ll_ll_ll_>3.I.以下程序的輸出結(jié)果是.#include<stdio.h>main(){floata=123.456;doubleb=8765.4567;printf(“(l)%f\ir,a);printfi(tt(2)%14.3f\n,,a);printf(M(3)%6.4f\n,\a);printf(M(4)%If\n,,,b);printf("(5)%14.31An”,b);printf(M(6)%9.4If\n,\b);printfH7)%.4f\n",b);答案:(1)123.456000⑵L_lLJL_lL_lL_jlji_i123.457⑶123.5608465.456700ーーいーーい8465.45678465.45678465.4567以下prinlf語句中?號的作用是1,輸出結(jié)果是2。#include<stdio.h>mian(){int1=1;printfC##%*d\n"丄I);1++;printf(tc##%*dn,,,IJ);1++printf(tt##%*d=n,,I,I);)答案:''*”號的作用是:可以使同一或相同輸出語句中的輸出寬度得以改變。輸出結(jié)果是:##1##」2##」1一33.15以下printf語句中的“一’’的作用是1,該程序的輸出結(jié)果是2。#include<stdio.h>main(){intx=12;doublea=3.1415926;printfC4%6d##\n,,,x);printf^4%—6d##\nM,x);printfC%14.101用#\n”,a);print"%—14.1OIf##\n”,a);)答案:‘'一”的作用是:輸出數(shù)據(jù)左對齊輸出結(jié)果是:L-JL-lI—IL-I12##12JJJJ##1—1L-13.141592600##141592600—―##以下程序的輸出結(jié)果是.#include<stdio.h>main(){inta=325;doublex=3.1415926;printff'a=%+06dx=%+e\n,,,a,x);)答案:a=+00325J1—1Jx=+3.14159e+00以下程序的輸出結(jié)果是。#include<stdio.h>main(){inta=252;printf(ua=%oa=%#-=N,,,a,a);printffa=%xa=%#x\n,,,a,a);)答案:a=374-Ja=0374a=fc11—1a=0xfc3.18若有以下定義和語句,為使變量C1得到字符'A",變得C2得到字符'B',正確的格式輸入形式是Charcl,c2;Scanf("%4c%4c",&cl,&c2);答案:A———B———3.19在scanf函數(shù)調(diào)用語句中,可以在格式字符和%號之間加一星號,它的作用是;答案:跳過對應(yīng)的輸入數(shù)據(jù)20有一輸入函數(shù)scat(“刎”,k);則不能使int類型變量K得到正確數(shù)值的原因是答案:未指明變量K的地址二、選擇題putchar函數(shù)可以向終端輸出ー個.A)整型變量表達式值B)實型變量值C)字符串D)字符或字符型變量值答案:D以下程序的輸出結(jié)果是2以下程序的輸出結(jié)果是.(注:口表示空格)main(){printfC\n*s1=%15s*","chinabeijing");printf((“\n*s2=%?5s*"Jchr');

A)*sl=chinabeijing□ロロ? B)*sl=chinabeijing□□□**s2=**chi* *s2=chiD□*C)*sl=*nnchinabeijing*D)*s!=□□□chinabeijing**s2=DOchi* *s2=chiロロ?答案:Dprintf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5歹リ。如果字符串長度大于5,則輸出按方式【1】;如果字符串長度小于5,則輸出按方式[2].A)從左起輸出該字串,右補空格B)按原字符長從左向右全部輸出C)右對齊輸出該字串,左補空格D)輸出錯誤信息答案:【1]B[2]C已有字義inta=-2;和輸出語句:primf(“%8lx”,a);以下正確的敘述是.A)整型變量的輸出格式符只有%d一種%x是格式符的一種,它可以適用于任何ー種類型的數(shù)據(jù)%x是格式符的ー種,其變量的值按十六進制輸出,但%81x是錯誤的%81x不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度答案:D3.5 以下C程序正確的運行結(jié)果是.(注:口表示空格)main(){longy=-43456;printfCty=%-81d\n,,,y);printf(fc4y=%-081d\n,\y);printfC4y=%081d\n,,,y);printf(uy=%+81d\n,,,y);A)y=ロロA)y=ロロ-43456Y=ロロ43456Y=-0043456Y=-43456C)y=-43456Y=-43456Y=-0043456Y=ロロ-43456答案:CB)y=-43456

y=-43456

y=-0043456

y=+ロ>43456D)y二口□-43456

y=-0043456

y=00043456

y=+434563.6以下3.6以下C程序正確的運行結(jié)果是.(注:口表示空格)main(){inty=2456;printf("y二%3o\n”,y);prinlf("y二%8o\n”,y);printf(4ty=%#8o\n,,,y);}y二口口ロ2456 B)y二口口4630Y二口口ロロロロロロ2456 y二口口口口ロロロロ4630

Y=########2456Y=########2456C)y=2456¥=□□□□2456¥=□□□02456答案:Dy=########4630D)y=4630¥=□□□□4630y=D□□04630經(jīng)下C程序正確的運行結(jié)果是.(注:□表示空格)main(){longy=23456;printf(y=%3x\n,\y);printf(y=%8x\n,,,y);printf(y=%#8x\n,\y);A)y=5ba()Y=nnnn5ab()Y=nnox5ba()A)y=5ba()Y=nnnn5ab()Y=nnox5ba()C)y=5ba()Y=5ba()¥=0x5ba()答案:AD)y=5ba()y二□□□□5ba()

y=####5ba()若x,y均定義為int型ユ定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是 .A)scanf("%d%lx,%le”,%x,&y,&z);scanf(u%2d*%d%lf\%x,&y,&z);C)scanf("%x%*d%o”,%x,&y);D)scanf(u%x%o%6.2f\%x,&y,&z);答案:D已有如下定義如和輸入語句,若要求al,a2,cl,c2的值分別為10.,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是.(注:□表示空格,<CR>表示回車)intal,a2;charcl,c2;scanf("%d%c%d%c”,&a1,&cI,&a2,&c2);A)10A□20B<CR> B)10ロA□20□B<CR>C)10A20B<CR> D)10A20□B<CR>答案:A已有定義intx;floaty:且執(zhí)行scanf("%3d%f,%x,%y);語句時,從第一列開始輸入數(shù)據(jù)12345^678V回車〉,則x的值為【11.y的值為【2]。(注:□表示空格)A)12345 B)123 C)45 D)345A)無定值B)45.0000000678.000000D)123.000000答案:【1]B[2]B該源程序執(zhí)行后,屏幕上顯示什么?(單選)voidmain()inta;floatb;a=4;b=9.5;printf(Ma=%d,b=%4.2f\nM,a,b);)A.a=%d,b=%f\nB.a=%d,b=%fC.a=4,b=9.50D.a=4,b=9.5答案:c若ch為char型變量,a為int型變量,(已知字符a的ASCII十進制代碼為97)則執(zhí)行以下語句后的輸出為哪ー個?(單選)charch;inta;ch-a';a=12;printf(M%x,%o,M,ch,ch,a);printf(,,k=%%d\n,',k);A.61,141,12,k二%dB.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值C.61,141,k=%dD.61,141,k=%12答案:C若a為整型變量,且有以下語句ー〇(單選)a=-017L;printf(n%d\nn,a);則下面哪個說法是正確的?A.賦值不合法B,輸出值為C.輸出為不確定值D.輸出值為-15答案:B若ch為char型變量,a為int型變量,(己知字符a的ASCII十進制代碼為97)則執(zhí)行以下語句后的輸出為哪ー個?(單選)charch;inta;ch-a';a=12;printf(n%x,%o,n,ch,ch,a);printf("k二%%d\n”,k);A.61,141,12,k=%dB.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值C.61,141,k=%dD.61,141,k=%12答案:c若有以下說明語句:(單選)chars=,\\\092,;則下面哪ー項是正確的.A.使s的值包含2個字符B.說明語句不合法C.使s的值包含6個字符D.使s的值包含4個字符答案:B若k,g均為int型變量,則以下語句的輸出為哪ー項?(單選)intk,g;k=017;g=lH;printf(M%d;',k);printf("%x\n”,g);A.15,6fB.f,6fC.f,lllD.15,111答案:A請從下面的選項中選出正確的C語言的轉(zhuǎn)義字符。(多選)A.7/'B.'VC.D.'\n'E.MOirF.7018,G7123*H.'\xaa'答案:BCDH如這程序所示,如果運行時,輸入18,18,那么b的值為多少?(單選)voidmain(){inta,b;scanf("%d,%o”,&a,&b);b+=a;printf(n%dM,b);)A.36B.34C.輸入錯誤,b的值不確定D.18答案:C請問:下面這個程序段的輸出是什么?(單選)inta,b,c;a=7;b=8;c=9;if(a>b)a=b,b=c;c=a;printf(na=%db=%dc=%d\nn,a,b,c);A.a=7b=8c=7B.a=7b=9c=7C.a=8b=9c=7D.a=8b=9c=8答案:AC語言可執(zhí)行程序從什么地方開始執(zhí)行?(單選)A.程序中第一條可執(zhí)行語句B.程序中第一個函數(shù)C.程序中的main函數(shù)D,包含文件中的第一個函數(shù)答案:C三、判斷題TOC\o"1-5"\h\z輸入項可以為ー個實型常量,如scanfC%f,;3.5); (X)只有格式控制,沒有輸入項,也能進行正確輸入,如scanfCa=%d,b=%d"); (X)當(dāng)輸入一個實型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點后的位數(shù),如scanfC%4.2f,\&0; (X)當(dāng)輸入數(shù)據(jù)時,必須指明變量的地址,如scanf(“%f”,.&f); (V)0四、操作題輸入三角形的三邊長,求三角形面積。.程序分析:已知三角形的三邊長a,b,c,則該三角形的面積公式為:area= —a)(s—み)(s—c)其中:1z7ヽ

s=—(a+h+c)2.程序源代碼:#include<math.h>main(){floata,b,c,s,area;scanf(',%f%f%f,,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(,'area=%7.2f\nu,area);運行結(jié)果:輸入:346/輸出:area=5.33.5習(xí)題ー、判斷(FFFTTFFFFFTTFTFTFTFF)TOC\o"1-5"\h\z1、if(a=>b){a=b;} (f)2、if(a>=10){a==b;} (f)3、if(x=10){y=10;} (f)4、if(x!=y){printf(4€%d,\x);} (t)5、選擇結(jié)構(gòu)也稱為條件選擇結(jié)構(gòu) ⑴6、選擇結(jié)構(gòu)是順序結(jié)構(gòu)的ー種 ⑴7^循環(huán)結(jié)構(gòu)是選擇結(jié)構(gòu)的一種演變 ⑴8、if(a>=b)else{a=b;} (f)9、if(a>b>c){a=b;b=c;} ⑴10、if(a>b<c){a=b;} (f)11、if(a>b&&b<c){a=b;} (t)12、if(a<b||b>c){a=b;} (t)13、switch語句不能嵌套if語句 (f)14、switch語句可以和break語句配合使用; ⑴15、字符串switch可以設(shè)置為變量使用 ⑴16、字符串else不可以設(shè)置為變量使用 ⑴17、字符串if可以設(shè)置為變量使用 ⑴18、if語句可以多重嵌套使用 ⑴19、switch語句是選擇結(jié)構(gòu),但不是條件語句 ⑴20、條件語句中不能沒有關(guān)鍵字else (f)二、操作題1、輸入a和b兩個數(shù),輸出其中大者2、輸入a、b、c三個數(shù),輸出其中小者3、輸入英文星期,輸出中文星期4,輸入一個數(shù),如果其大于〇就輸出“正數(shù)”,否則輸出“不是正數(shù)”5、輸入ー個分?jǐn)?shù),如果其大于60就輸出“通過”,否則輸出“不及格”三、單選1、if(a__b){a=b;} (A)a>b><c++d=<.C語言中,運算對象必須是整型的運算符是Aー〇

.為表示關(guān)系x>y>z,正確的C語言表達式是A。A)(x〉y)&&(y〉z) B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z).若定義x和y為double類型,則表達式:x=2,y=x+5/2的值是bA)4 B)4.5 C)4.0 D)3.05.若變量已正確說明為int類型,要給;A)read(a,b,c); B)C)scanf(41%D%D%D,\&a,%b,%c);D)a,b,c輸入數(shù)據(jù),以下正確的輸入語句是dscanf(tl%d%d%d,,1a,b,c);scanf("刎%d/d”,&a,&b,&c);6.指出程序段inta=1000;if(a){printf("%d,a=",a);}的結(jié)果A)1000,a= B)a=1000AC)1000 D)a.設(shè)intc=5和inta,a=2+(c+=c++,c+8,++c),則a=A)15 B)14 C)13 D)16.以下程序的輸出結(jié)果是b—main(){intx=10,y=10;if(x){printfCl%d%d\n",x—,—y);})A)1010 B)99C)910 D)1099.指出程序段inta=1000,b=90;if(b){printf(“刎,b=",a);}的結(jié)果A)1000,a= B)1000,b=BC)1000 D)b=100010.若要求在if后ー對圓括號中表示a不等于〇的關(guān)系,則能正確表示這ー關(guān)系的表達式為 a A)a!=0 B)!aC)a=0 D)a11.在以下運算符中,優(yōu)先級最高的運算符是 aA)?: B)++C)&& D)+=12.在C語言中,邏輯值“真”用a表示。A)true B)大于0的數(shù)0非0的整數(shù)D)非〇的數(shù)ド面程序的輸出是Cmain(){unsigneda=32768;if(a)printf(wa=%dM,a):)A)a=32768 B)a=32767C)a=-32768D)a=-l14,在C語言的if語句中,用作判斷的表達式為bA)關(guān)系表達式 B)邏輯表達式〇算術(shù)表達式 D)任意表達式15.執(zhí)行下面的程序后,a的值為main(){inta,b;for(a=l,b=l;a<=100;a++){if(b>=20)break;if(b%3==l){b+=3;continue;)b-=5;)}A)7 B)8C)9 D)1016.表達式c是滿足:的表達式A)(c=l)||(c=3)II(c=5)C)(c==l)&&(c==3)&&(c=5)當(dāng)c的值為1、3、5三個數(shù)時值為“真”,否則值為“假”B)(c!=l)&&(c!=3)&&(c!=5)D)(c==l)II(c==3)II(c==5)17.若變量已正確說明,則以下程序段輸出為ーAa=10;b=50;c=30;if(a>b){a=b;b=c;c=a;}printf("a=%db=%dc=%dM,a,b,c);A)a=10b=50c=30 B)a=10C)a=50b=30c=10 D)a=50b=30b=30c=10c=5018.定義如下變量:intn=10;則下列程序的輸出結(jié)果是if(n>7){n—;printf(“%d\n",n);)A)10B)9 C)8D)1119.在C語言中,if語句中的條件為 C時,執(zhí)行條件后的語句。A)0B)1C)trueD)非〇20.若k為整型,以下若ile循環(huán)A次。intk=10;for(;;){if(k!=O){k=k-l;}elsebreak;}A)10次 B)無限循環(huán)0一次不執(zhí)行 D)執(zhí)行ー次練習(xí)ー、單選題1、以下C程序中,While循環(huán)的循環(huán)次數(shù)是(D)main(){inti=0;while(i<10){if(i<l)continue;if(i==5).break;i++);}A、1 B、10C、6 D、死循環(huán),不能確定次數(shù)。2、下面C程序的輸出結(jié)果是(B)?main(){i=0,a=0;while(i<20){for(;;){if(i%10==0)break;else;i—;}i+=ll;a+=i;}printfT%d\n”,a);}A、21 B、32C、33 D、13、以下C程序的輸出結(jié)果是(D)。main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d”,x—,y);}A、10 1 9 2B>9 8 7 6C、109 9 0 D、10 10 9 14、以下C程序循環(huán)體的執(zhí)行次數(shù)是(C)。main()

intij;for(i=0,j=l;i<=j+l;i+=2j-)printfC%d\nn,i);}A、3B、2C、1D、05、下列C程序執(zhí)行結(jié)果是(C)〇main()(inti,sum;for(i=l;i<=3;sum++)printf("%d\n\sum);}A、6 B、3C、死循環(huán)D、〇6、以下C程序的輸出結(jié)果是(D)。main(){inta,b;for(a=l,b=l;a<=l〇。;a++)(if(b>=10)break;if(b%3==l){b+=3;continue;})printf(',%d\n';a);}Aヽ101 B、6 C、5 D、4フ、以下C程序的輸出結(jié)果是(C)〇main()(intx=3;do{printf(,,%d,,,x-=2);}while(!(-x));D、D、死循環(huán)A、1 B、30C>1-28、以下C程序執(zhí)行后sum的值是(C)。main()(inti,sum;for(i=l;i<6;i++)sum+=i;printf("%d\nn,sum);Aヽ!5B、14C、不確定D、09、有如下C程序main())inta[3][3]={{1,2},{3,4},{5,6)},ij,s=O;for(i=l;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];print耳"%d ,s);}該程序的輸出結(jié)果是(A)A、!8 B、19 C、20 D、2110、下列C程序輸出結(jié)果(C)〇main(){ints,i;for(s=0,i=1;i<3;i++)s十二i;printf(M%d\n\s);}A、1B、4C、3D、死循環(huán)11、以下C程序段的結(jié)果是(C)。p=5;do{p=p*p;}while(!p);A、死循環(huán) B、循環(huán)執(zhí)行2次C、循環(huán)執(zhí)行1次D、循環(huán)執(zhí)行5次12、以下C程序段執(zhí)行后的輸出結(jié)果是(D)。intb;for(b=l;;b-H-)printf("%dw,b++);A、.2B、1C、4D、死循環(huán)13、在C語言中,對循環(huán)語句for(表達式1;表達式2;表達式3),以下敘述正確的是(C)。A、for語句三個表達式ー個都不能少 B、for語句中的循環(huán)體至少執(zhí)行ー次C、for語句中循環(huán)體可以是復(fù)合語句 D、for語句只能用于循環(huán)次數(shù)固定的時候14、在C語言中,下述for循環(huán)語句的正確結(jié)果是(B)〇MainO{inti,k;for(i=0,k=-l;k=l;i++,k++)printf(〃?**");}A、判斷循環(huán)結(jié)束的條件非法 B、無限循環(huán)C、只循環(huán)一次 D、一次也不循環(huán)

15、在C語言中,對于下列(1),(2)兩個循環(huán)語句的正確描述是(A)〇while(l);for(;;);A、(1)(2)都是無限循環(huán) B、(1)是無限循環(huán),(2)錯誤C、(1)循環(huán)一次,(2)錯誤 D、(1)(2)皆錯誤16、在C語言中,下例關(guān)于switch語句和break語句的結(jié)論中,只有(B)是正確的。A)break語句是switch語句的一部分B)在switch語句中可以根據(jù)需要使用或不使用break語句C)在switch語句中必須使用break語句D)以上三個結(jié)論有兩個是正確的17、在C語言中,設(shè)i和x都是int類型,則對于for循環(huán)語句for(i二〇,x二〇;i<9;i++),下列哪句語正確(B兀A、執(zhí)行8次 B、執(zhí)行9次C、是無限循環(huán) D、循環(huán)體ー次也不執(zhí)行18、執(zhí)行下面的C程序后的輸出結(jié)果為(C)。intx,y,zx=20,y=40,z=15;while(x<y)x+=4,y-=4;z/=2;printf(*%d,%d,%d”,x,y,z);A、40,36,30B、32,28,7C.32,28,7D、32,28,7.5下面(A)是正確的。19、在C在語言中,對于循環(huán)語句while下面(A)是正確的。A、A、死循環(huán)C、不進入循環(huán)體B、循環(huán)一次D、編譯有錯20、下述C程序的輸出結(jié)果是(D)ttinclude(stdio.h)main(){intY=100;while(Y--);printf("y=%d",Y);}A、Y=0 B、Y=1C、Yニ隨機值 D、Y=-l21、運行下歹リC程序時,輸入數(shù)據(jù):abcdabc<CR>,輸出結(jié)果為(B)。#include<stdio.h>main()

{intal=O,a2二〇,a3=0;charc;while((c=getchar())!=,\n)switch(C){case'a':al++;case'b':a2++;case'c:a3++;)printf("%d,%d,%d”,al,a2,a3);}A、2,2,7 B、2,4,6C、2,2,1 D、2,4,122、C語言中,下列說法正確的是(D)。A、不能使用dO…while語句構(gòu)成循環(huán)。B、d〇…while語句構(gòu)成的循環(huán)必須用break語句才能退出。C、d〇…while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達式值為非0結(jié)束循環(huán)。D、d〇…while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達式值為〇結(jié)束循環(huán)。23、在C語言中,以下for循環(huán)語句(B)。for(;;)printff?〃);B、是無限循環(huán)D、循環(huán)只執(zhí)行ー次B、是無限循環(huán)D、循環(huán)只執(zhí)行ー次C、循環(huán)一次也不執(zhí)行24、以下C程序段執(zhí)行后輸出結(jié)果(D)。main()(inti;for(i=l;;i++)printf("%d”,i++);)A、1 B、2C、3 D、死循環(huán)二、多選題1、在C語言中,以下敘述正確的是(DE)。A、do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成循環(huán)B、do-while語句構(gòu)成的循環(huán)只能用break語句退出C、用do?while語句構(gòu)成的循環(huán),在while后的表達式為非零時結(jié)束循環(huán)D、用do?while語句構(gòu)成的循環(huán),在while后的表達式為零時結(jié)束循環(huán)E、do?while構(gòu)成的循環(huán)至少執(zhí)行一次2、在C語言中,t為int類型的變量,進入下面的循環(huán)這前,t的值為0,while(t=l){……}則以下敘述中不正確的是(ACEA、循環(huán)控制表達式的值為〇B、循環(huán)控制表達式的值為1C、循環(huán)控制表達式不合法D、循環(huán)控制表達式為非。E、以上說法都不對3、有以下C程序段:intk=0;while(k-l)k++;下面說法正確的有(AE)。A、無限次B、有語法錯,不執(zhí)行C、一次也不執(zhí)行D、執(zhí)行一次E、控制表達式為真三、判斷題1、以下C程序的執(zhí)行結(jié)果是987。(N)main。Iintn=9;while(n>6){n-;printfT%ザ,n);2、有以C下程序段intk=0;while(k=l)k++;while循環(huán)執(zhí)行1次。(N)3、C語言中while和do-while循環(huán)的主要區(qū)別是do-while的循環(huán)至少無條件執(zhí)行ー次。(Y)4、在C程序中,語句while(!x)中的條件!x為真等價于x=0。(Y)5、在C語言中,以下for循環(huán)執(zhí)行4次。(N)for(a=O,b=0;(b!=123)&&(a<=4);a++);6、以下C程序運行結(jié)果是11。(N)main()(inti=0,a=0;while(i<20)for(;;){if(i%10==0)break;elsei一;}7、下列C程序的輸出結(jié)果是y=0(N)#include<stdio.h>voidmain(){inty=10;while(y—);printfpy=%dM,y);)8、下面C程序的輸出結(jié)果是:2,3,4(Y)。main(){intm=l;While(m<=3){m++;printf(,'%d,',m);}}9、在C程序中,設(shè)x和y均為整型變量,則執(zhí)行下面的循環(huán)后,y的值為6。(Y)for(y=l,x=l;y<=50;y++){if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;習(xí)題ー、填空題1若二維數(shù)組a有m歹リ,則計算任一元素在數(shù)組中位置的公式為.(假設(shè)a[0][0]位于數(shù)組的第一個位置上。)答案:I*m+j+l2若二維數(shù)組a有m歹リ,則在a[I][j]前的元素個數(shù)為.答案:I*m+j3若有說明:inta[][3]={1,2,3,4,5,6,7},則a數(shù)組第一維的大小是ー。答案:34定義如下變量和數(shù)組:intk;inta[3][3]={1,2,3,4,5,6,7,8,9};則下面語句的輸出結(jié)果是.答案:3575若有以下程序段:inta[]={4,0,2,3,1},I,j,t;for(I=l;I,5;I++){t=a[I[;j=I-l;則該程序段的功能是。答案:對數(shù)組a進行插入排序(降序)6下面程序的運行結(jié)果是。Main(){inta[6][6],I,j,for(1-1;I<6;1++)for(j=l;j<6;j++)a[I][j]=(I/j)*(j/D;for(1=1;I<6;j++)printf(u%2dn,a[I][j]);printf("\n");}答案:100000100000100 00010 000017下面程序的運行結(jié)果是。MainO{inta[6],I;for(1-1;I<6;i++){a[i]=9*(i-2+4*(I>3))%5;printf(w%2dw,a[I];))答案:-404438下面程序段的運行結(jié)果是ー。Charc[5]={匕’,'b',,、O','c'、〇’};Printf(“版”;)答案:ab9下面程序段的運行結(jié)果是。Chara[15]-"abcdef";Charb[4]="ABC”;Strcpy(a,b);Printf(H%C",a[5]);答案:f10下面程序段的運行結(jié)果是。CharcL]=w\6\v\\\\0will\n,';Printf("%d”,strlen(c));答案:311在C語言中,二維數(shù)組的定義方式為:類型說明符數(shù)組名[1][ 2 1答案:1、常量表達式或行下標(biāo) 2、常量表達式列下標(biāo)12在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是〇答案:按行主順序存放13改正下面這個源程序的三個錯誤:

#include<stdio.h>main()inti,j,list(10);for(i=0,i<10,i++)#include<stdio.h>main()inti,j,list(10);for(i=0,i<10,i++)(list[i|=2*i+3;for(j=9,j>=0,j-)printf(H%d\nn,list|j]);錯詠2: 錯誤3: )答案:inti,j,list(10);改為inti,j,list[10];for(i=0,i<10,i++)改為for(i=0;i<10;i++)for(j=9,j>=0,j—)改為for(j=9;j>=0;j—)14根據(jù)以下說明,寫出正確的說明語句。(l)men是ー個有!0個整型元素的數(shù)組。(2)step是ー個有4個實型元素的數(shù)組,元素值分別為1.9,-2.33,0,20.6〇(3)grid是ー個二維數(shù)組,共有4行』0列整型元素。答案:intmesh[10];floatstep[4]={1.9,-2.33,0,20.6};intgrid[4][10];15請回答下列問題。(l)array是ー個ー維整形數(shù)組,有10個元素,前6個元素的初值是9,4,7,49,32,-5,請寫出正確的說明語句。(2)該數(shù)組下標(biāo)的取值范圍是從一到ー(從小到大)。(3)如何用scanf函數(shù)輸入數(shù)組的第二個元素。(4)如何用賦值語句把39存入第一個元素。(5)如何表示把第六個和第四個元素之和存入第一個元素。答案:intarray[10]={9,4,7,49,32,-5};09scanf(,,%d,',&array[1]);array[0]=39;array10]=array[5]+array[3];16寫出以下初始化數(shù)組的長度。(l)intchn[3];TOC\o"1-5"\h\z數(shù)組chn的長度為 〇(2)floatisa[]={1A2.O,3.O,4.O,5.O};數(shù)組isa的長度為ー〇(3)intdoom[8];數(shù)組doom的長度為 〇(4)floatpci[4][2];數(shù)組pci的長度為 〇⑸intast[3][3];數(shù)組ast的長度為ー〇(6)intatt[3][4];數(shù)組att的長度為ー〇⑺floatde3][3]={{1,4,7},{2,5},{3,6,9}};數(shù)組del!的長度為ー〇答案:620163218243617這個程序輸入了20個數(shù)存放在一個數(shù)組中,并且輸出其中最大者與最小者、,20個數(shù)的和及它們的平均值。請?zhí)羁?。voidmain()(charanay ;intmax,min,average,sum;inti;for(i=0;i< ;i++)(printfC請輸入第%d個數(shù):",i+1);scanf(”%d",一);)max二array[〇];min=array[0];for(i=0;i<= ;i++){if(max<array[i])if(min>array[i])sum=average= ;printf("20個數(shù)中最大值是%d,",max);printf("最小值是%d,",min);printf("和是%d,”,sum);printf("平均值是%d.\n",average);)答案:[20]20&array[i]19max=array[i];min=array[i];sum+array[ijsum/2018若有以下整型的a數(shù)組,數(shù)組元素和它們得值如下所示:數(shù)組元素:a[0]a[l]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]元素的值:941282107513(1)請寫出對該數(shù)組的說明,并賦以上初值。(2)該數(shù)組的最小下標(biāo)值為一,最大下標(biāo)值為ー。(3)寫出下面各式的值:a[a[9]]的值為ーa[a[4]+a[8]]的值為ー答案:inta[10]={9,4,l2,8,2,10,7,5,1,3};098819讀懂下面的程序并填空。voidmain()(charstr[80];inti=0;gets(str);while(str[i]!=0)(if(str[i]>='a'&&str<='z')str[i]-=32;i++;)puts(str);)程序運行時如果輸入upcase,屏幕顯示ー程序運行時如果輸入AalBb2Cc3,屏幕顯示ー答案:UPCASEAA1BB2CC320下面程序段是輸出兩個字符串中對應(yīng)相等的字符,程序段中1處應(yīng)填上Charxロ=”programming”;CharyL」=”Fortran,,,Int1=0;While(x[I]!=>、〇'&&y[l]!=‘、〇')If(x[I]==y[ロPrintf("%c",1)Elsei++;答案:x[i++]選擇題1在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是ーA)整形常量 B)整形表達式〇整形常量或整形表達式 D)任何類型的表達式答案:C2以下對ー維整形數(shù)組a的正確說明是〇A)inta(10); B)intn=10,a[n];C)intn;scanf("%d",&n);inta[n];D)#defineSIXE10inta[SIZE];答案:D3若有說明:inta[10],則對a數(shù)組元素的正確引用是。A)a[10] B)a[3,5] C)a(5) D[10-10]答案:D4在C語言中,ー維數(shù)組的定義方式為:類型說明符數(shù)組名;A)[常量表達式] B)[整形表達式]C)[整形常量]或[整形表達式] D)[整形常量]答案:A5以下能對ー維數(shù)組a進行正確初始化的語句是。A)inta[10]=(0,0,0,0,0); B)inta[10]={}C)inta[]={0}, D)inta[10]={10*1}答案:C6以下對二維數(shù)組成a的正確說明是〇A)inta[3][] B)floata(3,4);C)doublea[l][4]; D)floata(3)(4);答案:C7若有說明:inta[3][4];則對a數(shù)組元素的正確引用是。A)a[2][4]B)a[l,3]C0a[l+l][0] D)a(2)(1)答案:C8若有說明:inta[3][4];則對a數(shù)元素的非引用是〇A)a[0][2*1] Ba[l][3]C)a[4-2][0] D)a[0][4]答案:D9以下能對二維數(shù)組a進行正確初始化的語句是。inta[2][]={{l,01,},{5,2,3}};inta[][3]={{1,2},{0});inta[2][4]={l,2,3},{4,5},{6}};inta[][3]={{l,01}{},{1,1}};答案:B10以下不能對二維數(shù)組a進行正確初始化的語句是.inta[2][3]={0};inta[][3]={{1,2},{0});inta[2][3]={{1,2},{3,4},{5,6}};inta[][3]r{1,2,3,4,5,6};答案:C11若有說明:inta[3][4]={〇};則下面正確的敘述.A)只有]元素a[〇][〇]可得到實值0B)此說明語句不正確〇數(shù)組a中各元素都可得到初值,但其值不一定為0D)數(shù)組a中每個元素均可得到初值0答案:D12若有說明:inta[][4]={0,0):則下面不正確的敘述是。A)數(shù)組a的每個元素都可得到初值。B)二維數(shù)組a的第一維大小為1〇因為二維數(shù)組a中第二維大小的值除以初值個數(shù)的商為1,故數(shù)組a的行數(shù)為1D)只有元素a[〇][〇]和a[〇][1]可得到初值〇,其余元素均得不到初值〇答案:D13若有說明:inta[3][4];則數(shù)組a中各元素一,A)可在程序的動物階段得到初值0B)可在程序的編譯階段得到初值。〇不可能得到確定的初值D)可在程序的編譯或動物階段得到初值。答案:B14以下各組選項中,均能正確定義二維實型數(shù)組a的選項是。floata[3][4]floata[][4]floata[3][]={{1},{0});floata(3,40;floata[3][4];floata[][]={{0};{0}};floata[3][4];staticfloataロ4]={{〇},{〇};autofloata[][4]={{〇},{〇},{〇}};floata[3][4]floata[3][]floata[][4]答案:C15下面程序(每行程序前面的數(shù)字表示行號)。main(){inta[3]={3*0};intI;5for(l=0;l<3;i++)scanf(“%d”,&a[l]);6for(1=1;i<3;i++)a[0]=a[0]+a[I];7printf("%d\n",a[〇]);8)A)第3行有錯誤B)第7行有錯誤0第5行有錯誤D)沒有錯誤答案:A16下面程序ー(每行程序前面的數(shù)字表示行號)。1main()2{3floata[10]={0.0};intI;for(1=0;I<3;i++)scanf(<<%dw,&a[I]);6for(1=1;i<10;i++)a[0]=a[0]+a[I];7printf("%f\n",a[0]);8)A)沒有錯誤B)第3行有錯誤〇第5行有錯誤D)第7行有錯誤答案:C17下面的程序中哪一行有錯誤?(單選)#include<stdio.h>main()(floatarray[5]={0.0);〃第A行inti;for(i=0;i<5;i++)scanf("%f',&array[i]);for(i=l;i<5;i++)array[O]=array[O]+array[i];〃第B行printf("%f\n",array[〇]);//第C行)A.第A行B.第B行B.第C行D.沒有答案:D18若有以下說明和語句,則輸出結(jié)果是哪ー項?(單選)(strlen(s)為求字符串s的長度的函數(shù))chars[12]="abook!";printf("%d",strlen(s));A.12B.8C.7D.11答案:C19若有以下說明和語句,則輸出結(jié)果是ー.(單選)(strlen(s)為求字符串s的長度的函數(shù))charsp[ド"\t\v\\\Owill\n”;printf(,,%d,\strlen(sp));A.14B.3C.9D.字符串中有非法字符答案:B20若有以下說明和語句,則輸出結(jié)果是ー.(單選)charstr[]=M\Hc:\\abc.dat\Hn;printf(n%sn,str);A,字符串中有非法字符B.Vc:\\abc.dat\MC."c:\abc.daビD."c:\\abc.dat”答案:C判斷題TOC\o"1-5"\h\z1對說明語句Int a[10]={6,7,8, 9, 10}的理解是將5個初值依次賦給a[0]至a[4] ( V )2對說明語句Int a[10]={6,7,8, 9, 10)的理解是將5個初值依次賦給a[l]至a[5] ( X )3對說明語句Int a[10]={6,7,8, 9, 10)的理解是將5個初值依次賦給a[6]至a[10] ( X )4定義語句是doublex[5]={2.0,4.0,6.0,8.0,10.0};不正確的 (X)5定義語句是inty[5]={0,1,3,5,7,9};正確的 (V)6定義語句是charclロ={‘1','2‘,‘3‘,‘4‘,’5'};正確的 (X)7對C語言字符數(shù)組可以存放字符串的描述是錯誤的 (X)8對C語言字符數(shù)組的字符串可以整體輸入、輸出的描述是錯誤的 (X)9對C語言字符數(shù)組可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值的描述是錯誤的(V)10對C語言字符數(shù)組不可以用關(guān)系運算符對字符數(shù)組中的字符串進行比較的描述是錯誤的(X)11兩個字符串所包含的字符個數(shù)相同時,才能比較字符串 (X)12字符個數(shù)多的字符串比字符個數(shù)少的字符串大 (X)13字符串"STOPJ”與“STOP”相等(」表示空格) (X)14字符串“That”小于字符串“The” (V)15判斷字符串si是否大于字符串s2,應(yīng)當(dāng)使用if(strcmp(sl,s2)) (X)16判斷字符串si是否大于字符串s2,應(yīng)當(dāng)使用if(strcmp(sl,s2)>0) (V)17有兩個字符數(shù)組a、b,scanf("%s%s”,a,b);是正確的輸入語句 (V)18有兩個字符數(shù)組a、b,scanf(“%s%s”,&a,&b);是正確的輸入語句 (X)19有字符數(shù)組a[80]和b[80],printf("如,%s”,aロ,bロ);是正確的輸出語句 (X)20有字符數(shù)組a[80]和b[80],puts(a),puts(b);是正確的輸出語句 (V)操作題1輸入一行字符,統(tǒng)計基中有多少個單詞,單詞之間用空格分隔開。.程序分析:程序中變量I作為循環(huán)變量,num用來統(tǒng)計單詞個數(shù),word作為判別是否單詞的標(biāo)志,若word=0表示未出現(xiàn)單詞,如出現(xiàn)單詞word就置成1〇.程序源代碼:#include<stdio.h>main(){charstring[81];intl,num=0,word=0;charc;gets(string);for(I=0;(c=string"])!=‘、〇';I++if(c==")word=o;elseif(word==0;(word=1;num++;1printfC'Thereare%dwordsintheline.\n,num);}2題目:將一個數(shù)組逆序輸出。.程序分析:用第一個與最后一個交換。.程序源代碼:#include<stdio.h>#defineN5main(){inta[N]={9,6,5,4,1},i,temp;printf('\noriginalarray:\n*);for(i=0;iくN;i++)printfC%4d*,a[i]);for(i=0;iCN/2;i++){temp二a[i];a[i]=a[N-i-l];a[N-i-l]=temp;)printf('\nsortedarray:\n*);for(i=0;i<N;i++)printf("%4d”,a[i]);3題目:打印出楊輝三角形(要求打印出10行如下圖)L程序分析:1TOC\o"1-5"\h\z1 11 2 113 3 11 4 6 4 11 5 10 10 5 12.程序源代碼:#include<stdio.h>main(){inti,j;inta[10][10];printf('\n");for(i=0;i<10;i++){a[i][0]=l;a[i][i]=l;}for(i=2;i<10;i++)for(j=l;j<i;j++)a[i][j]=a[i-l][j-l]+a[i-l][j];for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf('\n");)4題目:求一個3*3矩陣對角線元素之和.程序分析:利用雙重for循環(huán)控制輸入二維數(shù)組,再將a[i][i]累加后輸出。.程序源代碼:include<stdio.h>main(){floata[3][3],sum=0;inti,j;printf("pleaseinputrectangleelement:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxianheis%6.2f",sum);)5題目:給出年、月、日,問是當(dāng)年的第幾天。include<stdio.h>main(){inty,m,d,n,i;intdpm[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};scanf("%d,%d,%d",&y,&m,&d);if(y%4==0&&y%100!=0::y%400==0) dpm[2]=29;if(m<lI|m>12||d<l|d>dpm[m])printf("Inputerror!\n"):else{n=d;for(i=0;i<m;i++)n=n+dpm[i];printf("n=%d\n”,n);}習(xí)題ー、選擇題.C語言是由函數(shù)組成的。它的.A.主函數(shù)可以在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)。B.主函數(shù)可以在其它函數(shù)之后,函數(shù)內(nèi)不可以嵌套定義函數(shù)。C,主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)。D.主函數(shù)必須在其它函數(shù)之后,函數(shù)內(nèi)可以嵌套定義函數(shù)。.返回值為void的函數(shù),其含義為。A.調(diào)用函數(shù)之后,被調(diào)用的函數(shù)沒有返回值。B.調(diào)用函數(shù)之后,被調(diào)用的函數(shù)不返回。C.調(diào)用函數(shù)之后,被調(diào)用的函數(shù)的返回值為任意的類型。D.該類函數(shù)不允許被調(diào)用。.以下那種說法是正確的。A,所有的遞歸程序均可采用非遞歸的算法實現(xiàn)。B.只有部分的遞歸程序可采用非遞歸的算法實現(xiàn)。C.所有的遞歸程序均不可以采用非遞歸的算法實現(xiàn)。D.以上三種都不對。.一個完整的可運行的C源程序是。A.至少需要一個主函數(shù)和一個以上的輔函數(shù)構(gòu)成B.有一個且僅由一個主函數(shù)和零個以上(含零個)的輔函數(shù)構(gòu)成C.至少由一個主函數(shù)和一個以上的輔函數(shù)構(gòu)成D.至少由一個且只有一個主函數(shù)或多個輔函數(shù)構(gòu)成.C語言開始執(zhí)行程序的開始執(zhí)行點是。A.程序中第一條可執(zhí)行的語句B.程序中第一個函數(shù)C.程序中的main()函數(shù)D.程序中調(diào)用最多的函數(shù).C語言程序中,當(dāng)調(diào)用函數(shù)時。A.實參和形參各占ー個獨立的存儲單元B.實參和形參可以共用ー個存儲單元C.可由用戶指定是否共用存儲單元D,由操作系統(tǒng)決定是否共用存儲單元.以下說法錯誤的是:A,我們使用的PC中,寄存器變量實際上是以自動變量方式存在的。B.只能把形參的值傳送給實參,而不能把實參的值反向地傳送給形參。C.外部變量和全局變量是對同一類變量不同角度的說法。D.void函數(shù)中不能有返回值。.下面程序的輸出是。include“sldio.h"intmax(intx,inty)(return(x>y?x:y);)main()(externa,b;printf("%d”,max(a,b));}inta=13,b=-8;A.13,-8 B.5 C.13 D.-89,下面程序的輸出是。#include"stdio.h"main()(intp,k=4,m=l;p=func(k,m);printf(n%d,n,p);p=func(k,m);printf(,,%d\n,',p);}func(inta,intb)(staticintm,i=2;i+=m+1;m=i+a+b;return(m);)A.8,17 B,8,16 C,8,20 D.8,810.下面程序段輸出的是。#include"stdio.h"main()(inta=2,i;for(i=0;i<3;i++)printf(n%d';f(a));}f(inta)intb=0;staticc=3;b++;C++;return(a+b+c);)A.776 B.777 C.788 D.78911、下列函數(shù)定義中,會出現(xiàn)編譯錯誤的是(B)max(intx,inty)intmax(intx,y){z=x>y?x:y;}{intz;z=x>y?x:y;returnz;}max(intx,inty)intmax(intx,inty){intz;{return(x>y?x:y);}z=x>y?x:y;return(z);}1、有以下程序^include<stdio.h>#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf(飛d\n”,F(a++,b++));}程序運行后的輸出結(jié)果是(A)A)12B)15C)16D)20(3)有以下程序fun(inta,intb){if(a>b)return(a);elsereturn(b);main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(*%d\n*,r);}TOC\o"1-5"\h\z程序運行后的輸出結(jié)果是 (D)A)3B)6C)8D)12二、判斷題1、一個源程序文件只能由一個函數(shù)組成。( )2、puts。屬于用戶自定義函數(shù)。( )3、voidprKey()不允許有返回值。( )4、局部變量也稱為內(nèi)部變量。( )5、主函數(shù)中定義的變量也能在其它函數(shù)中使用。()6、可以在主函數(shù)中聲明其它函數(shù)。( )7、內(nèi)部函數(shù)不能被除主函數(shù)之外的函數(shù)調(diào)用。( )8、自動變量可以省略說明符auto。( )9、全局變量作用域是整個源程序( )10、ー個函數(shù)只能有一個返回值,只允許出現(xiàn)ー個return。( )三、操作題項目2一一任務(wù)5:設(shè)計ー個“超市收款機仿真收銀”的程序,要求分模塊(用自定義函數(shù))實現(xiàn)下面幾個功能:(1)收款模塊;(2)打印購物清單模塊;(3)退出系統(tǒng)運行模塊參考答案:ー、IB2A3A4B5C6C7B8C9A10DIIB 12A二、判斷題IX2X3、/4V 5X6V 7X8V9X10X習(xí)題答案:B在C語言中,若有定義:inta[3][4];能表示數(shù)組元素a[l][1]的是( )。A、(a[l]+l) B、*(&a[l][l])C、(*(a+l)[1]) D、*(a+5)2答案:A在C語言中,有定義語句う齡或][3]={12345,6};”,則就1][0]的值是()〇A、4B、1C、2D、53 答案:A在C程序中,執(zhí)行charstr[10]="china\o";strien(str);結(jié)果是( )。A、5B、6C、7D、94答案:C在C語言程序中,若有以下說明,并且〇くiGO,則()是對數(shù)組元素的錯誤引用。inta[]={l,2,3,4,5,6,7,8,A、*(a+i)C、p+i5答案:D執(zhí)行下面C程序段,輸出結(jié)果是(char*p="student;p++;printf("%d",p);A、sC、t6答案:A如下C程序段:staticintm[3][4]={1,2,3,4,int*p=&m[O][0];printf("%d",*(p+l));則下列說法中正確的是( )。A、輸出結(jié)果為:2C、輸出結(jié)果為:0,67答案:A下面C程序段的輸出為( )。staticintm[9]={l,2,3,4,5,int*p[3],k;for(k=0;k<3;k++)p[k]=m+k*3;printf("%d\n",p[l][2]);A、6C、38答案:C下面C程序段的輸出是( )〇staticchara[]={"Abcdef*};9,10),*p二a,i;B、a[p-a+i]D、*(&a[i])B>studentD、p的地址5,6,7,8};B、輸出結(jié)果為:6D、將輸出數(shù)據(jù)元素的地址而不是數(shù)據(jù)元素的值。6,7,8,9);B、4D、格式不正確char*p;p=a;*(p+2)+=3;printf(*%c?%c\rT,*p,*(p+2));A、d,f B>c,eC、A,f D>f,e9答案:B下列c程序段的輸出是( )?inta>b>*pl,*p2;a=b=3;pl=&a;p2=&b;if(pl==p2)printf(w%d,%d”,a+b,*pl=*p2*2);elseprintf("%d,%d”,a+b,*pl=*p2+2);A、!8,6 B、8,5C、9,6 D>6,510答案:D在C語言中,對于定義float*p[4]!則下面的敘述中正確的是( )。A、此定義不正確,要改為char*p[4]!定義オ是正確的。B、此定義正確,p是指向ー維實型數(shù)組的指針變量,而不是指向單個實型變量的指針變量。C、此定義不正確,C語言中不允許類似的定義。D、此定義正確,定義了一個指針數(shù)組。答案:D在C語言中,如下定義語句,則下列符號中均正確地代表x的地址的選項是( )。intx,*p;p=&x;A,&x,p,&*x B、?&x,pC、?p,&p,x D、&x,&*p,p答案:B在C語言中,若有定義:inta[3][4]:能表示數(shù)組元素a[l][1]的是( ).A、(a[l]+l) B、*(&a[l][l])C、(*(a+l)[1]) D、*(a+5)13答案:B在C語言中,char(*a)[5],則標(biāo)識符a的意義是( )。A、a是ー個指向有5個字符型元素的指針變量。B、a是ー個有5個元素的一維數(shù)組,每個元素指向字符型的指針變量。C、a是一個指向字符型的函數(shù)的指針變量。

D、a是ー個有5個元素的ー維數(shù)組,每個元素指向整型變量的指針變量。14答案:。以下C程序假如第一個printf的輸出值是1000,則第二個printf的輸出值是( )〇#include<stdio.h>main(){inta[10]={l,2,3,4,5,6,7,8,9)p=a;printf('%d",p);printf("%d”,p+5);}A、5 B、1000C、!005 D、1010答案:C下列的C程序執(zhí)行后,y的值是( )。main(){inta[]={2,4,6,8,10};inty=l,x,*p;p=&a[l];for(x=0;x<3;x++)y+=*(p+x);printf(*%d\n*,y);}TOC\o"1-5"\h\zA、!7 B、18C、!9 D、20答案:B對下列C程序判斷正確的是( )〇int*max(){inta[10];inti;for(i=0;i<10;i++)scanf("%d,”,i+a);for(i=9;i>0;i—)a=a[i]-*a;returna;)B、第8行有錯誤D,B、第8行有錯誤D,沒有錯誤C、第9行有錯誤答案:C在C語言中,若有說明:char*pl,*p2,*p3,*p4,ch:則不能正確賦值的是( )〇A、pl=&ch;

scanf("%c",pl);p2=(char*)malloc(l);C>D、scanf("%c",p2);C>D、*p4=getchar();18答案:A以下C18答案:A以下C程序段敘述正確的是(chara口=“Chinese;char*p;p=a;A、?p和a[〇]相等。)〇C,a和p中的內(nèi)容相等。B、a和院全相同。D、a數(shù)組的長度和p所指向的字符串長度相等。19答案:C在C語言中,有下列語句和賦值語句:(1)charstr[]="iamaboy."(2)charstr[11]="iamaboy.(3)char*p="iamaboy."(4)char*p;p="iamaboy.”下列說法正確的是(A、只有下列說法正確的是(A、只有(1)、(2)正確)qC、只有(1)、(3)、(4)正確B、只有(3)、(4)正確D、只有⑶正確20答案:A在C語言中,在說明語句floatf[3][4],*pl,*p2[3],k中,若k〉二0且kく3,則下列賦值語句中錯誤的是()〇A、p2=f B、pl=f[k]C、p2[k]=f[k] D、pl=&f[0][0]答案:A在C語言中,若有如下說明和語句,則()是對數(shù)組元素的正確表示。inta[8],*point;;p=a;A、?(a+l) B、a++C、&point Dva+1答案:C在C語言中,下面各語句行中,能正確給字符串賦值的語句是( )。A、chars[4]={'A',B,C','D',任

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論