




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
c語(yǔ)言基礎(chǔ)練習(xí)題及答案一、單項(xiàng)選擇題1.C語(yǔ)言源程序文件經(jīng)過(guò)C編譯程序編譯連接之后生成一個(gè)后綴為__C____的文件。A、”.c”B、“.obj”C、“.exe”D、“.bas”2.以下選項(xiàng)中不正確的整型常量是_C____。A、12LB、-10C、1,900D、123U3.表達(dá)式___C___的值是0。A、3%5B、3/5.0C、3/5D、3<54.表達(dá)式!(x>0||y>0)等價(jià)于__D___。A、!x>0||!y>0B、!(x>0)||!(y>0)C、!x>0&&!y>0D、!(x>0)&&!(y>0)5.若變量已正確定義并賦值,表達(dá)式__D____不符合C語(yǔ)言語(yǔ)法。A、4&&3B、+aC、a=b=5D、int(3.14)6.若變量已正確定義,執(zhí)行語(yǔ)句scanf("%d%d%d",&k1,&k2,&k3);時(shí),___B___是正確的輸入。A、2030,40B、203040C、20,3040D、20,30,407.執(zhí)行語(yǔ)句printf(”__D____”,2);將得到出錯(cuò)信息。A、%dB、%oC、%xD、%f8.設(shè)變量定義為“ints[]="hello\nworld\n";”,則數(shù)組s中有__B____個(gè)元素。A、12B、13C、14D、159.設(shè)變量定義為“inta[2]={1,3},*p=&a[0]+1;”,則*p的值是___B__。A、2B、3C、4D、&a[0]+110.若變量已正確定義并賦值,表達(dá)式-k++等價(jià)于__A____。A、-(k++)B、(-k)++C、-(k+1)D、-(++k)11.在C語(yǔ)言程序中,在函數(shù)內(nèi)部定義的變量稱為__D____。A、全局變量B、全程變量C、外部變量D、內(nèi)部變量12.若x是整型變量,表達(dá)式(x=10.0/4.0)的值是__D___。A、2.5B、2.0C、3D、213.對(duì)于以下的變量定義,表達(dá)式__A____是正確的。structnode{chars[10];intk;}p[4];A、p->k=2B、p[0].s=“abc”C、p[0]->k=2D、p->s=‘a(chǎn)’14.下列運(yùn)算符中,優(yōu)先級(jí)從高到低依次為__D___。A、&&,!,||B、||,&&,!C、&&,||,!D、!,&&,||15.下列程序段的輸出結(jié)果是__B___。/r/*p,*q,k=1,j=10;p=&j;q=&k;p=q;(*p)++;printf("%d",*q);A、1B、2C、10D、1116.以下各選項(xiàng)企圖說(shuō)明一種新的類型名,其中正確的是水量(C)A)typedefv1int;B)typedefv2=int;C)typedefv1intv3;D)typedefv4:int;17.以下選項(xiàng)中,非法的字符常量是(C)A)‘\t’B)‘\17’C)“n”D)‘\xaa’18.以下程序的輸出結(jié)果是(C)main(){inti,a[10];for(i=9;i>=0;i--)a[i]=10-i;printf(“%d%d%d”,a[2],a[5],a[8]);}A)258B)741C)852D)36919.以下程序的輸出結(jié)果是(B)main(){charst[20]=“hello\0\t\\\”;printf(%d%d\n”,strlen(st),sizeof(st));}A)99B)520C)1320D)202020.以下程序的輸出結(jié)果是(D)main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=10)break;if(b%3==1){b+=3;continue;}}printf(“%d\n”,a);}A)101B)6C)5D)421.以下程序的輸出結(jié)果是(D)unionmyun{struct{intx,y,z;}u;/r/k;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf(%d\n”,a.u.x);}A)4B)5C)6D)022.以下程序段的輸出結(jié)果是(A)chars[]="\\141\141abc\t";printf("%d\n",strlen(s));A)9B)12C)13D)1423.以下程序的輸出結(jié)果是(B)main(){charch[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"24.不合法的main函數(shù)命令行參數(shù)表示形式是(C)A)main(inta,char*c[])B)main(intarc,char**arv)C)main(intargc,char*argv)D)main(intargv,char*argc[])25.有以下程序main(){char*s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}執(zhí)行后輸出結(jié)果是(C)A)n,twoB)t,oneC)w,oneD)o,two26.設(shè)有如下說(shuō)明typedefstruct{intn;charc;doublex;}STD;則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句是(A)A)STDtt[2]={{1,'A',62},{2,'B',75}};B)STDtt[2]={1,"A",62},2,"B",75};C)structtt[2]={{1,'A'},{2,'B'}};D)structtt[2]={{1,"A",62.5},{2,"B",75.0}};27.若變量c為char類型,則能正確判斷出c為小寫字母的表達(dá)式是(D)。A)'a'<=c<='z'B)(c>='a')||(c<='z')C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')二、填空題1.設(shè)ch是字符型變量,判斷ch為英文字母的表達(dá)式是:(ch>=’A’&&ch,=’Z’)||(ch>=’a’&&ch<=’z’)__。2.計(jì)算下列分段函數(shù)的if語(yǔ)句是_if(x>0)y=1;elseif(x=0)y=0;elsey=-1;___。1x>0y=0x=0-1x<03.表達(dá)式!!5的值是__1____。4.下列程序段的輸出結(jié)果是___12___。printf("%xn",(0x19<<1)&0x17);5.下列程序段的輸出結(jié)果是__k=4s=6___。/r/k,s;for(k=0,s=0;k<10;k++)if(s>k)break;elses+=k;printf("k=%ds=%d",k,s);6.下列程序段的輸出結(jié)果是__15___。#defineMIN(x,y)(x)<(y)?(x):(y)printf("%d",10*MIN(10,15));7.下列程序在運(yùn)行時(shí)可能會(huì)出錯(cuò),原因是__指針變量s未賦初值____。#includevoidmain(){char*s;gets(s);puts(s);}8.下列程序段的輸出是___60__。#includeintf(intm){staticintk=0;ints=0;for(;k<=m;k++)s++;returns;}voidmain(){ints1,s2;s1=f(5);s2=f(3);printf("%d%d\n",s1,s2);}9.下列程序段的輸出結(jié)果是__fgh___。char*st[]={"abcd","efgh","ijkl","mnop"};printf("%s",*(st+1)+1);10.用typedef定義一個(gè)含10個(gè)元素的整型數(shù)組ARR。typedefintARR[10];11.以下程序調(diào)用findmax函數(shù)返回?cái)?shù)組中的最大值,請(qǐng)?zhí)羁?。findmax(int*a,intn){int*p,*s;for(p=a,s=a;p-aif(*p>*s)s=p;return(*s);}main(){intx[5]={12,21,13,6,18};printf("%d\n",findmax(x,5));}三、程序(段)填空題1.設(shè)變量x,y,z已正確定義與賦值,請(qǐng)仔細(xì)閱讀程序段A,然后在程序段B中填入正確的內(nèi)容,使程序段A與程序段B有相同的功能。程序段A程序段Bx=x+y;y=x-y;x=x-y;z=x+y;z=x;x=y;y=z;z=x+y;2.請(qǐng)仔細(xì)閱讀函數(shù)f1,然后在函數(shù)f2中填入正確的內(nèi)容,使函數(shù)f1與函數(shù)f2有相同的功能。char*f1(chars[],chart[]){intk;for(k=0;t[k]!='';k++)s[k]=t[k];s[k]='';returns;}char*f2(char*s,char*t){char*p=s;while((*p++=*t++)!='');returns;}===========================================================一、單項(xiàng)選擇題1.___D___是合法的用戶自定義標(biāo)識(shí)符。A、b-bB、floatC、D、_isw2.若變量已正確定義并賦值,表達(dá)式___B___不符合C語(yǔ)言語(yǔ)法。A、a*b/c;B、3.14%2C、2,bD、a/b/c3.___C__是不正確的字符常量。A、'n'B、'1'C、"a"D、'101'4.在C程序中,用___B__表示邏輯值“真”。A、1B、非0的數(shù)C、非1的數(shù)D、大于0的數(shù)5.__C____把x、y定義成float類型變量,并賦同一初值3.14。A、floatx,y=3.14;B、floatx,y=2*3.14;C、floatx=3.14,y=x=3.14;D、floatx=y=3.14;6.若變量已正確定義,表達(dá)式___C___的值不是2。A、2&3B、1<<1C、a==2D、1^37.若變量已正確定義,語(yǔ)句“if(a>b)k=0;elsek=1;”與__C____等價(jià)。A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b?0:1;8.設(shè)變量定義為“inta,b;”,執(zhí)行下列語(yǔ)句時(shí),輸入_D____,則a與b的值都是10。scanf("a=%d,b=%d",&a,&b);A、1010B、10,10C、a=10b=10D、a=10,b=109.下列程序的輸出結(jié)果是__D___。fun(inta,intb,intc){c=a*b;}voidmain(){intc;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、無(wú)法確定10.在C程序中,若對(duì)函數(shù)類型未加說(shuō)明,則函數(shù)的隱含類型為__A___。A、intB、doubleC、voidD、char11.表達(dá)式strlen(”hello”)的值是___B____。A、4B、5C、6D、712.設(shè)變量定義為“inta[4];”,則表達(dá)式__D____不符合C語(yǔ)言語(yǔ)法。A、*aB、a[0]C、aD、a++13.設(shè)變量定義為“intx,*p=&x;”,則&*p相當(dāng)于__A___。A、pB、*pC、xD、*&x14.若變量已正確定義,_A___不能使指針p成為空指針。A、p=EOFB、p=0C、p=’’D、p=NULL15.對(duì)于以下的變量定義,表達(dá)式__D____不符合C語(yǔ)言語(yǔ)法。structnode{intlen;char*pk;}x={2,"right"},*p=&x;16.有如下程序/r/runc(inta,intb){return(a+b);}main0{intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}該程序的輸出的結(jié)果是(D)A)12B)13C)14D)1517.對(duì)于基類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是(C)A)<B)=C)+D)-18.有如下程序longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main0{printf(“%d\n”,fib(3));該程序的輸出結(jié)果是(B)A}2B}4C}6D}819.有如下定義structperson{charname[9];intage;};strictpersonclass[10]={“Johu”,17,“Paul”,19“Mary”,18,“Adam16,};根據(jù)上述定義,能輸出字母M的語(yǔ)句是(D)A)prinft(“%c\n”,class[3].mane);B)pfintf(“%c\n”,class[3].name[1]);C)prinft(“%c\n”,class[2].name[1]);D)printf(“%^c\n”,class[2].name[0]);20.以下所列的C語(yǔ)言常量中,錯(cuò)誤的是(B)A)0xFFB)1.2e0.5C)2LD)‘\72’21.有以下程序段/r/k=0while(k=1)k++;while循環(huán)執(zhí)行的次數(shù)是(A)A)無(wú)限次B)有語(yǔ)法錯(cuò),不能執(zhí)行C)一次也不執(zhí)行D)執(zhí)行1次22.以下程序的輸出結(jié)果是(C)A)0B)29C)31D)無(wú)定值fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(“%d”,a);}23.下列程序段的輸出結(jié)果是(A)A)2143B)1212C)1234D)2112voidfun(int*x,int*y){printf(“%d%d”,*x,*y);*x=3;*y=4;}main(){intx=1,y=2;fun(&y,&x);printf(“%d%d”,x,y);}24.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是(B)A)數(shù)組的長(zhǎng)度B)數(shù)組的首地址C)數(shù)組每一個(gè)元素的地址D)數(shù)組每個(gè)元素中的值25.以下程序的輸出結(jié)果是(A)A)1B)2C)3D)4longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf(“%ld\n”,fun(3));}26.以下程序的輸出結(jié)果是(B)A)16B)2C)9D)1#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf(“d\n”,a);}27.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;iif(a[i]return(p);}在下劃線處應(yīng)填入的是(D)A)i=pB)a[p]=a[i]C)p=jD)p=i二、填空題1.表示“x≥y≥z”的C表達(dá)式是___x>=y&&y>=z____。2.下列程序段的輸出是__1____。printf("%on",010<<1^1);3.下列程序段的輸出是__6,90____。intk;floats;for(k=0,s=0;k<7;k++)s+=k/2;printf("%d,%fn",k,s);4.下列程序段的輸出是__5,25_____。#definef(a,b,x)a*x+bprintf("%d,%dn",f(3,2,1),f(6,5,f(3,2,1)));5.下列程序段的輸出是_*#*#____。main(){intk;for(k=1;k<5;k++){if(k%2)printf("*");elsecontinue;printf("#");}}6.下列程序段的輸出是__58___。#include/r/f(intx){staticy=1;y++;x+=y;returnx;}voidmain(){intk;k=f(3);printf("%d%dn",k,f(k));}7.下列程序段的輸出是___5__。/r/*p,*q,k=5,j=6;q=&k;p=q;q=&j;printf("%d",*p);8.函數(shù)voidf(chars[],chart[]){intk=0;while(s[k]=t[k])k++;}等價(jià)于voidf(char*s,char*t){while(_*s++=*t++____);}9.下列程序段的輸出是_ne,s____。char*a[2]={"one","two"},**p=a;printf("%s,",*(p++)+1);printf("%cn",**p-1);10.下列程序編譯后生成t.exe,運(yùn)行tinputoutputzoooil的輸出結(jié)果是__zoo___。voidmain(intargc,char*argv[]){intk;char*p=argv[1];for(k=2;kif(strcmp(argv[k],p)>0)p=argv[k];printf("%sn",p);}11.下列程序調(diào)用swap函數(shù)交換a與b的值,并輸出交換后的a與b的值。程序的輸出結(jié)果是:Afterswap5,3。voidmain(){inta=3,b=5;swap(&a,&b);printf("Afters,%d",a,b);}swap(int*p,int*q){intt;t=*p;;*p=*q;*q=t;}一、選擇題((1)-(40)題每題1分,(41)-(50)題每題2分,共60分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)計(jì)算機(jī)的存儲(chǔ)器完整的應(yīng)包括A)軟盤、硬盤B)磁盤、磁帶、光盤C)內(nèi)存儲(chǔ)器、外存儲(chǔ)器D)RAM、ROM(2)計(jì)算機(jī)中運(yùn)算器的作用是A)控制數(shù)據(jù)的輸入/輸出B)控制主存及輔存間的數(shù)據(jù)交換C)完成各種算術(shù)運(yùn)算與邏輯運(yùn)算D)協(xié)調(diào)與指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作(3)軟磁盤處于寫保護(hù)狀態(tài)時(shí),其中記錄的信息A)絕對(duì)不會(huì)丟失B)不能被擦除,但能追加新信息C)不能通過(guò)寫磁盤操作被更新D)不能以常規(guī)方式被刪除,但可以通過(guò)操作系統(tǒng)的格式化功能被擦除(4)光盤根據(jù)基制造材料與記錄信息的方式不同,一般可分為A)CD、VCDB)CD、VCD、DVD、MP3C)只讀光盤、可一次性寫入光盤、可擦寫光盤D)數(shù)據(jù)盤、音頻信息盤、視頻信息盤(5)在計(jì)算機(jī)系統(tǒng)中,可執(zhí)行程序是A)源代碼B)匯編語(yǔ)言代碼C)機(jī)器語(yǔ)言代碼D)ASCII碼(6)計(jì)算機(jī)軟件系統(tǒng)包括A)操作系統(tǒng)、網(wǎng)絡(luò)軟件B)系統(tǒng)軟件、應(yīng)用軟件C)客戶端應(yīng)用軟件、服務(wù)器端系統(tǒng)軟件D)操作系統(tǒng)、應(yīng)用軟件與網(wǎng)絡(luò)軟件(7)目前,一臺(tái)計(jì)算機(jī)要連入Internet,必須安裝的硬件是A)調(diào)制解調(diào)器或網(wǎng)卡B)網(wǎng)絡(luò)操作系統(tǒng)C)網(wǎng)絡(luò)查詢工具D)WWW瀏覽器(8)在多媒體計(jì)算機(jī)系統(tǒng)中,不能存儲(chǔ)多媒體信息的是A)光盤B)磁盤C)磁帶D)光纜(9)要將當(dāng)前盤當(dāng)前目錄下一個(gè)文本文件內(nèi)容顯示在屏幕上,正確的命令形式是(10)下列更改文件名的命令中正確的是A)RENA:file1C:F1B)RENAMEA:A:file1C:F1C)RENA:file1F1D)RENA:file1\SUB\F1(11)已知A盤為DOS系統(tǒng)啟動(dòng)盤,只有A:\DOS下有自動(dòng)批處理文件,其中內(nèi)容為:CD\DOSMDUSERCDUSER由A盤啟動(dòng)DOS系統(tǒng)后,A盤的當(dāng)前目錄是A)\DOSB)\DOS\USERC)\D)\USER(12)MS-DOS是A)分時(shí)操作系統(tǒng)B)分布式操作系統(tǒng)C)單用戶、單任務(wù)操作系統(tǒng)D)單用戶、多任務(wù)操作系統(tǒng)(13)在Windows操作系統(tǒng)中,不同文檔之間互相復(fù)制信息需要借助于A)剪切板B)記事本C)寫字板D)磁盤緩沖器(14)在Windows操作系統(tǒng)中A)同一時(shí)刻可以有多個(gè)活動(dòng)窗口B)同一時(shí)刻可以有多個(gè)應(yīng)用程序在運(yùn)行,但只有一個(gè)活動(dòng)窗口C)同一時(shí)刻只能有一個(gè)打開的窗口D)DOS應(yīng)用程序窗口及Windows應(yīng)用程序窗口不能同時(shí)打開著(15)下列敘述中正確的是A)所有DOS應(yīng)用程序都可以在Windows操作系統(tǒng)中正確運(yùn)行B)所有DOS應(yīng)用程序都不能在Windows操作系統(tǒng)中正確運(yùn)行C)大部分DOS應(yīng)用程序可以在Windows操作系統(tǒng)中正確運(yùn)行(16)下列敘述中正確的是A)C語(yǔ)言編譯時(shí)不檢查語(yǔ)法B)C語(yǔ)言的子程序有過(guò)程與函數(shù)兩種C)C語(yǔ)言的函數(shù)可以嵌套定義D)C語(yǔ)言所有函數(shù)都是外部函數(shù)(17)以下所列的C語(yǔ)言常量中,錯(cuò)誤的是A)0xFFB)1.2e0.5C)2LD)'\72'(18)下列選項(xiàng)中,合法的C語(yǔ)言關(guān)鍵字是A)VARB)cherC)integerD)default(19)以下變量x.、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子的C語(yǔ)言表達(dá)式是A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z(20)若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是A)-3B)9C)-12D)6(21)設(shè)x、y、t均為int型變量,則執(zhí)行語(yǔ)句:x=y=3;t=++x||++y;后,y的值為A)不定值B)4C)3D)1(22)若變量已正確說(shuō)明為float類型,要通過(guò)語(yǔ)句scanf("%f%f%f",&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:A)10<回車>B)10.0,22.0,33.0<回車>22<回車>33<回車>C)10.0<回車>D)1022<回車>22.033.0<回車>33<回車>(23)若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是A)11B)10C)9D)8Main0{intn;scanf("%d",&n);if(n++<10)printf("%d\n",n);elseprintf("%d\n",n--);}(24)若a、b、c1、c2、x、y、均是整型變量,正確的switch語(yǔ)句是A)swich(a+b);B)switch(a*a+b*b){case1:y=a+b;break;{case3:case0:y=a-b;break;case1:y=a+b;break;}case3:y=b-a,break;}C)switchaD)switch(a-b){casec1:y=a-b;break{default:y=a*b;breakcasec2:x=a*d;breakcase3:case4:x=a+b;breakdefault:x=a+b;case10:case11:y=a-b;break;}}(25)有以下程序段/r/k=0while(k=1)k++;while循環(huán)執(zhí)行的次數(shù)是A)無(wú)限次B)有語(yǔ)法錯(cuò),不能執(zhí)行C)一次也不執(zhí)行D)執(zhí)行1次(26)以下程序執(zhí)行后sum的值是A)15B)14C)不確定D)0min(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}(27)有以下程序段/r/x=3do{printf("%d",x-=2);}while(!(--x));其輸出結(jié)果是A)1B)30C)1-2D)死循環(huán)(28)若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是A)'a'<=c<='z'B)(c>='a')||(c<='z')C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')(29)以下所列的各函數(shù)首部中,正確的是A)voidplay(var:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)Subplay(aasinteger,basinteger)(30)以下程序的輸出結(jié)果是A)0B)29C)31D)無(wú)定值fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}(31)下列程序段的輸出結(jié)果是A)2143B)1212C)1234D)2112voidfun(int*x,int*y){printf("%d%d",*x,*y);*x=3;*y=4;}main(){intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}(32)下列程序的輸出結(jié)果是A)非法B)a[4]的地址C)5D)3main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}(33)下列程序的運(yùn)行結(jié)果是A)63B)36C)編譯出錯(cuò)D)00voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}(34)下面程序的輸出結(jié)果是A)0B)1C)10D)9main(){inta[]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}(35)當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是A)數(shù)組的長(zhǎng)度B)數(shù)組的首地址C)數(shù)組每一個(gè)元素的地址D)數(shù)組每個(gè)元素中的值(36)設(shè)有以下說(shuō)明語(yǔ)句structex{intx;floaty;charz;}example;則下面的敘述中不正確的是A)struct結(jié)構(gòu)體類型的關(guān)鍵字B)example是結(jié)構(gòu)體類型名C)x,y,z都是結(jié)構(gòu)體成員名D)structex是結(jié)構(gòu)體類型(37)以下只有在使用時(shí)才為該類型變量分配內(nèi)存的存儲(chǔ)類說(shuō)明是A)auto與staticB)auto與registerC)register與staticD)extern與register(38)若fp是指向某文件的指針,且已讀到文件末尾,則庫(kù)函數(shù)feof(fp)的返回值是A)EOFB)-1C)非零值D)NULL(39)以下程序的輸出結(jié)果是A)20B)21C)22D)23main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}(40)以下程序的輸出結(jié)果是A)1,5,9B)1,4,7C)3,5,7D)3,6,9main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);}(41)以下程序的輸出結(jié)果是A)18B)19C)20D)21main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);}(42)以下程序的輸出結(jié)果是A)ABCDB)ABCDC)EFGD)EFGHFGHEFGJKIJKLKLIJOMmain(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",w[k]);}(43)當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)果是A)ABC6789B)ABC67C)12345ABC6D)ABC456789#include"stdio.h"#include"string.h"main(){charss[10]="1,2,3,4,5";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}(44)假定以下程序經(jīng)編譯與連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:PROGABCDEFGHIJKL<回車>,則輸出結(jié)果為A)ABCDEFGB)IJHLC)ABCDEFGHIJKLD)IJKLABCDEFGHmain(intargc,char*argv[])){while(--argc>0)printf("%s",argv[argc]);printf("\n");}(45)以下程序的輸出結(jié)果是A)1B)2C)3D)4longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%ld\n",fun(3));}(46)以下程序的輸出結(jié)果是A)16B)2C)9D)1#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}(47)若定義了以下函數(shù):voidf(……){……*p=(double*)malloc(10*sizeof(double));……}p是該函數(shù)的形參,要求通過(guò)p把動(dòng)態(tài)分配存儲(chǔ)單元的地址傳回主調(diào)函數(shù),則形參p的正確定義應(yīng)當(dāng)是A)double*pB)float**pC)double**pD)float*p(48)以下程序的輸出是A)10B)11C)51D)60structst{intx;int*y;}*p;/r/dt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){p=aa;printf("%d\n",++(p->x));}(49)假定建立了以下鏈表結(jié)構(gòu),指針p、q分別指向如圖所示的結(jié)點(diǎn),則以下可以將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是A)free(q);p->next=q->next;B)(*p).next=(*q).next;free(q);C)q=(*q).next;(*p).next=q;free(q);D)q=q->next;p->next=q;p=p->next;free(p);(50)以下程序的輸出結(jié)果是A)0B)1C)2D)3main(){intx=0.5;charz='a';printf("%d\n",(x&1)&&(z<'z'));}二、填空題(每空2分,共40分)請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】至【20】序號(hào)的橫線上,答在試卷上不得分。(1)計(jì)算機(jī)機(jī)領(lǐng)域中,通常用英文單詞"Byte"表示【1】。(2)在DOS環(huán)境下,自動(dòng)批處理的文件名為【2】。(3)要將當(dāng)前盤當(dāng)前目錄下所有擴(kuò)展名為.TXT的文件內(nèi)容在打印機(jī)上打印輸出,應(yīng)使用的單條DOS內(nèi)部命令為【3】。(4)在Windows環(huán)境下,可以利用單擊、雙擊、拖動(dòng)這三種鼠標(biāo)操作之一的【4】操作實(shí)現(xiàn)窗口的移動(dòng)。(5)在Windows環(huán)境下,可以將窗口最小化為【5】。(6)以下程序的輸出結(jié)果是【6】main(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);}(7)下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁?。。main(){inta=9,b=2;floatx=【7】,y=1.1,z;z=a/2+b*x/y+1/2;printf("%5.2f\n",z);}(8)用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁?。st=(char*)【8】;(9)下列程序段的輸出結(jié)果是【9】。main(){charb[]="Hello,you";b[5]=0;printf("%s\n",b);}(10)下列程序段的輸出結(jié)果是【10】。/r/n='c';switch(n++){default:printf("error");break;case'a':case'A':case'b':case'B':printf("good");break;case'c':case'C':printf("pass");case'd':case'D':printf("warn");}(11)以下程序通過(guò)函數(shù)指針p調(diào)用函數(shù)fun,請(qǐng)?jiān)谔羁諜趦?nèi),寫出定義變量p的語(yǔ)句。voidfun(int*x,int*y){……}main(){inta=10,b=20;【11】;/定義變p*/p=fun;p(&a,&b);……}(12)下列程序的輸出結(jié)果是【12】。voidfun(int*n){while((*n)--);printf("%d",++(*n));}main(){inta=100;fun(&a);}(13)以下程序的輸出結(jié)果是【13】。main(){intarr[]={30,25,20,15,10,5},*p=arr;p++;printf("%d\n",*(p+3));}(14)以下程序用來(lái)輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡tructst{charname[20];doublescore;};main(){structstex;printf("exsize:%d\n",sizeof(【14】));}(15)下面程序把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個(gè)名為bi.dat的新文件中。請(qǐng)?zhí)羁铡?include"stdio.h"FILE*fp;{charch;if((fp=fopen(【15】))==NULL)exit(0);while((ch=getchar())!='@')fputc(ch,fp);fclose(fp);}(16)若變量n中的值為24,則prnt函數(shù)共輸出【16】行,最后一行有【17】個(gè)數(shù)。voidprnt(intn,intaa[]){inti;for(i=1;i<=n;i++){printf("%6d",aa[i]);if(!(i%5))printf("\n");}printf("\n");}(17)以下程序中,主函數(shù)調(diào)用了LineMax函數(shù),實(shí)現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值。請(qǐng)?zhí)羁铡?defineN3#defineM4voidLineMax(intx[N][M]){inti,j,p;for(i=0;i{p=0;for(j=1;jif(x[i][p]printf("Themaxvalueinline%dis%d\n",i,【19】);}}main(){intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};【20】}一.選擇題:1.一個(gè)C語(yǔ)言程序的執(zhí)行是從a。a)第一個(gè)函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束.b)main函數(shù)開始,直到main函數(shù)結(jié)束。c)第一個(gè)語(yǔ)句開始,直到最后一個(gè)語(yǔ)句結(jié)束。d)main函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束。2.運(yùn)算表達(dá)式!(5<9)||(6>10)的結(jié)果為(b)A)1B)0C)12D)103.設(shè)n=3;則n++的結(jié)果是(b)A)2B)3C)4D)54.已知字母A的ASCII碼是65,以下程序的執(zhí)行結(jié)果是(d)main(){charc1=’A’,c2=’Y’;printf(“%d,%d\n”,c1,c2);}A)A,YB)65,65C)65,90D)65,895.設(shè)x=2,表達(dá)式x*=3+2的結(jié)果x為(b)A)5B)10C)6D)46.C語(yǔ)言中規(guī)定函數(shù)的返回值的類型由(d)A)return語(yǔ)句中的表達(dá)式類型決定B)調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型所決定C)調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定D)在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定7.設(shè)有說(shuō)明語(yǔ)句:inta=1,b=0;則執(zhí)行以下語(yǔ)句后輸出為:(b)switch(a){case1:switch(b){case0:printf(“**0**”);break;case1:printf(“**1**”).break;}case2:printf(“**2**”);break;}A)**0**B)**0****2**C)**0****1****2**D)有錯(cuò)8.選擇下列程序的運(yùn)行結(jié)果dmain(){intk=4,m=1,p;p=func(k,m;p=func(k,m);printf(“%d”,p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A)14B)15C)16D)17.若有以下說(shuō)明與語(yǔ)句:dstructworker{/r/no;char*name;}work,*p=&work;則以下引用方法不正確的是A)work.noB)(*p).noC)p->noD)work->no10.?dāng)?shù)組
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單人住宿改造方案(3篇)
- 公司疫情防御管理制度
- 廠內(nèi)特種機(jī)械管理制度
- 工廠改造防塵方案(3篇)
- 推銷計(jì)劃方案文案(3篇)
- 工地現(xiàn)場(chǎng)垃圾管理制度
- 華為軟件資產(chǎn)管理制度
- DB62T 4316-2021 岷山貓尾草規(guī)范
- DB62T 4462-2021 小麥品種 蘭天33號(hào)
- 小型活動(dòng)安保方案(3篇)
- DB3709-T 007-2022醫(yī)養(yǎng)結(jié)合機(jī)構(gòu)老年人健康檔案管理規(guī)范
- DBJ53T-19-2007加芯攪拌樁技術(shù)規(guī)程
- (新版)舟艇駕駛理論考試題庫(kù)500題(單選、判斷題)
- 華北理工大學(xué)藥物分析教案
- (高職)統(tǒng)計(jì)學(xué)原理(第七版)電子課件教學(xué)PPT(完整版)
- 安徽省2022年中考地理真題試卷(圖片版含答案)
- 林地征占用自查報(bào)告
- 感悟親情作文指導(dǎo)
- 幼兒園辦園標(biāo)準(zhǔn)
- DLT 596-2021 電力設(shè)備預(yù)防性試驗(yàn)規(guī)程
- 無(wú)機(jī)化學(xué)第4版下冊(cè)(吉大宋天佑)2019
評(píng)論
0/150
提交評(píng)論