國家開放大學《C語言程序設計》章節(jié)測試參考答案_第1頁
國家開放大學《C語言程序設計》章節(jié)測試參考答案_第2頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、國家開放大學C語言程序設計章節(jié)測試參考答案第一章 C語言概述自測練習一:C語言字符集 自測練習1.在C語言字符集中,包含有全部26個英文大寫字母和對應的小寫字母。()2.在C語言字符集中,一個大寫英文字母和它的小寫英文字母被視為不同的字符。()3.在C語言程序中, ABC和abc被作為同一標識符使用。(×)自測練習二: C語言字符集 自測練習1.在C語言中,保留字是有專門含義和作用的,不能作為一般標識符使用。()2.在C語言中,作為標識符的第一個字符只能是英文字母或下劃線,不能是數字字符。()3.C語言中使用的字符常量,其起止標記符是( )。a. 雙引號b. 尖括號c. 單引號d.

2、中括號4.C語言中使用的字符串常量,其起止標記符是( )。a. 雙引號b. 中括號c. 尖括號d. 單引號自測練習三:C語句分類 自測練習1.在C語言中,一條簡單語句的結束符是( )。a. 分號b. 空格c. 冒號d. 逗號2.在C語言中,每條復合語句的開始標記字符為( )。a. <b. c. (d. 3.不符合C語言規(guī)定的復合語句是( )。a. x=0; b. c. ;d. y=10 4.C語言中的選擇類語句有兩條,它們是( )。a. else和caseb. if和switchc. if和elsed. switch和case自測練習四:函數分類與使用 自測練習1.在每個C語言程序中都必

3、須包含有這樣一個函數,該函數的函數名為( )。a. nameb. mainc. MAINd. function2.C語言程序中的基本功能模塊為( )。a. 標識符b. 函數c. 表達式d. 語句3.一個函數定義所包含的兩個部分是( )。a. 函數頭和函數體b. 函數原型和函數體c. 函數名和參數表d. 函數頭和函數尾4.一個程序文件開始使用的每條預處理命令,其首字符必須是( )。a. #b. c. %d. $5.在一個程序文件中,若要使用#include命令包含一個系統頭文件,則此頭文件所使用的起止定界符為一對( )。a. 雙引號b. 花括號c. 尖括號d. 單引號6.在一個函數定義中,函數體

4、的格式是一條復合語句。()7.一個函數必須返回一個值,不允許定義不返回任何值的函數。(×)8.若要在程序文件中使用數學函數,則需要引入的系統頭文件為math.h。()9.若要在程序文件中使用標準輸入和輸出函數,則需要引入的系統頭文件為stdio.h。()自測練習五:C語言程序的層次結構 自測練習1.在C語言程序中,單行或行尾注釋使用的標記符為( )。a. /b. *c. /*d. */2.在C語言程序中,多行注釋使用的結束標記符為( ).a. /*b. *c. */d. /3.在程序文件中添加注釋內容是為了增強程序的可讀性。()4.在一行中出現多條語句時,注釋語句只能為最后一條語句。

5、()自測練習六:標準輸出函數printf()的使用 自測練習1.用于輸出表達式值的標準輸出函數是( )。a. print()b. scanf()c. output() d. printf()2.在printf()函數調用的格式字符串中,每個格式符的先導字符為( )。a. #b. c. $d. %3.在printf()函數調用的格式字符串中,若使用格式符為“%d”,則對應輸出的數據類型為( )。a. intb. charc. floatd. double4.在printf()函數調用的格式字符串中,若使用格式符為“%f”,則對應輸出的數據類型為( )。a. charb. floatc. intd

6、. double5.在printf()函數調用的格式字符串中,若使用格式符為“%5d”,則規(guī)定對應輸出的數據占用的字符位置個數為( )。a. 5b. 4c. 6d. 36.在利用printf()函數向屏幕輸出數據時,需要在參數表的開始位置使用相應的格式字符串。()7.在“printf("%d - %d = %d",x,y,x-y);”語句所使用的格式字符串中,包含有3個格式符。()8.在執(zhí)行“printf("s=%sn","abc");”語句時,輸出結果為s=abc。()9.在“printf("s=%cn",&qu

7、ot;abc");”語句中,格式符的使用同后面的輸出數據相適合。(×)10.在執(zhí)行“printf("%d - %d = %d",x,y,x-y);”語句時,其輸出的前兩個數據值之間將采用逗號分開。(×)自測練習七:標準輸入函數scanf()的使用 自測練習1.程序運行中需要從鍵盤上輸入多于一個數據時,若不特別規(guī)定分隔符,則輸入的各數據之間所使用的分隔符為( )。a. 空格或回車b. 空格或逗號c. 逗號或回車d. 逗號或分號2.用于從鍵盤上為變量輸入值的標準輸入函數是( )。a. print()b. scanf()c. printf()3.在s

8、canf()函數調用的格式字符串中,每個格式符的先導字符為( )。a. %b. #c. d. $4.在scanf()函數調用的格式字符串中,若使用格式字符串為“%d,%d”,則規(guī)定輸入的兩個數據之間的分隔符為( )。a. $b. #c. d. %5.在利用scanf()函數從鍵盤輸入數據時,需要在參數表的開始位置使用相應的格式字符串。()6.在“scanf("%d %d",&x,&y);”語句所使用的格式字符串中,包含有2個格式符。()7.在執(zhí)行“scanf("%d %d",&x,&y);”語句時,需要從鍵盤上輸入2個整數

9、。()自測練習八:C語言程序的上機操作過程 自測練習1.C語言源程序文件的擴展名為( )。a. exeb. objc. cd. cpp2.每個C語言程序文件的編譯錯誤的類型有( )。a. 2種b. 3種c. 1種d. 4種3.每個C程序文件在編譯時可能出現有警告性錯誤,其對應的標識符號為( )。a. errb. errorc. warnd. warning4.一個C語言程序只能夠包含一個程序源文件。(×)5.一個C語言程序只能夠包含一個用戶頭文件。(×)6.在C語言程序上機操作的過程中,編譯程序的操作步驟之后是連接操作。()第一章 綜合練習一、單項選擇題1C語言中的循環(huán)類語

10、句有3條,它們是()。A. for,if,whileB. for,while,doC. while,do,switchD. for,break,do2C語言中的跳轉類語句有四條,它們是goto,return和()。A. break,constB. static,continueC. break,continueD. while,extern3當不需要函數返回任何值時,則所使用的返回類型為()。A. intB. unionC. voidD. Void4在一個函數定義中,函數頭包括的3個部分依次為函數類型、函數名和()。A. 表達式B. 語句C. 函數體D. 參數表5在一個程序文件的開始,若需要使

11、用一個包含命令包含一個頭文件時,則命令標識符為()。A. #cludeB. #constC. #includeD. #defile6在#include預處理命令中,不可以包含()。A. 系統頭文件B. 程序文件C. 用戶頭文件D. 目標文件7在printf()函數調用的格式字符串中,若使用格式符為“%6.2f”,則規(guī)定對應輸出的數據占用的字符位置個數為()。A. 5B. 6C. 4D. 28在printf()函數調用的格式字符串中,若使用格式符為“%6.2f”,則規(guī)定對應輸出的數據中,其小數部分占用的字符位置個數為()。A. 5B. 6C. 4D. 29在printf()函數調用的格式字符串中

12、,若使用格式符為“%6.2f”,則規(guī)定對應輸出的數據中,其整數部分占用的字符位置個數為()。A. 6B. 4C. 3D. 210在scanf()函數調用的格式字符串中,若使用格式符為“%f”,則對應輸入的數據類型為()。A. charB. intC. floatD. double11在scanf()函數調用的格式字符串中,若使用格式符為“%Lf”,則對應輸入的數據類型為()。A. charB. intC. floatD. double12每個C程序文件在編譯時可能出現有嚴重性錯誤,其對應的標識符號為()。A. warningB. errorC. warnD. err13在VC+環(huán)境下,為運行一

13、個程序而建立的工作區(qū)文件的擴展名為()。A. objB. exeC. dswD. dsp二、判斷題1在C語言中,作為標識符的第一個字符可以是英文字母、數字或下劃線字符。(×)2在C語言中,標識符中的非首字符可以是英文字母、數字或下劃線字符。()3當需要在程序文件中引入用戶定義的頭文件時,使用的不是#include命令。(×)4使用#include命令只能包含頭文件,不能包含其他任何文件。(×)5注釋語句的內容只會出現在源程序文件中,不會出現在編譯后而生成的目標代碼文件中。()6一條注釋語句的最后必須使用分號結束。(×)7源程序文件被編譯成目標文件后,其目

14、標文件中也存在有對應的注釋內容。(×)8源程序文件被編譯成目標文件后,源程序文件中的注釋語句仍然存在。()9在一條注釋語句中,除了注釋內容外,不需要使用任何特定的標記符。(×)10多行注釋語句的開始和結束標記符可以互換使用。(×)11在執(zhí)行“printf("%5d",x);”語句時,其輸出的x的值所占用的顯示寬度將大于等于5個字符位置。()12在執(zhí)行“printf("%6d",x);”語句時,其輸出的x的值所占用的顯示寬度將小于6個字符位置。(×)13在執(zhí)行“printf("%8.2f",x);

15、”語句時,其輸出的x的值所占用的顯示寬度將大于等于8個字符位置。(×)14在“scanf("%d %d",&x,&y);”語句中,x和y變量均為整數類型。()15在“scanf("%s",x);”語句中,x變量不是字符指針類型。(×)16在“scanf("%d-%d=%d",&x,&y,&z);”語句中,有語法錯誤。(×)17在C語言程序上機操作的過程中,連接程序的操作步驟之前是編譯程序。()18在C語言程序上機操作的過程中,需要對每個用戶頭文件進行單獨的編譯操作。

16、(×)19在C語言程序上機操作的過程中,不能夠對用戶頭文件進行單獨的編譯操作。()第二章 基本數據類型和表達式自測練習一:數據類型 自測練習1.char類型的長度為( )。a. 1b. 3c. 4d. 22.常數120的數據類型為( )。a. 雙精度型b. 短整型c. 長整型d. 整型3.一個無符號字符類型的值域范圍是( )。a. -127到255b. 0到255 c. 1到255d. -128到+1274.廣義整數類型包括短整型、標準整型和長整型3種。(×)5.短整型、標準整型和長整型的長度分別為2、4和8。(×)自測練習二:常量 自測練習1.數值常量0x62的

17、表示方式為( )。a. 八進制b. 十進制c. 二進制d. 十六進制2.在C語言中,表示換行符的轉義字符為( )。a. rb. f c. md. n 3.字符串"It's'"中包含的字符個數為( )。a. 8b. 7c. 6d. 54.執(zhí)行“printf("%c",'B'+2);”語句后得到的輸出結果為( )。a. Db. Bc. Cd. A5.常數3.26是雙精度浮點數。(×)6.常數3.26f是單精度浮點數。(×)7.浮點數包括單精度浮點數和雙精度浮點數兩種。()8.常數3.26是雙精度浮點數。(&

18、#215;)自測練習三:變量 自測練習1.要定義a和b為兩個整型變量,則使用的定義語句為( )。a. int a:b;b. int a b; c. int a,b; d. int a;b; 自測練習四:運算符和表達式 自測練習1.運算符優(yōu)先級最高的是()。a. /b. |c. +d. %2.下列數值中最小值是()。a. 28/8b. 28%8c. 35/3d. 35%33.已知x的初值為15,則下列各表達式中的最小值為()。a. x*=2b. x+=10c. x/=2d. x%=204.若x=5,y=10,則計算y*=+x表達式后,y的值為()。a. 40b. 60c. 50d. 555.設x

19、和y均為邏輯值,則x && y為真的條件是()。a. 其中一個為假b. 它們均為假c. 它們均為真d. 其中一個為真6.x<=10的相反表達式為()。a. x>=10b. x!=10c. x>0 d. x>107.表達式(float)25/4的值為6。(×)8.表達式x=x+y表示成復合賦值表達式為x=+y。(×)9.增量表達式+y表示成賦值表達式為y=y+1。()10.表達式sizeof(25)的值等于4。()11.邏輯表達式(x>3 && x<10)的相反表達式為(x<=3 | x>=10)

20、。()自測練習五:一些系統函數的使用 自測練習1.函數pow(4,3)的值為()。a. 64.0b. 27c. 12.0d. 56 2.假定x=4.6,則函數floor(x)的值為()。a. 5.0b. 4.0c. 4.6d. 4.53.正弦函數sin48在C語言的表示為()。a. sin(48*3.14159)b. sin(48)c. sin(48/180.0) d. sin(48*3.14159/180)4在C語言中,求一個實數的絕對值的數學函數為fabs(x)。()5.已知x=-25,則abs(x)的值為25。()6.在C語言中,正弦、余弦或正切函數的參數的度量單位是度。(×)

21、第二章 綜合練習一、單項選擇題(1-12題每題3分,13-16題每題4分,共48分)1.int類型的長度為()。A. 1B. 2C. 4D. 82.常數-4.25的數據類型為()。A. 整型B. 單精度型C. 雙精度型D. 長雙精度型3.一個有符號字符類型的值域范圍是()。A. -128到+127B. 0到255C. -127到255D. 1到2554.字符串"Its40n"的長度為()。A. 5B. 6C. 7D. 85.實數340.25對應的規(guī)格化浮點數為()。A. 340.25B. 34.025e1C. 3.4025e2D. 0.34025e36.要利用const保留

22、字定義整型常量ABC的值為10,則對應的定義語句為()。A. const int ABC 10;B. const int ABC,10;C. const int ABC;10;D. const int ABC=10;7.要利用#define命令定義ABC常量的值為100,則對應的命令格式為()。A. #define ABC=100B. #define ABC=100C. #define ABC 100D. #define ABC;1008.下列數值中最大值是()。A. 28/8B. 35/3C. 28%8D. 35%49.在下面運算符中,優(yōu)先級最高的是( )。A. !B. &&

23、C. |D. !=10.設有語句序列為“int a=12; a+=a*a;”,則執(zhí)行結束后,a的值為()。A. 12B. 144C. 156D. 28811在C語言中,用于比較大小的關系運算符的總數為()。A. 3B. 4C. 5D. 612.x>0 && y<=5的相反表達式為()。A. x<=0 | y>5B. x>0 | y<=5C. x<=0 && y>5D. x<0 && y!=513.假定x是一個邏輯量,則(x && !x)和(x | !x)的值分別為( )。A.

24、1和1B. 0和0C. 0和1D. 1和014.假定x=4.6,則函數ceil(x)的值為( )。A. 4.0B. 4.6C. 4.5D. 5.015.表達式floor(2.3457*100+0.5)/100的值為( )。A. 2.35B. 2C. 2.34D. 2.3457二、判斷題(每題4分,共52分)16.常數3.26e4是雙精度浮點數。()17.浮點數只有單精度表示,沒有雙精度表示。(×)18.定點數包括單精度定點數和雙精度定點數兩種。()19.定義符號常量只有一種方法,就是采用預處理命令#define的方法。(×)20.使用const語句定義一個符號常量時,則必須

25、對它同時進行初始化。()21.在一條變量定義語句中,定義的變量和賦給它的初值之間只能使用等號(=)。()22.假定x=5,則表達式2+x+的值為7。()23.表達式(int)14.6%5的值為0。(×)24.表達式x=x+1表示成增量表達式為x+。(×)25.假定x=5,則執(zhí)行“a=(x?10:20);”語句后a的值為10。()26.邏輯表達式(a>b | b=5)的相反表達式為(a>b && b=5)。(×)27.在C語言中,求一個整數的絕對值的數學函數為abs(x)。()28.在C語言中,退出程序運行的系統函數為exit()。()第

26、三章 流程控制語句自測練習一:if條件語句 自測練習1.若x的值為5,則執(zhí)行“if(x>10) x+; else x-;”語句后,x的值為( )。a. 4b. 6c. 3d. 52.若x的值為-10,則執(zhí)行“if(x) x+; else x-;”語句后,x的值為( )。a. -9b. -11c. -10d. 03.在if語句中,可以帶有else子句,也可以省略它。(×)4.在if語句中,每個else關鍵字與它前面同層次并且最接近的if關鍵字相配套。(×)5.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int a=25,

27、b=18;if(a>b) printf("%sn","a>b");if(a=b) printf("%sn","a=b"); if(a<b) printf("%sn","a答案:a>b6.執(zhí)行下面程序的輸出結果為#includestdio.h>#include<stdio.h>void main() int a=18,b=4,c=0;if(a/b) c+=a/b; c+=a%b;if(a%b) a=a/b; b=a%b; printf("

28、;%d",a+b+c);答案:a>b自測練習二:switch開關語句 自測練習1.在switch語句的每個case塊中,假定都是以break語句結束的,則此switch語句容易被改寫成語句( )。a. ifb. whilec. dod. for2.每個C語言程序文件的編譯錯誤的類型有( )。2. 在switch語句中,每個保留字case后面的表達式必須是( )。a. 函數調用b. 變量種c. 一般表達式d. 常量3.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int x=5,y=0;switch(2*x-3) case 4: y

29、+=x; break;case 7: y+=2*x+1; break;case 10: y+=3*x; break;printf("y=%dn",y);答案:y=114.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int x=9,y=0;switch(x%3) case 0: y+=x;case 1: y+=2*x+1;case 2: y+=3*x; break;default: y+=x-1;printf("y=%dn",y);答案:y=55自測練習三:for循環(huán)語句 自測練習1.當處理問題時的循環(huán)次數

30、是確定的,則采用的最合適的循環(huán)方式為( )。a. do-whileb. switchc. whiled. for2.若需要定義一個符號常量,并且使C語言能夠進行類型檢查,則應在定義語句的開始使用保留字( )。a. caseb. continuec. staticd. const3.已知'A''Z'的ASCII碼為6590,當執(zhí)行“int x='C'+5;”語句后x的值為( )。a. 70b. 73c. 72d. 714.在一條變量定義語句中可以同時定義多個變量。()5.在一條變量定義語句中,當同時定義多個變量時,各變量之間只能使用逗號分開。()6

31、.在一條變量定義語句中,定義的變量和賦給它的初值之間不需要使用等號(=)。(×)自測練習四:while循環(huán)語句 自測練習1.每次先進行循環(huán)條件的判斷,然后再執(zhí)行循環(huán)體的語句為( )。a. for和whileb. for和doc. switch和breakd. while和do2.若n的值為5,s的值為0,則執(zhí)行“while(n>0) s+=n-;”語句后,s的值為( )。a. 13b. 14c. 15d. 123.當循環(huán)次數確定時,while循環(huán)語句能夠轉換為for循環(huán)語句。()4.while循環(huán)語句中的循環(huán)體至少被執(zhí)行一次。(×)5.執(zhí)行下面程序的輸出結果為#inc

32、lude<stdio.h>void main() int n=10,y=0;while(n>5) y+=n-;printf("y=%dn",y);答案:y=406.執(zhí)行下面程序的輸出結果為。#include<stdio.h>void main() int i=1,p=1,s=1;while(s<40) i+; p=p*i; s=s+p;printf("s=%dn",s);答案:s=153自測練習五:do循環(huán)語句 自測練習1.流程控制類語句包括的3類語句為( )。a. 選擇、循環(huán)、跳轉b. 選擇、循環(huán)、輸入c. 選擇、輸

33、入、輸出d. 循環(huán)、選擇、函數2.若i的值為0,則執(zhí)行“do i+; while(i*i<10);”語句的過程中,循環(huán)體被執(zhí)行的次數為( )。a. 2b. 3c. 5d. 43.do-while循環(huán)語句中的循環(huán)體至少被執(zhí)行一次。()4.do-while循環(huán)語句是以分號結束的語句。()5.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int x=16,s=0;do s+=x; x-=3; while(x>0);printf("s=%dn",s);答案:s=516.此程序的功能是從鍵盤上輸入兩個(),輸出結果為它們的平

34、方和_。#include<stdio.h>void main() int x,y;do scanf("%d %d",&x,&y); while(x<=0 | y<=0);printf("%dn",x*x+y*y);答案:正整數自測練習六:跳轉類語句 自測練習1.若要結束所在函數的執(zhí)行過程,返回到調用該函數所在位置,則使用的語句為( )。a. gotob. continuec. returnd. break2.要結束所在循環(huán)語句中循環(huán)體的一次執(zhí)行,則在其中使用的語句為( )。a. gotob. returnc. br

35、eakd. continue3.break語句只能使用在循環(huán)語句中。(×)4.return語句只有保留字,沒有其他成分。(×)5.continue語句只有保留字,沒有語句體。()6.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int i,s=0;for(i=1; i<10; i+) s+=i*(i+1);if(s>40) break; printf("s=%dn",s);答案:s=707.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int i=

36、0,s=0;do i+=2;if(i%3=0) continue;s+=i*(i+1); while(s<60);printf("s=%dn",s);答案:s=98第三章 綜合練習一、單項選擇題1.若x的值為15,則執(zhí)行“if(x>10) x+; else x-;”語句后,x的值為( )。a. 16b. 10c. 15d. 142.若x的值為-10,則執(zhí)行“if(!x) x+; else x-;”語句后,x的值為( )。a. 0b. -10c. -9d. -113.若x的值為10,則執(zhí)行“switch(x%3)case0: x+; case 1:x+; case

37、 2: x+;”語句后,x的值為( )。a. 13b. 10c. 12d. 114.若x的值為10,則執(zhí)行“switch(x%3)case0: x+; break; case 1:x+; default: x+;”語句后,x的值為( )。a. 9b. 10c. 12d. 115.若n的值為10,則執(zhí)行“for(i=1;i<n; i+) S;”語句的過程中,表達式i=1共被執(zhí)行的次數為( )。a. n-1b. 1c. nd. n+16.若n的值為10,則執(zhí)行“for(i=0; i+) if(i>n/3) break;”語句后,i的值為( )。a. 6b. 3c. 4d. 57.若n的

38、值為10,則執(zhí)行“for(i=1;i<n; i+) S;”語句的過程中,表達式i+共被執(zhí)行的次數為( )。a. nb. n+1c. 1d. n-18.若n的值為10,則執(zhí)行“for(i=0;i<n; i+) for(j=i; j<n; j+) S;”語句后,內層循環(huán)體S語句的執(zhí)行總次數為( )。a. n*nb. n(n+1)/2c. (n+1)/2d. n(n-1)/29.若n的值為10,則執(zhí)行“while(n->0)s+=n;”語句的過程中,循環(huán)體被執(zhí)行的次數為( )。a. 9b. 11c. 8d. 1010.若n的值為5,s的值為0,則執(zhí)行“while(n->

39、0) s+=n;”語句后,s的值為( )。a. 15b. 12c. 10d. 1411.在下列的語句中,必須以分號作為結束的語句是( )。a. whileb. forc. dod. switch12.若n的值為5,s的值為0,則執(zhí)行“do s+=n-; while(n>0);”語句后,s的值為( )。a. 14b. 12c. 15d. 1313.要結束任一種循環(huán)語句或switch語句的執(zhí)行,則在其中使用的語句為( )。a. gotob. breakc. continued. return二、判斷題14.在if語句中,必須帶有else子句,不能省略它。(×)15.在for循環(huán)語句

40、的頭部,for后面括號內共有3個表達式位置。()16.for循環(huán)語句不能夠被轉換為while循環(huán)語句。(×)17.while循環(huán)語句中的循環(huán)體可能不會被執(zhí)行。()18.while循環(huán)語句的循環(huán)體,只能是復合語句,不能是簡單語句。(×)19.do-while循環(huán)語句中的循環(huán)體可能不會被執(zhí)行。(×)20.do-while循環(huán)語句的循環(huán)體,只能是復合語句,不能是簡單語句。(×)21.do-while循環(huán)語句是以循環(huán)體結尾的。(×)22.break語句可以使用在switch語句中。()23.return語句中可以帶有返回表達式。()24.continu

41、e只能使用在任一種循環(huán)語句的循環(huán)體中。()三、程序填空題25.#include<stdio.h>void main() int a=5,b=8,c=6,d=15,x,y; if(a>=b) x=a; else x=b; if(c>=d) y=c; else y=d; if(x>=y) printf("%dn",x); else printf("%dn",y);答案:1526.#include<stdio.h>void main() int x=5,y=8,z=12; if(x>y && x&

42、gt;z) printf("%dn",x); else if(y>x && y>z) printf("%dn",y); else printf("%dn",z);答案:1227.#include<stdio.h>void main() int a=5,b=8,c; if(3*a>2*b) c=2*a+3*b; else if(a=b) c=a*a+b*b; else c=a*b+3; printf("c=%dn",c);答案:c=4329.#include<std

43、io.h>void main() int x=5,y=0; switch(2*x-3) case 4: y+=x; case 7: y+=2*x+1; case 10: y+=3*x; printf("y=%dn",y);答案:y=2629.#include<stdio.h>void main() char ch; int a,b,c; scanf("%c",&ch); scanf("%d %d",&a,&b); switch(ch) case '+': c=a+b; brea

44、k; case '-': c=a-b; break; case '*': c=a*b; break; case '/': c=a/b; break; default: printf("Error!n"); printf("%d%c%d=%dn",a,ch,b,c);答案:3 5=1530.#include<stdio.h>void main() int i,s=0; for(i=16; i>0; i-=2) if(i%3=0 | i%4=0) s+=i; printf("s=%d

45、n",s);答案:s=4631.#include<stdio.h>void main() int i,x,y,s=0; scanf("%d %d",&x,&y); if(x>y) i=x; x=y; y=i; for(i=x; i<=y; i+) if(i%2=1) s+=i*i; printf("s=%dn",s);答案:奇數32.#include<stdio.h>const int N=100;void main() int a,b; for(a=2; a<=N; a+) for(b

46、=2; b*b<=a; b+) if(a%b=0) break; if(b*b>a) printf("%d ",a); 答案:素數(質數)33.#include<stdio.h>void main() int i=0, s=0; while(s<50) i+=2; s+=i*i; printf("s=%dn",s);答案:s=5634.#include<stdio.h>void main() int x,p=2; scanf("%d",&x); while(x>=p) if(x%

47、p=0) printf("%d=%d*%dn",x,p,x/p); break; else p+;答案:35=5 735.#include<stdio.h>void main() int x,y,a,p=1; scanf("%d %d",&x,&y); if(x<y)a=x; x=y; y=a; if(x%y=0) printf("%dn", y); return; a=2; while(y>=a) if(x%a=0 && y%a=0) x=x/a; y=y/a; p*=a; e

48、lse a+; printf("%dn",p);答案:公約數36.#include<stdio.h>void main() int x=36,y=48,z; do z=x%y; x=y; y=z; while(y>0); printf("x=%dn",x);答案:x=1237.#include<stdio.h>void main() int x,i=0,s=0; scanf("%d",&x); do i+=2; s+=i*i;while(s<x); printf("n=%dn&qu

49、ot;,i-2);答案:最大38.#include<stdio.h>void main() int x=37,k=2; do if(x%k=0) break; k+; while(k*k<=x); if(k*k>x) printf("Yes!n"); else printf("No!n");答案:Yes!第四章 數組的概念自測練習一:數組的概念 自測練習1.在一個數組中,數組元素ai前面的元素個數為( )。a. 2*ib. i+1c. id. i-12.假定一維數組的定義為“char a8;”,則該數組所占用的存儲空間的字節(jié)數為(

50、 )。a. 8b. 32c. 64d. 163.對于一維數組元素,數組名后使用一對中括號。()4.二維數組元素帶有一個下標。(×)自測練習二:一維數組的定義和使用 自測練習1假定有一個定義語句為“int a10=3,4,2,8,6;”,則元素a3的值為( )。a. 6b. 8c. 4d. 22.在下面字符數組的定義語句中,有語法錯誤的是( )。a. char a="x+y=55." b. char a15='1','2' c. char a10='5'd. char a20="abcdefg"3.

51、在一維數組的定義語句中,可以給數組中每個元素賦初值。()4.假定一維數組的定義為“double aM;”,則每個數組元素的下標取值范圍在1M之間。(×)自測練習三:二維數組的定義和使用 自測練習1.假定有一個定義語句為“int a34=3,4,2,8,6;”,則元素a21的值為( )。a. 8b. 6c. 4d. 02.假定二維數組的定義語句為“int* a35;”,則該數組所占用的存儲空間的字節(jié)數為( )。a. 120b. 60c. 30d. 153.在二維數組的定義語句中,數組名后帶有兩對中括號。()4.假定二維數組的定義語句為“double aMN;”,則每個數組元素的列下標取

52、值范圍在0N-1之間。()自測練習四:使用typedef語句定義數組類型 自測練習1.使用“typedef int Integer;”語句把標識符Integer定義為一個( )。a. 整數變量b. 整數類型c. 數組類型d. 數組變量2使用“typedef int ABC10;”語句把標識符ABC定義為( )。a. 符號常量 b. 字符數組c. 整型數組類型d. 簡單變量3.執(zhí)行“typedef int intType;”語句后,在使用int定義整型變量的地方都可以使用整數類型標識符intType來定義整型變量。()4.使用“typedef char BB1050;”語句定義標識符BB為含有1

53、0行50列共500個元素的二維字符數組。(×)自測練習五:數組的應用 自測練習1.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int a8=3,8,6,5,9,2,8,5;int i,s=0;for(i=0;i<8;i+) s+=ai;printf("s=%dn",s);答案:s=462.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int a8=12,15,20,8,25,30,28,36;int i,c3=0;for(i=0; i<8; i+) if(

54、ai%2=0) c0+;if(ai%3=0) c1+;if(ai%4=0) c2+;printf("%d %d %dn",c0,c1,c2);答案:6 4 53.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int a33=13,18,16,15,19,12,8,15,22;int i,j,x=a00;for(i=0;i<3;i+)for(j=0;j<3;j+) if(aij<x) x=aij;printf("x=%dn",x);答案:x=84.執(zhí)行下面程序的輸出結果為#include<stdio.h>void main() int a33=12,18,10,8,6,14,5,10,19;int i,j,s3=0;for(i=0; i<3; i+) for(j=0; j<3; j+)saij%3+=aij;for(i=0

溫馨提示

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

評論

0/150

提交評論