c語言復習資料(c語言程序設計)_第1頁
c語言復習資料(c語言程序設計)_第2頁
c語言復習資料(c語言程序設計)_第3頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第一章數據類型與表達式一. 知識點I. C語言的特點:語言簡潔、緊湊,使用方便、靈活;運算符豐富;數據結構豐富;具有結構化控制語句; 語法限制不太嚴格,程序設計自由度大; 可以進行位操作,能實現匯編語言的大部分功能,能直接對硬件進行操作; 生成的目標代碼質量高,程序執行效率高;程序的移植性好。2 . C程序的組成:C程序是由函數構成的;一個函數包括函數的首部(即函數的第一行)和函數體(即花括號部分);函數體一般包括聲明部分和執行部分;一個C程序總是從 main函數開始執行,從 main函數結束;C程序書寫格式自由,一行內可以寫幾個語句,一個語句可以分寫在多行上;每個語句和數據定義的最后必須有一

2、個分號;C語言本身沒有輸入輸出語句,是通過函數實現輸入輸出的;可以用/*/對C程序的任何部分作注釋。3 . C語言程序的運行:源程序文件的擴展名為.c,目標程序文件的擴展名為.obj,可執行程序文件的擴展名為.exe。4 . C的數據類型:基本、構造、指針和空類型,char、int、short、Io ng、un sig ned、float、double、enum、struct、union、typedef。5常量與變量的概念,注意符號常量的定義與使用;6 整型、實型、字符型常量的表示,注意整型常量的十進制、八進制、十六進制的書寫。7 變量的定義,C的標識符包括關鍵字、預定義標識符、用戶定義標識符

3、;用戶定義標識 符的可用字符為字母、數字、下劃線,第一個字符為字母或下劃線。8 .常見數據類型的取值范圍,int為-32768+32767 , unsigned int為065535。9 轉義字符:n、t、b、r、f、' ”、ddd、xhh10 不同數值型數據的混合運算,低級類型轉換為高級類型運算II. C的運算符:注意結合方向和運算的優先級12 .算術運算符:+、-、*、/、%、+、-,注意自加、減運算符分前綴和后綴兩種方式。其中前綴方式為先自加、減,后引用;后綴方式為先引用,后自加、減;運算符%要求運算量為整數,運算結果也為整數。注意除運算時,若運算量為整型時,其運算結果也是整型

4、的規則。13 .賦值類運算符:=、+=、-=、*=、/=、%=,注意含義和數據類型的轉換。14 .逗號運算符的使用,注意逗號運算符的運算規則。二. 練習.填空題:1.在TURBO C環境中用RUN命令運行一個 C程序時,所運行的程序的后綴是.exe 。2 . C語言源程序文件的后綴是_,經過編譯后,生成文件的后綴是 .obj ,經過連接后,生成文件的后綴是 .exe 。3 結構化程序由順序、 選擇(分支) 、 循環 三種基本結構組成。4 .若k為整型變量且賦值11。請寫出運算k+后表達式的值11 和變量的值12。5 .若x為double型變量,運算x=3.2 , +x后表達式的值 4.2 和變

5、量的值4.2。6 .函數體由符號 丄開始,用符號 _結束。函數體的前面是定義 部分,其后是 執行 部分。7 . C語言中的標識符可分為關鍵字、用戶標識符和預定義標識符三類。8 .在C語言程序中,用關鍵字int定義基本整型變量,用關鍵字float定義單精度實型變量,用關鍵字 double定義雙精度實型變量。9 .把a1、a2定義成單精度實型變量,并賦初值1的定義語句是float a1=1.0,a2=1.0;。10 . C程序中定義的變量,代表內存中的一個存儲空間。11.表達式3.5+1/2的計算結果是 3.5。a . b12 .寫出數學表達式三個等價的 C語言表達式 a*b/(c*d)、a /(

6、c*d)*b、b/(c*d)*a。cd13 .通常一個字節包含 _8 個二進制位。14 .當計算機用兩個字節存放一個整數時,能存放的最大(十進制)整數是216-1(65535)、最小(十進制)整數是-215 (-32768)。15 .在C語言中整數可用 十 進制數、八 進制數和 十六 進制數三種數制表示。16 . C語言中,int型數據占 2 個字節,long型數據占 4 個字節,unsigned int型數 據占2個字節,short型數據占_2_個字節,float型數據占_4_個字節,double型數據占 8_個字節,char型數據占 1個字節。.選擇題1 .組成C語言程序的是()(C)。A

7、.子程序B .過程C.函數D.主程序和子程序2 .以下敘述中正確的是()(C)。A. 在C程序中無論是整數還是實數,只要在允許的范圍內都能準確無誤的表示。B. C程序由主函數組成。C. C程序由函數組成。D. C程序由函數和過程組成。3 .以下選項中正確的整型常量是()(B)。A . 12.B . -20C . 1 , 000D. 4564 .以下選項中正確的實型常量是()(D)。A . 0B . 3.1415 C . 0.329 X102D . .8715 .以下選項中不合法的用戶標識符是()(C)。A . _123B . printf C . A$D . Dim6 . C語言中運算對象必須

8、是整型的運算符是()(A)。A . %B . /C. !D . *)(B)。7 .可在C程序中用作用戶標識符的一組標識符是 精品文檔D. a=a+7=c+b9 .不合法的八進制數是(A . 0B . 02810 .不合法的十六進制數是(A . oxffB . OXabc.程序設計題:1 .編寫一個C程序,輸入a、A. voidB. as_b3C. ForD. 2cdefi ne_123-abcDOWORDIfcaseSIG8 .若變量已正確定義并賦值,符合C語言語法的表達式是()(B)。A. a=a+7 ;B. a=7+b+c , a+C . int (12.3%4 )(B)。C. 077D.

9、 01)(A)(零 X)。C. 0x11D. 0x19b、c三個數,輸出其中最大者。#in clude<stdio.h> void mai n()i nt a,b,c,max;printf( input 3 num:n ”;scanf( %d%d%d ':&a,&b,&c);max=a; if(b>max)max=b; if(c>max)max=c; printf( %d ”,max);第二章算法與順序結構一.知識點1 .算法:為解決一個問題而采取的方法和步驟。2 .算法的分類:數值算法、非數值算法。3 .算法的特點:有窮性、確定性、有零

10、個或多個輸入、有一個或多個輸出、有效性。4 .算法描述方法:自然語言、流程圖、改進流程圖、N S流程圖、偽代碼、計算機語言。5 . C語句的類型:控制語句、函數調用語句、表達式語句、空語句、復合語句。6 .輸入輸出的概念:輸入輸出是相對主機而言,C語言是由函數來實現輸入輸出的。7. 字符數據的輸入/輸出:getchar ()、putchar ()8. 格式輸入 /輸出:scanf ()、printf ()9 . printf 的格式符: d、i, o, x、X, u , c, s, f, e、E, g、G; l, m , n,-。10 . scanf 的格式符:d、i, o , x、X, u,

11、 c, s, f, e、E , g、G; l, m , *; &。注意輸入數據時數據流的分隔符,系統默認的分隔符為空格、tab鍵和回車。11.順序結構的設計思想:聲明變量、輸入數據、處理、輸出結果。二.練習.填空題i=-2ao1 以下程序段執行后的輸出結果是:一200 2500int i=-200 , j=2500 ;printf (" %d %d), i, j);printf (" i=%d , j=%dn ”,i, j);printf (" i=%dn j=%dn ”,i, j); i=-200,j=2500 12 復合語句在語法上被認為是一條語句。空

12、語句的形式是;3 C語句的最后用_結束。4 以下程序段的輸出結果是x= 127,x=177,x=7f,x=127。int x=0177 ; printf (“x=%6d , x=%6o , x=%6x , x=%6un ”,x, x, x, x);5 以下程序段的輸出結果是 a=513.789215,a=513.79,a=513.78921500,a=531.78921500 。double a=513.789215 ;printf (“a=%8.6f , a=%8.2f , a=%14.8f , a=%14.8lfn ”,a, a, a, a);6 以下程序段的輸出結果是8, 3。a=3+5

13、 , a*4 ; x=11/3 ; printf (“ %d , %dn ”,a, x);7 .以下程序輸入三個整數值給a、b、c,程序把b中的值給a,把c中的值給b,把a中的值給c,交換后輸出a、b、c的值。請填空:#in clude <stdio.h>main () int a , b, c, m ;printf (“Enter a , b, c:");scanf (“ %d , %d , %d),&a,&b,&c );m=a ; a=b; b=c; c=m ;printf ("a=%d , b=%d , c=%dn ”,a, b,

14、c); 8 .以下程序不借助任何變量把a、b中的值進行交換。請填空:#in clude <stdio.h>main () int a , b;printf (" In put a , b:");scanf (“ %d , %d),&a,&b );a+= b ; b=a- _b_; a=a- b_;printf ("a=%d , b=%dn ”,a, b); 選擇題:1 .若a、b、c、d都是int型變量且初始值為 0,下列不正確的賦值語句是()(C)。A a=b=c=100 ;B d+ ;C c+b ;D d= (c=22 ) - (b

15、+ );2 .以下選項中不是 C語句的是()(C)。A int i ; i+ ; printf (“dn ”,i); BC a=5 , c=10D ; 精品文檔3 以下合法的 C 語言賦值語句是( )(D) 。A a=b=58B k=int (a+b );C a=58 ,b=58D -i;4以下程序的輸出結果是() (C) 。A . 0B . 1C . 3D.不確定的值main () int x=10 , y=3 ; printf (“ %dn ”, y=x/y ); 5若變量已正確說明為 int 類型,要給 a、b、c 輸入數據,正確的輸入語句是()D。A read (a,b,c);B sc

16、anf (“%d%d%d ”,a, b,c);C scanf (“%D%D%D ”,&a ,&b ,&c );D scanf (“ %d%d%d ”, &a , &b , &c );6若變量已正確定義,要將 a 和 b 中的數進行交換,下面不正確的語句組是()C。A a=a+b , b=a-b , a=a-b ;B t=a , a=b , b=t ;Ca=t ;t=b ; b=a ;Dt=b;b=a ;a=t;7若變量已正確定義,以下程序段的輸出結果是()D。A 輸出格式說明與輸出項不匹配,輸出無定值B 5.1700C 5.16800D 5.16

17、900x=5.16894 ;printf(“%fn”,(int)(x*1000+0.5 )/(float ) 1 000 );int c1=1 ,c2=2,c3;c3=c1/c2 ;9 執行以下程序段后,其輸出結果是()B。A 0 , 0 , -10B0,0,3C-10,3,-108 執行以下程序段后,c3 中的值是() A。A0B1/2C0.5D1D 3 , 3 , -10int a=0 ,b=0,c=0; c= ( a-=a-5 ),( a=b , b+3 ); printf (“%d ,%d,%dn ”,a,b,c);I 0 以下程序的輸出結果是()D。A a=%2 , b=%5B a=

18、2 ,b=5C a=%d , b=%dD a=%d ,b=%dmain () int a=2 , b=5 ; printf (“ a=%d , b=%dn ”,a, b); II 若 int 型占兩個字節,以下程序段的輸出是()D。A -1 , -1B -1 , 32767C -1 , 32768D -1 ,65535int a=-1 ; printf (“ %d, %un ”, a, a);12以下程序段的輸出結果是() C。A |3.1415|B |3.0|C |3|D |3.|float a=3.1415 ; printf (“|%6.0f|n ”,a);13 以下程序段的輸出結果是()

19、 B。A9 8B8 9C6 6D 以上三個都不對#include <math.h> main () double a=-3.0 ,b=2 ;printf (“ %3.0f%3.0fnpow ( b, fabsa),pow (fabs (a),b);A .賦值不合法B .輸出值為-2C .輸出為不確定值D .輸出值為2a=-2L ; printf (“%dn ”,a);15.若有定義 char s= 092 ';則該語句( )B。A使 s 的值包含 1 個字符B定義不合法,s 的值不確定C使s 的值包含 4 個字符D使 s 的值包含3 個字符16若k、g均為int型變量,則下

20、列語句的輸出為() D 。A15B16C15D166f70716fk=017 ; g=111 ;printf(“ %dn ”, +k ); printf(“ %xn ”, g+17.已知字母 a 的 ASCII 十進制代碼為 97 ,執行下列語句后的輸出為()C。A. b,cB. a-運算不合法,故有語法錯誤C . 98 , cD .格式描述和輸出項不匹配,輸出無定值char a= a'; a-;printf (“ %d,%cn ”, a+2'-0', a+3'-0');1 8 下列程序的輸出為()A。A 27.000000B 27.500000C 28

21、.000000D 28.500000#include <stdio.h>main () int m=7 , n=4 ;float a=38.4 ,b=6.4 , x;x=m/2+n*a/b+1/2 ; printf (“ %fn ”, x); 14 若 a 為整型變量,則以下語句()B。19 .下列程序的輸出結果是( )C。A. 18B. 9C. -18D. -9main () int a=9 ;a+=a-=a+a ; printf (“ %dn ”, a); 20.下列程序的輸出結果是()A。A . 0B . 5C . 1D.不確定值main () int a=7 , b=5 ;

22、 printf (“ %dn ”, b=b/a );21 下列程序的輸出結果是()C。A12B11C10D9main () int a=011 ;printf (“ %dn ”, +a );程序設計題 :用 N S 圖表示下列問題:1 .有兩個瓶子 A和B,分別盛放醋和醬油,要求將它們互換。編寫程序2依次將 10 個數輸入,要求將其中最大的數打印出來。#include <stdio.h>main()int i,a,max;scanf("%d",&max);for (i=1;i<=9;i+) scanf("%d",&a);

23、if (a>max) max=a;printf("%d",max);3 .有3個數a、b、c,要求按從大到小的順序把它們打印出來。 main()float a,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b)t=a;a=b;b=t; /* 實現 a 和 b 的互換 */if(a>c)t=a;a=c;c=t; /* 實現 a 和 c 的互喚 */if(b>c)t=b;b=c;c=t; /* 實現 b 和 c 的互換 */ printf("%5.2f,%5.2f,%5.

24、2fn",a,b,c);4 .求1+2+3+100。(重點看)#include <stdio.h>int main()int i,sum=0;i=1;while(i<=100)sum=sum+i;i=i+1;printf( “%d ”,sum);5 .判斷一個數 n 能否同時被 3 和 5 除。 include <stdio.H>main(void)int n;scanf("%d",&n) ;if(n%3 = 0 && n%5 = 0)printf("%d 能否同時被 3 和 5 整除 n"

25、,n);elseprintf("%d 不能否同時被 3 和 5 整除 n",n);return 0;6 .將100200之間的素數打印出來。#include <stdio.h>int isPrime(int n)int i;for(i=2;i*i<=n;i+)if(n%i=0)return 0;return 1;int main()int i;for(i=100;i<=200;i+)if(isPrime(i)printf("%dn",i);7.求兩個整數 m 和 n 的最大公約數和最小公倍數。main()int a,b,num1,

26、num2,temp;printf("please input two numbers:n");scanf("%d,%d",&num1,&num2);if(num1 temp=num1;num1=num2;num2=temp;a=num1;b=num2;while(b!=0)/* 利用輾除法,直到 b 為 0 為止 */精品文檔 8 temp=a%b; a=b; b=temp;printf("gongyueshu:%dn",a); printf("gongbeishu:%dn",num1*num2/a

27、);28求方程 ax 2+bx+c=0 的根#include <stdio.h>#include <math.h> / 用到平方根函數void main()float a,b,c,x1,x2,p,q,m; scanf("%f%f%f",&a,&b,&c);if (a=0.0)&&(b=0.0)&&(c ! =0.0)printf( “ no value!");else if (a=0.0)&&(b=0.0)&&(c=0.0) printf("a

28、ny value!");else if (a=0.0)&&(b!=0.0)printf("x1=x2=%f",-c/b);elsem=b*b-4.0*a*c;if(m>=0) x1=(-b+sqrt(m)/(2.0*a);x2=(-b-sqrt(m)/(2.0*a);printf("x1=%fn",x1);printf("x2=%fn",x2);else p=-b/(2.0*a);q=sqrt(-m)/(2.0*a);printf("x1=%f+%fin",p,q);printf(&

29、quot;x2=%f-%fin",p,q);9編寫程序,輸入兩個整數 1500 和 350 ,求出它們的商和余數并進行輸出。 #include <stdlib.h>#inclued <stdio.h>void main()int a;int b;int c,d;a=1500,b=350;c=a/b;/ 商數d=a%b;/ 余數pritf(" 商數為 : %dn",c);printf(" 余數為: %dn",d);return 0;10編寫程序,讀入三個雙精度數,求它們的平均值并保留此平均值小數點后一位數,對 小數點后第二

30、位數進行四舍五入,最后輸出結果。#include<stdio.h>main() double a, b, c, d;printf(" 輸入三個雙精度數 n");scanf("%lf%lf%lf", &a, &b, &c);d = ( a + b + c) / 3;printf("%.1fn", d);11.求三角形的面積:a,b,c是邊長,p是半邊長,s是面積,則s=p(p - a)(p - b)(p - c)1/2( C+ 考 過 這 個 )#include<stdio.h>#incl

31、ude<math.h>main()float a,b,c,p,s;printf("input 3 num:");scanf("%f%f%f",&a,&b,&c);p=(a+b+c)/2;s=p*(p-a)(p-b)(p-c);s=pow(s,0.5);prin tf("s=%f",s);12 .輸入一個華氏溫度,要求輸出攝氏溫度。公式為:c=5 (f-32 ) /9。#i ncludestdio.hmain () double tem_c, tem_f;puts(”=華氏溫度至攝氏溫度轉換程序=&q

32、uot;);printf("請輸入華氏溫度:");scan f("%lf", &tem_f);tem_c = (tem_f - 12) * 5.0 / 9.0;printf("%f 對應的攝氏溫度為 .2f", tem_f, tem_c);ren tur n 0;第三章選擇結構程序設計一.知識點1 關系運算符、邏輯運算符、邏輯值的表示與含義;注意 &&、|的運算規則。2 .三種if語句3 .選擇結構的嵌套,注意if與else的配對;4 .條件運算符:?:5 . switch語句,注意其執行過程;6 選擇結構程序

33、設計思想。二.練習填空題:1 . C語言中用 非0表示邏輯值“真”,用_0_表示邏輯值“假”2 . C語言中的關系運算符按優先級別是、答案:、=、=、=、!=3 . C語言中的邏輯運算符按優先級別是、。答案:!、&&、|4 . C語言中的關系運算符和邏輯運算符的優先級別是、!、>、<、>=、<=、=、!=、&&、|5. C語言中邏輯運算符的_ !_優先級高于算術運算符。6 將下列數學式改寫成C語言的關系表達式或邏輯表達式:a=b 或 a<c a=b|a<c|x|>4x>4|x<-47 .下列程序的輸出結果1

34、。main () int a=100 ;if (a>100 ) printf (“ dn ”,a>100 ) ; else printf( “ dn ”,a<=100) ; 8 .若已知a=10、b=15、c=1、d=2、e=0,請分別給出下列表達式的運算結果:a*b && c1a+b>10 | a+b<01e0 c=b>e1!a<e0a+ && e+ && c+0!e && e=b=+c1(0<a) && (a<2)0 1.234 && 5.9

35、821(b=10) && (a=10)0(11) !0 | d && a=c+d1(12) (a+c=b)=(b+d=a) | (c=b+a)>(d=c+b)_19 .當 a=1、b=2、c=3 時,執行以下 if 語句后,a= _3_、b= _1_、c= 。if (a>c); b=a ; a=c ; c=b ;10 .當 a=1、b=2、c=3時,執行以下if 語句后,a=3、b= 2、c= 2。if (a>c) b=a ; a=c ; c=b ;11.當 a=1、b=2、c=3時,執行以下if 語句后,a=1、b= 2、c= 2。if (a

36、>c) b=a , a=c ; c=b ;12 .將以下兩條if語句合并為一條if語句: 。if (a>b ) scanf (“ %d ”,&x) ; else scanf (“ %d ”,&y);if (a<=b )i+ ; else j+ ;答案:if (a>b ) scanf (“ %d ”,&x) ; j+ ; else scanf (“%d ”,&y ); i+ ; 13 .將以下嵌套的 if語句改寫成不嵌套的 if語句: 。if (w<0 )k=0 ; else if (w<=100 )k=1 ; else k=0

37、 ;答案:if (w>=0&&w<=100 ) k=1 ; else k=0 ;14 .以下程序判斷輸入的一個整數是否能被3或7整除,若能整除,輸出“ YES ”,若不能整除,輸出“ NO ”。請填空:#i nclude <stdio.h>main () int k ;printf (“Enter a int number :"); scanf (“%d ”,&k);if ( k%3=0|k%7=0) printf (" YESn "); else printf (" NOn "); 15 .在s

38、witch語句中,當執行到 break語句時,使流程 跳出開關語句。.選擇題1若給定條件表達式( M)?( a+ ):( a- ),則和表達式 M 等價的表達式為()C。A M=0BM=1CM!=0DM !=12 .為表示關系x> y >乙應使用的C語言表達式是()A。A . (x>=y) && (y>=z)B. (x>=y)AND(y>=z)C . (x>=y>=z)D . (x>=y)&(y>=z)3.以下程序的輸出結果是() D。A. 0B. 1C. 2D. 3main () int a=2 ,b=-1

39、,c=2 ; if( a<b )if( b<0)c=0 ;else c+=1 ; printf (“ %dn ”,c);4.以下程序的輸出結果是() A。A. 1B. 2C. 3D. 4main () int w=4 , x=3 , y=2 , z=1 ; printf (“ %dn ”, ( w<x ? w : z<y ? z : x );5 .若執行以下程序時,從鍵盤上輸入 3 和 4,則輸出結果是() B。A. 14B. 16C. 18 D. 20main () int a , b, s ; scanf (“%d %d ”, &a,&b ) ; s

40、=a; if( a<b ) s=b ; s*=s ;printf (“ %dn ”, s) ; 6. 在 C 語言中, if 語句后的一對圓括號中,用以決定分支的流程的表達式()。 DA.只能用邏輯表達式B.只能用關系表達式C .只能用邏輯表達式或關系表達式D.可用任意表達式7 .下列程序段運行后,x 的值是() D。A. 14B. 4C. 15D. 3ok1=1 ; ok2=2 ;ok3=3 ; x=15 ;if(! ok1 ) x-;else if ( ok2 )if(ok3) x=3 ; else x=4 ;8.在 C 語言中, switch 語句后一對圓括號中 exp 的類型(

41、)。 AA .可以是任何類型B.只能為int型C .可以是整型或字符型D .只能是整型或實型9 .以下各組運算符中,優先級最高的分別為(BC C D )。 A.?:B. +C . &&D . +=A.*=B. >=C.(類型)D.,A.|B.%C!D . =A.=B. !=C *( 乘 )D. ( )10 .若a 為整型變量,b 為字符型變量,則以下正確的switch 語句是( ) A。A. switch (int) x/10)B. switch (b)精品文檔 case 1 : a+ ; break ; case 2 :b+ ; break ; case 3 : c+

42、; break ;C switch ( int) x/10 ); case 0 : a+ ; break ; default : b+ ; break ; case 3+1 : c+ ; break ; case 3 :d+ ; break ; case 042 '; x=a/b ; break ; case 6'; x=a*b ; break ; case 010 '; x=a+c ;break ;D switch ( a/100+10 ) case2 : x=a/b ; break ; case6 : x=a*b ; break ; case8 : x=a+c ;

43、break ; case10 : x=a-c ; break ;程序設計題 : 重點看課后作業題1從鍵盤輸入一個字母,若是大寫字母,要求改用小寫字母輸出。 #include<stdio.h>void main()char var;var=getchar();if(var>=65&&var<=90)var=32+var;putchar(var);2求 ax 2 +bx+c=0 的根。 a、b、 c 由鍵盤輸入,設 b2-4ac>=0. #include<stdio.h>#include<math.h>void main()fl

44、oat a,b,c,p,x1,x2; printf("input 3 numbers:n"); scanf("%f%f%f",&a,&b,&c); if(b*b-4*a*c>=0) p=pow(b*b-4*a*c,0.5); x1=(-b+p)/2; x2=(-b-p)/2; printf("x1=%f,x2=%f",x1,x2);else p=pow(-b*b+4*a*c,0.5);prin tf("x1=%f+%fi,x2=%f-%fi",-b/2,p/2,-b/2,p/2);第四

45、章循環結構程序設計一. 知識點1 循環的概念,C實現循環的方法;2 . goto語句,注意標號的書寫;3 . while語句,注意條件表達式的設計;4 . dowhile語句,注意條件表達式的設計,及while之后的分號;5 . for語句,注意for中三個表達式的一般含義;6 循環的嵌套;7 . break與continue語句,注意二者之間的區別;8 .循環結構程序設計思想二. 練習填空題:1 .以下程序段的輸出結果 。y=7,x=21x=y=0 ; while (x<20 ) y+ , x+=3 ;printf (“ y=%d , x=%dn ” y, x);2 .當執行以下程序段

46、后,i的值是、j的值是、k的值是。5、4、6int a , b, c, d, i, j, k; a=10 ; b=c=d=5 ; i=j=k=0 ;for ( ; a>b ; +b) i+ ;while (a>+c )j+ ;do k+ ; while (a>d+ );3 .以下程序段的輸出結果 。死循環沒有輸出結果int k , m , n; n=10 ; m=1 ; k=1 ;while (k<=n )m*=2 ; printf (" %dn ” m);4 .以下程序的輸出結果-1。main () int x=2 ; while (x-) ; printf

47、 (“ dn ” x) ; 5.以下程序段的輸出結果11。int i=0 , sum=1 ; do sum+=i+ ; while (i<5) ; printf (“ dn ” sum );6 .有以下程序段:s=1.0 ; for (k=1 ; k<=n ; k+) s=s+1.0/ (k* (k+1 ); printf (“%fn ”,s); 要使下面的程序段的功能與上面程序段的功能相同,請填空:s=0.0 ; k=0 ; d = 1.0 ;do s=s+d ;k+ ; d=1.0/ (k* (k+1 ); while ( k<=n );printf (“ %fn ” s

48、);7 .以下程序的功能是:從鍵盤上輸入若干學生的成績,統計并輸出最高成績和最低成績,當輸入負數時結束輸入。請填空:main () float x , amax , amin ;seanf “ f”,&x); amax=x ; amin=x ;while ( x>=0 ) if (x>amax ) amax=x ;if ( x<amin ) amin=x ;scanf “ %f ”,&x ); printf “ namax=%fnamin=%fn ”,amax , amin );8 .以下程序段的輸出結果 。 a=12,y=12 / a=16,y=28 / a

49、=16,y=44 / a=16,y=60a=10 ; y=0 ;do a+=2 ; y+=a ;printf “a=%d, y=%dn ”,a, y);if ( y>50 ) break; while ( a=14 );9 .下列程序段中,for循環的循環次數為 。10 9 8 7 6a=2 ; b=10 ; for (i=b; i<=a ; i-, a+ ) printf “%3d ”,i);10 .以下程序段的輸出結果 。8 *6 *4 *2 *0 / 8 *6 *4 *2 *0for (i=0; i<3 ; i+ , i+ ) for (j=10 ; j>0 ;

50、j-) if (j+i) %2) j-; printf “ *%d ”,j); contin ue ; -j; -j; printf (“ %d ”,j); printf (“n”); .選擇題:1 .A.以下程序段的輸出結果是9B . 1)D。C . 11D . 10int k , j, s;for (k=2 ; k<6 ; k+ ,以下程序段的輸出結果是12B. 15int i, j, m=0 ;for (i=1 ; i<=15 ; i+=4 ) for (j=3 ; j =19 ; j+=4 > printf “ %dn ”,m );以下程序段的輸出結果是(1098k+

51、) s=1)。CC. 20m+ ;)。B1098for(j=k ; j<6 ; j+) s+=j ; D . 25int n=10 ; while ( n>7 ) n- ; printf (“ %dn ”,n); 4以下程序段的輸出結果是()。 CA 1B3 0C1 -2 D 死循環5Aint x=3 ; do printf (“ %3d ”, 以下程序的輸出結果是( 15B 14)。 Cx-=2 ); while (!( -x ); C 不確定D06Amain () int i , sum ; for ( i=1 以下程序的輸出結果是( 741B 852main () int y

52、=10 ; for ( ;y>0 ;y-)ifi<6;)。i+ ) sum+=sum ; printf (“%dn ”,sum ); BC963D 8754217Ay%3=0 ) printf 若 x 是 int 型變量,以下程序段的輸出結果是(C#3 *4#5*3#4*5B#3*4#5“ %d ”, -y);continue ; )。DD *3#4*58Afor ( x=3 ;x<6 ;x+)以下程序的輸出結果是(B #*#*#*$printf)。(x%2 )?AC9AB*%d ”) :(“ #%dn ”),x);*#*#$*#*#*#$main () int i ;for

53、 (i=1 ; if (i%2 )printf (“ #”);printf (“ $n ”); 以下敘述正確的是( do_while 語句構成的循環不能用其它語句構成的循環來代替。 do_while 語句構成的循環只能用 break 語句退出。D#*#*$i<=5 ;printfi+)(“*”); else continue )。 DC 用 do_while 語句構成循環時,只有在 while 后的表達式為非零時結束循環。D 用 do_while 語句構成循環時,只有在 while 后的表達式為零時結束循環。10 以下程序的輸出結果是()。 DA39 81B42 84 C26 68D 2

54、8 70main () int x , i ;for ( i=1 ; i<=100 ;i+ ) x=i ;if( +x%2=0 ) if ( +x%3=0 ) if( +x%7=0 ) printf (“ %d ”,x); printf (“ n”); 11對下面程序段描述正確的是()。 CA . while循環執行了 10次B.循環是無限循環C 循環體語句一次也不執行D 循環體語句只執行一次int x=10 ; while (x=0 ) x=x-1 ;12 .以下關于for循環的正確描述是()。DAfor 循環只能用于循環次數已確定的情況B . for 循環是先執行循環體語句,后判斷表

55、達式C .在 for 循環中,不能用 break 語句跳出循環體D. for 循環的循環體語句中,可以包含多條語句,但必須用花括號括起來 13.下列程序段中是死循環的是( )。 CA. int n=1 ;while(!n) n+;B. int n=1 ;do n- ; while ( n) ;C. int n=1 ;do n+ ; while ( n ) ;D. for (n=5;n<1 ;);14 .以下能正確計算1X2X3X-X 10的程序段是()。CA . do k=1 ; n=1 ; n=n*k ; k+ ; while ( k<=10 );B . do k=1 ; n=0 ; n=n*k ; k+ ; while ( k<=10 );C . k=1 ;n=1 ;do n=n*k ; k+

溫馨提示

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

評論

0/150

提交評論