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

下載本文檔

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

文檔簡介

1、C語言試題庫一、 單項(xiàng)選擇第一章 C語言概述(1) 一個(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é)束。(2) 以下敘述正確的是 A、 在C程序中,MAIN函數(shù)必須位于程序的最前面。B、 C程序的每行中只能寫一條語句。C、 C語言本身沒有輸入輸出語句。D、 在對(duì)一個(gè)C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤。(3) C語言規(guī)定,在一個(gè)源程序中,MAIN主函數(shù)的位置是在: A、 必須在最前面

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

3、getc, char, printfC、include, scanf, caseE、 if, struct, type() 下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是 、,_,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è)計(jì)()putchar函數(shù)可以向終端輸出一個(gè) 、整型變量表達(dá)式值、實(shí)型變量值、字符串、字符或字符型變量值()若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ù)的形式為:,<回車>時(shí),以下程序的輸出結(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,并對(duì)它們賦初值為的語句是 、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è)計(jì)(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)以下程序的運(yùn)行結(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)請(qǐng)閱讀以下程序:main() int a=5 , b=0 , c=0; if (a+b+c) printf(“* * *n”); else printf(“$ $ $n”);以上程序 。A) 有語法錯(cuò)誤不能通過編譯B) 可以通過編譯但不能直接通過連接C) 輸出* * *D) 輸出$ $ $(4)以下程序的運(yùn)行結(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子句總是與 相配對(duì)。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)下面程序段的運(yùn)行結(jié)果是 。int n=0;while(n+&l

9、t;=2); printf(“%d”,n);A) 2B) 3C) 4D) 有語法錯(cuò)(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)以下能正確計(jì)算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í),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是。A) 整型常量B) 整型表達(dá)式C) 整型常量或整型表達(dá)式D) 任何類型的表達(dá)式(2)以下能對(duì)二維數(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中每個(gè)元素均可得到初值0(4)下面程序(每行程序前面的數(shù)字表示行號(hào))。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) 沒有錯(cuò)誤B) 第3行有錯(cuò)誤C) 第5行有錯(cuò)誤D) 第7行有錯(cuò)誤(5)若二維數(shù)組a有m列,則計(jì)算機(jī)一元素aij在數(shù)組中位置的公式為。(假設(shè)a00位于數(shù)組的第一個(gè)位置上。)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ī)定,簡單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是A)地址傳遞B)單向值傳遞C)由實(shí)參傳給形參,再由形參傳回給實(shí)參D)傳遞方式(4)C語言允許函數(shù)值型缺省定義,此時(shí)該函數(shù)值隱含的類型是 。A)float型B)int型C)long型D)double型(5)下面函數(shù)調(diào)用語句含有實(shí)參的個(gè)數(shù)為 。 func(exp1,exp2),(exp3,exp4,exp5);A)1B)2C)4D)5第八章 編譯預(yù)處理命令(1)請(qǐng)讀程序:#define ADD(x) x+xmain()int m=1,n=2,k=3;int sum=ADD(m+n)*k;

14、printf(“sum=%d”,sum);上面程序的運(yùn)行結(jié)果是 。A) sum=9B) sum=10C) sum=12D) sum=18(2) 以下程序的運(yùn)行結(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代替一個(gè) 。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) 語句有錯(cuò)誤B) z=34C) z=70D) z無定值第九章 指針(1) 以下程有錯(cuò)誤,錯(cuò)誤原因是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沒有指向具體的存儲(chǔ)單元,所以*Q沒有實(shí)際意義D) Q雖然指向了具體的存儲(chǔ)單元,但該單元中沒有確定值,所以不能執(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)一個(gè)標(biāo)志(4)若有語句int*point,a=4;和ponit=&a; 下面均代表

17、地址的一組選項(xiàng)是_.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) 若有以下定義,則對(duì)A數(shù)組元素的正確引用是_.A)*&a5 B)*a+2C)*(P+5)D)*(a+2)(7) 若有以下定義,則對(duì)a數(shù)組元素地址的正確引用是_

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

19、章 結(jié)構(gòu)體與共用體(1) 以下對(duì)結(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第十一章 位運(yùn)算(1)以下運(yùn)算符中優(yōu)先級(jí)最低的是 優(yōu)先級(jí)最高的是 。A)&&B) &C) |D) |(2)若有運(yùn)算符<<,sixeof,&= 則它們按優(yōu)先級(jí)按由高到低的正確排列次序是 。A) sizeof,&=,<<,B) sizeof,<<,&=C) ,<<,sizeof,&=D) <<,&=,sizeof(3)在C語

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

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

24、在內(nèi)存中所占的字節(jié)數(shù)為( ),一個(gè)int 型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為( )。(2) 在語言中,實(shí)型變量分為兩種類型,它們是( )和( )。(3) 若a是int型變量,則計(jì)算表達(dá)式a=25/3%3后,a的值為( )。(4) 語言中的標(biāo)識(shí)符只能由三種字符組成,它們是( ),( )和( )(5) 表達(dá)式8/4*(int)2.5/(int)(1.25*3.7+2.3)值的數(shù)據(jù)類型為( )。第三章 簡單C程序設(shè)計(jì)(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ǔ)、b中的值進(jìn)行交換。請(qǐng)?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í)

26、行以下語句后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 型變量,請(qǐng)寫出描述“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)有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) 下面程序段的運(yùn)行結(jié)果是( )。 X=2Do printf (“*”); x-; while (! x= =0);(4) 下面程序段的運(yùn)行結(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 個(gè),下面程序段是計(jì)算雞兔各有多少只,請(qǐng)?zhí)羁?。F

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列,則計(jì)算機(jī)任一元素a ij在數(shù)組中位置的公式為:( ).(假設(shè)a00位于數(shù)組的第一個(gè)位置上。)(5)若有定義:int a34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是( ),a21得到初值是( )。第

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

30、計(jì)算,若計(jì)算后的值與ponse值相等,則顯示“WELL DONE!”,否則顯示計(jì)算后的值。已有函數(shù)調(diào)用語句Check (ponse,value);請(qǐng)?zhí)羁?。Void Check (int ponse,value)int val; val=( );printf(“計(jì)算后的值:%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)下面程序的運(yùn)行結(jié)果是( )。 #define DOUBLE(r) r*r main() int x=1,y=2, t; t=DOBLE(x+y); printf(“%dn”,t); (4)下面程序的運(yùn)行結(jié)果是( )。 #define MUL(z) (z)*(z) main() printf(“%dn”,MUL(1+2)+3); (5) 下面程序的運(yùn)

32、行結(jié)果是( )。 #define POWER(x) (x)*(x) main() int I=1; while (I<=4) printf(“%dt”,POWER(I+); printf(“n”); 第九章 指針(1)下面程序段的運(yùn)行結(jié)果是()char s80,*sp=”HELLO!”;sp=strcpy(s,sp);s0=h;puts(sp);(2)下面程序段的運(yùn)行結(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ù),請(qǐng)?jiān)冢ǎ﹥?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ù)組中,以下程序輸出三人中年齡居中者的姓名和年齡,請(qǐng)?jiān)冢ǎ﹥?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)以下程序的功能是計(jì)算并打印復(fù)數(shù)的差。請(qǐng)?jiān)冢?)內(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)以下程序的運(yùn)行結(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);第十一章 位運(yùn)算(1)在語言中,&運(yùn)算符作為單目運(yùn)算符時(shí)表示的是()運(yùn)算;作為雙目運(yùn)算符時(shí)表示的是()運(yùn)算。()與表達(dá)式a&=b等價(jià)的另一書寫形式是()。(3)設(shè)有char a, b;若要通過a&b運(yùn)算屏蔽掉a中的其它位,只保留第2和第8位(右起為第位),則b的二進(jìn)制數(shù)是( ).(4)測(cè)試char型變量a 第六位是否為1的表達(dá)式是( )(設(shè)最右位是第一位)。(5)設(shè)二進(jìn)制數(shù)x的值是11001101,若想通過x&y 運(yùn)算使x中的低4位不變,高4位清零

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

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

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

41、出多層循環(huán)。() switch語句中不能出現(xiàn)continue語句。() 只能用continue語句終止本次循環(huán)。第六章 數(shù)組() 兩個(gè)字符串中所包含的字符個(gè)數(shù)相同時(shí),才能比較字符串。() 字符數(shù)組可以存放字符串。() 不能用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較。() 如果定義了一個(gè)指向數(shù)組的指針,則該指針可以相當(dāng)于數(shù)組名使用。() 如果沒有給一個(gè)整型數(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)用的實(shí)

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

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

44、序中,文件可以用隨機(jī)讀寫的方式存取,也可以用順序讀寫的方式存取。() 函數(shù)ftell(fp)的作用是得到流式文件中的當(dāng)前位置。() 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整除;2)能被其中兩數(shù)(要指出哪兩個(gè))整除;3)能被其中一個(gè)數(shù)(要指出哪一個(gè))整除;4)不能被3,5,7任一個(gè)整除。(2)用switch編程實(shí)現(xiàn): -1 (x<0)y= 0

45、 (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é)生的平均成績。第六章 數(shù)組(1)從鍵盤輸入若干整數(shù)(數(shù)據(jù)個(gè)數(shù)應(yīng)少于50),其值在0至4的范圍內(nèi),用1作為輸入結(jié)束的標(biāo)志。統(tǒng)計(jì)每個(gè)整數(shù)的個(gè)數(shù)。試編程。(2)若有說明:int a23=1,2,3,4,5,6;現(xiàn)要將a 的行和列的元素互換后存到另一個(gè)二維數(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 的計(jì)算后,b的值是55。請(qǐng)編寫sum 函數(shù)。Sum(int n) (2)a是一個(gè)2*4的整型數(shù)組,且各元素均已賦值,函數(shù) max_value 可求出其中的最大元素值 max,并將此值返回主調(diào)函數(shù)。今有函數(shù)調(diào)用語句 max=max_value(a);請(qǐng)編寫 max_value 函數(shù)。Max_value(int arr 4) 第八章 編譯預(yù)處理命令(1)輸入兩個(gè)整數(shù),求它相除的余數(shù)。用帶參的宏來編程實(shí)現(xiàn)。(2)試用義一個(gè)帶參的宏swap(x,y),以實(shí)現(xiàn)兩個(gè)整數(shù)之間的交換,并利用它將一維數(shù)組a和b的值進(jìn)行交換。第九章 指針(1

47、)編一程序,將字符串computer賦給一個(gè)字符數(shù)組,然后從第一個(gè)字母開始間隔地輸出該串。請(qǐng)用指針完成。(2)設(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)體與共用體(1)試?yán)弥赶蚪Y(jié)構(gòu)體的指針編制一程序,實(shí)現(xiàn)輸入三個(gè)學(xué)生的學(xué)號(hào)、數(shù)學(xué)期中和期末成績,然后計(jì)算其平均成績并輸出成績表。(2)請(qǐng)定

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

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

50、章 簡單C程序設(shè)計(jì)(1)D(2)D(3)D(4)A(5)B第四章 選擇結(jié)構(gòu)程序設(shè)計(jì)(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第十一章 位運(yùn)算(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論