《C語言程序設(shè)計(jì)》練習(xí)題_第1頁
《C語言程序設(shè)計(jì)》練習(xí)題_第2頁
《C語言程序設(shè)計(jì)》練習(xí)題_第3頁
《C語言程序設(shè)計(jì)》練習(xí)題_第4頁
《C語言程序設(shè)計(jì)》練習(xí)題_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、 選擇題(在A、B、C、D中選擇一個(gè)正確的)1、以下敘述不正確的是( )。A、一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B、一個(gè)C源程序必須包含一個(gè)main函數(shù)C、C程序的基本組成單位是函數(shù)D、在C程序中,注釋說明只能位于一條語句的后面2、C語言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置( )。A、必須在最開始B、必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C、可以任意D、必須在最后3、一個(gè)C程序的執(zhí)行是從( )。A、本程序的main函數(shù)開始,到本程序main函數(shù)結(jié)束B、本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C、本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D、本程序文件的第一個(gè)函數(shù)開

2、始,到本程序main函數(shù)結(jié)束4、C語言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符( )。A、必須為字母B、必須為下劃線C、必須為字母或下劃線D、可以是字母、數(shù)字和下劃線中任一種字符5、在計(jì)算機(jī)內(nèi)部用來傳送、存儲(chǔ)、加工處理的數(shù)據(jù)或指令都是以( )形式表示的。A、十進(jìn)制B、八進(jìn)制C、二進(jìn)制D、十六進(jìn)制6、十進(jìn)制數(shù)127轉(zhuǎn)換為二進(jìn)制數(shù)是( )。A、1111110B、1111111C、1000000D、100000017、十六進(jìn)制數(shù)10H轉(zhuǎn)換為八進(jìn)制是( )。A、10B、2C、20D、168、1KB表示( )。A、1024位B、1000位C、 1024字節(jié) D、 1000字節(jié)9、以下

3、不正確的標(biāo)識(shí)符是()。A、 scoreB、 _abcC、 x+yD、 Hello10、 十進(jìn)制數(shù)107轉(zhuǎn)換成二進(jìn)制數(shù)是( )。A. 01101011B. 10001101C.0110 1101D. 1110 110111、二進(jìn)制數(shù)1011011轉(zhuǎn)換為十進(jìn)制數(shù)是( )。A、91B、87C、107D、12312、若x、i、j和k都是int型變量,則計(jì)算下面的表達(dá)式后,x的值為( )。x=(i=4,j=16,k=32)A、4B、16C、32D、5213、假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b+,a+b)的值是( )。A、7B、8C、6D、214、若有說明語句:char c=72;則變量c

4、( )。A、包含1個(gè)字符B、包含2個(gè)字符C、包含3個(gè)字符D、說明不合法,c的值不確定15、若有說明語句:char c=82;則變量c( )。A、包含1個(gè)字符B、包含2個(gè)字符C、包含3個(gè)字符D、說明不合法,c的值不確定16、設(shè)變量a是整型,f是單精度實(shí)型,i是雙精度實(shí)型,則表達(dá)式10+a+i*f值的數(shù)據(jù)類型為( )。A、intB、floatC、doubleD、不確定17、表達(dá)式18/4*sqrt(4.0)/8值得數(shù)據(jù)類型是( )。A、intB、floatC、doubleD、不確定18、設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsigned int型數(shù)據(jù)的取值范圍是( )。A、0255

5、B、032767C、065535D、0214748364719、在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是( )。A、補(bǔ)碼B、反碼C、原碼D、ASCII碼20、下列標(biāo)識(shí)符中,不能作為合法的C語言變量名的是( )。A. s_1B. intC. _floatD. _12321、下列變量定義不合法的是( )。A. short _a=1.1e-1;B. double b=1+5e2;C. int long c=0xfdaL;D. float and=1.e-3;22、若變量x、y已正確定義并賦值,下列符合C語言語法的表達(dá)式( )。A. +x,y=xB. x+1=y C. x=x+10=x+y D.

6、 double(x)/1023、將字符A(ASCII碼值為65)賦值給變量c,不正確的表達(dá)式是( )。A. c=65B. c=AC. c=65 D. c=10124、下列合法的字符常量是( )。A. “n”B. abC. x3tD. n25、getchar()函數(shù)可以從終端輸入一個(gè)( )。A. 字符串B. 整型變量表達(dá)式值C. 實(shí)型變量值D.字符 26、以下程序段的輸出結(jié)果是( )。float x=-1234.567;printf(“%-8.3f, ”,x);printf(“%12.3fn”,x);A. 1234.567, -1234.567B. -1234.567, -1234.567C.

7、1234.567,-1234.567D. -1234.567, -1234.56727、以下程序段的輸出結(jié)果是( )。char c= a; int a=99;printf(“%d, %d, %c, %c ”, c, a, c, a);A. 97, 99, a, c B. a, 99, a, 99C.99, 99, a, aD. 97, 99, a, 9728、以下程序段的輸出結(jié)果是( )。int a=3, b=4, c=5;printf(“%d, %d,%d ”,+a+c,c+ b+, c+2);A. 9,9, 7 B. 8, 10,7C.9,10,7D. 9, 9,529、有以下程序段:in

8、t k1,k2,k3,k4;scanf(“%d %d”,&k1,&k2);scanf(“%d, %d”,&k3,&k4); 若將10賦值給變量k1,k2,將20賦值給k3,k4,下列正確的數(shù)據(jù)輸入是( )。A. 10 1020,20B.10,10,20,20C.101020,20 D.10 10 20 2030、若x為double型變量,則能正確輸入x值的語句是( )。A. scanf("%lf",&x) B. scanf("%ld",&x) C. scanf("%f",&x)

9、D. scanf("%5.1f",&x) 31、閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25,13,10<CR>,正確的輸出結(jié)果為( )。<CR>代表回車#include<stdio.h>void main() int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%dn",x+y+z);A、 x+y+z=48B、 x+y+z=35C、 x+z=35D、 不確定值32、閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25,13,10<CR

10、>,正確的輸出結(jié)果為( )。<CR>代表回車#include<stdio.h>void main() int x,y,z;scanf("%d,%d,%d",&x,&y,&z);printf("x+y+z=%dn",x+y+z);A、x+y+z=48B、x+y+z=35C、 x+z=35D、 不確定值33、有輸入語句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是( )。表示

11、空格A、132B、1,3,2<回車>C、a=1b=3c=2<回車>D、a=1,b=3,c=2<回車>34、關(guān)于邏輯運(yùn)算的對(duì)象,下面說法正確的是( )。A. 只能是0或者1B. 只能是0或非0正數(shù)C. 只能是整型或字符型數(shù)據(jù)D. 可以是任何類型的數(shù)據(jù)35、關(guān)于以下程序,說法正確的是( )。#include<stdio.h>void main()int x,y;scanf("%d,%d",&x,&y);if(x>y)t = x; x = y;y = t;elsex+; y+;printf("%d,%

12、d",x,y);A. 有語法錯(cuò)誤,不能通過編譯 B. 若輸入:2,3,則輸出:3,4C. 若輸入:3,2,則輸出:2,3 D. 若輸入:4,3,則輸出:4,5 36、若有如下數(shù)據(jù)描述: int x=1,y=3,z=5;”執(zhí)行表達(dá)式“z+=x-&&y+&&z+”后,x,y,z的值分別為( )。A. 0、3、5 B. 0、4、7C.2、3、6 D. 2、3、737、關(guān)于以下程序,描述正確的是( )。#include<stdio.h>void main() int a=1; if (a) printf(“*”); else printf(“#”)

13、;A. 有語法錯(cuò)誤,不能通過編譯B. 輸出:*C. 可以通過編譯,但不能通過連接D. 輸出:#38、以下程序段程序1:int i=5,s=0; while (i>0) i-; s=s+i; 程序2: int i=5,s=0; while (i=1) i-; s=s+i; 兩段程序執(zhí)行后變量s的值分別是( )。A. 15,0 B. 15,15 C.0,死循環(huán)D. 程序1語法錯(cuò)誤,死循環(huán)39、以下程序段程序1: int i=5,s=0;while (i>0) s=s+i; break; i-; 程序2:int i=5,s=0;while (i>0) s=s+i; continue

14、; i-; 兩段程序執(zhí)行后變量s的值分別是( )。 A. 0,15B.5, 15C. 15,15D. 死循環(huán), 死循環(huán)40、在C語言中,關(guān)于函數(shù)以下說法正確的是( )。A. 函數(shù)都要完成一定的功能,函數(shù)必須有返回值B. 函數(shù)聲明和函數(shù)定義的作用是相同的,沒有區(qū)別C. 如果沒有return語句,被調(diào)函數(shù)就無法返回主調(diào)函數(shù)D. 函數(shù)聲明和函數(shù)定義中的函數(shù)類型、形參數(shù)量和形參類型必須完全相同41、在C語言程序中,以下描述正確的是( )。A. 函數(shù)定義可以嵌套,但函數(shù)調(diào)用不可以嵌套B. 函數(shù)定義不可以嵌套,但函數(shù)調(diào)用可以嵌套C. 函數(shù)定義和函數(shù)調(diào)用均不可以嵌套D. 函數(shù)定義和函數(shù)調(diào)用均可以嵌套42、下

15、列變量定義以后,變量p1,p2是指針變量的是( )。A. int *p1,p2;B. int *p1,*p2;C. *int p1,p2;D. int *p1;*p2;43、若有如下變量定義:int a=10,b=20,*p1=&a,*p2=&b;下列賦值語句與語句b=a;等價(jià)的是( )。A. p2=p1;B. *p2=*p1;C. p2=&a;D. p2=*p1;44、下列二維數(shù)組的定義正確的是( )。A. int a3;B. float a(3,4);C. float a(3)(4);D. float a34;45、下列二維數(shù)組的初始化,正確的是( )。A. int

16、 a2=1,2,1,4,3,2; B. int a 3= 1,2,1,4,3,2;C. int a24=1,2,3,4,5,6 ;D. int a3=(0,1,2);46、若有如下定義int a34=1,2,3,4,5,6,7,8,9,10;則a11和a22的初始化值分別為( )。A. 6、0B.2、4C.1、4D.0、047、若有如下定義:char str =”English”; char str ='E' ,'n','g','l','i','s','h'則兩個(gè)數(shù)組str的長(zhǎng)度分別

17、為( )。A.8,6 B. 9,7 C. 8,7 D.7,748、下列對(duì)字符數(shù)組s賦值,不合法的( )。A. char s =”Quzhou”; B. char s20=”Quzhou”;C. char s20; s="Quzhou0" D. char s20= 'Q, 'u', 'z', 'h', 'o', 'u'33、以下枚舉類型定義,枚舉常量Thu的值為( )。enum weekdaySun=7,Mon=1,Tue,Wed,Thu,Fri,Sat;A. 0B.2C.4D.649、若

18、有以下定義,int類型占2個(gè)字節(jié),float類型占4個(gè)字節(jié),char類型占1個(gè)字節(jié)。程序1:union mydata 程序2:struct mydata char c; char c; int i; int i; float d; float d; data1; data1;變量data1占用內(nèi)存空間大小分別為( )字節(jié)。A. 4,7 B.4,4 C.7,4 D.7,750、若有以下定義,int類型占2個(gè)字節(jié)struct stu char name10; int num; float score; student1, *p1=&student1;則對(duì)結(jié)構(gòu)體變量student1的成員nu

19、m的引用不正確的是( )。A. p1.numB. student1.numC.p1->numD.(*p1).num51、fopen( )函數(shù)打開文件錯(cuò)誤后的返回值和文件結(jié)尾的返回值分別為( )。A. NULL,NULL B. NULL,EOFC. 1,0D. 無返回值,052、變量的指針,其含義是指該變量的( )。A、值B、位置C、名D、一個(gè)標(biāo)志53、下面程序段的運(yùn)行結(jié)果是( )。char str="ABC",*p=str;printf("%dn",*(p+3);A、67B、0C、字符'C'的位置D、字符'C'54、

20、若有以下定義,則對(duì)a數(shù)組元素的正確引用是( )。int a5,*p=a;A、*&a5B、a+2C、*(p+5)D、*(a+2)55、若有以下定義,則對(duì)a數(shù)組元素位置的正確引用是( )。int a5,*p=a;A、p+5B、*a+1C、&a+1D、&a056、語句while(!E);中的表達(dá)式等價(jià)于( )。A、E=0B、E!=1C、E!=0D、E=1二、填空題1、若a是int型變量,則下面表達(dá)式的值為 。(a=4*5,a*2),a+62、若a是int型變量,則計(jì)算表達(dá)式后a的值為 。a=25/3%33、若x和n均是int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式后x的值為

21、 ,n的值為 。x+=n+4、若有定義:int b=7;float a=2.5,c=4.7; 則下面表達(dá)式的值為 。a+(int)(b/3*(int)(a+c)/2)%45、若有定義:char c='010'則變量c中包含字符個(gè)數(shù)為 。6、假定用2個(gè)字節(jié)存儲(chǔ)有符號(hào)整數(shù)。-35的原碼是 H,反碼是 H,補(bǔ)碼是 H。7、標(biāo)識(shí)符只能由 、 和 組成,并且其第一個(gè)字符必須是 。8、若有如下數(shù)據(jù)描述: int a = 1,b=2,c=3;表達(dá)式a>b?(c=(a+)+(-b):(c=(-a)+(b+)運(yùn)算后,變量a、b、c分別為 、 、 。9、數(shù)學(xué)式 的C語言表達(dá)式為 。10、假設(shè)

22、變量a和b均為整型,以下語句不借助其他變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁?。a+= ; b=a- ;a-= ;11、當(dāng)a=3,b=2,c=1 時(shí),表達(dá)式 f=a>b>c的值是 。12、當(dāng)a=5,b=4,c=2 時(shí),表達(dá)式 a>b!=c的值是 。13、設(shè)y為int型變量,請(qǐng)寫出描述“y是奇數(shù)”的表達(dá)式 。14、設(shè)x,y,z均為int型變量,請(qǐng)寫出描述“x或y中有一個(gè)小于z”的表達(dá)式 。15、若a=6,b=4,c=3,則表達(dá)式a&&b+c|b-c的值是 。16、若a=1,b=4,c=3, 則表達(dá)式!(a<b)|!c&&1的值是 。17、執(zhí)行語句

23、for(i=1;i+<4; );后變量i的值是 。18、在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是 。19、若有定義:int a34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是 ,a21得到的初值是 。三、閱讀程序?qū)懡Y(jié)果1、以下程序執(zhí)行后的輸出結(jié)果是 。main() int a,b,c,d,x; a=c=0; b=1; d=20; if(a) d=d-10; else if(!b) if(!c) x=15; else x=25; printf("%dn",d);2、設(shè)有程序段switch(grade)case 'A':printf(

24、"85-100n"); case 'B':printf("70-84n"); case 'C':printf("60-69n"); case 'D':printf("<60n"); default: printf("error! n");若grade的值為'C',則輸出結(jié)果是 。3、以下程序執(zhí)行后的輸出結(jié)果是 。main() int x=1,y=0; switch(x) case 1:switch(y) case 0:prin

25、tf("*1*n");break; case 1:printf("*2*n");break; case 2:printf("*3*n"); 4、以下程序執(zhí)行后的輸出結(jié)果是 。main() int num=0; while(num<=2) num+; printf("%dn",num); 5、以下程序執(zhí)行后的輸出結(jié)果是 。#include<stdio.h>main() int i; for(i=1;i<5;i+) if(i%2) printf("*"); else cont

26、inue; printf("#"); printf("$n");6、以下程序執(zhí)行后的輸出結(jié)果是 。#include<stdio.h>main() int i,t,sum=0; for(t=i=1;i<=10; ) sum+=t; +i; if(i%3=0) t=-i; else t=i; printf("sum=%dn",sum);7、以下程序執(zhí)行后的輸出結(jié)果是 。#include<stdio.h>main() int f10,i; f0=f1=1; for(i=2;i<10;i+) fi=fi-2

27、+fi-1; for(i=0;i<10;i+) if(i%5=0) printf("n"); printf("%3d",fi); 8、以下程序執(zhí)行后的輸出結(jié)果是 #include<stdio.h>main() int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%dn",p);func(int a,int b) static int m=0,i=2; i+=m+1; m=i+a+b; return m;9、 以下程序執(zhí)

28、行后的輸出結(jié)果是 。#include<stdio.h>int f(int a);void main() int a=2,i; for(i=0;i<3;i+) printf("%4d",f(a);int f(int a) int b=0; static int c=3; b+;c+; return (a+b+c);10、以下程序執(zhí)行后的輸出結(jié)果是 。#include<stdio.h>void main() int a5=5,10,-7,3,7,i,j; sort(a); for(i=0;i<5;i+) printf("%4d&qu

29、ot;,ai);int sort(int a) int i,j,t; for(i=0;i<4;i+) for(j=0;j<4-i;j+) if(aj>aj+1) t=aj;aj=aj+1;aj+1=t;11、以下程序執(zhí)行后的輸出結(jié)果是 。#include<stdio.h>void main() int a=1,b=2,c=3; +a; c+=+b; int b=4,c; c=b*3; a+=c; printf("first:%d,%d,%dn",a,b,c); a+=c; printf("second:%d,%d,%dn",

30、a,b,c); printf("third:%d,%d,%dn",a,b,c);12、 以下程序執(zhí)行后的輸出結(jié)果是 。#include<stdio.h>void main() int i,j; for(i=1;i<=3;i+) for(j=i;j<=5;j+) printf(" *"); printf("n"); 13、 以下程序執(zhí)行后的輸出結(jié)果是 。#include <stdio.h>int main()     int a = 1;&#

31、160;   switch(a)        case 0:printf("a");        case 1:printf("b");        case 2:printf("c");break;   

32、;     case 3:printf("d");        return 0;14、 以下程序執(zhí)行后的輸出結(jié)果是 。 #include<stdio.h>int func(int a,int b);void main() int x=6,r; r=func(x,x+=2); printf("x=%d,r=%dn",x,r); int func(int a,int b) int c; c=a+

33、b; return c;15、 以下程序執(zhí)行后的輸出結(jié)果是 。#include<stdio.h>int m=20;int fun(int x,int y) int m=2; return (x*y-m);void main() int a=4,b=5; printf("%dn",fun(a,b)/m);16、 以下程序執(zhí)行后的輸出結(jié)果是 。#include<stdio.h>#include<string.h>int main()    char * str = &quo

34、t;I LOVE CODE!"    int len;    str += 7;    len = strlen(str);    str -= 7;    printf("%s can be %d chars long", str, len);    return 0;17、 以下程序執(zhí)行后的輸出

35、結(jié)果是 。sub(int x,int y,int *z)*z=y-x;main() int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%4d,%4d,%4dn",a,b,c);18、以下程序執(zhí)行后的輸出結(jié)果是 。main() char a="Language",b="programe" char *p1,*p2; int k; p1=a;p2=b; for(k=0;k<=7;k+) if(*(p1+k)=*(p2+k) printf(&q

36、uot;%c",*(p1+k);四、程序填空1、輸入一個(gè)字符,如果它是一個(gè)大寫字母,則把它變成小寫字母;如果它是一個(gè)小寫字母,則把它變成大寫字母,其它字符保持不變。main() char ch; scanf("%c",&ch); if( ) ch=ch+32; else if(ch>='a'&&ch<='z') printf("%cn",ch);2、下面程序根據(jù)以下函數(shù)關(guān)系,對(duì)輸入的每個(gè)x值,計(jì)算出y的值,請(qǐng)?zhí)钊胝_內(nèi)容。xyx=a或x=-a0-a<x<asqrt(

37、a*a-x*x)x<-a或x>ax#include<math.h>main() int x,a; float y; scanf("%d %d",&x,&a); if ( ) y=0; else if( ) y=sqrt(a*a-x*x); else y=x; printf("%fn",y);3、雞兔共有30只,腳共有90條,下面程序段計(jì)算雞兔各有多少只,請(qǐng)?zhí)羁?。for(x=1;x<=29;x+) y=30-x; if( ) printf("%d,%dn",x,y);4、下面程序以每行4個(gè)數(shù)據(jù)的形式輸出a數(shù)組,請(qǐng)?zhí)羁铡?define N 20main() int aN,i; for(i=0;i<N;i+) scanf("%d&quo

溫馨提示

  • 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)論