C語(yǔ)言習(xí)題與答案_第1頁(yè)
C語(yǔ)言習(xí)題與答案_第2頁(yè)
C語(yǔ)言習(xí)題與答案_第3頁(yè)
C語(yǔ)言習(xí)題與答案_第4頁(yè)
已閱讀5頁(yè),還剩108頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章C語(yǔ)言概述ー、選擇題:1、ー個(gè)C程序的執(zhí)行是從(A)〇A本程序的main函數(shù)開(kāi)始,到main函數(shù)結(jié)束B本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C本程序的main函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束2、在C語(yǔ)言中,每個(gè)語(yǔ)句必須以(D)結(jié)束。A.回車符B.冒號(hào) C.逗號(hào)D.分號(hào)C語(yǔ)言規(guī)定:在ー個(gè)源程序中,main函數(shù)的位置(C)〇A,必須在最開(kāi)始 B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C.可以任意 D.必須在最后ー個(gè)C語(yǔ)言程序是由(B)〇A,ー個(gè)主程序和若干子程序組成 B.函數(shù)組成C,若干過(guò)程組成 D.若干子程序組成5、下列說(shuō)法中錯(cuò)誤的是(D)〇A.主函數(shù)可以分為兩個(gè)部分:主函數(shù)說(shuō)明部分和主函數(shù)體B.主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù)C.任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)D.程序可以從任何非主函數(shù)開(kāi)始執(zhí)行6、用C語(yǔ)言編寫的源文件經(jīng)過(guò)編譯,若沒(méi)有產(chǎn)生編譯錯(cuò)誤,則系統(tǒng)將(B)。A,生成可執(zhí)行目標(biāo)文件 B,生成目標(biāo)文件C,輸出運(yùn)行結(jié)果 D.自動(dòng)保存源文件二、填空題:1、C語(yǔ)言只有32個(gè)關(guān)鍵字和9種控制語(yǔ)句。2、每個(gè)源程序有且只有一個(gè)main函數(shù),系統(tǒng)總是從該函數(shù)開(kāi)始執(zhí)行C語(yǔ)言程序。3、C語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以、? 符號(hào)作為開(kāi)始標(biāo)記,以?/ 符號(hào)作為結(jié)束標(biāo)記。4、C語(yǔ)言中,輸入操作是由庫(kù)函數(shù)scanf完成的,輸出操作是由庫(kù)函數(shù)printf 完成的。5、系統(tǒng)默認(rèn)的C語(yǔ)言源程序文件的擴(kuò)展名是,經(jīng)過(guò)編譯后生成的目標(biāo)文件的擴(kuò)展名是.obi,經(jīng)過(guò)連接后生成的可執(zhí)行文件的擴(kuò)展名是.exe。6、C語(yǔ)言的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線 三種字符組成。第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式ー、選擇題:1、以下選項(xiàng)中,不正確的C語(yǔ)言浮點(diǎn)型常量是(C)〇A.160.B.0.12C.2e4.2D.0.02、以下選項(xiàng)中,(D)是不正確的C語(yǔ)言字符型常量。A.'a' B.''x41'C.''101'D."a"3、在C語(yǔ)言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的(C)形式存儲(chǔ)。A.原碼B.反碼C.ASCII碼D.BCD碼4、若x、i、j和k都是int型變量,則計(jì)算下面表達(dá)式后,x的值是(C)〇x=(i=4,j=16,k=32)A.4 B.16C.32D.525、算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為(B)〇A,算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算B.算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算C,關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算D.關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算6、若有代數(shù)式四,則不正確的C語(yǔ)言表達(dá)式是(C)〇beA.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*37、表達(dá)式!x||a==b等效于(D)。A.!((xIIa)==b)B.!(x||y)==bC.!(x||(a==b))D.(!x)||(a==b)8、設(shè)整型變量m,n,a,b,c,d均為1,執(zhí)行(m=a>b)&&(n=c〉d)后,m,n的值是(A)oA.0,0B.0,1C.1,0D.1,19、設(shè)有語(yǔ)句inta=3;,則執(zhí)行了語(yǔ)句a+=a-=a*=a;后,變量a的值是(B)〇A.3B.0C.9D.-1210、在以下ー組運(yùn)算符中,優(yōu)先級(jí)最低的運(yùn)算符是(D)〇A.*B.!=C.+D.=11、設(shè)整型變量i值為2,表達(dá)式(++i)+(++i)+(++i)的結(jié)果是(B)〇A.6B.12C.15D.表達(dá)式出錯(cuò)12、若已定義x和y為double類型,則表達(dá)式x=l,y=x+3/2的值是(C)〇A.1B.2C.2.0D.2.513、sizeof(double)的結(jié)果值是(A)〇A.8 B.4 C. 2 D,出錯(cuò)14、設(shè)a=l,b=2,c=3,d=4,則表達(dá)式:a<b?a:c<d?a:d的結(jié)果為(D)〇A.4 B.3 C. 2 D. 115、設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10くaく15的C語(yǔ)言表達(dá)式是(A)〇A.10<a<15 B.a==11||a==12||a==13||a==14C.a>10&&a<15 D.!(a<=10)&&!(a>=15)16、設(shè)f是實(shí)型變量,下列表達(dá)式中不是逗號(hào)表達(dá)式的是(D)〇A.f=3.2,1.0B.f>0,f<10C.f=2.0,f>0D.f=(3.2,1.0)17、表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是(C)〇A.intB.floatC.doubleD.不確定18、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句C2='A'+'6'-'3';后c2中的值是(A)〇A.DB.68C.不確定的值D.C19、以下用戶標(biāo)識(shí)符中,合法的是(B)〇A.int B.nit C.123D.a+b20、C語(yǔ)言中,要求運(yùn)算對(duì)象只能為整數(shù)的運(yùn)算符是(A)〇A.%B./ C.> D.*21、若有說(shuō)明語(yǔ)句:charc='\72';則變量c在內(nèi)存占用的字節(jié)數(shù)是(A)〇A.1B.2C.3D.422、字符串〃ABC”在內(nèi)存占用的字節(jié)數(shù)是(B)〇A.3B.4C.6D.823、要為字符型變量a賦初值,下列語(yǔ)句中哪ー個(gè)是正確的(B)〇A.chara="3";B.chara='3';C.chara=%;D.chara=*;24、下列不正確的轉(zhuǎn)義字符是(C)。A.\\B.ヽ’C.074D.\0二、填空題:1、C語(yǔ)言中的邏輯值“真”是用1表示的,邏輯值“假”是用〇表示的。2、若x和n都是int型變量,且x的初值為12,n的初值為5,則計(jì)算表達(dá)式x%=(n%=2)后x的值為〇。3、設(shè)c-w',a=l,b=2,d=-5,則表達(dá)式,x'+l>c,'y'!=c+2,-a-5*b<=d+l,b==a=2的值分TOC\o"1-5"\h\z別為1 、〇、 1 > 1〇4、設(shè)floatx=2.5,y=4.7;inta=7;,表達(dá)式x+a%3*(int)(x+y)%2/4的值為2.505、判斷變量a、b的值均不為〇的邏輯表達(dá)式為a!=0&&b!=0 。6、求解賦值表達(dá)式a=(b=10)%(c=6),表達(dá)式值、a、b、c的值依次為 4,4,10,607、求解逗號(hào)表達(dá)式x=a=3,6*a后,表達(dá)式值、x、a的值依次為18,3,3 。8、數(shù)學(xué)式a/(b*c)的C語(yǔ)言表達(dá)式a/b/c.三、編程題:1、設(shè)長(zhǎng)方形的高為L(zhǎng)5,寬為2.3,編程求該長(zhǎng)方形的周長(zhǎng)和面積。2、編寫ー個(gè)程序,將大寫字母A轉(zhuǎn)換為小寫字母aomain(){floatx=l.5,y=2.3;printf(“areais%6.2f\n”,x*y);}main(){charc='A';printf(“%d”,c+32);}順序結(jié)構(gòu)答案ー、單項(xiàng)選擇題AADABCCBBD二、程序改錯(cuò)題1.正確的程序?yàn)?include"stdio.h"main(){charc;c=getchar();putcharC\007*);/?鳴笛?/putchar(c);)2.正確的程序?yàn)閙ain(){inta,b,s,1;scanf("%d,%d",&a,&b);s=a*b;1=2*(a+b);printf(*l=%d,s=%d\n”,1,s);)三、寫出程序運(yùn)行結(jié)果1.682.x=4y=l1四、編程題1.main(){inta,b,c,sum;floatave;scanf(u%d%d%d,,,&a,&b,&c);sum=a+b+c;ave=sum/3.0;printf(asum=%d,ave二%.2f\n",sum,ave);)五、選做題voidmain(){floata,b,temp;printf(,zinputaandb:");scanf("%d,%d”,&a,&b);temp=a;a=b;b=temp;printf("a二%d,b二%d\n”,a,b);)選擇結(jié)構(gòu)答案ー、單項(xiàng)選擇題LB 2.A3.D 4.C5.D6.B7.C二、填空題TOC\o"1-5"\h\z1. 5 5 45 5 43 3 44 0VeryGoodGoodVeryGoodFailPassPass三、閱讀程序,寫出運(yùn)行結(jié)果1. 10,4,3;TOC\o"1-5"\h\z-1361四、程序設(shè)計(jì)題main(){inta,b,x,y;scanf(**%d%d",&a,&b);x=a*a+b*b;if(x>100){y=x/100;printf("%d”,y);}elseprintf(<<%d",a+b);)if結(jié)構(gòu)main(){floatt;charc;printf(44inputscore,maxas100:\nM);scanfC4%f\&t);if(t>=90)ch二'A';elseif(t>=80)ch二'B';elseif(t>=70)ch='C;elseif(t>=60)ch二'D';elsech='E';printf("Grade二%d\n",ch);}switch結(jié)構(gòu)main(){floatt;charc;printfC'inputscore,maxas100:\n");scanf("%ド,&t);switch(t/10){case10:case9:ch二'A';break;case8:ch二'B';break;case7:ch二'C';break;case6:ch二'D';break;case5:ch二'E';}printf("Grade二%d\n”,ch);)五、選做題main(){inta,b,c,t;scanf(a%d%d%dn,&a,&b,&c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;}printf(w%d,%d,%d\nw,a,b,c);}switch((s>0)&&(s<=10)){case1:switch((s>=3)&&(s<=6)){case1:x=2;break;case0:switch((s>l)||(s>8)){case1:x=3;break;

case0:x=l;break;)}break;case0:x=0;break;循環(huán)結(jié)構(gòu)答案ー、選擇題1.B2.A3.B4.C5.A6.B7.A8.C9.C10.D二、填空題xlx1/2-2x2ch=getchar()ch>=’A'&&ch<='Z's=s+t*it=-t三、閱讀下列程序,寫出程序運(yùn)行的輸出結(jié)果85289215SUM=2468四、程序改錯(cuò)main(){inti=200,n二0;/*n用來(lái)記錄每行已打印數(shù)的個(gè)數(shù)?/while(i<=300)(if(i%7==0){//break;printf(“舫d”,i); n=n+1;if(n=5) /?滿5個(gè)換行?/{printf("\n");n=0;}i++;}).main(){inti,s=0,t=l;for(i=l;i<=7;i++){t=t*i;s=s+t; }printf("sum/d\n”,s);}五、程序設(shè)計(jì)題main(){intx,g,s,b;for(x=100;x<1000;x++){b=x/100;s=x%100/10;g=x%10;if((g*g*g+s*s*s+b*b*b)=x)printf(“%d\n”,x);}}main(){inti,s=0,f=l;for(i=2;i<80;i++){s=s+f*(i-l)/i;f=-f;}printf(s=%f\n”,s);)六、選做題main(){floats=0,m=2.0,n=l.0,p;inti;for(i=l;i<=20;i++){s=s+m/n;p=m;m=m+n;n=p;}printf(s=%f\n>>,s);}ttinclude<stdio.h>main(){inti,j,k,s=l;for(i=l;i<=20;i++)for(j=l;j<=50;j++){k=100-i*5-j*2;if(k>=0){printf("%2d%2d%2d”,i,j,k);s=s+l;if(s%5==0)printf(“\n”);

第7章數(shù)組習(xí)題A卷1.單項(xiàng)選擇題(1)inta[4]={5,3,8,9}淇中a[3]的值為()〇DA.5 B.3 C.8 D.9(2)以下4個(gè)字符串函數(shù)中,()所在的頭文件與其他3個(gè)不同。AgetsB.strcpyC.strlenD.strcmp(3)以下4個(gè)數(shù)組定義中,()是錯(cuò)誤的。DD.intn,d[n];A.inta[7];B.D.intn,d[n];(4)對(duì)字符數(shù)組進(jìn)行初始化,()形式是錯(cuò)誤。BA.charcl[]={T,2,3};B.charc2[]=123;Acharc3[]={T,2,3,、〇'}; D.charc4[]=n123n;(5)在數(shù)組中,數(shù)組名表示()〇AA,數(shù)組第1個(gè)元素的首地址 B.數(shù)組第2個(gè)元素的首地址C,數(shù)組所有元素的首地址 D.數(shù)組最后1個(gè)元素的首地址(6)若有以下數(shù)組說(shuō)明,則數(shù)值最小的和最大的元素下標(biāo)分別是()。Binta[12]={1,2,3,4,5,6,7,8,9,10,11,12);A.1,12 B.0,11C.1,11 D.0,12(7)若有以下說(shuō)明,則數(shù)值為4的表達(dá)式是()。Dinta[12]={1,2,3,4,5,6,7,8,9,10,11,12}; charc='a',d,g;A.a[g-c]B.a[4]C.a「d'?'c']D.a[*d'-c](8)設(shè)有定義:chars[12]="string";則printf("%d\n”,strlen(s));的輸出是( )〇AA.6 B,7C.11D.12(9)設(shè)有定義:chars[12]="string";則printf("%d\n",sizeof(s));的輸出是( )〇DA.6 B,7C.11D.12(10)合法的數(shù)組定義是()〇AA.chara[]="string";(11)合法的數(shù)組定義是(D.A.chara[]="string";(11)合法的數(shù)組定義是(D.chara[]={0,l,2,3,4,5)A.inta[3][]={0,1,2,3,4,5};B.inta[][3]={0,1,2,3,A.inta[3][]={0,1,2,3,4,5};B.inta[][3]={0,1,2,3,4);C.inta[2][3]={0,l,2,3,4,5,6};D.inta[2][3]={0,l,2,3,4,5,};(12)下列語(yǔ)句中,正確的是( )。DA.chara[3][]={'abc','r);B.chara[][3]={'abc','l');chara[3][]={'a',Hl"};D.chara[][3]={"a",Hl");(13)下列定義的字符數(shù)組中,輸出printf("%s\n”,str[2]);的輸出是()〇Cstaticstr[3][20]={"basic","foxpro","windows");A.basicB.foxproC.windowsD.輸出語(yǔ)句出錯(cuò)(14)下列各語(yǔ)句定義了數(shù)組,其中哪一個(gè)是不正確的()。CA.chara[3][10]={"China","American","Asia"}; B.intx⑵[2]={1,2,3,4};C.floatx[2][]={1,2,4,6,8,10}; D.intm[][3]={1,2,3,4,5,6};(15)數(shù)組定義為inta[3][2]={l,2,3,4,5,6},值為6的數(shù)組元素是()。BD.a[2][3]A.a[3][2] B.a[2][l]C.a[l]D.a[2][3](16)下面的程序中哪一行有錯(cuò)誤()〇D#include<stdio.h>main()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[O]);〃第C行}A.第A行B.第B行C.第C行D,沒(méi)有(17)下面哪ー項(xiàng)是不正確的字符串賦值或賦初值的方式()〇Cchar*str;str=HstringM;charstr[7]={父此T,T,h;g};charstrl[10];strl=,,stringH;D.charstr1[]=,'stringM,str2[]="12345678";(18)若有以下說(shuō)明和語(yǔ)句,則輸出結(jié)果是哪ー項(xiàng)()〇C(strlen(s)為求字符串s的長(zhǎng)度的函數(shù))chars[12]=Habook!**;printf(,'%d'',strlen(s));A.12B.8C.7D.II(19)若有以下說(shuō)明和語(yǔ)句,則輸出結(jié)果是()。B(slrlen(s)為求字符串s的長(zhǎng)度的函數(shù))charsp[]=',\t\v\\\OwilI\n";printf(,'%d,,,strlen(sp));A.14 B.3 C.9D.字符串中有非法字符(20)若有以下說(shuō)明和語(yǔ)句,則輸出結(jié)果是()。Ccharstr[]="\"c:\\abc.dat\"";printf("%s",str);A,字符串中有非法字符 B.\"c:\\abc.dat\"C."c:\abc.dat"D."c:\\abc.dat"2.填空題C語(yǔ)言中,數(shù)組的各元素必須具有相同的,元素的下標(biāo)下限為,下標(biāo)必須是正整數(shù)、0、或者.但在程序執(zhí)行過(guò)程中,不檢查元素下標(biāo)是否?數(shù)據(jù)類型,。,符號(hào)常量,越界C語(yǔ)言中,數(shù)組在內(nèi)存中占一片的存儲(chǔ)區(qū),由 代表它的首地址。數(shù)組名是ー個(gè)常量,不能對(duì)它進(jìn)行賦值運(yùn)算。連續(xù),數(shù)組名,地址(3)執(zhí)行staticintb[5],a[][3]={1,2,3,4,5,6};后,b(4]=,a[l][2]=?0,6(4)設(shè)有定義語(yǔ)句staticinta[3][4]={{1},{2},{3}}:則aロ][〇]值為,a[l][l]值為,a[2][l]的值為。2,0,0(5)如定義語(yǔ)句為chara[]="windows",b[]="95";1語(yǔ)句printf("%s",strcat(a,b));的輸出結(jié)果為?Windows95(6)根據(jù)以下說(shuō)明,寫出正確的說(shuō)明語(yǔ)句:men是ー個(gè)有10個(gè)整型元素的數(shù)組。step是ー個(gè)有4個(gè)實(shí)型元素的數(shù)組,元素值分別為1.9,-2.33,0,20.6。grid是ー個(gè)二維數(shù)組,共有4行,10列整型元素。intmen[10];floatstep[4]={1.9,-2.33,0,20.6};intgrid(4][10];(7)array是ー個(gè)ー維整形數(shù)組,有!0個(gè)元素,前6個(gè)元素的初值是9,4,7,49,32,-5,正確的說(shuō)明語(yǔ)句為:。該數(shù)組下標(biāo)的取值范圍是從一到ー(從小到大)。用scanf函數(shù)輸入數(shù)組的第二個(gè)元素表示為:。用賦值語(yǔ)句把39存入第一個(gè)元素表示為:。把第六個(gè)和第四個(gè)元素之和存入第一個(gè)元素表示為:。intarray[10]={9,4,7,49,32,-5};09scanf("%d",&array[l]);array[0]=39;array[0]=array[5]+array[3];(8)寫出以下初始化數(shù)組的長(zhǎng)度:①intchn[3];數(shù)組chn的長(zhǎng)度為=②floatisa[]=(1.0,20,3.0,4.0,5.0};數(shù)組isa的長(zhǎng)度為。③intdoom[8];數(shù)組doom的長(zhǎng)度為0④floatpci[4][2]滋組pci的長(zhǎng)度為?⑤intast[3][3]滋組ast的長(zhǎng)度為ー。@intatt[3][4];數(shù)組att的長(zhǎng)度為ー〇⑦floatde叩[3]={{1,4,7},{2,5},{3,6,9}};數(shù)組dell的長(zhǎng)度為ー? 6201632182436(9)若有以下整型的a數(shù)組,數(shù)組元素和它們得值如下所示:數(shù)組元素:a[0]a[l]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]元素的值:94 12 82 10 75 13①請(qǐng)寫出對(duì)該數(shù)組的說(shuō)明,并賦以上初值。②該數(shù)組的最小下標(biāo)值為ー,最大下標(biāo)值為ー。③寫出下面各式的值:a[a[9]]的值為ー;a[a[4]+a[8]]的值為ー。inta[10]={9,4,12,8,2,10,7,5,1,3); 0 9 8 8(10)字符串,'ab\n\\012A\\""的長(zhǎng)度為ー。!0.判斷題(X)(1)C允許對(duì)數(shù)組的大小作動(dòng)態(tài)定義,即可用變量定義數(shù)組的大小。(X)(2)字符數(shù)組不要求它的最后ー個(gè)字符為ヘ〇,,甚至可以不包含へ〇,。(X)(3)數(shù)組定義inta[10]:也可以寫成inta(10);〇(V)(4)在對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長(zhǎng)度。(X)(5)定義s為5x6(5行6列)的數(shù)組可寫成floata[5,6];(ノ)(6)數(shù)組定義inta[10];表示數(shù)組名為a,此數(shù)組有10個(gè)元素。(X)(7)數(shù)組定義inta[10];表示數(shù)組名為a,此數(shù)組有10個(gè)元素,第10個(gè)元素為a[10]。(V)(8)staticcharc[]={**abook"];與staticcharc口="abook”;等價(jià)。(X)(9)staticcharc[]={'a','〇’,’〇',1k','\〇'};與staticcharc[]={'a','',,b',"o','o','k');等價(jià)。(X)(10)設(shè)已有說(shuō)明:staticcharcl[10],c2[10];下面程序片段是合法的。c仁{“book”);c2=cl;.程序填空題(1)輸入20個(gè)數(shù),輸出它們的平均值,輸出與平均值之差的絕對(duì)值為最小的數(shù)組元素。請(qǐng)?zhí)羁铡?include<stdio.h>voidmain()(floata[20],pjz=0,s,t;inti,k;for(i=0;i<20;i++)pjz+=a[i];s=fabs(a[O]-pjz);for(i=l;i<20;i++)if(fabs(a[il-pjz)<s)|s=fabs(a[i]-pjz);t=a[i];for(i=0;iv20;i++)scanf("%f',&a[i]); pjz/=20;printf("%f,%f\n”,piz,t);(2)以下程序以每行1。個(gè)數(shù)據(jù)的形式輸出a數(shù)組,請(qǐng)?zhí)羁?。voidmain(){inta[50],i;prints輸入50個(gè)整數(shù):");for(i=0;i<50;i++)scanf("%d",);for(i=l;i<=50;i++){if()printf(H%3d\n"5);printf(H%3d';a[i-1]);&afili%10==0a[i-l](3)下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁?。voidmain()(intk,p;ints[ド{レ9,72-10,3};for(p=0,k=p;p<6;p++)if(s[p]>s[k]);printf(',%d\nn,k);)k二P(4)這個(gè)程序輸入了20個(gè)數(shù)存放在一個(gè)數(shù)組中,并且輸出其中最大者與最小者、20個(gè)數(shù)的和及它們的平均值。請(qǐng)?zhí)羁?。voidmain()(chararray;intmax,min,average,sum;inti;for(i=0;i<;i++)(printf("請(qǐng)輸入第%d個(gè)數(shù):”,i+1);scanf(u%dH,);)max=array[0J;min=array[0];for(i=0;i<=;i++)if(max<array[i])if(min>array[i])sum=;)average=;printf("20個(gè)數(shù)中最大值是%dj,max);printf("最小值是%d,",min);printf("和是%dj,sum);printf(”平均值是%d.Xn”,average);1120]20&array[i]19max=array[i];min=amy[i];sum+array[i]sum/20B卷.閱讀程序,分析程序的功能。#include<stdio.h>#include<string.h>voidmain()(chars[80];inti;for(i=0;i<80;i++)(s[i]=getchar();if(s[i]=-\nf)break;)s[i]='\0,;i=0;while(s[i])putchar(s[i++]);putchar(t\n,);}從鍵盤輸入ー個(gè)字符串,并逐一?輸出#include<stdio.h>#include<string.h>voidmain()charstr[10][80],c[80];inti;for(i=0;i<10;i++)gets(str[i]);strcpy(c,str[O]);for(i=l;i<10;i++)if(strlen(c)<strlen(str[i]))strcpy(c,str[i]);printf(M%s\nM,c);printf("%d\n”,strlen(c));1從鍵盤輸入若干字符串,找到其中最長(zhǎng)的ー個(gè)輸出及它的長(zhǎng)度#include<stdio.h>#include<string.h>voidmain()(chara[10][80],c[80];inti,j,k;for(i=0;i<10;i++)gets(a[i]);for(i=0;i<9;i++)(k=i;fbr(j=i+1;j<10;j++)if(strcmp(a[j],a[k])<0)k=j;if(k!=i)(strcpy(c,a[i]);strcpy(a[i],a[k]);strcpy(a[k],c);}/Z字符串交換)for(i=0;i<10;i++)puts(a[i]);}從鍵盤輸入若干字符串,并將它們按大到小順序排好再輸出(4)閱讀程序,寫出運(yùn)行結(jié)果#include<stdio.h>voidmain()(inta[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16),i,j;for(i=0;i<6;i++)(for(j=0;j<6;j++)if(a[ij==b[j])break;if(j<6)printf("%d",a[i]);printf("\n");4252716(5)閱讀程序,寫出運(yùn)行結(jié)果。#include<stdio.h>voidmain()(chara[8],temp;intj,k;for(j=0;j<7;j++)a[jド’a'+j;a[7]二へ。';for(j=0;j<3;j++)(temp=a[6];for(k=6;k>0;k-)a[kj=a[k-l];a[0]=temp;printf("%s\n",a);})gabcdeffgabcdeefgabcd(6)閱讀下列程序,寫出程序運(yùn)行的輸出結(jié)果。#include<stdio.h>#include<string.h>voidmain()(charsi"[]="*******";for(inti=0;i<4;i++)(printf("%s\n",strl);sir1nド’;str1[strlen(str1)-1]-\0';})********

*⑺該程序的運(yùn)行結(jié)果是:min=m=,voidmain()(floatarray[4][3]={{34,-5.6,56.7},{56.8,999.,-.0123},{0.45,-5.77,123.5},[43.4,0,111.2}1;inti,j;intmin;intm,n;min=array[0][0];m=0;n=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(min>array[i]|j]){min=array[i][j];m=i;n=j;)printf(nmin=%d,m=%d,n=%d\n'\min,m,n);}-5.7721(8)寫出下面這個(gè)程序的輸出結(jié)果:voidmain()charstr[ド"ABCDEFGHIJKL”;printf(M%s\nM,str);屏幕上顯示 printf("%s\n”,&str[4]);屏幕上顯示 str[2J=str[5J;printf(M%s\nH,str);屏幕上顯示 str[9]=へ。’;printf("%s\n",str);屏幕上顯示 ABCDEFGHIJKLEFGHIJKLABFDEFGHIJKLABFDEFGHI(9)讀懂ド面的程序并填空。voidmain()(charstr[80];inti=0;gets(str);while(str[i]!=0)if(str[i]>='a,&&str<=,z')str[i]-=32;i++;}puts(str);}程序運(yùn)行時(shí)如果輸入upcase,屏幕顯示程序運(yùn)行時(shí)如果輸入AalBb2Cc3?屏幕顯示UPCASEAA1BB2CC第8章函數(shù)習(xí)題A卷.單項(xiàng)選擇題(DC語(yǔ)言總是從 函數(shù)開(kāi)始執(zhí)行。Amain B.處于最前的 C.處于最后的D.隨機(jī)選ー個(gè)(2)函數(shù)在定義時(shí),省略函數(shù)類型說(shuō)明符,則該函數(shù)值的類型為?AA.intB.floatC.longD.double(2)以下 函數(shù),真正地沒(méi)有返回值。Binta(){inta=2;retum(a);) B.voidb(){printf(^^c'^);}inta(){inta=2;retuma;} D.以上都是(3)在C語(yǔ)言中,有關(guān)函數(shù)的說(shuō)法,以下正確的是〇CA.函數(shù)可嵌套定義,也可嵌套調(diào)用 B.函數(shù)可嵌套定義,但不可嵌套調(diào)用C,函數(shù)不可嵌套定義,但可嵌套調(diào)用 D.函數(shù)不可嵌套定義,也不可嵌套調(diào)用(4)以下函數(shù)調(diào)用語(yǔ)句中,含有實(shí)參的個(gè)數(shù)為〇Cfun((2,3),(4,5+6,7));A.1 B.2 C.5 D.6(5)函數(shù)調(diào)用可以在〇DA.函數(shù)表達(dá)式中 B,函數(shù)語(yǔ)句中 C.函數(shù)參數(shù)中 D.以上都是(6)被調(diào)函數(shù)返回給主調(diào)函數(shù)的值稱為〇CA.形參 B.實(shí)參C.返回值 D.參數(shù),可以不進(jìn)行函數(shù)類型說(shuō)明。DA,被調(diào)函數(shù)的返回值是整型或字符型時(shí) B.被調(diào)函數(shù)的定義在主調(diào)函數(shù)定義之前時(shí)C,在所有函數(shù)定義前,已在函數(shù)外預(yù)先說(shuō)明了被調(diào)函數(shù)類型 D.以上都是(8)被調(diào)函數(shù)通過(guò)語(yǔ)句,將值返回給主調(diào)函數(shù)。DA.ifB.fbrC.whileD.return(9)被調(diào)函數(shù)調(diào)用結(jié)束后,返回到。DA.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語(yǔ)句處B.主函數(shù)中該被調(diào)函數(shù)調(diào)用語(yǔ)句處C.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語(yǔ)句的前ー語(yǔ)句D.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語(yǔ)句的后ー語(yǔ)句(10)以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是。AA.在C中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參B.C函數(shù)既可以嵌套定義又可遞歸調(diào)用C,函數(shù)必須有返回值,否則不能使用函數(shù)C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同?個(gè)源程序文件中(H)C語(yǔ)言中函數(shù)的隱含存儲(chǔ)類型是。AA.autoB.staticC.externD.無(wú)存儲(chǔ)類型(12)能把函數(shù)處理結(jié)果的兩個(gè)數(shù)據(jù)返回給主調(diào)函數(shù),在下面的方法中不正確的是。AA.return這兩個(gè)數(shù) B.形參用兩個(gè)元素的數(shù)組C,形參用兩個(gè)這種數(shù)據(jù)類型的指針 D.用兩個(gè)全局變量(13)C語(yǔ)言可執(zhí)行程序從什么地方開(kāi)始執(zhí)行()?CA,程序中第一條可執(zhí)行語(yǔ)句 B.程序中第一個(gè)函數(shù)C.程序中的main函數(shù) D,包含文件中的第一個(gè)函數(shù)(14)有一個(gè)函數(shù)原型如下所示,則該函數(shù)的返回類型為()。Cabc(floatx,floaty);A.voidB.doubleC.intD.float.填空題(1)變量的作用域主要取決于變量 ,變量的生存期既取決于變量 ,又取決于變量 。所處的位置,所處的位置,存儲(chǔ)類型(2)說(shuō)明變量時(shí),若省略存儲(chǔ)類型符,系統(tǒng)默認(rèn)其為存儲(chǔ)類別,該存儲(chǔ)類別的類型符為:。動(dòng)態(tài),auto(3)靜態(tài)型局部變量的作用域是,生存期是。它所在的局部,整個(gè)程序(4)函數(shù)中的形參和調(diào)用時(shí)的實(shí)參都是數(shù)組名時(shí),傳遞方式為,都是變量時(shí),傳遞方式為。址傳遞,值傳遞(5)函數(shù)的形式參數(shù)的作用域?yàn)?全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名時(shí),變量?jī)?yōu)先。該函數(shù)中,局部(6)若自定義函數(shù)要求返回一個(gè)值,則應(yīng)在該函數(shù)體中有一條語(yǔ)句,若自定義函數(shù)要求不返回一個(gè)值,則應(yīng)在該函數(shù)說(shuō)明時(shí)加一個(gè)類型說(shuō)明符。return,void(7)若函數(shù)的形式參數(shù)是指針類型,則實(shí)參可以是或。指針,數(shù)組名(8)函數(shù)的參數(shù)為char?類型肘,形參與實(shí)參結(jié)合的傳遞方式為。址傳遞(9)函數(shù)的實(shí)參為常量時(shí),形參與實(shí)參結(jié)合的傳遞方式為〇值傳遞(10)下面這個(gè)函數(shù)的功能是求兩個(gè)整數(shù)的積,并通過(guò)形參傳回結(jié)果,請(qǐng)?zhí)羁铡ntintint**resultvoidmul( x, y, result)( =x*y;.判斷題(X)(1)函數(shù)說(shuō)明指的是在程序中設(shè)定一個(gè)函數(shù)模塊。(V)(2)形參只有在被調(diào)用時(shí)オ分配存儲(chǔ)空間。(X)(3)在C的函數(shù)中,最好使用全局變量。(X)(4)在調(diào)用函數(shù)時(shí),實(shí)參傳值給形參,調(diào)用結(jié)束時(shí)ー,形參值傳給實(shí)參。(V)(5)所有函數(shù)定義都是并行的,相互獨(dú)立的。(X)(6)函數(shù)的隱含存儲(chǔ)類型是extern。(X)(7)形參可以是常量、變量或表達(dá)式。(x)(8)函數(shù)調(diào)用可以作為ー個(gè)函數(shù)的形參。(V)(9)C語(yǔ)言規(guī)定,實(shí)參應(yīng)與其對(duì)應(yīng)的形參類型一致。(X)(10)定義函數(shù)時(shí),形參的類型說(shuō)明可以放在函數(shù)體內(nèi)。.程序填空題(1)對(duì)數(shù)組按值從大到小的順序排序后輸出,請(qǐng)?zhí)羁铡?include<stdio.h>voidmain()(floata[7]={2,6,3,8,3,12,9};inti;voidsort(floatmax=*p; for(k=l;k<n;k++)max=*p; for(k=l;k<n;k++)(t=*(p+k);if()*max=t;if(t<*min)*min=t;for(i=0;i<7;i++)printf("%fn,a[i]);printf(M\nH);)voidsort()(inti,j,k;floatt;for(i=0;i<n-l;i++)(k=i;for(j=i+l;j<n;j++)if()k=j;{t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;}))sort(a,7)float*p,intn*(p+k)<*(p+j)if(k!=i)(2)下列函數(shù)在n個(gè)元素的ー維數(shù)組中,找出最大值、最小值并傳送到調(diào)用函數(shù),請(qǐng)?zhí)羁铡?include<stdio.h>voidfind(float*p,intmax,intmin,intn)(intk;floatt;*min=*p;*max<t5.寫出下列程序運(yùn)行結(jié)果(1)main()(inti=l,p;p=fun(i,i+l);printf(M%d\n';p);}intfun(inta,intb)(intf;if(a>b)f=l;elseif(a==b)f=0;elsef=-l;returnf;)-1(2)鍵盤輸入abcdef<CR>#include<stdio.h>voidfun()(charc;if((c=getchar())!=,\n')fun();putchar(c);}voidmain(){fun(); }fedcba(3)#include<stdio.h>#defineC5intx=l,y=C;voidmain()intx;x=y++;printf(M%d%d\n",x,y);if(x>4){intx;x=++y;printf(n%d%d\n'\x,y);}x+=y-;printf(n%d%d\n\x,y);)5677126#include<stdio.h>intc,a=4;func(inta,intb){c=a*b;a=b-l;b++;return(a+b+1);}voidmain()(intb=2,p=0;c=l;p=func(b,a);printf(n%d,%d,%d,%d\n",a,b,c,p);)428,9unsignedfun6(unsignednum)(unsignedk=l;do{k*=num%10;num/=10;}while(num);returnk;)voidmain()(unsignedn=26;printf("%d\n”,fun6(n));#include<stdio.h>intmax(inta,intb);main()intx,y,z,t,m;scanf(n%d,%d,%du,&x,&y,&z);t=max(x,y);m=max(t,z);printf("%d",m);intmax(inta,intb)(if(a>b)retum(a);elseretum(b);1運(yùn)行時(shí)若輸入:10,15,9則輸出:―15運(yùn)行時(shí)若輸入:300,129,300則輸出:—300⑺#include<stdio.h>longsum(inta,intb);longfactorial(intn);main()(intnl,n2;longa;scanf("%d,%d”,&n1,&n2);a=sum(nl,n2);printf(",a=%ldu,a);)longsum(inta,intb)(longcl,c2;cl=factorial(a);c2=factorial(b);retum(cl+c2);}longfactorial(intn)(longrtn=l;inti;for(i=l;i<=n;i++)rtn*二i;return(rtn);)運(yùn)行時(shí)若輸入:2,3則輸出:—8運(yùn)行時(shí)若輸入:0,5則輸出:―121#include<stdio.h>ints();intx,y;main()(intn;x=l;y=2;n=s();printf("x=%d,y=%d,n=%d,',x,y,n);1ints()(intz;x=3;y=4;z=x+y;return(z);I程序運(yùn)行后輸出:—347⑼以下程序的輸出結(jié)果是a=—,b=—,c=ー〇#include<stdio.h>intfunc(inta,int*p);voidmain()(inta=Lb=2,c;c=func(a,&b);b=func(c,&a);a=func(b,&c);printf(Ha=%d,b=%d,c=%dM,a,b,c);)intfunc(inta,int*p)(a++;*p=a+2;return(*p+a);)36 16 19第九章 預(yù)處理A部分(本、??票刈?ー、選擇題1,以下不正確的敘述是(D)A,宏替換不占用運(yùn)行時(shí)間。 B、宏名無(wú)類型。C、宏替換只是字符替換。 D、宏名必須用大寫字母表示。2,C語(yǔ)言的編譯系統(tǒng)對(duì)宏命令的處理(D)A、在程序運(yùn)行時(shí)進(jìn)行的。 B、在程序連接時(shí)進(jìn)行。C、和C程序中的其它語(yǔ)句同時(shí)進(jìn)行編譯的。D、在對(duì)源程序中其它語(yǔ)句正式編譯之前進(jìn)行的。3,以下程序的輸出結(jié)果是(C)。A、!5B、100C、10D、150#defineMIN(x,y)(x)<(y)?(x):(y)voidmain()(iniIj.k;i=10;j=15;k=10*MIN(i,j);printf(4,%d\n,,,k);14、以下敘述中正確的是(D)A,用#include包含的文件的后綴必須是“.h”。B、若一些源程序中包含某個(gè)頭文件;當(dāng)該文件有錯(cuò)時(shí),只需對(duì)該頭文件進(jìn)行修改,包含此頭文件的所有源程序不必重新進(jìn)行編譯。C、宏命令行可以看作是一行C語(yǔ)句。D、預(yù)處理是在編譯之前進(jìn)行的。5、以下敘述中正確的是(C)A、源程序中所有的行都參加編譯。B、宏定義常量與const定義常量是ー樣的。C、宏定義可以嵌套定義,即在宏定義中的字符串可以引用另ー個(gè)宏定義的標(biāo)識(shí)符。D,以上都不正確。二、填空題1、以下程序中for循環(huán)執(zhí)行的次數(shù)是 6 。#defineN2#defineMN+1#defineNUM(M+l)*M/2voidmain()(inti;for(i=1;iく=NUM;i++);printf(u%d\n*\i);}2、以下程序的輸出結(jié)果是一x二930#defineA 3#defineB(a) ((A+l)*a)voidmain()(intx;x=3*(A+B(7));printf(iix=%d\n,,,x);)B部分(本科必做)編程:請(qǐng)寫岀ー個(gè)宏定義MYALPHA(c)?用以判斷c是否是字母字符,若是,得1,否則,得〇。解:#defineMYALPHA(c)((c>='A'&&c<='Z')||(c>='a'&&c<='z')?l:O)第十章 指針A部分(本、??票刈?ー、選擇題I、若有定義:intx,*pb;則以下正確的表達(dá)式是(A)A、pb=&xB、pb=xC、*pb=&x D、*pb=*x2、以下程序的輸出結(jié)果是(B)A、因變量無(wú)定義輸出不定值B、0C、ー1D、1#include<stdio.h>voidmain(){printf("%d\n”,NULL);)3、以下程序的輸出結(jié)果是(B)A、5,2,3B、-5,-12,-7C、-5,-12,-17D、5,-2,-7#include<stdio.h>voidsub(intx,inty,int*z){*z=y-x;}voidmain()(inta,b,c;sub(l0,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n”,a,b,c);)4、以下程序的輸出結(jié)果是(C)A、4B、6C、8D、10#include<stdio.h>voidmain()(intk=2,m=4,n=6;int*pk=&k,*pm=&m,*p;*(p=&n)=*pk*(*pm);printf("%d\n”,n);)5、已知指針p的指向(圖ー)的a⑴,則執(zhí)行語(yǔ)句?p++;后,*p的值是(B)?A、20B、30C、21D、31a[0]a[l]a[2] a[3] a[4]1020304050(圖一)6、已知指針p的指向(圖ー)的a[l],則表達(dá)式?++p的值是(B)。TOC\o"1-5"\h\zA、20 B、30 C、21 D、317、已知指針p的指向(圖ー)的a[l],則表達(dá)式++ヤ的值是(C)。A、20 B、30 C、21 D、318、以下程序的輸出結(jié)果是(D)。A、23 B、24 C、25 D、26#include<stdio.h>voidprtv(int*x){printf(tt%d\n,\++*x);}voidmain()(inta=25;prtv(&a);}9、以下程序的輸出結(jié)果是(B)。A、運(yùn)行出錯(cuò)100C、a的地址 D、b的地址#include<stdio.h>voidmain()(int**k,*a,b=100;a=&b;k=&a;printf("%d\n",k);}10、以下程序運(yùn)行后,輸出結(jié)果是(D)oA)8 B)7 06 D)5#include<stdio,h>ss(char*s){char*p=s;while(*p)p++;return(p-s);}main(){char*a="abded”;inti;i=ss(a);printf("%d'n",i);}二、填空題1、若有定義:charch;(1)使指針p指向變量ch的定義語(yǔ)句是char*p二&ch;。(2)若已定義char*p;?使指針p指向變量ch的賦值語(yǔ)句是p=&ch;。(3)在(1)的基礎(chǔ)上,通過(guò)指針p給變量ch讀入字符的scanf調(diào)用語(yǔ)句是scanf仁%c”,ロ):。(4)在(1)的基礎(chǔ)上,通過(guò)指針p給變量ch賦字符言的語(yǔ)句是齒過(guò)エ。(5)在(1)的基礎(chǔ)上,通過(guò)指針p用格式輸出函數(shù)輸出ch中字符的語(yǔ)句是2、以下程序輸出的是ーJ。voidmain(){inti=3,j=2;char *a="DCBA";printfC%c%c\n",a[i],a[j]);}3、以下函數(shù)的功能是,把兩個(gè)整數(shù)指針?biāo)傅拇鎯?chǔ)單元中的內(nèi)容進(jìn)行交換。請(qǐng)?zhí)羁?。voidexchange(int*x,int*y){intt;t=*y; *y=*x; *x=t;}B部分(本科必做)程序填空:1、下面程序的輸出結(jié)果是ABCDBCDCDD。charbロ="ABCD”;voidmain(){char*chp;for(chp=b;*chp:chp+=2)printf("%s",chp);printf("\n");}2、下面是ー個(gè)字符串連接函數(shù),請(qǐng)補(bǔ)充完整。voidmystrcat(char*sl,char*s2)(char*p,*q;fbr(p=s1;*p:p++);for(q=s2;*q;q4-+) *p++=*q;*D='、〇';)第十一章 結(jié)構(gòu)體與共用體A部分(本、??票刈?ー、選擇題1、設(shè)有如下定義:structsk{inta;floatb;}data,*p;若有p=&data;,則對(duì)data中的a域的正確引用是(B)。A)(*p).data.aB)(*p).a C)p->data.a D)p.data.a2、根據(jù)以下定義,能輸出字母M的語(yǔ)句是(D)。A、printf(<<%c\n,,,class[3].name); Bヽprintf(4t%c\n",class[3].name[1]);C>printf(t*%c\n,\class[2].name[1]); D、printf(4t%c\n,\class[2].name[0J);structperson{charname[9];intage;};structpersonciassfl0]={"John”』7"Paul",19,"Mary",18,"Adam",16,};3、以下程序的輸出結(jié)果是(D)。A、〇B、1C、3D、6#include<stdio.h>voidmain()(structemplx{intx;inty;)enum[2]={1,3,2,7};printfC4%d\n",enum[0].y/enum[0].x*enum[l].x);)4、若有以下說(shuō)明及語(yǔ)句,則值為6的表達(dá)式是(D)。A、p++->nB、p->n++C、(*p).n++D、++p->nstructst{intn;structst*next;};structsta[3],*p;a[0].n=5;a[0].next=&a[1];a[1].n=7;a[1].next=&a[2];a[2].n=9;a[2].next=,\0,;p=&a[0];5、已知字符。的ASCH碼的十進(jìn)制的值是48,且數(shù)組的第。個(gè)元素在低位,以下程序的輸出結(jié)果是(B),A、39B、9C、38D、8voidmain(){union{inti[2];longk;charc[4];}r,*s=&r;s->i[0]=0x39;s->i[l]=0x38;printf("%x\n",s->c[〇]);)6、以下程序輸出的結(jié)果是(C)。A、32B、16C、8D、24typedefunion{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEthem;voidmain()(printf(t4%d\n",sizeof(them));)7,設(shè)有以下語(yǔ)句typedefstructS{intg;charh;}T;則下面敘述中正確的是(B)。A)可用S定義結(jié)構(gòu)體變量 B)可以用T定義結(jié)構(gòu)體變量C)S是struct類型的變量 D)T是structS類型的變量8、有以下說(shuō)明和定義語(yǔ)句structstudent{intage;charnum[8];};structstudentstu[3]={{20,”200401”},{21,*200402*},{10\9,*200403*}};structstudent*p=stu;以下選項(xiàng)中引用結(jié)構(gòu)體變量成員的表達(dá)式錯(cuò)誤的是(D)。A)(p++)->numB)p->numC)(*p).numD)stu[3].age二、填空題1、為了建立結(jié)構(gòu)體(含有兩個(gè)成員,data是數(shù)據(jù)成員,next是指向自身結(jié)構(gòu)體的指針成員),請(qǐng)?zhí)羁?Structlink(chardata;structlink:}2、把類型int另取ー個(gè)類型名稱INT,則以下應(yīng)填:typedefintINT;3、以ド程序的運(yùn)行結(jié)果是2002Shangxiaa〇#include<string.h>typedefstructstudent(charname[10];longsno;floatscore;}STU;main()(STUa={"zhangsan”,2001,95},b={“Shangxian”,2002,90},c={wAnhuaw,2003,95},d,*p=&d;d二a;if(strcmp(,)>0)d=b;if(strcmp(,)>0)d=c;printf("%ld%s\n”,d.sno,p->name);)B部分(本科必做)程序填空:以下程序的功能是:處理由學(xué)號(hào)和成績(jī)組成的學(xué)生記錄,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,它的功能是:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分?jǐn)?shù)最高的學(xué)生可能不只一個(gè),函數(shù)返回分?jǐn)?shù)最高學(xué)生的人數(shù)。請(qǐng)?zhí)羁铡?include<stdio.h>#defineN16typedefstruct(charnum[10J;ints;JSTREC;intfun(STREC*a,STREC*b)inti,j=O,max=a[O].s;for(i=0;i<N;i++)if(max<a[i].s)max=a[il.s:for(i=0;i<N;i++)if(a[i].s==max)b|j++]=a[i];returnj;)voidmain()(STRECs[Nド{{"GA005”,85},{“GA003”,76},{“GA002”,69},{“GA004”,85},{“GA00ド,91},{“GAOOアV72},{<<GA008,,,64},(“GA006”,87},{“GAOO15”,85),{“GAOO13”,91},{“GAOO12”,64},{“GAOO14”,91},{“GAOO1ド,66},{“GAOO17”,64},{“GA0018”,64),{4tGA0016”,72},);STRECh[N];inti,n;n=fun(s,h);printf(44The%dhighestscore:\n,\_n_);for(i=0;i<n;i++)printf(M%s%4d\n,,,h[i].num,h[i].s);printf(“g”);第1章認(rèn)識(shí)C語(yǔ)言二、習(xí)題(一)、是非題.程序是指揮計(jì)算機(jī)進(jìn)行各種信息處理任務(wù)的ー組指令序列。A.對(duì) B.錯(cuò).機(jī)器語(yǔ)言與硬件平臺(tái)相關(guān),但匯編語(yǔ)言和硬件平臺(tái)無(wú)關(guān)。A.對(duì) B.錯(cuò).編譯型高級(jí)語(yǔ)言明顯優(yōu)于解釋型高級(jí)語(yǔ)言。A.對(duì) B.錯(cuò).C語(yǔ)言把髙級(jí)語(yǔ)言的基本結(jié)構(gòu)和低級(jí)語(yǔ)言的實(shí)用性緊密結(jié)合起來(lái),不僅適合編寫應(yīng)用軟件,而且適于編寫系統(tǒng)軟件。A.對(duì) B.錯(cuò).面向?qū)ο蟮某绦蛟O(shè)計(jì)方法明顯優(yōu)于面向過(guò)程的程序設(shè)計(jì)方法。A.對(duì) B.錯(cuò).計(jì)算機(jī)算法要有一個(gè)明確的起點(diǎn)和確定的步驟序列。A.對(duì) B.錯(cuò).main函數(shù)是C程序的入口,由計(jì)算機(jī)系統(tǒng)負(fù)責(zé)調(diào)用。A,對(duì) B.錯(cuò).在C語(yǔ)言中,同一行上可以寫一條或多條語(yǔ)句,但一條語(yǔ)句不能寫在多行上。A.對(duì) B.錯(cuò).在C語(yǔ)言中,擴(kuò)展名為.h的文件稱為頭文件,常用于組織C標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)。A.對(duì) B.錯(cuò).注釋語(yǔ)句會(huì)增加編譯結(jié)果的復(fù)雜性,因此要盡量減少注釋語(yǔ)句的數(shù)量。A.對(duì) B.錯(cuò)(注釋語(yǔ)句在預(yù)處理階段被刪除,不影響編譯).聲明變量的含義是通知編譯系統(tǒng)為變量分配合適大小的存儲(chǔ)空間。A,對(duì) B.錯(cuò).C語(yǔ)言不允許使用關(guān)犍字作為變量的名稱,但可以使用保留字為變量命名。A.對(duì) B.錯(cuò).符號(hào)常量提高了程序的可讀性,但降低了程序維護(hù)的方便性。A.對(duì) B.錯(cuò).變量聲明把ー個(gè)具體的標(biāo)識(shí)符名稱和計(jì)算機(jī)內(nèi)存中的ー個(gè)特殊的位置聯(lián)系起來(lái),同時(shí)確定了該位置存儲(chǔ)的信息類型。A.對(duì) B.錯(cuò).C語(yǔ)言允許在同一條語(yǔ)句中定義多個(gè)相同類型的變量,其間用分號(hào)進(jìn)行分隔。A.對(duì) B.錯(cuò).在ISO/ANSI1999規(guī)定中,允許將變量聲明放在程序中的任何位置。A.對(duì) B.錯(cuò).不同類型的數(shù)據(jù)在內(nèi)存中所占存儲(chǔ)單元的大小不同,內(nèi)部存儲(chǔ)方式不同,取值范圍不同,甚至能夠參與的運(yùn)算種類也不相同。A,對(duì) B.錯(cuò).有符號(hào)和無(wú)符號(hào)整數(shù)的區(qū)別僅在于對(duì)數(shù)據(jù)最高位的解釋不同。若最高位解釋為數(shù)據(jù)位,則為signed類型:若最高位解釋為符號(hào)位,則為unsigned類型。A.對(duì) B.錯(cuò).默認(rèn)形式的實(shí)數(shù)常量的數(shù)據(jù)類型為float類型。A.對(duì) B.錯(cuò).實(shí)型變量能表示的數(shù)字的有效位數(shù)是有限的。A.對(duì) B.錯(cuò)21.sizeof()是C語(yǔ)言提供的標(biāo)準(zhǔn)庫(kù)函數(shù),用于測(cè)試數(shù)據(jù)類型在系統(tǒng)中所占的字節(jié)數(shù)。A.對(duì) B.錯(cuò).使用轉(zhuǎn)義字符可輸出ASCI!碼表中的任一字符。A1對(duì) B.錯(cuò).char類型數(shù)據(jù)內(nèi)部采用整數(shù)存儲(chǔ)方式,因此它和int型數(shù)據(jù)可以互為通用。A.對(duì) B.錯(cuò).在C語(yǔ)言中,保存字符串“B”實(shí)質(zhì)上是保存字符'B‘和’、0’兩個(gè)符號(hào)。A,對(duì) B.錯(cuò).在C語(yǔ)言中,允許對(duì)兩個(gè)字符型數(shù)據(jù)進(jìn)行加法運(yùn)算。A.對(duì) B.錯(cuò)(二)、選擇題.C語(yǔ)言是ー種〇A.匯編語(yǔ)言B.“解釋型”語(yǔ)言C.“編譯型”語(yǔ)言D.面向?qū)ο笳Z(yǔ)言.下列說(shuō)法中,正確的是.A,機(jī)器語(yǔ)言與硬件相關(guān),但匯編語(yǔ)言與硬件無(wú)關(guān)B.不同的計(jì)算機(jī)類型,其能理解的機(jī)器語(yǔ)言相同C匯編語(yǔ)言采用助記符提高程序的可讀性,但同樣屬于低級(jí)語(yǔ)言D.匯編源程序?qū)儆诘图?jí)語(yǔ)言程序,計(jì)算機(jī)可以直接識(shí)別并執(zhí)行.下面有關(guān)高級(jí)語(yǔ)言的說(shuō)法中,正確的是ー 。A.高級(jí)語(yǔ)言編寫的程序可讀性好,執(zhí)行效率也最高B.高級(jí)語(yǔ)言程序必須翻譯成機(jī)器語(yǔ)言程序,計(jì)算機(jī)才能執(zhí)行C.解釋方式和編譯方式相比,具有占用內(nèi)存少、執(zhí)行速度快的特點(diǎn)D.C語(yǔ)言是ー種解釋型高級(jí)語(yǔ)言.下面有關(guān)C語(yǔ)言特點(diǎn)的說(shuō)法中,錯(cuò)誤的是〇A.C語(yǔ)言編寫的代碼較為緊湊,執(zhí)行速度也較快C語(yǔ)言不僅適合編寫各種應(yīng)用軟件,還適于編寫各種系統(tǒng)軟件C語(yǔ)言是ー種模塊化和結(jié)構(gòu)化的語(yǔ)言C語(yǔ)言編寫的程序通常不具備移植性.下面有關(guān)程序設(shè)計(jì)技術(shù)的說(shuō)法中,錯(cuò)誤的是.A.機(jī)器語(yǔ)言和匯編語(yǔ)言編程通常采用面向計(jì)算機(jī)的程序設(shè)計(jì)方式B.面向過(guò)程的程序設(shè)計(jì)方法通常采用結(jié)構(gòu)化和模塊化設(shè)計(jì)方法C,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法采用客觀世界的描述方式D.C語(yǔ)言是一種兼顧面向過(guò)程和面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語(yǔ)言.下面有關(guān)C程序操作過(guò)程的說(shuō)法中,錯(cuò)誤的是。C源程序經(jīng)過(guò)編譯,得到的目標(biāo)文件即為可執(zhí)行文件C源程序的鏈接實(shí)質(zhì)上是將目標(biāo)代碼文件和庫(kù)函數(shù)等代碼進(jìn)行連接的過(guò)程

c.c源程序不能通過(guò)編譯,通常是由于語(yǔ)法錯(cuò)誤引起的D,導(dǎo)致不能得到預(yù)期計(jì)算結(jié)果的主要原因是程序算法考慮不周一個(gè)C語(yǔ)言程序是由組成。A.主程序 B.子程序 C.函數(shù) D.過(guò)程C源程序中不能表示的數(shù)制是. 。A,二進(jìn)制 B,ハ進(jìn)制 J十進(jìn)制 D.十六進(jìn)制ー個(gè)C語(yǔ)言程序總是從開(kāi)始執(zhí)行。A.主程序 B.子程序 C.主函數(shù) D.函數(shù)以下敘述中正確的是。A.在C程序中,main函數(shù)必須位于程序的最前面C程序的每一行中只能寫一條語(yǔ)句C,在對(duì)ー個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤D.CD.C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句.以下敘述中正確的是〇A.C程序的基本組成單位是語(yǔ)句C.C語(yǔ)句必須以分號(hào)結(jié)束.以下敘述中錯(cuò)誤的是.A.函數(shù)是C程序的基本組成單位C.printf是C語(yǔ)言提供的輸出語(yǔ)句種.以下程序的輸出結(jié)果是。#include"stdio.h"voidmain(){inta=2,b=3,c=4;printf(^d,%d,%d\nv,c,b,a);}B.C程序中的每一行中只能寫一條語(yǔ)句D.C語(yǔ)句必須在一行內(nèi)寫完B,函數(shù)體一般由一組C語(yǔ)句序列組成D.函數(shù)通常分為庫(kù)函數(shù)和用戶自定義函數(shù)兩A.432B.2,3,4C.4,3,2D.234.C語(yǔ)言中,最基本的數(shù)據(jù)類型是。A.整型、實(shí)型、邏輯型 B.整型、實(shí)型、字符型C.整型、字符型、邏輯型 D.整型、實(shí)型、邏輯型、字符型.下面有關(guān)變量聲明的說(shuō)法中,正確的是。A.C語(yǔ)言中不用先聲明變量,需要時(shí)直接使用即可B,每個(gè)變量的存儲(chǔ)空間大小由數(shù)據(jù)類型和編譯環(huán)境共同決定C.在VC++6.0環(huán)境下,為int型變量分配的存儲(chǔ)空間大小為2個(gè)字節(jié)D.變量聲明時(shí),不能進(jìn)行賦值操作.若x和y為整型變量,對(duì)于scanf("a可Gd,b=%d",&x,&y);語(yǔ)句,可使x和y的值分別為10和20的正確輸入方法是〇A.1020 B.10,20 C.a=10b=20 D.a=10,b=20.下列標(biāo)識(shí)符中,不合法的用戶標(biāo)識(shí)符為。A.aBaB._11 C.a_lD.a&b18,下列標(biāo)識(shí)符中,合法的用戶標(biāo)識(shí)符為。monthB.5xyC.intD.yourname.是C語(yǔ)言提供的合法的數(shù)據(jù)類型關(guān)鍵字。A.BooleanB.signedC.integerD.Char.不合法的字符常量是。A.''678‘ B.‘ぐ‘C.'' D.'\4'.不正確的字符串常量是.A.'abc'B."12T2" C."0"D..關(guān)于下面的程序,正確的說(shuō)法是〇ttincludestdio.hvoidmain(){floata=b=2,result;result=a/b;printf("result=%f\n”,result);}A,程序可正常編譯,結(jié)果為results.000000B.共有1處語(yǔ)法錯(cuò)誤C.共有2處語(yǔ)法錯(cuò)誤 D,共有3處語(yǔ)法錯(cuò)誤.下面變量聲明的語(yǔ)句中,錯(cuò)誤的是〇A.charc=B;B.inta=3C.charc=65;D.floatarea=0;.關(guān)于下面的程序,正確的說(shuō)法是#include<stdio.h>voidmain(){intx,y,z;x=y=z=l;printf("x=%d,y=%d,z=%d\n,x,y,z);)A.程序無(wú)誤,能正常通過(guò)編譯ttincludeくstdio.h〉有誤,需改為ttinclude"stdio.h"intx,y,z;有誤,需改為intx;y;z;x=y=z=l;有誤,需改為x=l;y=l;z=l;.已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句c2='A'+'6'2';后,c2中的值為。A.69B.CC.DD.E.為了計(jì)算s=10!,則定義變量s時(shí)應(yīng)該使用的數(shù)據(jù)類型是。A.int B.unsignedC.long D.以上三種類型均可.以下選項(xiàng)中合法的標(biāo)識(shí)符是〇A.1」B.1-1C._llD.1_.下列關(guān)于C語(yǔ)言用戶標(biāo)識(shí)符的敘述中正確的是〇A.用戶標(biāo)識(shí)符中可以出現(xiàn)下畫線和中劃線(減號(hào))B,用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下畫線C,用戶標(biāo)識(shí)符中可以出現(xiàn)下畫線,但不可以放在用戶標(biāo)識(shí)符的開(kāi)頭D.用戶標(biāo)識(shí)符中可以出現(xiàn)下面線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開(kāi)頭.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是〇A.0119B.0126 C.2.5e2.5D.119L.以ド關(guān)于short、int和long類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是。A.均占4個(gè)字節(jié) B.根據(jù)數(shù)據(jù)的大小決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義 D.由C語(yǔ)言編譯系統(tǒng)決定.若已定義charc='\010',則變量c所占的字節(jié)數(shù)為。A.1 B.2 C.3 D.4.要定義雙精度實(shí)型變量a和b,并初始化為數(shù)值7,則正確的語(yǔ)句是〇A.doublea,b;a=b-7; B.doublea=b=7;C.doublea=b=7; I),doublea=7,b=7;.已知字符a的ASCH碼值為97,則以下程序的輸出結(jié)果是#include"stdio.h"voidmain(){charch='c';printf("%c%d\n”,ch,ch);}A.c99B.c98 C.c97 D.編譯出錯(cuò).以下程序運(yùn)行后的輸出結(jié)果是〇#include"stdio.h"voidmain(){charc;c='B'+32;printf("%c\n",m);}A.B B.b C.B32 D.b32.以下程序運(yùn)行后的輸出結(jié)果是〇#include"stdio.h"voidmain(){charcl,c2;cl二,a,;c2=,b*;cl=cl-32;c2=c2-32;printfC%c%c\nz\cl,c2);printfC%d%d\n”,cl,c2);}A.ABB.AB C.ab D.ab6566 9798 6566 9798.如果將一個(gè)函數(shù)的返回值類型說(shuō)明為void,則表示〇A.該函數(shù)可以返回任意類型的值B.該函數(shù)不能返回任何值C?該函數(shù)可以返回基本類型的值D.該函數(shù)是main函數(shù),是程序運(yùn)行的起點(diǎn).對(duì)于int型常量,不正確的是〇A.029 B.-25 C.0x2A D.-0X28.下列整型常量,錯(cuò)誤的是〇A.025 B.285L C.-285u(u表示無(wú)符號(hào),怎么還有負(fù)號(hào)) D.2851u.以下有關(guān)整型變量的定義中,錯(cuò)誤的是〇A.shortintx; B.longx; C.unsignedx;D.shortx

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論