C語言期中測試模擬題_第1頁
C語言期中測試模擬題_第2頁
C語言期中測試模擬題_第3頁
C語言期中測試模擬題_第4頁
C語言期中測試模擬題_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

一、選擇題1.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是()。A、它們的運(yùn)算對象可以是int型變量,但不能是double型變量和float型變量B、它們的運(yùn)算對象可以是任何變量和常量C、它們的運(yùn)算對象可以是char型變量和int型變量,但不能是float型變量D、它們的運(yùn)算對象可以是char型變量、int型變量和float型變量2.執(zhí)行下列程序后,其輸出結(jié)果是()。main(){inta=9;a+=a-=a+a;printf("%d\n",a);}A、18B、-9C、9D、-183.打印語句printf("sTUDEND\bT\rS");在屏幕上正確的輸出形式是().A、sTUDENDSB、TUDENTSC、STUDENTD、sTUDENTS4.已知鍵盤輸入a=4,b=3,下面程序輸出的結(jié)果是().main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A、9B、13C、16D、155.若給定條件表達(dá)式(m)?(a++):(a--),則其中表達(dá)式m()。A、和(m==0)等價B、和(m!=0)等價C、和(m==1)等價D、和(m!=1)等價6.執(zhí)行語句for(i=1;i++<4;);后變量i的值是()。A、3B、5C、4D、不定7.以下描述中正確的是()。A、由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句B、do-while循環(huán)中,根據(jù)情況可以省略whileC、在do-while循環(huán)體中,必須有能使循環(huán)退出的操作。D、do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號8.inta[10];合法的數(shù)組元素的最小下標(biāo)值為()。A、10B、9C、1D、09.以下正確的函數(shù)定義是().A、doublefun(intx,inty){z=x+y;returnz;}B、fun(x,y){intx,y;doublez;z=x/y;returnz;}C、floatf(intx,inty){floatz;z=x/y;returnz;}D、fun(intx,y){intz;returnz;}10.chara1[]="abc",a2[80]="1234";將a1串連接到a2串后面的語句是()。A、strcat(a2,a1);B、strcat(a1,a2);C、strcpy(a1,a2);D、strcpy(a2,a1);11.若有chars1[]="abc",s2[20],*t=s2;gets(t);則下列語句中能夠?qū)崿F(xiàn)當(dāng)字符串s1大于字符串s2時,輸出s2的語句是()。A、if(strcmp(s2,s1)>0)puts(s2);B、if(strcmp(s2,t)>0)puts(s2);C、if(strcmp(s1,t)>0)puts(s2);D、if(strcmp(s1,s1)>0)puts(s2);12.已知有宏定義#defineSQR(a)2*a*a,則SQR(3+4)的值為().A、22B、32C、98D、1813.若有說明:int*p,m=5,n;以下正確的程序段是()。A、scanf("%d",&n);*p=n;B、p=&n;scanf("%d",*p)C、p=&n;scanf("%d",&p);D、p=&n;scanf("%d",p);14.charh,*s=&h;可將字符H通過指針存入變量h中的語句是()。A、*s='H';B、s='H'C、*s=H;D、s=H;15.定義結(jié)構(gòu)體的關(guān)鍵字是()。A、structB、typedefC、enumD、unionDDCCBBCDCACADAA二、判斷題1.若a=3,b=2,c=1則關(guān)系表達(dá)式"(a>b)==c"的值為"真"。2.a=(b=4)+(c=6)是一個合法的賦值表達(dá)式。3.C語言程序中輸入一個中間帶有空格的字符串時,可以用scanf函數(shù).4.格式字符%e以指數(shù)形式輸出實數(shù)數(shù)字部分小數(shù)位數(shù)7位.5.設(shè)g=1,h=2,k=3,則邏輯表達(dá)式k+g||!h&&k-h的值為06.求解表達(dá)式max=(a>b)?a:b的步驟是,先求解條件表達(dá)式(a>b),再根據(jù)它的值將a或b賦給max.7.語句if(a>b)printf("%d",a);elseprintf("%d",b);可以用條件表達(dá)式a>b?a:b取代.8.break語句能夠終止當(dāng)前進(jìn)行的多層循環(huán).9.for循環(huán)的三個表達(dá)式都可以省略.10.for語句的循環(huán)體至少執(zhí)行一次.11.字符串"Dalian"在內(nèi)存中的存儲長度是7.12.定義intx[5],n;則x=x+n;或x++;都是正確的.13.若有定義inta[10];則for(i=0;i<=10;i++)a[i]=i;編譯時無語法錯誤.14.數(shù)組名作為函數(shù)調(diào)用時的實參,實際上傳遞給形參的是數(shù)組第一個元素的值.15.當(dāng)變量的存儲類型定義缺省時,系統(tǒng)默認(rèn)為變量的存儲類型為auto類型,分配在靜態(tài)區(qū).16.兩個字符串中的字符個數(shù)相同時才能進(jìn)行字符串大小的比較17.如果被包含文件中有全局靜態(tài)變量,它們在用#include命令的源文件中有效.18.假設(shè)有inta[10],*p;則p=&a[0]與p=a等價19.共用體變量中起作用的成員是最后一次存放的成員.20.下面的定義和語句是合法的:file*fp;fp=fopen("a.txt","r");對對錯錯錯對錯錯對錯錯錯對錯錯錯對對對錯三、填空題1.若有定義:inta=10,b=9,c=8;接著順序執(zhí)行下列語句后,變量c中的值是_____.c=(a-=(b-5));c=(a%11)+(b=3);2.下列語句輸出的結(jié)果是_____,inta=-1;printf("%x",a);(在vc環(huán)境下)3.設(shè)a=3,b=4,c=4,則表達(dá)式a+b>c&&b==c&&a||b+c&&b==c的值為_____.4.以下程序段要求從鍵盤輸入字符,當(dāng)輸入字母為'Y'時,執(zhí)行循環(huán)體,則下劃線處應(yīng)填寫_____.ch=getchar();while(ch____'Y')ch=getchar();5.staticinta[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值為_____.6.靜態(tài)變量和外部變量的初始化是在_____階段完成的,而自動變量的賦初值是在_____時進(jìn)行的.7.將函數(shù)func的入口地址賦給指針變量p的語句是_____.8.設(shè)有以下結(jié)構(gòu)類型說明和變量定義,則變量b在內(nèi)存所占字節(jié)數(shù)是_____。structstud{shortintage;charnum[3];floats[2];doubleave;}b,*p;1.92.ffffffff3.14.==5.66.運(yùn)行函數(shù)調(diào)用調(diào)用7.p=func;p=func8.21四、程序設(shè)計1./*------------------------------------------------【程序設(shè)計】--------------------------------------------------功能:能計算從1開始到n的自然數(shù)的和,n由鍵盤輸入,并在main()函數(shù)中輸出。------------------------------------------------*/#include"stdio.h"intfun(intn){/*********Begin**********//**********End**********/}main(){intm;voidTestFunc();printf("Enterm:");scanf("%d",&m);printf("\nTheresultis%d\n",fun(m));TestFunc();}voidTestFunc(){FILE*IN,*OUT;intt;into;intc;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFileError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFileError");}for(c=1;c<=5;c++){fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%d\n",o);}fclose(IN);fclose(OUT);}2./*------------------------------------------------【程序設(shè)計】--------------------------------------------------功能:調(diào)用函數(shù)fun判斷一個三位數(shù)是否"水仙花數(shù)"。在main函數(shù)中從鍵盤輸入一個三位數(shù),并輸出判斷結(jié)果。請編寫fun函數(shù)。說明:所謂"水仙花數(shù)"是指一3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個水仙花數(shù),因為153=1+125+27。------------------------------------------------*/#include"stdio.h"intfun(intn){/*********Begin**********//**********End**********/}TestFunc(){FILE*IN,*OUT;intiIN,i;intiOUT;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");}for(i=0;i<10;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}main(){intn,flag;scanf("%d",&n);flag=fun(n);if(flag)printf("%d是水仙花數(shù)\n",n);elseprintf("%d不是水仙花數(shù)\n",n);TestFunc();}答案1.intsum=0,i;for(i=1;i<=n;i++)sum=sum+i;return(sum);2.intbw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1;elsereturn0;五、程序改錯1./*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:有一數(shù)組內(nèi)放10個整數(shù),要求找出最小數(shù)和它的下標(biāo),然后把它和數(shù)組中最前面的元素即第一個數(shù)對換位置.------------------------------------------------------*/#include"stdio.h"main(){inti,a[10],min,k=0;printf("\npleaseinputarray10elements\n");for(i=0;i<10;i++)/***********ERROR***********/scanf("%d",a[i]);for(i=0;i<10;i++)printf("%d",a[i]);min=a[0];/***********ERROR***********/for(i=3;i<10;i++)/***********ERROR***********/if(a[i]>min){min=a[i];k=i;}/***********ERROR***********/a[k]=a[i];a[0]=min;printf("\naftereschange:\n");for(i=0;i<10;i++)printf("%d",a[i]);printf("\nk=%d\nmin=%d\n",k,min);}2./*------------------------------------------------------【程序改錯】--------------------------------------------------------功能:以下程序把兩個數(shù)按由大到小的順序輸出來.------------------------------------------------------*/#include"stdio.h"/***********ERROR***********/voidswap(int*p1,*p2){intp;p=*p1;*p1=*p2;*p2=p;}main(){inta,b,*p,*q;printf("inputa,b:");/***********ERROR***********/scanf("%d%d",a,b);p=&a;q=&b;if(a<b)swap(p,q);printf("a=%d,b=%d\n",a,b);/***********ERROR***********/printf("max=%d,min=%d\n",p,q);}答案1.改錯1.scanf("%d",&a[i]);改錯2.for(i=1;i<10;i++)for(i=0;i<10;i++)for(i=1;i<=9;i++)for(i=0;i<=9;i++)改錯3.if(a[i]<min)改錯4.a[k]=a[0];2.改錯1.swap(int*p1,int*p2)voidswap(int*p1,int*p2)改錯2.scanf("%d%d",&a,&b);改錯3.printf("max=%d,min=%d\n",*p,*q);printf("max=%d,min=%d\n",a,b);六、程序填空1./*-------------------------------------------------------【程序填空】---------------------------------------------------------題目:本程序的功能是輸

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論