




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言試題庫一、 單項選擇第一章 C語言概述(1) 一個C程序的執(zhí)行是從 A、本程序的MAIN函數開始,到MAIN 函數結束。B、本程序文件的第一個函數開始,到本程序文件的最后一個函數結束。C、本程序的MAIN函數開始,到本程序的最后一個函數結束。D、本程序文件的第一個函數開始,到本程序的MAIN函數結束。(2) 以下敘述正確的是 A、 在C程序中,MAIN函數必須位于程序的最前面。B、 C程序的每行中只能寫一條語句。C、 C語言本身沒有輸入輸出語句。D、 在對一個C程序進行編譯的過程中,可發(fā)現注釋中的拼寫錯誤。(3) C語言規(guī)定,在一個源程序中,MAIN主函數的位置是在: A、 必須在最前面
2、。B、 必須在系統(tǒng)調用的庫函數的后面C、 可以在任意位置。D、 必須在最后面(4) 一個C程序是由: A、 一個主程序和若干子程序組成B、 函數組成C、 若干過程組成D、 若干子程序組成(5) 以下敘述不正確的是: A、 一個C源程序可由一個或多個函數組成B、 一個C源程序必須包含一個MAIN函數C、 C程序的基本組成單位是函數D、 在C程序中,注釋說明只能位于一條語句的后面第二章 數據類型、運算符與表達式() 若x, i, j, k都是int型變量,則計算下面表達式后,x的值為 x( i, j, k)、 、() 下列四組選項中,均不是語言鍵字的選項是 、define , IF, typeB、
3、getc, char, printfC、include, scanf, caseE、 if, struct, type() 下面四個選項中,均是不合法的用戶標識符的選項是 、,_,do 、float,1a0, _A、b-a, goto, intD、_123, temp, INT() 若有代數式ae/bc,則正確的語言表達式是 、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;則以下不符合語言語法的表達式是 、x%(-3)、w+=-2;、k=(a=
4、2,b=3,a+b)、a+=a-=(b=4)*(a=3)第三章 簡單C程序設計()putchar函數可以向終端輸出一個 、整型變量表達式值、實型變量值、字符串、字符或字符型變量值()若x,y均定義為int型,z定義為double 型,以下合法的scanf函數調用語句是 、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、當輸入數據的形式為:,<回車>時,以下程序的輸出結果為 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、;第四章 選擇結構程序設計(1)能正確表示“當x的值在1,10和200,210的范圍為真,否則為假”的表達式是 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)以下程序的運行結果是 #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)以下程序的運行結果是 。main()int m=5
8、;if(m+>5)printf(“%dn”,m);else printf(“%dn”,m);A) 4B) 5C) 6D) 7 () 為了避免在嵌套的條件語句中if-else中產生二義性,c語言規(guī)定:else子句總是與 相配對。A)縮排位置相同的ifB)其之前最近的ifC)其之后最近的ifD)同一行上的if第五章 循環(huán)控制(1)設有程序段 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)下面程序段的運行結果是 。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)控制條件嚴格C) do-while允許從外部轉到循環(huán)體內D) do-while允許從外部轉到循環(huán)體內(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);第六章 數組(1)在c語言中,引用數組元素時,其數組下標的數據類型允許是。A) 整型常量B) 整型表達式C) 整型常量或整型表達式D) 任何類型的表達式(2)以下能對二維數組a進行正確初始化的語句是。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) 數組a中各元素都可得到初值,但其值不一定為0D) 數組a中每個元素均可得到初值0(4)下面程序(每行程序前面的數字表示行號)。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)若二維數組a有m列,則計算機一元素aij在數組中位置的公式為。(假設a00位于數組的第一個位置上。)A) i*m+jB) j*m+iC) i*m
12、+j-1D) i*m+j+1第七章 函數(1)以下正確的函數定義形式是 。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) 以下正確的函數形式是 。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ī)定,簡單變量做實參時,它和對應形參之間的數據傳遞方式是A)地址傳遞B)單向值傳遞C)由實參傳給形參,再由形參傳回給實參D)傳遞方式(4)C語言允許函數值型缺省定義,此時該函數值隱含的類型是 。A)float型B)int型C)long型D)double型(5)下面函數調用語句含有實參的個數為 。 func(exp1,exp2),(exp3,exp4,exp5);A)1B)2C)4D)5第八章 編譯預處理命令(1)請讀程序:#define ADD(x) x+xmain()int m=1,n=2,k=3;int sum=ADD(m+n)*k;
14、printf(“sum=%d”,sum);上面程序的運行結果是 。A) sum=9B) sum=10C) sum=12D) sum=18(2) 以下程序的運行結果是 。#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) 單精度數C) 雙精度數D) 字符串(4) 若有宏定義如下:#define X 5#define Y X+1#define
15、Z Y*x/2則執(zhí)行以下printf語句后,輸出結果是 。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);后的結果是 。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)一個標志(4)若有語句int*point,a=4;和ponit=&a; 下面均代表
17、地址的一組選項是_.A) a,point,*&a B)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point(5)下面能正確進行字符串賦值操作的是_.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數組元素的正確引用是_.A)*&a5 B)*a+2C)*(P+5)D)*(a+2)(7) 若有以下定義,則對a數組元素地址的正確引用是_
18、>A) p+5B) *a+1C) &a+1D) &a0(8) 若有定義:int a23;則對a數組的第I行第J列(假設I,J已正確說明并賦值)元素值的正確引用為_.A)*(*(a+I)+J)B)(a+I)jC)*(a+I+j)D)*(a+I)+j(9)若有定義:int a23;則對a數組的第i行第j列(假設i,j已正確說明并賦值)元素地址的正確引用為_.A)*(ai+j)B)(a+i)C)*(a+j)E) ai+j(10)若有以下定義和語句,則對a數組元素地址的正確引用為_.Int a23,(*p)3P=a;A)*(p+2)B) p2C) p1+1D) (p+1)+2第十
19、章 結構體與共用體(1) 以下對結構體類型變量的定義中不正確的是_. 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) 設有以下語句(3) struct stuint a; float b;stutype;則下面敘述正確的是_.A)struct是結構體類
20、型的關鍵字B)struct stu是用戶定義的結構體類型C)stutype是用戶定義的結構體類型名D)a和b都是結構體成員名(4) 設有以下定義: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) 設有以下語句:struct st int n;struct st *next; static struct st a3=5,&a1,7,&a
21、2,9,0,*p; p=&a0;則以下表達式的值為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、言中,要求運算數必須是整型的運算符是 。A)B)%C)!D)>(4) 在C語言中,要求運算數必須是整型或字符型的運算符是 。A) &&B) &C) !D) |(5)sozeof(float)是 。A)一種函數調用B)一種不合法的表示形式C)一個整型表達式D)一個浮點表達式第十二章 文件(!)系統(tǒng)的標準輸入文件是指 。A)鍵盤B)顯示器C)軟盤D)硬盤(2)以下可作為函數fopen中第一個參數的正確格式是 。A) c:usertext.txtB) c:usertext.txtC) c:usertext.txtD) c:usertext.txt()若執(zhí)行fopen函數
23、時發(fā)生錯誤,則函數的返回值是)地址值)()若要用fopen函數打開一個新的二進制文件,該文件要既能讀又能寫,則文件方式字符串應是。A)ab+B) wb+C) rb+D)ab(5)當順利執(zhí)行了文件關閉操作時,fclose函數的返回值是。A)-1B)TUREC)0D)1二、 填空第一章 C語言概述(1) C源程序的基本單位是( )(2) 一個C源程序至少應包括一個( )(3) 在一個C源程序中,注釋部分兩側的分界符分別為( )和( )(4) 在C語言中,輸入操作是由庫函數( )完成的,輸出操作是由庫函數( )完成的。第二章 數據類型、運算符與表達式(1) 在語言中(以位機為例),一個char型數據
24、在內存中所占的字節(jié)數為( ),一個int 型數據在內存中所占的字節(jié)數為( )。(2) 在語言中,實型變量分為兩種類型,它們是( )和( )。(3) 若a是int型變量,則計算表達式a=25/3%3后,a的值為( )。(4) 語言中的標識符只能由三種字符組成,它們是( ),( )和( )(5) 表達式8/4*(int)2.5/(int)(1.25*3.7+2.3)值的數據類型為( )。第三章 簡單C程序設計(1)以下程序的輸出結果是( )。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)以下程序的輸出結果是( )。#include <studo.h>main()int a=325;double x=3.1415926; printf(“a=%+06d x=%+en”,a,x,);(3)假設變量a和b均為整型,以下語句可以下借助任何變量把a、b中的值進行交換。請?zhí)羁铡?a+=( );b=a-( );a-=( ); (4)設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;第四章 選擇結構程序設計(1)當a=3,b=2,c=1時,表達式 f=a>b>c的值是( )。(2)在C語言中表示邏輯“真”值用( )。(3)設x,y,z均為int 型變量,請寫出描述“x 或y中有一個小于z”的表達式( ).(4)當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;則表達式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í)行次數是( )。 A =10; B=0; Do b+=2; a-=2+b; while(a>=0);(3) 下面程序段的運行結果是( )。 X=2Do printf (“*”); x-; while (! x= =0);(4) 下面程序段的運行結果是( )。 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) ;第六章 數組(1)在C語言中,二維數組的定義方式為:類型說明符 數組名( ) ( );(2)在C語言中,二維數組元素在內存中的存放順序是( )。(3)若有定義:double x35;則x數組中行下標的下限為( ),列下標的上限為( )。(4)若二維數組a有m列,則計算機任一元素a ij在數組中位置的公式為:( ).(假設a00位于數組的第一個位置上。)(5)若有定義:int a34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是( ),a21得到初值是( )。第
29、七章 函數(1)C語言規(guī)定,可執(zhí)行程序的開始執(zhí)行點是( )。(2)在C語言中,一個函數一般由兩個部分組成,它們是( )和( )。(3)下面add函數的功能是求兩個參數的和,并將和值返回調用函數。函數中錯誤的部分是( );改正后為( )。Void add(float a,float b)float c;c=a+b;return c(4)以下程序的運行結果是( )。 main() increment(); increment(); increment(); increment();int x=0;x+=1;printf(“%d”,x);(5)以下Check函數的功能是對value中的值進行四舍五入
30、計算,若計算后的值與ponse值相等,則顯示“WELL DONE!”,否則顯示計算后的值。已有函數調用語句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);第八章 編譯預處理命令(1)設有以下宏定義:#define WIDTH 80#define LENGTH WIDTH+40 則執(zhí)行賦值語句:v=L
31、ENGTH*20;(V為int型變量)后,v的值是( )。(2)設有以下宏定義:#define WIDTH 80#define LENGTH (WIDTH+40) 則執(zhí)行賦值語句:k=LENGTH*20;(K為int型變量)后,k的值是( )。(3)下面程序的運行結果是( )。 #define DOUBLE(r) r*r main() int x=1,y=2, t; t=DOBLE(x+y); printf(“%dn”,t); (4)下面程序的運行結果是( )。 #define MUL(z) (z)*(z) main() printf(“%dn”,MUL(1+2)+3); (5) 下面程序的運
32、行結果是( )。 #define POWER(x) (x)*(x) main() int I=1; while (I<=4) printf(“%dt”,POWER(I+); printf(“n”); 第九章 指針(1)下面程序段的運行結果是()char s80,*sp=”HELLO!”;sp=strcpy(s,sp);s0=h;puts(sp);(2)下面程序段的運行結果是()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)的值是()。第十章 結構體與共用體(1)以下程序用以輸出結構體變量bt所占內存單元的字節(jié)數,請在()內填上適當的內容。 Struct ps double I;char arr20;main()struct ps bt;ptintf(“bt size :%dn:,( ); (2)設有三人的姓名和年齡存在結構數組中,以下程序輸出三人中年齡居中者的姓名和年齡,請在()內填上正確的內容。 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;則表達式pn->b/n.a*+pn->b的值是( ),表達式(*pn).a+pn->f的值是( )。 (4)以下程序的功能是計算并打印復數的差。請在( )內填入正確的內容。 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)以下程序的運行結果是()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)在語言中,&運算符作為單目運算符時表示的是()運算;作為雙目運算符時表示的是()運算。()與表達式a&=b等價的另一書寫形式是()。(3)設有char a, b;若要通過a&b運算屏蔽掉a中的其它位,只保留第2和第8位(右起為第位),則b的二進制數是( ).(4)測試char型變量a 第六位是否為1的表達式是( )(設最右位是第一位)。(5)設二進制數x的值是11001101,若想通過x&y 運算使x中的低4位不變,高4位清零
38、,則y的二進制數為( )。第十二章 文件()在程序中,文件可以用()方式存取,也可以用()方式存取。()在程序中,數據可以用()和()兩種代碼形式存放。()在程序中,文件的存取是以()為單位的,這種文件被稱作()文件。()函數調用語句:fgets(buf,n,fp);從fp指向的文件中讀入( )個字符放到buf字符數組中。函數值為()。()feof(fp)函數用來判斷文件是否結束,如果遇到文件結束,函數值為(),否則為()。三、 判斷第一章 C語言概述第二章 數據類型、運算符與表達式(1) C語言所提供的基本數據類型包括:整型、實型和字符型。(2) 在C程序中,逗號運算符的優(yōu)先級最低。(3)
39、當從鍵盤輸入數據時,對整型變量只能輸入整型數據,對實型變量只能輸入實型數據。(4) C語言中的標識符只能由字母、數字和下劃線三種字符組成。(5) 在C語言中,char型的數據在內存中的存儲形式是原碼形式。第三章 簡單C程序設計() 當輸入一個實型數據時,格式控制部分應規(guī)定小數點后的位數,如scanf(“%4.2f”,&f)。() 整型變量的輸出格式控制符只有%d一種。() putchar函數可以向終端輸出一個字符串。() pirntf函數中用到格式符%5s,其中數字5表示輸出的字符串占5列,如果字符串長度大于5,則輸出按原字符長度從左向右全部輸出。() 輸入項可以是一個實型常量,如sc
40、anf(“%f”,2.3)。第四章 選擇結構程序設計() 邏輯運算符兩側的運算對象可以是任何基本類型的數據。() C語言中只提供了三種邏輯運算符:&&, |,和!。() 若a=6,b=4,c=3則表達式a&&b+c|b-c的值是0。() 關系運算式的結果都是邏輯值。() 若a=1,b=2,則表達式a>b?a:b+1的值是3。第五章 循環(huán)控制() 設有以下程序段: int x=0,s=0;while(!x!=0) s+=+x;printf(“%d”,s);則運行該程序段后輸出為:0() for循環(huán)只能應用于循環(huán)次數已經確定的情況。() goto語句只能用于退
41、出多層循環(huán)。() switch語句中不能出現continue語句。() 只能用continue語句終止本次循環(huán)。第六章 數組() 兩個字符串中所包含的字符個數相同時,才能比較字符串。() 字符數組可以存放字符串。() 不能用關系運算符對字符數組中的字符串進行比較。() 如果定義了一個指向數組的指針,則該指針可以相當于數組名使用。() 如果沒有給一個整型數組的元素賦初值,則其元素的缺省初值全部為0。第七章 函數() C語言中,用戶若需調用標準庫函數,在調用前必須重新定義。() C語言中不允許用戶重新定義標準庫函數。() 在C程序中,函數的定義和調用都不允許嵌套。() 如果用數組名作為函數調用的實
42、際參數,則傳遞給形參的是數組的首地址。() 形式能參數也是一種局部變量。第八章 編譯預處理命令() 預處理命令行都必須以#號開始。() 宏替換不占用運行時間,只占編譯時間。() C程序在執(zhí)行過程中對預處理命令進行處理。() 宏名必須用大寫字母表示。() 在文件包含預處理命令的使用形式中,當include 后的文件名用<>括起來時,表示在當前目錄搜索被包含文件。第九章 指針() 若有定義:int (*p)4,則標識符p表示的是一個指向整型變量的指針。() 若有定義:int *p4,則標識符p表示的是一個指針數組名。() 指針值就是地址值。() 若有定義int (*p)(),指針p可以
43、表示函數返回值的類型。() 語言允許main函數帶形參,但形參名只能是argv和arvc。第十章 結構體與共用體() 當定義一個結構體變量時,系統(tǒng)分配給它的內存是各成員所需內存量的總和。() 語言中,結構體變量在程序執(zhí)行期間只有部分成員駐留在內存中。() 一個共用體類型定義中不能出現結構體類型的成員。() 用typedef只是將已存在的類型用一個新的標識符來代表,而不能增加新類型。() 用typedef可以定義各種類型名,但不能用來定義變量。第十一章 位運算第十二章 文件() 利用fseek函數可以實現文件的隨機讀寫的操作。() 函數rewind的作用是使位置指針重新返回文件的開頭。() 在程
44、序中,文件可以用隨機讀寫的方式存取,也可以用順序讀寫的方式存取。() 函數ftell(fp)的作用是得到流式文件中的當前位置。() fgetc函數的作用是從指定文件讀入一個字符,該文件的打開方式必須是只讀的。四、 程序設計第一章 C語言概述第二章 數據類型、運算符與表達式第三章 簡單C程序設計第四章 選擇結構程序設計(1)編程實現:輸入一個整數,判斷它能否被子3,5,7整除,并輸出 以下信息之一:1)能同時被3,5,7整除;2)能被其中兩數(要指出哪兩個)整除;3)能被其中一個數(要指出哪一個)整除;4)不能被3,5,7任一個整除。(2)用switch編程實現: -1 (x<0)y= 0
45、 (x=0) 1 (x.0)第五章 循環(huán)控制(1)每個蘋果0.8元,第一天買2個蘋果,第二天開始,每天買前一天的倍,直至購買的蘋果個數達到不超過100的最大值。編寫程序求每天平均花多少錢?(2)編寫程序,從鍵盤輸入6名學生的5門成績,分別統(tǒng)計出每個學生的平均成績。第六章 數組(1)從鍵盤輸入若干整數(數據個數應少于50),其值在0至4的范圍內,用1作為輸入結束的標志。統(tǒng)計每個整數的個數。試編程。(2)若有說明:int a23=1,2,3,4,5,6;現要將a 的行和列的元素互換后存到另一個二維數組b中。試編程。第七章 函數(1)已有變量定義和函數調用語句int a,b; b=sum(a);函數
46、sum()用以求 k ,和數作為函數值返回。若a值為10,經函數sum 的計算后,b的值是55。請編寫sum 函數。Sum(int n) (2)a是一個2*4的整型數組,且各元素均已賦值,函數 max_value 可求出其中的最大元素值 max,并將此值返回主調函數。今有函數調用語句 max=max_value(a);請編寫 max_value 函數。Max_value(int arr 4) 第八章 編譯預處理命令(1)輸入兩個整數,求它相除的余數。用帶參的宏來編程實現。(2)試用義一個帶參的宏swap(x,y),以實現兩個整數之間的交換,并利用它將一維數組a和b的值進行交換。第九章 指針(1
47、)編一程序,將字符串computer賦給一個字符數組,然后從第一個字母開始間隔地輸出該串。請用指針完成。(2)設有一數列,包含10個數,已按升序排好。現要求編一程序,它能夠把從指定位置開始的N個數按逆序重新排列并輸出新的完整數列。進行逆序處理時要赤使用指針方法。試編程。(例如:原數列為2,4,6,8,10,12,14,16,18,20,若要求把從第4個數開始的5個數按逆序重新排列,則得到新數列為2,4,6,16,14,12,10,8,18,20。)第十章 結構體與共用體(1)試利用指向結構體的指針編制一程序,實現輸入三個學生的學號、數學期中和期末成績,然后計算其平均成績并輸出成績表。(2)請定
48、義枚舉類型 ,用枚舉元素代表人民幣的面值。包括1,2,5分;1,2,5角;1,2,5,10,50,100元。第十一章 位運算(1)請編程序:從終端讀入16進制無符號整數M,調用函數 rightrot 將M中的原始數據循環(huán)右移N位。并輸出 移位前后的內容。(2)請編寫函數getbits從一個16位的單元中取出以n1開始至n2結束的某幾位,起始位和結束位都從左向右計算。同時編寫主函數調用getbits進行驗證。第十二章 文件()請編寫程序:從鍵盤輸入一個字符串,將其中的小寫字母全部轉換成大寫字母,輸出到磁盤文件“upper.txt”中保存。輸入的字符串以“!”結束。然后再將文件upper.txt中
49、的內容讀出顯示在屏幕上。()設文件student.dat中存放著一年級學生的基本情況,這些情況由以下結構體來描述:struc studentlong int num; *學號*char name10; *姓名*int age; *年齡*char sex; *性別*char speciality20; *專業(yè)*char addr40; *地址*;請編寫程序,輸出學號在970101971035之間的學生學號、姓名、年齡和性別。五、 參考答案一、名詞解釋二、單項選擇題第一章 C語言概述(1)A(2)C(3)D(4)C(5)B第二章 數據類型、運算符與表達式(1)C(2)A(3)C(4)C(5)A第三
50、章 簡單C程序設計(1)D(2)D(3)D(4)A(5)B第四章 選擇結構程序設計(1)C(2)B(3)D(4)C(5)B第五章 循環(huán)控制(1) C(2) C(3) A(4) C(5) C第六章 數組(1) C(2) B(3) D(4) C(5) D第七章 函數(1) A(2) D(3) B(4) B(5) B第八章 編譯預處理(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第十章 結構體與共用體(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) 函數(2) 主函數(或:m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2021廣東省深圳市寶安區(qū)寶城小學六年級小升初語文綜合測試卷及答案
- 主體模板工程施工方案
- 扣盤式腳手架施工方案
- 2025年中考物理模擬試卷猜題卷3(含答案)
- 2025屆浙江省臺州市團隊六校中考生物模擬預測題含解析
- 勞務合同保密合同范例
- 肝移植GVHD的護理
- 農資服務代辦合同范例
- 學校秋季志愿服務計劃
- 制定有效的輪崗計劃
- 2024解析:第十章 浮力綜合應用-講核心(解析版)
- Unit4BodylanguageUsingLanguage肢體語言在續(xù)寫中的運用課件高中英語人教版選擇性
- 大數據與人工智能營銷(南昌大學)知到智慧樹章節(jié)答案
- 《讓座》(課件)西師大版音樂二年級上冊
- 廣告創(chuàng)作與視覺傳媒考核試卷
- 2024年江西省公務員考試《行測》真題及答案解析
- 醫(yī)學裝備管理工作總結
- 2024-2025學年湖南省雅禮集團高二(上)第一次月考數學試卷(含答案)
- 現代家政導論-課件 4.1.3認識我國家政教育發(fā)展
- 《互聯網應用新特征》課件 2024-2025學年人教版(2024)初中信息科技七年級全一冊
- 2024年部編版六年級語文上冊第六單元 語文園地六(教案)
評論
0/150
提交評論