C語言試題庫(完整版)資料_第1頁
C語言試題庫(完整版)資料_第2頁
C語言試題庫(完整版)資料_第3頁
C語言試題庫(完整版)資料_第4頁
C語言試題庫(完整版)資料_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、getc, char, printfC、include, scanf, caseE、 if, struct, type() 下面四個選項中,均是不合法的用戶標(biāo)識符的選項是 、,_,do 、float,1a0, _A、b-a, goto, intD、_123, temp, INT() 若有代數(shù)式ae/bc,則正確的語言表達(dá)式是 、a/b/c*e*3、3*a*e/bc、3*a*e/b*c、a*e/c/b*3(5) 已知各變量的類型說明如下:int k, a, b;unsinged long w=5;double x=1.42;則以下不符合語言語法的表達(dá)式是 、x%(-3)、w+=-2;、k=(a=

4、2,b=3,a+b)、a+=a-=(b=4)*(a=3)第三章 簡單C程序設(shè)計()putchar函數(shù)可以向終端輸出一個 、整型變量表達(dá)式值、實型變量值、字符串、字符或字符型變量值()若x,y均定義為int型,z定義為double 型,以下合法的scanf函數(shù)調(diào)用語句是 、scanf(“%d%lx,%le”,&x,&y,&z);、scanf(“%2d*%d%lf”,&x,&y,&z);、scanf(“%x%*d%o”,&x,&y,&z);、scanf(“%x%o%6.2f”,&x,&y,&z);(3)

5、當(dāng)輸入數(shù)據(jù)的形式為:,<回車>時,以下程序的輸出結(jié)果為 main()int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z);、x+y+z=48、x+y+z=35、x+z=35、不確定值(4) 以下能正確的定義整型變量a,b和c,并對它們賦初值為的語句是 、int a=b=c=5;、int a, b, c=5;、a=5, b=5, c=5;、a=b=c=5;(5) 若有以下定義,則正確的賦值語句是 int a,b; float x;、a=1, b=2;、b+;、a=b=5;、b=int(x)

6、;第四章 選擇結(jié)構(gòu)程序設(shè)計(1)能正確表示“當(dāng)x的值在1,10和200,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)(

7、2)以下程序的運行結(jié)果是 #include “stdio.h”main()int a,b,d=241; a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);A、6,1 B、2,1C、6,0D、2,0(3)請閱讀以下程序:main() int a=5 , b=0 , c=0; if (a+b+c) printf(“* * *n”); else printf(“$ $ $n”);以上程序 。A) 有語法錯誤不能通過編譯B) 可以通過編譯但不能直接通過連接C) 輸出* * *D) 輸出$ $ $(4)以下程序的運行結(jié)果是 。main()int m=5

8、;if(m+>5)printf(“%dn”,m);else printf(“%dn”,m);A) 4B) 5C) 6D) 7 () 為了避免在嵌套的條件語句中if-else中產(chǎn)生二義性,c語言規(guī)定:else子句總是與 相配對。A)縮排位置相同的ifB)其之前最近的ifC)其之后最近的ifD)同一行上的if第五章 循環(huán)控制(1)設(shè)有程序段 int k=10while (k=0) k=k-1則下面描敘正確的是 。A) while (k=0) k=k-1;B) 循環(huán)是無限循環(huán)C) 循環(huán)體語句一次也不執(zhí)行D) 循環(huán)體語句執(zhí)行一次(2)下面程序段的運行結(jié)果是 。int n=0;while(n+&l

9、t;=2); printf(“%d”,n);A) 2B) 3C) 4D) 有語法錯(3)C語言中while和do-while循環(huán)的主要區(qū)別是 。A) do-while的循環(huán)體至少無條件執(zhí)行一次B) while 的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格C) do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D) do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)(4)以下能正確計算1*2*3*10的程序段是 。A) do i=1;s=1;s=s*i;i+;while(I<=10);B) do i=1;s=0;s=s*i;i+;while(I<=10);C) i=1;s=1;do s=s*i;i+;

10、while(I<=10);D) i=1;s=0;do s=s*i;i+;while(I<=10);第六章 數(shù)組(1)在c語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是。A) 整型常量B) 整型表達(dá)式C) 整型常量或整型表達(dá)式D) 任何類型的表達(dá)式(2)以下能對二維數(shù)組a進(jìn)行正確初始化的語句是。A) int a2 =1,0,1,5,2,3,;B) int a 3=1,2,3,4,5,6;C) int a24=1,2,3,4,5,6;D) int a 3=1,0,1,1,1;)(3)若有說明:int a34=0;則下面正確的敘述是。A) 只有元素a00可得到初值0B) 此說明語句不

11、正確C) 數(shù)組a中各元素都可得到初值,但其值不一定為0D) 數(shù)組a中每個元素均可得到初值0(4)下面程序(每行程序前面的數(shù)字表示行號)。1 main()2 3 float a10=0;4 int i5 for(i=0;i<3;i+) scanf(“%d”,&ai;6 for(i=1;i<10;i+) a0=a0+ai;7 printf(“%fn”,a0);8 A) 沒有錯誤B) 第3行有錯誤C) 第5行有錯誤D) 第7行有錯誤(5)若二維數(shù)組a有m列,則計算機一元素aij在數(shù)組中位置的公式為。(假設(shè)a00位于數(shù)組的第一個位置上。)A) i*m+jB) j*m+iC) i*m

12、+j-1D) i*m+j+1第七章 函數(shù)(1)以下正確的函數(shù)定義形式是 。A)double fun(int x,int y)C) double fun(int x;int y)D) double fun(int x,int y)E) double fun(int x,y);(2) 以下正確的函數(shù)形式是 。A) double fun(int x,int y)z=x+y; return z;B) fun(int x,y)int z; return z;C) fun(x,y)int x,y; double z;z=x+y;return z;D) double fun(int x,int y)doub

13、le z; z=x+y;return z;(3) C語言規(guī)定,簡單變量做實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是A)地址傳遞B)單向值傳遞C)由實參傳給形參,再由形參傳回給實參D)傳遞方式(4)C語言允許函數(shù)值型缺省定義,此時該函數(shù)值隱含的類型是 。A)float型B)int型C)long型D)double型(5)下面函數(shù)調(diào)用語句含有實參的個數(shù)為 。 func(exp1,exp2),(exp3,exp4,exp5);A)1B)2C)4D)5第八章 編譯預(yù)處理命令(1)請讀程序:#define ADD(x) x+xmain()int m=1,n=2,k=3;int sum=ADD(m+n)*k;

14、printf(“sum=%d”,sum);上面程序的運行結(jié)果是 。A) sum=9B) sum=10C) sum=12D) sum=18(2) 以下程序的運行結(jié)果是 。#define MIN(x,y) (x)<(y)? (x)+(y)main()int I=10,j=15,k;k=10*MIN(I,j);printf(“%dn”,k);A)10 B)15 C)100D)150(3) 在宏定義#define PI 3.14159中,用宏名PI代替一個 。A) 常量B) 單精度數(shù)C) 雙精度數(shù)D) 字符串(4) 若有宏定義如下:#define X 5#define Y X+1#define

15、Z Y*x/2則執(zhí)行以下printf語句后,輸出結(jié)果是 。int a; a=Y;printf(“%dn”,Z);printf(“%dn”,-a);A)7 B)12 C)12 D)76 6 5 5(5) 若有以下宏定義:#define N 2#define Y(n) (N+1)*n)則執(zhí)行語句z=2*(N+Y(5);后的結(jié)果是 。A) 語句有錯誤B) z=34C) z=70D) z無定值第九章 指針(1) 以下程有錯誤,錯誤原因是main()int *p,I; char *q,ch;p=&I;q=&ch;*p=40;*p=*q;.A) p和q的類型不一致,不能執(zhí)行*P=*Q;語句

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

17、地址的一組選項是_.A) a,point,*&a B)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point(5)下面能正確進(jìn)行字符串賦值操作的是_.A) char s5=“ABCDE”;B) char s5=A,B,C,D,E;C) char *S; s=”ABCDE”;D) char *S; scanf(“%s”,s);(6) 若有以下定義,則對A數(shù)組元素的正確引用是_.A)*&a5 B)*a+2C)*(P+5)D)*(a+2)(7) 若有以下定義,則對a數(shù)組元素地址的正確引用是_

18、>A) p+5B) *a+1C) &a+1D) &a0(8) 若有定義:int a23;則對a數(shù)組的第I行第J列(假設(shè)I,J已正確說明并賦值)元素值的正確引用為_.A)*(*(a+I)+J)B)(a+I)jC)*(a+I+j)D)*(a+I)+j(9)若有定義:int a23;則對a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素地址的正確引用為_.A)*(ai+j)B)(a+i)C)*(a+j)E) ai+j(10)若有以下定義和語句,則對a數(shù)組元素地址的正確引用為_.Int a23,(*p)3P=a;A)*(p+2)B) p2C) p1+1D) (p+1)+2第十

19、章 結(jié)構(gòu)體與共用體(1) 以下對結(jié)構(gòu)體類型變量的定義中不正確的是_. A)#define STUDENT struct studentSTUDENTint num;float age;std1; B)struct studentint num; float age;std1; C)struct int num; float age; std1; D)structint num; float age;student;struct student std1;(2) 設(shè)有以下語句(3) struct stuint a; float b;stutype;則下面敘述正確的是_.A)struct是結(jié)構(gòu)體類

20、型的關(guān)鍵字B)struct stu是用戶定義的結(jié)構(gòu)體類型C)stutype是用戶定義的結(jié)構(gòu)體類型名D)a和b都是結(jié)構(gòu)體成員名(4) 設(shè)有以下定義:struct sk int n; float x; data,*p; 若要使p指向data中的n域,正確的賦值語句是_A) p=&data.n;B) *p=data.n;C) p=(struct sk *)&data.n;D) p=(struct sk *) data.n;(5) 設(shè)有以下語句:struct st int n;struct st *next; static struct st a3=5,&a1,7,&a

21、2,9,0,*p; p=&a0;則以下表達(dá)式的值為6的是_.A) p+->nB) p->n+C) (*p).n+D) +p->n第十一章 位運算(1)以下運算符中優(yōu)先級最低的是 優(yōu)先級最高的是 。A)&&B) &C) |D) |(2)若有運算符<<,sixeof,&= 則它們按優(yōu)先級按由高到低的正確排列次序是 。A) sizeof,&=,<<,B) sizeof,<<,&=C) ,<<,sizeof,&=D) <<,&=,sizeof(3)在C語

22、言中,要求運算數(shù)必須是整型的運算符是 。A)B)%C)!D)>(4) 在C語言中,要求運算數(shù)必須是整型或字符型的運算符是 。A) &&B) &C) !D) |(5)sozeof(float)是 。A)一種函數(shù)調(diào)用B)一種不合法的表示形式C)一個整型表達(dá)式D)一個浮點表達(dá)式第十二章 文件(!)系統(tǒng)的標(biāo)準(zhǔn)輸入文件是指 。A)鍵盤B)顯示器C)軟盤D)硬盤(2)以下可作為函數(shù)fopen中第一個參數(shù)的正確格式是 。A) c:usertext.txtB) c:usertext.txtC) c:usertext.txtD) c:usertext.txt()若執(zhí)行fopen函數(shù)

23、時發(fā)生錯誤,則函數(shù)的返回值是)地址值)()若要用fopen函數(shù)打開一個新的二進(jìn)制文件,該文件要既能讀又能寫,則文件方式字符串應(yīng)是。A)ab+B) wb+C) rb+D)ab(5)當(dāng)順利執(zhí)行了文件關(guān)閉操作時,fclose函數(shù)的返回值是。A)-1B)TUREC)0D)1二、 填空第一章 C語言概述(1) C源程序的基本單位是( )(2) 一個C源程序至少應(yīng)包括一個( )(3) 在一個C源程序中,注釋部分兩側(cè)的分界符分別為( )和( )(4) 在C語言中,輸入操作是由庫函數(shù)( )完成的,輸出操作是由庫函數(shù)( )完成的。第二章 數(shù)據(jù)類型、運算符與表達(dá)式(1) 在語言中(以位機為例),一個char型數(shù)據(jù)

24、在內(nèi)存中所占的字節(jié)數(shù)為( ),一個int 型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為( )。(2) 在語言中,實型變量分為兩種類型,它們是( )和( )。(3) 若a是int型變量,則計算表達(dá)式a=25/3%3后,a的值為( )。(4) 語言中的標(biāo)識符只能由三種字符組成,它們是( ),( )和( )(5) 表達(dá)式8/4*(int)2.5/(int)(1.25*3.7+2.3)值的數(shù)據(jù)類型為( )。第三章 簡單C程序設(shè)計(1)以下程序的輸出結(jié)果是( )。main()int x=1,y=2;printf(“x=%d y=%d *sum*=%dn”,x,y,x+y);printf(“10 squared is :

25、%dn”,10*10);(2)以下程序的輸出結(jié)果是( )。#include <studo.h>main()int a=325;double x=3.1415926; printf(“a=%+06d x=%+en”,a,x,);(3)假設(shè)變量a和b均為整型,以下語句可以下借助任何變量把a、b中的值進(jìn)行交換。請?zhí)羁铡?a+=( );b=a-( );a-=( ); (4)設(shè)x,y和z都是int型變量,m為long型變量,則在16位微型機上執(zhí)行下面的賦值語句后,x值為( ),y值為( ),z值為( )。 y=(x=32767,x=-1); z=m=0xFFFF(5)若x為int型變量,則執(zhí)

26、行以下語句后x的值是( )x=7;x+=x-=x+x;第四章 選擇結(jié)構(gòu)程序設(shè)計(1)當(dāng)a=3,b=2,c=1時,表達(dá)式 f=a>b>c的值是( )。(2)在C語言中表示邏輯“真”值用( )。(3)設(shè)x,y,z均為int 型變量,請寫出描述“x 或y中有一個小于z”的表達(dá)式( ).(4)當(dāng)m=2,n=1,a=1,b=2,c=3時,執(zhí)行完 d=(m=a!=b)&&(n=b>c)后;n的值為( ),m的值為( )。(5)有int a=3,b=4,c=5;則表達(dá)式a|b+c&&b= =c的值為( )。第五章 循環(huán)控制(1) 執(zhí)行下面程序段后,K值是(

27、)。K=1; n=263;Do k*=n%10 ; n/=10 while(n);(2)下面程序段中循環(huán)體的執(zhí)行次數(shù)是( )。 A =10; B=0; Do b+=2; a-=2+b; while(a>=0);(3) 下面程序段的運行結(jié)果是( )。 X=2Do printf (“*”); x-; while (! x= =0);(4) 下面程序段的運行結(jié)果是( )。 I=1; a=0; s=1; Do a=a+s*i; s=-s; i+; while(i<=10) Printf (“a=%d, a”);(5)雞兔共有30只,腳共有90 個,下面程序段是計算雞兔各有多少只,請?zhí)羁铡

28、or(x=1;x<=29;x+)y=30-x;if( ) printf (“%d, %dn ”, x , y) ;第六章 數(shù)組(1)在C語言中,二維數(shù)組的定義方式為:類型說明符 數(shù)組名( ) ( );(2)在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是( )。(3)若有定義:double x35;則x數(shù)組中行下標(biāo)的下限為( ),列下標(biāo)的上限為( )。(4)若二維數(shù)組a有m列,則計算機任一元素a ij在數(shù)組中位置的公式為:( ).(假設(shè)a00位于數(shù)組的第一個位置上。)(5)若有定義:int a34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是( ),a21得到初值是( )。第

29、七章 函數(shù)(1)C語言規(guī)定,可執(zhí)行程序的開始執(zhí)行點是( )。(2)在C語言中,一個函數(shù)一般由兩個部分組成,它們是( )和( )。(3)下面add函數(shù)的功能是求兩個參數(shù)的和,并將和值返回調(diào)用函數(shù)。函數(shù)中錯誤的部分是( );改正后為( )。Void add(float a,float b)float c;c=a+b;return c(4)以下程序的運行結(jié)果是( )。 main() increment(); increment(); increment(); increment();int x=0;x+=1;printf(“%d”,x);(5)以下Check函數(shù)的功能是對value中的值進(jìn)行四舍五入

30、計算,若計算后的值與ponse值相等,則顯示“WELL DONE!”,否則顯示計算后的值。已有函數(shù)調(diào)用語句Check (ponse,value);請?zhí)羁?。Void Check (int ponse,value)int val; val=( );printf(“計算后的值:%d”,val);if( ) printf(“Nwell DNOE! n”);else printf)”nSorry the correct answer is %dn”,val);第八章 編譯預(yù)處理命令(1)設(shè)有以下宏定義:#define WIDTH 80#define LENGTH WIDTH+40 則執(zhí)行賦值語句:v=L

31、ENGTH*20;(V為int型變量)后,v的值是( )。(2)設(shè)有以下宏定義:#define WIDTH 80#define LENGTH (WIDTH+40) 則執(zhí)行賦值語句:k=LENGTH*20;(K為int型變量)后,k的值是( )。(3)下面程序的運行結(jié)果是( )。 #define DOUBLE(r) r*r main() int x=1,y=2, t; t=DOBLE(x+y); printf(“%dn”,t); (4)下面程序的運行結(jié)果是( )。 #define MUL(z) (z)*(z) main() printf(“%dn”,MUL(1+2)+3); (5) 下面程序的運

32、行結(jié)果是( )。 #define POWER(x) (x)*(x) main() int I=1; while (I<=4) printf(“%dt”,POWER(I+); printf(“n”); 第九章 指針(1)下面程序段的運行結(jié)果是()char s80,*sp=”HELLO!”;sp=strcpy(s,sp);s0=h;puts(sp);(2)下面程序段的運行結(jié)果是()chara=”123456789”,*p;int I=0;p=a;while(*p)if(I%2=0) p=*;p+;I+;puts(a);(3)若有以下語句和定義:int a4=0,1,2,3,*p;p=&

33、;a1;則+(*p)的值是()(4)若有定義:int a23=2,4,6,8,10,12;則(&a00+282+1的值是(),*(a1+2)的值是()。第十章 結(jié)構(gòu)體與共用體(1)以下程序用以輸出結(jié)構(gòu)體變量bt所占內(nèi)存單元的字節(jié)數(shù),請在()內(nèi)填上適當(dāng)?shù)膬?nèi)容。 Struct ps double I;char arr20;main()struct ps bt;ptintf(“bt size :%dn:,( ); (2)設(shè)有三人的姓名和年齡存在結(jié)構(gòu)數(shù)組中,以下程序輸出三人中年齡居中者的姓名和年齡,請在()內(nèi)填上正確的內(nèi)容。 Static struct man char name20int a

34、ge;person“l(fā)iming”,18, “wanghua”,19, “zhangping”,20 ;main()int i, j, max, min; max=min=person0.age; for( i=1; i<3; i+) if (personi.age>max) ( ); else if (personi.age<min) ( );for(i=0;i<3;i+) if(personi.age!=max( )personi.age!=min) printf(“%s %dn”,,personi.age); break; (3)若以定義:

35、struct num int a; int b; float f; n=1, 3, 5.0;struct num *pn=&n;則表達(dá)式pn->b/n.a*+pn->b的值是( ),表達(dá)式(*pn).a+pn->f的值是( )。 (4)以下程序的功能是計算并打印復(fù)數(shù)的差。請在( )內(nèi)填入正確的內(nèi)容。 Struct compfloat re; float im;struct comp *m(x,y) struct comp *x, *y; ( ); z=(struct comp *)malloc(sizeof(struct comp); z->re=x->r

36、e-y->re; z->im=x->im-y->im; return( ( ) ); main() struct comp *t; struct xomp a,b;a.re=1; a.im=2;b.re=3; b.im=4;t=m( );printf(“z.re=%f, z.im=%f”, t->re,t->im); (5)以下程序的運行結(jié)果是()struct ksint a; int *b;s4,*p;main() int n=1, i; printf(“n”); for(i=0; i<4;i+) si.a=n; si.b=&si.a;n=n

37、+2; p=&s0;p+;printf(“%d, %dn”, (+p)>a, (p+)->a);第十一章 位運算(1)在語言中,&運算符作為單目運算符時表示的是()運算;作為雙目運算符時表示的是()運算。()與表達(dá)式a&=b等價的另一書寫形式是()。(3)設(shè)有char a, b;若要通過a&b運算屏蔽掉a中的其它位,只保留第2和第8位(右起為第位),則b的二進(jìn)制數(shù)是( ).(4)測試char型變量a 第六位是否為1的表達(dá)式是( )(設(shè)最右位是第一位)。(5)設(shè)二進(jìn)制數(shù)x的值是11001101,若想通過x&y 運算使x中的低4位不變,高4位清零

38、,則y的二進(jìn)制數(shù)為( )。第十二章 文件()在程序中,文件可以用()方式存取,也可以用()方式存取。()在程序中,數(shù)據(jù)可以用()和()兩種代碼形式存放。()在程序中,文件的存取是以()為單位的,這種文件被稱作()文件。()函數(shù)調(diào)用語句:fgets(buf,n,fp);從fp指向的文件中讀入( )個字符放到buf字符數(shù)組中。函數(shù)值為()。()feof(fp)函數(shù)用來判斷文件是否結(jié)束,如果遇到文件結(jié)束,函數(shù)值為(),否則為()。三、 判斷第一章 C語言概述第二章 數(shù)據(jù)類型、運算符與表達(dá)式(1) C語言所提供的基本數(shù)據(jù)類型包括:整型、實型和字符型。(2) 在C程序中,逗號運算符的優(yōu)先級最低。(3)

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

40、anf(“%f”,2.3)。第四章 選擇結(jié)構(gòu)程序設(shè)計() 邏輯運算符兩側(cè)的運算對象可以是任何基本類型的數(shù)據(jù)。() C語言中只提供了三種邏輯運算符:&&, |,和!。() 若a=6,b=4,c=3則表達(dá)式a&&b+c|b-c的值是0。() 關(guān)系運算式的結(jié)果都是邏輯值。() 若a=1,b=2,則表達(dá)式a>b?a:b+1的值是3。第五章 循環(huán)控制() 設(shè)有以下程序段: int x=0,s=0;while(!x!=0) s+=+x;printf(“%d”,s);則運行該程序段后輸出為:0() for循環(huán)只能應(yīng)用于循環(huán)次數(shù)已經(jīng)確定的情況。() goto語句只能用于退

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

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

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

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

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

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

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

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

49、的內(nèi)容讀出顯示在屏幕上。()設(shè)文件student.dat中存放著一年級學(xué)生的基本情況,這些情況由以下結(jié)構(gòu)體來描述:struc studentlong int num; *學(xué)號*char name10; *姓名*int age; *年齡*char sex; *性別*char speciality20; *專業(yè)*char addr40; *地址*;請編寫程序,輸出學(xué)號在970101971035之間的學(xué)生學(xué)號、姓名、年齡和性別。五、 參考答案一、名詞解釋二、單項選擇題第一章 C語言概述(1)A(2)C(3)D(4)C(5)B第二章 數(shù)據(jù)類型、運算符與表達(dá)式(1)C(2)A(3)C(4)C(5)A第三

50、章 簡單C程序設(shè)計(1)D(2)D(3)D(4)A(5)B第四章 選擇結(jié)構(gòu)程序設(shè)計(1)C(2)B(3)D(4)C(5)B第五章 循環(huán)控制(1) C(2) C(3) A(4) C(5) C第六章 數(shù)組(1) C(2) B(3) D(4) C(5) D第七章 函數(shù)(1) A(2) D(3) B(4) B(5) B第八章 編譯預(yù)處理(1) B(2) B(3) D(4) D(5) B第九章 指針(1) D(2) B(3) B(4) D(5) C(6) D(7) D(8) A(9) D(10) C第十章 結(jié)構(gòu)體與共用體(1) D(2) C(3) D(4) C(5) D第十一章 位運算(1) <1>C <2>B(2) B(3)B(4)B(5)C第十二章 文件(1) A(2) B(3) C (4) D(5) C三、填空題第一章 C語言概述(1) 函數(shù)(2) 主函數(shù)(或:m

溫馨提示

  • 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

提交評論