C語言試題庫完整版_第1頁
C語言試題庫完整版_第2頁
C語言試題庫完整版_第3頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言試題庫一、單項(xiàng)選擇第一章C語言概述一個(gè)C程序的執(zhí)行是從A、本程序的MAIN函數(shù)開始,到MAIN函數(shù)結(jié)束。B、本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束。C、本程序的MAIN函數(shù)開始,到本程序的最后一個(gè)函數(shù)結(jié)束。D、本程序文件的第一個(gè)函數(shù)開始,到本程序的MAIN函數(shù)結(jié)束。以下敘述正確的是A、在C程序中,MAIN函數(shù)必須位于程序的最前面。B、C程序的每行中只能寫一條語句。C、C語言本身沒有輸入輸出語句。D、在對一個(gè)C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤。(1) C語言規(guī)定,在一個(gè)源程序中,MAIN主函數(shù)的位置是在:A、必須在最前面。B、必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C、

2、可以在任意位置。D、必須在最后面(2) 一個(gè)C程序是由:A、一個(gè)主程序和若干子程序組成B、函數(shù)組成C、若干過程組成D、若干子程序組成(3) 以下敘述不正確的是:A、一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B、一個(gè)C源程序必須包含一個(gè)MAIN函數(shù)C、C程序的基本組成單位是函數(shù)D、在C程序中,注釋說明只能位于一條語句的后面第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(1)若x,i,j,k都是int型變量,則計(jì)算下面表達(dá)式后,x的值為x=(i=4,j=16,k=32)A、4B、16C、32D、52(4) 下列四組選項(xiàng)中,均不是C語言鍵字的選項(xiàng)是A、define,IF,typeB、getc,char,printfC、in

3、clude,scanf,caseE、if,struct,type(3)下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是A、A,P_0,doB、float,1a0,_AC、b-a,goto,intD、_123,temp,INT若有代數(shù)式3ae/bc,則正確的C語言表達(dá)式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3已知各變量的類型說明如下:intk,a,b;unsingedlongw=5;doublex=1.42;則以下不符合C語言語法的表達(dá)式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章簡

4、單C程序設(shè)計(jì)putchar函數(shù)可以向終端輸出一個(gè)A、整型變量表達(dá)式值B、實(shí)型變量值C、字符串D、字符或字符型變量值若x,y均定義為int型,z定義為double型,以下合法的scanf函數(shù)調(diào)用語句是A、scanf("%d%lx,%leT,&x,&y,&z);B、scanf(“2d*%d%f,&x,&y,&z);C、scanf("%x%*d%b,&x,&y,&z);D、scanf("%x%o%6.2f,&x,&y,&z);當(dāng)輸入數(shù)據(jù)的形式為:25,13,10回車時(shí),以下程

5、序的輸出結(jié)果為main()intx,y,z;scanf("%d%d%'d,&x,&y,&z);printf(“x+y+z=%d,x+y+z);A、x+y+z=48B、x+y+z=35C、x+z=35D、不確定值以下能正確的定義整型變量a,b和c,并對它們賦初值為5的語句是A、inta=b=c=5;B、inta,b,c=5;C、a=5,b=5,c=5;D、a=b=c=5;若有以下定義,則正確的賦值語句是inta,b;floatx;A、a=1,b=2;B、b+;C、a=b=5;D、b=int(x);第四章選擇結(jié)構(gòu)程序設(shè)計(jì)能正確表示“當(dāng)x的值在1,10和20

6、0,210的范圍為真,否則為假”的表達(dá)式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)(x<=10)(x.>=200)(x<=210)C、(x>=1)&&(x<=10)(x.>=200)&&(x<=210)D、(x>=1)(x<=10)&&(x.>=200)(x<=210)(1) 以下程序的運(yùn)行結(jié)果是#include"stdio.h”main()i

7、nta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d,a,b);A、6,1B、2,1C、6,0D、2,0(2) 請閱讀以下程序:main()inta=5,b=0,c=0;if(a+b+c)printf(n"*)*elseprintf("$r$);以上程序。B) A)有語法錯(cuò)誤不能通過編譯可以通過編譯但不能直接通過連接輸出*輸出$(3) 以下程序的運(yùn)行結(jié)果是。main()(intm=5;if(m+>5)printf(#'%血);elseprintf("r%d,);A) 4567為了避

8、免在嵌套的條件語句中if-else中產(chǎn)生二義性,c語言規(guī)定:else子句總是與相配對。(1) 縮排位置相同的if其之前最近的if其之后最近的if同一行上的if第五章循環(huán)控制設(shè)有程序段intk=10while(k=0)k=k-1則下面描敘正確的是。A) while(k=0)k=k-1;循環(huán)是無限循環(huán)循環(huán)體語句一次也不執(zhí)行循環(huán)體語句執(zhí)行一次(2) 下面程序段的運(yùn)行結(jié)果是。A) intn=0;while(n+<=2);printf("d',n);234有語法錯(cuò)(3) C語言中while和do-while循環(huán)的主要區(qū)別是。(4) do-while的循環(huán)體至少無條件執(zhí)行一次whi

9、le的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)以下能正確計(jì)算1*2*3*-*10的程序段是。A) do(i=1;s=1;s=s*i;i+;while(I<=10);do(i=1;s=0;s=s*i;i+;while(I<=10);i=1;s=1;B) do(s=s*i;i+;while(I<=10);i=1;s=0;do(s=s*i;i+;while(I<=10);第六章數(shù)組A) 在c語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是整型常量整型表達(dá)式整型常量或整型表達(dá)式任何類型的表達(dá)式

10、(1) 以下能對二維數(shù)組a進(jìn)行正確初始化的語句是。A) inta2=1,0,1,5,2,3,;inta3=1,2,3,4,5,6;inta24=1,2,3,4,5,6;inta3=1,0,1,1,1;)(2) 若有說明:inta34=0;則下面正確的敘述是。A) 只有元素a00可得到初值0B) 此說明語句不正確C) 數(shù)組a中各元素都可得到初值,但其值不一定為0D) 數(shù)組a中每個(gè)元素均可得到初值0(3) 下面程序(每行程序前面的數(shù)字表示行號(hào))。1 main()floata10=0;intifor(i=0;i<3;i+)scanf("%d',&ai;for(i=1;

11、i<10;i+)a0=a0+ai;printf("n%f,a0);A) 沒有錯(cuò)誤B) 第3行有錯(cuò)誤C) 第5行有錯(cuò)誤D) 第7行有錯(cuò)誤(4) 若二維數(shù)組a有m列,則計(jì)算機(jī)一元素aij在數(shù)組中位置的公式為。(假設(shè)a00位于數(shù)組的第一個(gè)位置上。)A) i*m+jB) j*m+iC) i*m+j-1i*m+j+1第七章函數(shù)(1) 以下正確的函數(shù)定義形式是。(2) doublefun(intx,inty)doublefun(intx;inty)doublefun(intx,inty)doublefun(intx,y);以下正確的函數(shù)形式是。A) doublefun(intx,inty)

12、B) z=x+y;returnz;fun(intx,y)intz;C) returnz;fun(x,y)intx,y;doublez;D) z=x+y;returnz;doublefun(intx,inty)doublez;(3) z=x+y;returnz;C語言規(guī)定,簡單變量做實(shí)參時(shí),它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是地址傳遞單向值傳遞由實(shí)參傳給形參,再由形參傳回給實(shí)參傳遞方式C語言允許函數(shù)值型缺省定義,此時(shí)該函數(shù)值隱含的類型是float型int型long型double型下面函數(shù)調(diào)用語句含有實(shí)參的個(gè)數(shù)為。func(exp1,exp2),(exp3,exp4,exp5);1245第八章編譯預(yù)處

13、理命令(1) 請讀程序:#defineADD(x)x+xmain()intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf("sum=%cf,sum);上面程序的運(yùn)行結(jié)果是。(2) sum=9sum=10sum=12sum=18以下程序的運(yùn)行結(jié)果是。#defineMIN(x,y)(x)<(y)?(x)+(y)main()intI=10,j=15,k;k=10*MIN(I,j);printf("r%d,k);1015100150在宏定義#definePI3.14159中,用宏名PI代替一個(gè)常量單精度數(shù)雙精度數(shù)字符串(4)若有宏定義如下:#defi

14、neX5#defineYX+1#defineZY*x/2則執(zhí)行以下printf語句后,輸出結(jié)果是。A) inta;a=Y;printf("%d,Z);printf(a%)d-a);7B)12C)12D)7(5) 6655若有以下宏定義:#defineN2#defineY(n)(N+1)*n)則執(zhí)行語句z=2*(N+Y(5);后的結(jié)果是語句有錯(cuò)誤z=34z=70z無定值第九章指針以下程有錯(cuò)誤,錯(cuò)誤原因是main()int*p,I;char*q,ch;P=&I;q=&ch;*p=40;*p=*q;p和q的類型不一致,不能執(zhí)行*P=*Q;語句P中存放的是地址值,因此不能執(zhí)行

15、*P=40;語句Q沒有指向具體的存儲(chǔ)單元,所以*Q沒有實(shí)際意義Q雖然指向了具體的存儲(chǔ)單元,但該單元中沒有確定值,所以不能執(zhí)行*P=*Q;語句(1) 已有定義intk=2;int*ptr1,*ptr2;且ptrl和ptr2均已指向變量K,下面不能正確執(zhí)行的賦值語句是.(2) k=*ptr1+*ptr2;B)ptr2=K;C)ptr1=ptr2;D)k=*ptr1*(*ptr2);變量的指針,其含義是指該變量的.A) 值B)地址C)名D)一個(gè)標(biāo)志(3) 若有語句int*point,a=4;和ponit=&a;下面均代表地址的一組選項(xiàng)是,A) a,point,*&aB) &*

16、a,&a,*pointC) *&point,*point,&a(4) &a,&*point,point下面能正確進(jìn)行字符串賦值操作的是A) chars5="ABCDE;B) chars5='A','B','C','D','E'C) char*S;s=”ABCDE;(5) char*S;scanf("%s,s);若有以下定義,則對A數(shù)組元素的正確引用是.A) *&a5B) *a+2C) *(P+5)*(a+2)若有以下定義,則對a數(shù)組元素地址的正確引

17、用是A)B)C)D)p+5*a+1&a+1&a0(8)若有定義:inta23;則對a數(shù)組的第I行第J列(假設(shè)I,J已正確說明并賦值)元素值的正確引用為.A) *(*(a+I)+J)B) (a+I)田C) *(a+I+j)*(a+I)+j(9)若有定義:inta23;則對a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素地址的正確引用為.A) *(ai+j)B) (a+i)C) *(a+j)ai+j(10)若有以下定義和語句,則對a數(shù)組元素地址的正確引用為Inta23,(*p)3P=a;A) *(p+2)B) p2C) p1+1(p+1)+2第十章結(jié)構(gòu)體與共用體(1) 以下對

18、結(jié)構(gòu)體類型變量的定義中不正確的是A) #defineSTUDENTstructstudentSTUDENTintnum;floatage;std1;B) structstudentintnum;floatage;std1;C) structintnum;floatage;std1;D) structintnum;floatage;student;structstudentstd1;(2) 設(shè)有以下語句structstuinta;floatb;stutype;則下面敘述正確的是.A) struct是結(jié)構(gòu)體類型的關(guān)鍵字B) structstu是用戶定義的結(jié)構(gòu)體類型C) stutype是用戶定義的結(jié)

19、構(gòu)體類型名D) a和b都是結(jié)構(gòu)體成員名(3) 設(shè)有以下定義:structskintn;floatx;data,*p;A) 若要使p指向data中的n域,正確的賦值語句是p=&data.n;*p=data.n;p=(structsk*)&data.n;p=(structsk*)data.n;(4) 設(shè)有以下語句:structst(intn;structst*next;staticstructsta3=5,&a1,7,&a2,9,0',*p;'p=&a0;則以下表達(dá)式的值為6的是.p+->np->n+(*p).n+p->n第

20、十一章位運(yùn)算以下運(yùn)算符中優(yōu)先級最低的是優(yōu)先級最高的是。(2) &&&|若有運(yùn)算符<<,sixeof,A,&=則它們按優(yōu)先級按由高到低的正確排列次序是sizeof,&=,<<,asizeof,<<,A,&=A,<<,sizeof,&=<<,A,&=,sizeof在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是。A) a%!(3) >在C語言中,要求運(yùn)算數(shù)必須是整型或字符型的運(yùn)算符是。A) &&&!(4) |sozeof(float)是。一種函數(shù)調(diào)用一

21、種不合法的表示形式一個(gè)整型表達(dá)式一個(gè)浮點(diǎn)表達(dá)式第十二章文件(!)系統(tǒng)的標(biāo)準(zhǔn)輸入文件是指。A) 鍵盤顯示器軟盤硬盤(2) 以下可作為函數(shù)fopen中第一個(gè)參數(shù)的正確格式是。A) c:usertext.txtc:usertext.txt"c:usertext.txt""c:usertext.txt"(3) 若執(zhí)行fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,貝炳數(shù)的返回值是.A) 地址值01EOF(4) 若要用fopen函數(shù)打開一個(gè)新的二進(jìn)制文件,該文件要既能讀又能寫,則文件方式字符串應(yīng)是。A) "ab+""wb+""rb+&q

22、uot;"ab"(5) 當(dāng)順利執(zhí)行了文件關(guān)閉操作時(shí),fclose函數(shù)的返回值是。-1TURE01二、填空第一章C語言概述(1) C源程序的基本單位是()(2) 一個(gè)C源程序至少應(yīng)包括一個(gè)()(3) 在一個(gè)C源程序中,注釋部分兩側(cè)的分界符分別為()和()(4) 在C語言中,輸入操作是由庫函數(shù)()完成的,輸出操作是由庫函數(shù)()完成的。第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式在C語言中(以16位機(jī)為例),一個(gè)char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個(gè)int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為()。(2) 在C語言中,實(shí)型變量分為兩種類型,它們是()和()。若a是int型變量,則計(jì)算表達(dá)式a=2

23、5/3%3后,a的值為()。(4) C語言中的標(biāo)識(shí)符只能由三種字符組成,它們是(),()和()表達(dá)式8/4*(int)2.5/(int)(1.25*3.7+2.3)值的數(shù)據(jù)類型為()。第三章簡單C程序設(shè)計(jì)(1) 以下程序的輸出結(jié)果是()。main()(intx=1,y=2;printf("x=%dy=%d*sum*=%d,x,y,x+y);printf("10squaredisr%d,10*10);(2) 以下程序的輸出結(jié)果是()。#include<studo.h>main()(inta=325;doublex=3.1415926;printf("a=

24、%+06dx=%+e,a,x,);假設(shè)變量a和b均為整型,以下語句可以下借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請?zhí)羁?。a+=();b=a-();a-=();(4)設(shè)x,y和z都是int型變量,m為long型變量,則在16位微型機(jī)上執(zhí)行下面的賦值語句后,x值為(),y值為(),z值為()。y=(x=32767,x=-1);z=m=0xFFFF(5)若x為int型變量,則執(zhí)行以下語句后x的值是()x=7;x+=x-=x+x;第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1) 當(dāng)a=3,b=2,c=1時(shí),表達(dá)式f=a>b>c的值是()。(2) 在C語言中表示邏輯“真”值用()。(3) 設(shè)x,y,z均為int型變

25、量,請寫出描述"x或y中有一個(gè)小于z”的表達(dá)式().(4) 當(dāng)m=2,n=1,a=1,b=2,c=3時(shí),執(zhí)行完d=(m=a!=b)&&(n=b>c)后;n的值為(),m的值為()。(5) 有inta=3,b=4,c=5;則表達(dá)式a|b+c&&b=c的值為()。(1) 第五章循環(huán)控制執(zhí)行下面程序段后,K值是()。K=1;n=263;(2) Do(k*=n%10;n/=10while(n);下面程序段中循環(huán)體的執(zhí)行次數(shù)是()。A=10;B=0;(3) Do(b+=2;a-=2+b;while(a>=0);下面程序段的運(yùn)行結(jié)果是()。X=2

26、9;(4) Do(printf("*");x-;while(!x=0);下面程序段的運(yùn)行結(jié)果是()。I=1;a=0;s=1;Do(a=a+s*i;s=-s;i+;while(i<=10)(5) Printf("a=%d,a");雞兔共有30只,腳共有90個(gè),下面程序段是計(jì)算雞兔各有多少只,請?zhí)羁铡or(x=1;x<=29;x+)y=30-x;if()printf("%d,n%d,x,y);第六章數(shù)組(1) 在C語言中,二維數(shù)組的定義方式為:類型說明符數(shù)組名()();(2) 在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是()。(3)

27、若有定義:doublex35;則x數(shù)組中行下標(biāo)的下限為(),列下標(biāo)的上限為()。若二維數(shù)組a有m列,則計(jì)算機(jī)任一元素ai田在數(shù)組中位置的公式為:().(假設(shè)a00位于數(shù)組的第一個(gè)位置上。)若有定義:inta34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是(),a21得到初值是()。(1) 第七章函數(shù)C語言規(guī)定,可執(zhí)行程序的開始執(zhí)行點(diǎn)是()。(2) 在C語言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是()和()。下面add函數(shù)的功能是求兩個(gè)參數(shù)的和,并將和值返回調(diào)用函數(shù)。函數(shù)中錯(cuò)誤的部分是();改正后為()。(3) Voidadd(floata,floatb)floatc;c=a+b

28、;returnc'以下程序的運(yùn)行結(jié)果是()。main()increment();increment();increment();increment();intx=0;x+=1;printf("d',x);以下Check函數(shù)的功能是對value中的值進(jìn)行四舍五入計(jì)算,若計(jì)算后的值與ponse值相等,則顯示W(wǎng)ELLDONE!",否則顯示計(jì)算后的值。已有函數(shù)調(diào)用語句Check(ponse,value);請?zhí)羁铡oidCheck(intponse,value)intval;val=();printf(計(jì)算后的值:d,val);if()printf("n”

29、);elseprintf)"n",val);第八章編譯預(yù)處理命令設(shè)有以下宏定義:#defineWIDTH80#defineLENGTHWIDTH+40則執(zhí)行賦值語句:v=LENGTH*20;(V為int型變量)后,v的值是()。設(shè)有以下宏定義:#defineWIDTH80#defineLENGTH(WIDTH+40)則執(zhí)行賦值語句:k=LENGTH*20;(K為int型變量)后,k的值是()。(1) 下面程序的運(yùn)行結(jié)果是()。#defineDOUBLE(r)r*rmain()intx=1,y=2,t;t=DOBLE(x+y);printf("r%d,t);(2)

30、下面程序的運(yùn)行結(jié)果是()。#defineMUL(z)(z)*(z)main()printf("i%d,MUL(1+2)+3);(3) 下面程序的運(yùn)行結(jié)果是()。#definePOWER(x)(x)*(x)main()intI=1;while(I<=4)printf(t”",3WER(I+);printf(n冰');第九章指針(1) 下面程序段的運(yùn)行結(jié)果是()chars80,*sp="HELLO!";sp=strcpy(s,sp);s0='h;puts(sp);(2) 下面程序段的運(yùn)行結(jié)果是()chara=”123456789”,*p

31、;intI=0;p=a;while(*p)if(I%2=0)p='*;p+;I+;puts(a);(3) 若有以下語句和定義:inta4=0,1,2,3,*p;p=&a1;則+(*p)的值是()(4) 若有定義:inta23=2,4,6,8,10,12;則(&a00+282+1的值是(),*(a1+2)的值是()。(1) 第十章結(jié)構(gòu)體與共用體以下程序用以輸出結(jié)構(gòu)體變量bt所占內(nèi)存單元的字節(jié)數(shù),請?jiān)?)內(nèi)填上適當(dāng)?shù)膬?nèi)容。StructpsdoubleI;chararr20;main()structpsbt;ptintf("btsize:%ic|();(2) 設(shè)有三

32、人的姓名和年齡存在結(jié)構(gòu)數(shù)組中,以下程序輸出三人中年齡居中者的姓名和年齡,請?jiān)?)內(nèi)填上正確的內(nèi)容。Staticstructmancharname20intage;person"liming",18,"wanghua”,19,"zhangping",20;main()inti,j,max,min;max=min=person0.age;for(i=1;i<3;i+)if(personi.age>max)();elseif(personi.age<min)();for(i=0;i<3;i+)if(personi.age!=m

33、ax()personi.age!=min)printf("%sr%d,,personi.age);break;若以定義:structnuminta;intb;floatf;n=1,3,5.0;structnum*pn=&n;則表達(dá)式pn->b/n.a*+pn->b的值是(),表達(dá)式(*pn).a+pn->f的值是()。(4)以下程序的功能是計(jì)算并打印復(fù)數(shù)的差。請?jiān)?)內(nèi)填入正確的內(nèi)容。Structcompfloatre;floatim;structcomp*m(x,y)structcomp*x,*y;();z=(structcomp*

34、)malloc(sizeof(structcomp);z->re=x->re-y->re;z->im=x->im-y->im;return();main()structcomp*t;structxompa,b;a. re=1;a.im=2;b. re=3;b.im=4;t=m();printf("z.re=%f,z.im=%f>re,t->ipt);(5) 以下程序的運(yùn)行結(jié)果是(structks(inta;int*b;s4,*p;main()(intn=1,i;printf(n"");for(i=0;i<4;i

35、+)(si.a=n;si.b=&si.a;n=n+2;P=&s0;P+;printf("%d,%'d,(+p)>a,(p+->a);第十一章位運(yùn)算(1)在C語言中,&運(yùn)算符作為單目運(yùn)算符時(shí)表示的是(的是()運(yùn)算。(2)與表達(dá)式a&=b等價(jià)的另一書寫形式是()。設(shè)有chara,b;若要通過a&b運(yùn)算屏蔽掉a中的其它位,則b的二進(jìn)制數(shù)是().(4)測試char型變量a第六位是否為1的表達(dá)式是()運(yùn)算;作為雙目運(yùn)算符時(shí)表示只保留第2和第8位(右起為第1位),)(設(shè)最右位是第一位)文件可以用(數(shù)據(jù)可以用(文件的存取是以()方式存取,

36、也可以用()方式存取。)和()兩種代碼形式存放。)為單位的,這種文件被稱作()文件。)個(gè)字符放到buf字符數(shù)組中。在C程序中,在C程序中,在C程序中,函數(shù)調(diào)用語句:fgets(buf,n,fp);從fp指向的文件中讀入(函數(shù)值為()。feof(fp)函數(shù)用來判斷文件是否結(jié)束,如果遇到文件結(jié)束,函數(shù)值為(),否則為()。(5)(5)設(shè)二進(jìn)制數(shù)x的值是11001101,若想通過x&y運(yùn)算使x中的低4位不變,高4位清零,則y的二進(jìn)制數(shù)為(第十二章文件(1)(2)(3)(4)三、判斷第一章C語言概述第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(1)C語言所提供的基本數(shù)據(jù)類型包括:整型、實(shí)型和字符型。(2)在

37、C程序中,逗號(hào)運(yùn)算符的優(yōu)先級最低。(3)當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對整型變量只能輸入整型數(shù)據(jù),對實(shí)型變量只能輸入實(shí)型數(shù)據(jù)。(4) C語言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成。(5) 在C語言中,char型的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是原碼形式。第三章簡單C程序設(shè)計(jì)(1)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf("%4.2f”,&f)(2)整型變量的輸出格式控制符只有%d一種。(3)putchar函數(shù)可以向終端輸出一個(gè)字符串。(4) pirntf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占5列,如果字符串長度大于5,則輸出按原字符長度從左向右

38、全部輸出。輸入項(xiàng)可以是一個(gè)實(shí)型常量,如scanf("f,2罰第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1)邏輯運(yùn)算符兩側(cè)的運(yùn)算對象可以是任何基本類型的數(shù)據(jù)。(2) C語言中只提供了三種邏輯運(yùn)算符:&&,|,和!。(3) 若a=6,b=4,c=3則表達(dá)式a&&b+c|b-c的值是0。(4) 關(guān)系運(yùn)算式的結(jié)果都是邏輯值。(5) 若a=1,b=2,則表達(dá)式a>b?a:b+1的值是3。第五章循環(huán)控制(1) 設(shè)有以下程序段:intx=0,s=0;while(!x!=0)s+=+x;printf("%d',s);則運(yùn)行該程序段后輸出為:0(2) for循環(huán)只

39、能應(yīng)用于循環(huán)次數(shù)已經(jīng)確定的情況。(3)goto語句只能用于退出多層循環(huán)。(4)switch語句中不能出現(xiàn)continue語句。(5)只能用continue語句終止本次循環(huán)。第六章數(shù)組(D兩個(gè)字符串中所包含的字符個(gè)數(shù)相同時(shí),才能比較字符串。(2) 字符數(shù)組可以存放字符串。(3) 不能用關(guān)系運(yùn)算符對字符數(shù)組中的字符串進(jìn)行比較。(4) 如果定義了一個(gè)指向數(shù)組的指針,則該指針可以相當(dāng)于數(shù)組名使用。(5) 如果沒有給一個(gè)整型數(shù)組的元素賦初值,則其元素的缺省初值全部為0。第七章函數(shù)(1) C語言中,用戶若需調(diào)用標(biāo)準(zhǔn)庫函數(shù),在調(diào)用前必須重新定義。(2) C語言中不允許用戶重新定義標(biāo)準(zhǔn)庫函數(shù)。(3) 在C程序

40、中,函數(shù)的定義和調(diào)用都不允許嵌套。(4) 如果用數(shù)組名作為函數(shù)調(diào)用的實(shí)際參數(shù),則傳遞給形參的是數(shù)組的首地址。(5) 形式能參數(shù)也是一種局部變量。第八章編譯預(yù)處理命令(1) 預(yù)處理命令行都必須以#號(hào)開始。(2) 宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間。(3)C程序在執(zhí)行過程中對預(yù)處理命令進(jìn)行處理。(4)宏名必須用大寫字母表示。include后的文件名用<>括起來時(shí),表示在(5)在文件包含預(yù)處理命令的使用形式中,當(dāng)#當(dāng)前目錄搜索被包含文件。第九章指針(1)若有定義:int(*p)4,貝U標(biāo)識(shí)符p表示的是一個(gè)指向整型變量的指針。(2)若有定義:int*p4,貝U標(biāo)識(shí)符p表示的是一個(gè)指針數(shù)組名

41、。(3)指針值就是地址值。(4)若有定義int(*p)(),指針p可以表示函數(shù)返回值的類型。(5)C語言允許main函數(shù)帶形參,但形參名只能是argv和arvc。第十章結(jié)構(gòu)體與共用體(1)當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配給它的內(nèi)存是各成員所需內(nèi)存量的總和。(2) C語言中,結(jié)構(gòu)體變量在程序執(zhí)行期間只有部分成員駐留在內(nèi)存中。(3) 一個(gè)共用體類型定義中不能出現(xiàn)結(jié)構(gòu)體類型的成員。(4) 用typedef只是將已存在的類型用一個(gè)新的標(biāo)識(shí)符來代表,而不能增加新類型。(5) 用typedef可以定義各種類型名,但不能用來定義變量。第十一章位運(yùn)算第十二章文件(1) 利用fseek函數(shù)可以實(shí)現(xiàn)文件的隨機(jī)讀寫

42、的操作。(2) 函數(shù)rewind的作用是使位置指針重新返回文件的開頭。(3) 在C程序中,文件可以用隨機(jī)讀寫的方式存取,也可以用順序讀寫的方式存取。(4) 函數(shù)ftell(fp)的作用是得到流式文件中的當(dāng)前位置。(5) fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開方式必須是只讀的。四、程序設(shè)計(jì)第一章C語言概述第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式第三章簡單C程序設(shè)計(jì)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1) 編程實(shí)現(xiàn):輸入一個(gè)整數(shù),判斷它能否被子3,5,7整除,并輸出以下信息之一:1) 能同時(shí)被3,5,7整除;能被其中兩數(shù)(要指出哪兩個(gè))整除;能被其中一個(gè)數(shù)(要指出哪一個(gè))整除;不能被3,5,7任一個(gè)

43、整除。(2) 用switch編程實(shí)現(xiàn):-1(x<0)y=0(x=0)1(x.0)第五章循環(huán)控制(1) 每個(gè)蘋果0.8元,第一天買2個(gè)蘋果,第二天開始,每天買前一天的倍,直至購買的蘋果個(gè)數(shù)達(dá)到不超過100的最大值。編寫程序求每天平均花多少錢?(2) 編寫程序,從鍵盤輸入6名學(xué)生的5門成績,分別統(tǒng)計(jì)出每個(gè)學(xué)生的平均成績。(1) 第六章數(shù)組從鍵盤輸入若干整數(shù)(數(shù)據(jù)個(gè)數(shù)應(yīng)少于50),其值在0至4的范圍內(nèi),用一1作為輸入結(jié)束的標(biāo)志。統(tǒng)計(jì)每個(gè)整數(shù)的個(gè)數(shù)。試編程。(2) 若有說明:inta23=1,2,3,4,5,6;現(xiàn)要將a的行和列的元素互換后存到另一個(gè)二維數(shù)組b中。試編程。(1) 第七章函數(shù)已有變

44、量定義和函數(shù)調(diào)用語句inta,b;b=sum(a);函數(shù)sum()用以求k,和數(shù)作為函數(shù)值返回。若a值為10,經(jīng)函數(shù)sum的計(jì)算后,b的值是55。請編寫sum函數(shù)。Sum(intn)(2) a是一個(gè)2*4的整型數(shù)組,且各元素均已賦值,函數(shù)max_value可求出其中的最大元素值max,并將此值返回主調(diào)函數(shù)。今有函數(shù)調(diào)用語句max=max_value(a);請編寫max_value函數(shù)。Max_value(intarr4)第八章編譯預(yù)處理命令(1) 輸入兩個(gè)整數(shù),求它相除的余數(shù)。用帶參的宏來編程實(shí)現(xiàn)。(2) 試用義一個(gè)帶參的宏swap(x,y),以實(shí)現(xiàn)兩個(gè)整數(shù)之間的交換,并利用它將一維數(shù)組a和b

45、的值進(jìn)行交換。第九章指針(1) 編一程序,將字符串computer賦給一個(gè)字符數(shù)組,然后從第一個(gè)字母開始間隔地輸出該串。請用指針完成。設(shè)有一數(shù)列,包含10個(gè)數(shù),已按升序排好?,F(xiàn)要求編一程序,它能夠把從指定位置開始的N個(gè)數(shù)按逆序重新排列并輸出新的完整數(shù)列。進(jìn)行逆序處理時(shí)要赤使用指針方法。試編程。(例如:原數(shù)列為2,4,6,8,10,12,14,16,18,20,若要求把從第4個(gè)數(shù)開始的5個(gè)數(shù)按逆序重新排列,則得到新數(shù)列為2,4,6,16,14,12,10,8,18,20。)第十章結(jié)構(gòu)體與共用體試?yán)弥赶蚪Y(jié)構(gòu)體的指針編制一程序,實(shí)現(xiàn)輸入三個(gè)學(xué)生的學(xué)號(hào)、數(shù)學(xué)期中和期末成績,然后計(jì)算其平均成績并輸出成

46、績表。(1) 請定義枚舉類型,用枚舉元素代表人民幣的面值。包括1,2,5分;1,2,5角;1,2,5,10,50,100元。第十一章位運(yùn)算(1) 請編程序:從終端讀入16進(jìn)制無符號(hào)整數(shù)M,調(diào)用函數(shù)rightrot將M中的原始數(shù)據(jù)循環(huán)右移N位。并輸出移位前后的內(nèi)容。請編寫函數(shù)getbits從一個(gè)16位的單元中取出以n1開始至n2結(jié)束的某幾位,起始位和結(jié)束位都從左向右計(jì)算。同時(shí)編寫主函數(shù)調(diào)用getbits進(jìn)行驗(yàn)證。第十二章文件(1)請編寫程序:從鍵盤輸入一個(gè)字符串,將其中的小寫字母全部轉(zhuǎn)換成大寫字母,輸出到磁盤文件"upper.txt"中保存。輸入的字符串以"!&qu

47、ot;結(jié)束。然后再將文件upper.txt中的內(nèi)容讀出顯示在屏幕上。(2)設(shè)文件student.dat中存放著一年級學(xué)生的基本情況,這些情況由以下結(jié)構(gòu)體來描述:strucstudent(longintnum;/*學(xué)號(hào)*/charname10;/*姓名*/intage;/*年齡*/charsex;/*性別*/charspeciality20;/*專業(yè)*/charaddr40;/*地址*/;請編寫程序,輸出學(xué)號(hào)在970101971035之間的學(xué)生學(xué)號(hào)、姓名、年齡和性別。五、參考答案一、名詞解釋二、單項(xiàng)選擇題第一章C語言概述(1) A(2) C(3) D(4) CB第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(1

48、) C(2) A(3) C(4) CA第三章簡單C程序設(shè)計(jì)(1) D(2) D(3) D(4) AB第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1) C(2) B(3) D(4) CB第五章循環(huán)控制CCAC(5)C第六章數(shù)組CBDCD第七章函數(shù)ADBBB第八章編譯預(yù)處理BBDDB第九章指針DBBDCDD(8)AD(10)C第十章結(jié)構(gòu)體與共用體C(5)D第十一章位運(yùn)算<1>C<2>BBBB(5)C第十二章文件A(2)BCD(5)C三、填空題第一章C語言概述函數(shù)主函數(shù)(或:main函數(shù))<1>/*<2>*/<1>scanf<2>printf第二章

49、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式<1>1<2>2<1>單精度型(或:float型)<2>雙精度型(或double型)<1>10<2>6<1>字母<2>數(shù)字<3>下劃線整型(或:int型)第三章簡單C程序設(shè)計(jì)x=1y=2*sum*=310Squaredis:100a=+00325-x=+3.14159e+00(此處-'“代表空格)<1>b<2>b<3>b<1>32766<2>-1<3>65535(5)-14第四章選擇結(jié)

50、構(gòu)程序設(shè)計(jì)(1)0非0的數(shù)字x<z|y<z<1>0<2>11第五章循環(huán)控制(1)363*a=-52*i+4*y=90第六章數(shù)組<1>常量表達(dá)式<2>常量表達(dá)式按行主順序存放<1>0<2>4i*m+j+1<1>0<2>6第七章函數(shù)(1)程序中的main()函數(shù)<1>函數(shù)說明部分<2>函數(shù)體<1>voidadd(floata,floatb)<2>floatadd(floata,floatb)111<1>(int)(value*10+

51、5)/10)<2>ponse=val第八章編譯預(yù)處理8802400512212第九章指針(1)hELLO!(2)*2*4*6*82<1>12<2>12第十章結(jié)構(gòu)體與共用體sizeof(structps)<2>min=personi.age<3>&&<2>z<3>&a,&b<1>max=personi.age<1>12<2>6.0<1>structcomp*z7,3第十一章位運(yùn)算<1>取地址<2>按位與a=a&

52、amp;b10000010a&040或a&0x20或a&32(5)00001111第十二章文件(1)<1>順序(或隨機(jī))<2>隨機(jī)(或順序)<2>ASCII<2>流式<2>buf的首地址<1>二進(jìn)制<1>字符<1>n-150*sizeof(structst)四、判斷第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(1)錯(cuò)(2)對(3)錯(cuò)(2) 對(5)錯(cuò)第三章簡單C程序設(shè)計(jì)(1)錯(cuò)(2)錯(cuò)(3)錯(cuò)(4)對(5)錯(cuò)第四章(1)對(2)對(3)錯(cuò)(4)對(5)對第五章(1)錯(cuò)(2)錯(cuò)(3)錯(cuò)(4)

53、錯(cuò)(5)對第六章數(shù)組(1)錯(cuò)(2)對(3)對(4)對(5)對第七章函數(shù)(2)錯(cuò)(3)錯(cuò)(4)對(5)對第八章編譯預(yù)處理命令(1)對(2)對(3)錯(cuò)(4)錯(cuò)(5)錯(cuò)第九章指針(1)錯(cuò)(2)對(3)對(4)錯(cuò)(5)錯(cuò)第十章結(jié)構(gòu)體與共用體(1)對(2)錯(cuò)(3)錯(cuò)(4)對(5)錯(cuò)第十二章文件(1)錯(cuò)(2)對(3)對(4)對(5)錯(cuò)五、編程題第一章C語言概述第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式第三章簡單C程序設(shè)計(jì)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1)main()(intx;scanf("%d',&x);if(x%3=0)&&(x%5=0)&&(x%7=0)pri

54、ntf("%dcanbedividedby3,5,7,x);elseif(x%3=0)&&(x%5=0)printf("%dcanbedividedby3;5,x);elseif(x%3=0)&&(x%7=0)printf("%dcanbedividedbyn,'7,x);elseif(x%5=0)&&(x%7=0)printf("dn”,x);elseif(x%3=0)n,x);elseif(x%5=0)printf"%dcanbedividedby"5,x);elseif(x

55、%7=0)n,x);elseprintf("%dcannotbedivided3,5'7x);(2)main()(floatx;inty;printf(ninputx:");scanf("%f",&x);switch(x<0)(case1;y=-1;break;case0;switch(x=0)(case1;y=0;break;default:y=1;printf(ny=%d”,y);第五章循環(huán)控制(1)#include<stdio.h>main()(intday=0,buy=2;floatsum=0.0,ave;do(

56、sum+=0.8*buy;day+;buy*=2;while(buy<=100);ave=sum/day;printf("%f,ave;(2)#include<stdio.h>main()(inti,j;float(i=1;i<=6;i+)(sum=0;for(j=1;j<=5;j+)(scanf(%f,&g);sum+=g;ave=sum5;printf("No.%dave=%5i2f,i,ave);第六章數(shù)組(1)#defineM50main()(intaM,c5,i,n=0,x;printf("Enter0or1or2o

57、r3or4,toendwithn");scanf("%d,&x);while(x!=-1)(if(x>=0&&x<=4)(anx;n+;for(i=o;i<=5;i+)ci=0;for(i=0;i<n;I+)cai+;printf("Theresultns:);for(i=;i<=4;i+)printf("%d:%)d,ci);printf(n"");(2)main()(inta54=(3,6,2,1,3,9,0,2,1,5,6,7,4,0,0,0,0;inti,j;for(i=0

58、;I<4;I+)for(j=0;j<4;j+)a4j+=aij;printf("Theresultiis:);for(i=0;i<4;i+)printf(“3d',a4i);第七章函數(shù)sum(intn)(inti,k=0;for(i=0;i<=n;i+)k+=i;returnk;max(intarr4)(intI,j,max;max=arr00;for(I=0;I<2;I+)for(j=o;j<4;j+)if(arrij>max)max=arrij;(1) return(max);第八章編譯預(yù)處理#defineMOD(a,b)(a%b

59、)main()(inta,b;printf("inputtwointegera,b:");scanf("%d,%d,&a,&b);printf("amodbisj%d,MOD(a,b)(2) #defineswap(x,y)(intt;t=x;x=y;y=t;main()(inti,a10,b10;for(i=0;I<10;i+)scanf("%d,&ai);for(i=0;i<10;i+)scanf("%d',&bi);for(i=o;i<10;i+)swap(ai,bi);for(i=0;i<10;i+)printf("%d',ai");printf(n"");for(i=0;i<10;i+)printf("d',bi);第九章指針(1)#includemain()(staticcharx=acomputer";char*p;for9p=x;p<x+7;p+=2)putchar(*p);printf(n"");(2)#include<stdio.h>main()(intb10,posit

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論