《C語言程序設計》練習題參考_第1頁
《C語言程序設計》練習題參考_第2頁
《C語言程序設計》練習題參考_第3頁
《C語言程序設計》練習題參考_第4頁
《C語言程序設計》練習題參考_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、位C、 1024字節(jié) D、 1000字節(jié)9、以下不正確的標識符是()。A、 scoreB、 _abcC、 x+yD、 Hello10、 十進制數(shù)107轉(zhuǎn)換成二進制數(shù)是( )。A. 01101011B. 10001101C.0110 1101D. 1110 110111、二進制數(shù)1011011轉(zhuǎn)換為十進制數(shù)是( )。A、91B、87C、107D、12312、若x、i、j和k都是int型變量,則計算下面的表達式后,x的值為( )。x=(i=4,j=16,k=32)A、4B、16C、32D、5213、假設所有變量均為整型,則表達式(a=2,b=5,b+,a+b)的值是( )。A、7B、8C、6D、2

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

5、d int型數(shù)據(jù)的取值范圍是( )。A、0255B、032767C、065535D、0214748364719、在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是( )。A、補碼B、反碼C、原碼D、ASCII碼20、下列標識符中,不能作為合法的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語言語法的表達式( )。A. +x,y=xB

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

7、 -1234.567, -1234.567C. 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,1

8、0,7D. 9, 9,529、有以下程序段:int 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

9、("%f",&x) D. scanf("%5.1f",&x) 31、閱讀以下程序,當輸入數(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、閱讀以下程序,

10、當輸入數(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、 不確定值33、有輸入語句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1,b為3,c

11、為2,從鍵盤輸入數(shù)據(jù)的正確形式應當是( )。表示空格A、132B、1,3,2<回車>C、a=1b=3c=2<回車>D、a=1,b=3,c=2<回車>34、關(guān)于邏輯運算的對象,下面說法正確的是( )。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;else

12、x+; y+;printf("%d,%d",x,y);A. 有語法錯誤,不能通過編譯 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í)行表達式“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) print

13、f(“*”); else printf(“#”);A. 有語法錯誤,不能通過編譯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語法錯誤,死循環(huán)39、以下程序段程序1: int i=5,s=0;while (i>0) s=s+i; break; i-; 程序2:int i=5,s=0;while

14、(i>0) s=s+i; continue; 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)用均不可

15、以嵌套D. 函數(shù)定義和函數(shù)調(diào)用均可以嵌套42、下列變量定義以后,變量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;等價的是( )。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、下

16、列二維數(shù)組的初始化,正確的是( )。A. int 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',

17、'h'則兩個數(shù)組str的長度分別為( )。A.8,6 B. 9,7 C. 8,7 D.7,748、下列對字符數(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,F

18、ri,Sat;A. 0B.2C.4D.649、若有以下定義,int類型占2個字節(jié),float類型占4個字節(jié),char類型占1個字節(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個字節(jié)struct stu char name10; int num; float score; student1, *p1=&stude

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

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

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

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

23、c&&1的值是 。17、執(zhí)行語句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、設有程序段switch(grade)

24、case 'A':printf("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

25、 1:switch(y) case 0:printf("*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(&

26、quot;*"); else continue; 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

27、(i=2;i<10;i+) fi=fi-2+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=

28、i+a+b; return m;9、 以下程序執(zhí)行后的輸出結(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

29、;i+) printf("%4d",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("

30、;second:%d,%d,%dn",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()    

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

32、;break;        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(

33、int a,int b) int c; c=a+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()    cha

34、r * str = "I LOVE CODE!"    int len;    str += 7;    len = strlen(str);    str -= 7;    printf("%s can be %d chars long", str, len);    retu

35、rn 0;17、 以下程序執(zhí)行后的輸出結(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(*

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

37、a或x=-a0-a<x<asqrt(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條,下面程序段計算雞兔各有多少只,請?zhí)羁?。for(x=1;x<=29;x+) y=30-x; if( ) printf("%d,%dn",x,y);4、下面程序以每行4個數(shù)據(jù)的形式輸出a數(shù)組,請?zhí)羁铡?define N 20main() int aN,i;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論