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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、2,b=3,a+b)、a+=a-=(b=4)*(a=3)第三章 簡(jiǎn)單C程序設(shè)計(jì)()putchar函數(shù)可以向終端輸出一個(gè) 、整型變量表達(dá)式值、實(shí)型變量值、字符串、字符或字符型變量值()若x,y均定義為int型,z定義為double 型,以下合法的scanf函數(shù)調(diào)用語(yǔ)句是 、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ù)的形式為:,<回車(chē)>時(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ì)它們賦初值為的語(yǔ)句是 、int a=b=c=5;、int a, b, c=5;、a=5, b=5, c=5;、a=b=c=5;(5) 若有以下定義,則正確的賦值語(yǔ)句是 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) 有語(yǔ)法錯(cuò)誤不能通過(guò)編譯B) 可以通過(guò)編譯但不能直接通過(guò)連接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 () 為了避免在嵌套的條件語(yǔ)句中if-else中產(chǎn)生二義性,c語(yǔ)言規(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)是無(wú)限循環(huán)C) 循環(huán)體語(yǔ)句一次也不執(zhí)行D) 循環(huán)體語(yǔ)句執(zhí)行一次(2)下面程序段的運(yùn)行結(jié)果是 。int n=0;while(n+&l

9、t;=2); printf(“%d”,n);A) 2B) 3C) 4D) 有語(yǔ)法錯(cuò)(3)C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是 。A) do-while的循環(huán)體至少無(wú)條件執(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語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類(lèi)型允許是。A) 整型常量B) 整型表達(dá)式C) 整型常量或整型表達(dá)式D) 任何類(lèi)型的表達(dá)式(2)以下能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是。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)若有說(shuō)明:int a34=0;則下面正確的敘述是。A) 只有元素a00可得到初值0B) 此說(shuō)明語(yǔ)句不

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) 沒(méi)有錯(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語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是A)地址傳遞B)單向值傳遞C)由實(shí)參傳給形參,再由形參傳回給實(shí)參D)傳遞方式(4)C語(yǔ)言允許函數(shù)值型缺省定義,此時(shí)該函數(shù)值隱含的類(lèi)型是 。A)float型B)int型C)long型D)double型(5)下面函數(shù)調(diào)用語(yǔ)句含有實(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語(yǔ)句后,輸出結(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í)行語(yǔ)句z=2*(N+Y(5);后的結(jié)果是 。A) 語(yǔ)句有錯(cuò)誤B) z=34C) z=70D) z無(wú)定值第九章 指針(1) 以下程有錯(cuò)誤,錯(cuò)誤原因是main()int *p,I; char *q,ch;p=&I;q=&ch;*p=40;*p=*q;.A) p和q的類(lèi)型不一致,不能執(zhí)行*P=*Q;語(yǔ)句

16、B) P中存放的是地址值,因此不能執(zhí)行*P=40;語(yǔ)句C) Q沒(méi)有指向具體的存儲(chǔ)單元,所以*Q沒(méi)有實(shí)際意義D) Q雖然指向了具體的存儲(chǔ)單元,但該單元中沒(méi)有確定值,所以不能執(zhí)行*P=*Q;語(yǔ)句 (2)已有定義int k=2; int *ptr1, *ptr2;且ptr1和ptr2均已指向變量K,下面不能正確執(zhí)行的賦值語(yǔ)句是 .A)k=*ptr1+*ptr2; B)ptr2=K;C)ptr1=ptr2; D)k=*ptr1*(*ptr2);(3)變量的指針,其含義是指該變量的_.A)值 B)地址 C)名 D)一個(gè)標(biāo)志(4)若有語(yǔ)句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已正確說(shuō)明并賦值)元素值的正確引用為_(kāi).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已正確說(shuō)明并賦值)元素地址的正確引用為_(kāi).A)*(ai+j)B)(a+i)C)*(a+j)E) ai+j(10)若有以下定義和語(yǔ)句,則對(duì)a數(shù)組元素地址的正確引用為_(kāi).Int a23,(*p)3P=a;A)*(p+2)B) p2C) p1+1D) (p+1)+2第十

19、章 結(jié)構(gòu)體與共用體(1) 以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中不正確的是_. 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è)有以下語(yǔ)句(3) struct stuint a; float b;stutype;則下面敘述正確的是_.A)struct是結(jié)構(gòu)體類(lèi)

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

22、言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是 。A)B)%C)!D)>(4) 在C語(yǔ)言中,要求運(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)鍵盤(pán)B)顯示器C)軟盤(pán)D)硬盤(pán)(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ù)打開(kāi)一個(gè)新的二進(jìn)制文件,該文件要既能讀又能寫(xiě),則文件方式字符串應(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語(yǔ)言概述(1) C源程序的基本單位是( )(2) 一個(gè)C源程序至少應(yīng)包括一個(gè)( )(3) 在一個(gè)C源程序中,注釋部分兩側(cè)的分界符分別為( )和( )(4) 在C語(yǔ)言中,輸入操作是由庫(kù)函數(shù)( )完成的,輸出操作是由庫(kù)函數(shù)( )完成的。第二章 數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式(1) 在語(yǔ)言中(以位機(jī)為例),一個(gè)char型數(shù)據(jù)

24、在內(nèi)存中所占的字節(jié)數(shù)為( ),一個(gè)int 型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為( )。(2) 在語(yǔ)言中,實(shí)型變量分為兩種類(lèi)型,它們是( )和( )。(3) 若a是int型變量,則計(jì)算表達(dá)式a=25/3%3后,a的值為( )。(4) 語(yǔ)言中的標(biāo)識(shí)符只能由三種字符組成,它們是( ),( )和( )(5) 表達(dá)式8/4*(int)2.5/(int)(1.25*3.7+2.3)值的數(shù)據(jù)類(lèi)型為( )。第三章 簡(jiǎn)單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均為整型,以下語(yǔ)句可以下借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁铡?a+=( );b=a-( );a-=( ); (4)設(shè)x,y和z都是int型變量,m為long型變量,則在16位微型機(jī)上執(zhí)行下面的賦值語(yǔ)句后,x值為( ),y值為( ),z值為( )。 y=(x=32767,x=-1); z=m=0xFFFF(5)若x為int型變量,則執(zhí)

26、行以下語(yǔ)句后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語(yǔ)言中表示邏輯“真”值用( )。(3)設(shè)x,y,z均為int 型變量,請(qǐng)寫(xiě)出描述“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語(yǔ)言中,二維數(shù)組的定義方式為:類(lèi)型說(shuō)明符 數(shù)組名( ) ( );(2)在C語(yǔ)言中,二維數(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語(yǔ)言規(guī)定,可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是( )。(2)在C語(yǔ)言中,一個(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)用語(yǔ)句Check (ponse,value);請(qǐng)?zhí)羁铡oid 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í)行賦值語(yǔ)句:v=L

31、ENGTH*20;(V為int型變量)后,v的值是( )。(2)設(shè)有以下宏定義:#define WIDTH 80#define LENGTH (WIDTH+40) 則執(zhí)行賦值語(yǔ)句: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)若有以下語(yǔ)句和定義: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ǔ)言中,&運(yùn)算符作為單目運(yùn)算符時(shí)表示的是()運(yùn)算;作為雙目運(yùn)算符時(shí)表示的是()運(yùn)算。()與表達(dá)式a&=b等價(jià)的另一書(shū)寫(xiě)形式是()。(3)設(shè)有char a, b;若要通過(guò)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,若想通過(guò)x&y 運(yùn)算使x中的低4位不變,高4位清零

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

39、當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)整型變量只能輸入整型數(shù)據(jù),對(duì)實(shí)型變量只能輸入實(shí)型數(shù)據(jù)。(4) C語(yǔ)言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線(xiàn)三種字符組成。(5) 在C語(yǔ)言中,char型的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是原碼形式。第三章 簡(jiǎn)單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列,如果字符串長(zhǎng)度大于5,則輸出按原字符長(zhǎng)度從左向右全部輸出。() 輸入項(xiàng)可以是一個(gè)實(shí)型常量,如sc

40、anf(“%f”,2.3)。第四章 選擇結(jié)構(gòu)程序設(shè)計(jì)() 邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任何基本類(lèi)型的數(shù)據(jù)。() C語(yǔ)言中只提供了三種邏輯運(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語(yǔ)句只能用于退

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

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

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

44、序中,文件可以用隨機(jī)讀寫(xiě)的方式存取,也可以用順序讀寫(xiě)的方式存取。() 函數(shù)ftell(fp)的作用是得到流式文件中的當(dāng)前位置。() fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開(kāi)方式必須是只讀的。四、 程序設(shè)計(jì)第一章 C語(yǔ)言概述第二章 數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式第三章 簡(jiǎn)單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è)蘋(píng)果0.8元,第一天買(mǎi)2個(gè)蘋(píng)果,第二天開(kāi)始,每天買(mǎi)前一天的倍,直至購(gòu)買(mǎi)的蘋(píng)果個(gè)數(shù)達(dá)到不超過(guò)100的最大值。編寫(xiě)程序求每天平均花多少錢(qián)?(2)編寫(xiě)程序,從鍵盤(pán)輸入6名學(xué)生的5門(mén)成績(jī),分別統(tǒng)計(jì)出每個(gè)學(xué)生的平均成績(jī)。第六章 數(shù)組(1)從鍵盤(pán)輸入若干整數(shù)(數(shù)據(jù)個(gè)數(shù)應(yīng)少于50),其值在0至4的范圍內(nèi),用1作為輸入結(jié)束的標(biāo)志。統(tǒng)計(jì)每個(gè)整數(shù)的個(gè)數(shù)。試編程。(2)若有說(shuō)明:int a23=1,2,3,4,5,6;現(xiàn)要將a 的行和列的元素互換后存到另一個(gè)二維數(shù)組b中。試編程。第七章 函數(shù)(1)已有變量定義和函數(shù)調(diào)用語(yǔ)句int a,b; b=sum(a);函數(shù)

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

47、)編一程序,將字符串computer賦給一個(gè)字符數(shù)組,然后從第一個(gè)字母開(kāi)始間隔地輸出該串。請(qǐng)用指針完成。(2)設(shè)有一數(shù)列,包含10個(gè)數(shù),已按升序排好。現(xiàn)要求編一程序,它能夠把從指定位置開(kāi)始的N個(gè)數(shù)按逆序重新排列并輸出新的完整數(shù)列。進(jìn)行逆序處理時(shí)要赤使用指針?lè)椒?。試編程。(例如:原?shù)列為2,4,6,8,10,12,14,16,18,20,若要求把從第4個(gè)數(shù)開(kāi)始的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ī),然后計(jì)算其平均成績(jī)并輸出成績(jī)表。(2)請(qǐng)定

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

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

50、章 簡(jiǎn)單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語(yǔ)言概述(1) 函數(shù)(2) 主函數(shù)(或:m

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論