一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

3.1 單項(xiàng)選擇題

 ┣█一生有你 2007-01-10

    3.1  單項(xiàng)選擇題

  1.設(shè) a3,b4執(zhí)廳‘printfd,d’,(ab),(b,a));的輸出是(  
          ①3
,4          ②4,3          ③3 3          ④4,4
    
【解】在調(diào)用格式輸出函數(shù)的語句中,其中每個(gè)格式符對(duì)應(yīng)一個(gè)輸出項(xiàng),格式符d要求輸出項(xiàng)內(nèi)容以十進(jìn)制整數(shù)形式輸出。第一個(gè)輸出項(xiàng)(ab)是一個(gè)逗號(hào)表達(dá)式,該表達(dá)式的值是b的值,輸出4。接著輸出字符逗號(hào)。第二個(gè)輸出項(xiàng)(b,a)的值是a的值,輸出3。所以語句執(zhí)行將輸出4,3。正解的選擇是。

        2
.使用“Scanf"X=%fy%f",&x,&y,要使 X,y均為1.25,正確的輸入是(  
    ①1.25
,1.25      ②1.25 1.25        ③x1.25y1.25         ④X1.25 y1.25
     
【解】格式輸入函數(shù)的格式字符串中的字符可以分成三類:空格類字符、其它普通字符和格式轉(zhuǎn)換說明。其中空格類字符用來跳過一個(gè)空格類字符序列,直至下一個(gè)非空格類字符。普通字符要求輸入字符與其完全相同。格式轉(zhuǎn)換說明對(duì)輸入字符列按格式轉(zhuǎn)換說明進(jìn)行轉(zhuǎn)換,得到內(nèi)部值存儲(chǔ)到對(duì)應(yīng)輸入項(xiàng)所指定的存儲(chǔ)位置中。函數(shù)調(diào)用scanf“x%fy=%f,&x,&y)以普通字符X=開頭,輸入時(shí)也要先輸入X=。接著是一個(gè)浮點(diǎn)數(shù)輸入格式,所有能構(gòu)成一個(gè)浮點(diǎn)數(shù)1.25的字符序列都能滿足要求。接著是普通字符列y,在輸入的浮點(diǎn)數(shù)之后也要有字符列y。最后又是浮點(diǎn)數(shù)輸入格式,同樣所有能構(gòu)成一個(gè)浮點(diǎn)數(shù)1.25的字符序列都能滿足要求。問題給出的供選擇答案中只有x=1.25,y1.25是能滿足上述要求的。所以正確選擇是。

       3
.設(shè)有int i010,j=10;則執(zhí)行“printf("%d,%dn",++i,j--);的輸出是( 
        ①ll
10      ② 9,10        ③ 010 9       ④ 10, 9
    
【解】變量ij的初值分別為八進(jìn)制數(shù)010和十進(jìn)制數(shù) 10,函數(shù)調(diào)用Printf“%d,%dn”,++i,j--)中,++i的值是變量 i1后的值,原來值是八進(jìn)制數(shù) 010,等于十進(jìn)制數(shù)8,輸出9。j--的值是變量j1之前的值,輸出10。格式字符申中的逗號(hào)是普通字符照原樣輸出。所以問題給出的格式輸出函數(shù)調(diào)用將輸出9,10。正確的解答是

        4
.設(shè)ab為字符型變量,執(zhí)行"scanf("a%c,b%c",&a&b)"后使a‘A‘,b‘B‘,從鍵盤上的正確輸入是( 
        ①’A”B’          ②’A’
,’B’       ③AA,BB          ④a=A bB
    
【解】函數(shù)調(diào)用scanf("c%c,b%c",&c&b)中,普通字符必須按格式字符串要求照原樣輸入,c格式對(duì)緊接的任何字符都輸入。所以實(shí)現(xiàn)問題的要求,輸入字符列應(yīng)為“aA,bB”。另外要特別指出,在程序中,為表示字符常量,字符前后需加單引號(hào)。但用字符格式輸入字符時(shí),在要輸入字符前后不必另鍵人單引號(hào)。若鍵人單引號(hào),則這個(gè)單引號(hào)也將作為字符被輸入。正確的解答是

     5
.設(shè)X、y、Z、t均為int型變量,則執(zhí)行以下語句后,t的值為(  
    x
yz1;t++x||++y&&++z
       ①
不定值             ②2                 ③l                  ④0
   
【解】語句序列“xyzl;t++x||++y&&++z;使變量x的值為1,變量t是賦一個(gè)邏輯表達(dá)式的值。在C語言中,由邏輯與和邏輯或構(gòu)成的邏輯表達(dá)式有特別的計(jì)算規(guī)則,順序計(jì)算各邏輯子表達(dá)式,并當(dāng)一旦能得到邏輯表達(dá)式的結(jié)果時(shí),就立即結(jié)束邏輯表達(dá)式的計(jì)算,不再計(jì)算后繼邏輯子表達(dá)式。本題的邏輯表達(dá)式是兩個(gè)運(yùn)算分量的邏輯或,而且左運(yùn)算分量++X的值為非0,立即得到邏輯或運(yùn)算的結(jié)果為1,并將1賦給變量t,所以變量t的值為1。正確解答為。

        6
設(shè)x、yz均為int型變量,則執(zhí)行以下語句后,x、y, z的值為(   
     X
1; y0 Z2; y++&&++Z ||++ X
       ①2
、l3              ②2、03                 ③2、l、3               ④21、2
   
【解】語句序列“xl;y0z2; y++&&++z||++x;先使變量x的值為 1,變量y的值為0,變量Z的值為2。由邏輯與和邏輯或構(gòu)成的邏輯表達(dá)式的特別計(jì)算規(guī)則,順序計(jì)算各邏輯子表達(dá)式,并當(dāng)一旦能得到邏輯子表達(dá)式的結(jié)果時(shí),就立即結(jié)束邏輯子表達(dá)式的計(jì)算,不再計(jì)算該邏輯子表達(dá)式。計(jì)算y++y的值為0,使y++&&++z的結(jié)果為0,立即去計(jì)算++X,這次計(jì)算使變量y的值變成1,而變量Z的值本改變。接著計(jì)算++X,使X的值變?yōu)?span lang=EN-US>2
。所以經(jīng)上述語句執(zhí)行后,X、yZ的值依次為2、1、Z。 確解答為
       7
.假定所有變量均已正確定義,下列程序段運(yùn)行后X的值是(   
       a
bc0 x35;
       if
!ax--; else ifb);ifcx3;else x=4;
         ①34        ② 4      ③ 35         ④ 3
    
【解】以變量 a,b,c的值均為 0,變量x的值為 35,語句:
          if
!ax--;else ifb);ifcx3;else x4;
   
由兩個(gè)證語句組成。首先執(zhí)行前一個(gè)if語句“if!ax--else ifb);,因變量a的值為0,條件!a成立,執(zhí)行x--使x的值變?yōu)?span lang=EN-US>34。接著執(zhí)行后繼的if語句“if(c)x3; else X4;,因變量c的值為0,條件不成立而執(zhí)行X4,最終使變量X的值為4。正確解答是。
   
注意前一個(gè)if語句的else部分的成分語句只有“if(b);,這是一個(gè)單分支if語句,且其成分語句為空語句。
       8
.下面的程序段所表示的數(shù)學(xué)函數(shù)關(guān)系是(  
      y
=-l;
     if
x! 0if(x0)yl; else y0
     1
x0 1(x0)
      ① y
= { 0x 0            ② y{-l(X
0)
      1
X0 0(X
0)
       o
X 0 -lX 0

      ③ y
= {-1x 0             ④ y{ 1X 0
      1
X 0 0X 0
   
【解】程序段首先置變量y的值為一l,接著按變量x值的不同情況重置變量y的值。重置的首要條件是x!0,若變量x的值為0,則不再重置變量y的值,所以在X值為0情況下,y的值是-l。在變量X的值不等于0的條件下,若X的值大于0,重置變量y的值為1;若變量X的值小于0,重置變量y的值為0。所以程序段實(shí)現(xiàn)當(dāng)變量x的值為0時(shí),變量y的值為-1;當(dāng)變量X的值大于0時(shí),置變量y的值為1;當(dāng)變量X的值小于0時(shí),置變量y的值為0。正確解答為
    9
.下列語句中,句法錯(cuò)誤的是(不考慮語義)(   
    ① while
xy5 ;               ② do x++ whilex==10) ;
    ③while
0);                            ④do 2;whilea==b);
   
【解】 while語句的一般形式是:
        while(
表達(dá)式) 語句
這里的表達(dá)式可以是任何合理的表達(dá)式,語句可以是任何語句,包括空語句,或表達(dá)式語句。可能書寫的while語句沒有任何意義,如供選擇的①whilexy5;和③while0);,但這兩個(gè)語句的句法沒有任何錯(cuò)誤。do-While語句的一般形式是:
          do
語句while(表達(dá)式);
其中的成分語句也可以是任何語句,但供選擇答案②do x++while(x==10) ;中的代碼x++是一個(gè)表達(dá)式,不是語句,所以是錯(cuò)誤的。正確解答是。
      10
,循環(huán)語句“forx0, y0;(y!=123|| x4;x++);的循環(huán)執(zhí)行( 
             ①
無限次       ②不確定次              ③4                ④3
   
【解】for循環(huán)語句的初始化部分置變量xy的初值為0,循環(huán)條件是(y!123||x4),每次循環(huán)后變量X的值增1。由于循環(huán)過程中變量y的值本被修改過,循環(huán)條件又是一個(gè)邏輯或,其左分量(y!123)永遠(yuǎn)成立,也就是循環(huán)條件永遠(yuǎn)成立。所以該循環(huán)語句將循環(huán)執(zhí)行無限次。正確解答是。
      11
.若i、j已定義為int類型,則以下程序段中的內(nèi)循環(huán)體的執(zhí)行次數(shù)是(   
     for
i5 i; i--)
     for
j 0 j4;j++){……
    ①20           ② 24            ③ 25           ④ 30
   
【解】問題所給的程序段的外循環(huán)是一個(gè)階循環(huán)語句,它的初始化部分置變量i的初值為5,循環(huán)條件簡寫成i,即i!0,每次循環(huán)后變量i的值減1。所以外循環(huán)共控制5次循環(huán)。內(nèi)循環(huán)也是一個(gè)for循環(huán)語句,它的初始化部分置變量j的初值為0,循環(huán)條件是j<4,每次循環(huán)后變量j的值增1。所以內(nèi)循環(huán)共控制4次循環(huán)。這樣,如內(nèi)循環(huán)的體內(nèi)未曾對(duì)變量ij有修改,在內(nèi)、外循環(huán)一起控制下,內(nèi)循環(huán)的體共被重復(fù)執(zhí)行20次。正確解答是。
        12
.假定abint型變量,則執(zhí)行以下語句后b的值為(  
       a
1 b10;
       do b
-=a a++;
       }while<
b--0);
       ①9         ②-2            ③-1           ④8
   
【解】在這個(gè)程序段中,循環(huán)開始前變量a的值為1,b的值為10,每次循環(huán)從變量b減去a,并讓a1,并在循環(huán)條件判定時(shí),又讓b減去1。第一次循環(huán)后,變量b的值變成9,變量a的值變?yōu)?span lang=EN-US>2,循環(huán)判斷時(shí),因b的值大于0,循環(huán)條件不成立,結(jié)束循環(huán)。但在循環(huán)判斷時(shí),讓b減去了1,所以循環(huán)結(jié)束時(shí),變量b的值為8。正確的解答是。

    13.設(shè)xyint型變量,則執(zhí)行下面的循環(huán)后,y的值為(   
     for
yl, xl y<=50; y++)
     if(x
>=
10) break;
     if
x2==1){ x+=5; continue;

     X
-= 3

      }
          ①2          ②4            ③6             ④8
    
【解】 for循環(huán)語句的初始化部分置變量xy的初值為1,循環(huán)條件是(y<=50),每次循環(huán)后變量y的值增1,控制循環(huán)最多執(zhí)行50次。循環(huán)體有三個(gè)語句:首先在發(fā)現(xiàn)變量X的值大于等于10時(shí),結(jié)束循環(huán);接著是當(dāng)變量X2的余數(shù)為1(即變量X是奇數(shù))時(shí),讓變量X值增5,讓X變成偶數(shù),并直接進(jìn)入下一輪循環(huán);如變量X是偶數(shù),則從變量X減去3,讓變量X變成奇數(shù)。由上述分析知,每兩次循環(huán)使變量X的值增加2.第一次循環(huán)后,變量X的值變成6。第二次循環(huán)后,變量X的值變成3。第三次循環(huán)后,變量X的位變成8。第四次循環(huán)后,變量X的值變成5。第五次循環(huán)后,變量X的值變成 10。第六次循環(huán)時(shí),因變量X的位大于等于 10,直接跳出循環(huán),這次循環(huán)是非正常結(jié)束,對(duì)變量y的修正只執(zhí)行了5次。所以循環(huán)結(jié)束后,變量y的值增至6。正確的解答是
      14
.在C語言中,下列說法中正確的是(  
    ①
不能使用“do語句while(條件)的循環(huán)
    ②“do
語句While(條件)的循環(huán)中必須使用“break”語句退出循環(huán)
    ③“do
語句while(條件)的循環(huán)中,當(dāng)條件非0時(shí)將結(jié)束循環(huán)
    ④“do
語句while(條件)”的循環(huán)中,當(dāng)條件為0時(shí)將結(jié)束循環(huán)
   
【解】 do-while語句的一般形式是:
      do
語句
      while
(表達(dá)式);
   
其語義是重復(fù)執(zhí)行其成分語句,直至表示條件的表達(dá)式值為0時(shí)結(jié)束。do-while語句是正常使用的一種循環(huán)結(jié)構(gòu)之一。do-while語句的循環(huán)結(jié)束條件由while后的表達(dá)式值為0所控制,并不一定要有break語句跳出循環(huán)來結(jié)束循環(huán)。do-while語句在條件值非0時(shí),將繼續(xù)循環(huán),而不是結(jié)束循環(huán)。條件值為0時(shí),才結(jié)束循環(huán)。所以正確的選擇是。
       15
.若有以下程序段,Wk都是整型變量,則不能與該程序段等價(jià)的循環(huán)語句是( 
       W
k;
    LB
ifw==0 gotO LE;
      w - -

     printf("*")
;
      goto LB
;
    LE

       ①for(w
kw!0;W--printf("*");
       ② w
k
       While
W--!0 Prinif(”* ”);

     ③ w k
      do{w--
; prinif“*”);
   
while W?。?span lang=EN-US> 0
);
      ④ for
wk;W;--W printf("*");
   
【解】問題所給出的程序段用goto語句構(gòu)造一個(gè)循環(huán)控制結(jié)構(gòu),該循環(huán)結(jié)構(gòu)的初值是讓變量W的值為k的值,循環(huán)結(jié)束條件是W的情等于0,循環(huán)體是讓變量W的值減1,并輸出一個(gè)字符* 。上述循環(huán)控制過程用for循環(huán)可描述如下:
     for
(w=kW!0; W-- printh("*");
或?qū)懗桑?/font>
    for
wk ;w--w printf"*");
若用while語句,可描述如下:
     W
k;
     while
w--!0printf("*");
      w++
/*w等于0時(shí),也執(zhí)行了一次 w--,這里是對(duì)w最后減1的補(bǔ)嘗*/
或更直觀地寫成:

       W
k;
      while
w!0{ w--;Printf("*");}
若用do-while語句,可描述如下:

      W
k;
      if
W
     do{
      w--
; prinif"*");
     } while
w);
若寫成:
     W
k;
    do

    W--
printf("*");
     } while
w!=0);
是不正確的,因?yàn)樵a當(dāng)k的值為0時(shí),不輸出字符*,而上面的改寫,當(dāng)k的值為0時(shí),將輸出許許多多的字符*。所以解答應(yīng)是。

    3.2  填充題

  1.結(jié)構(gòu)化程序設(shè)計(jì)規(guī)定的三種基本結(jié)構(gòu)是________結(jié)構(gòu),選擇結(jié)構(gòu)和_______結(jié)構(gòu)。
   
【解】結(jié)構(gòu)化程序設(shè)計(jì)的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
         2
.若有定義“int a25,b14 c19;,以下語句的執(zhí)行結(jié)果是______。
         if a
++<=25&&b--<=2&&c++)
        prinif
"***a=%db=%d,c=%dn", a,b,c);
        else printf
”###a=%db=%d,c=%dn” a, b,c);

   
【解】問題所給的if語句中,條件a++<=25&&b--<=2&&c++是先求邏輯與的第一個(gè)運(yùn)算分量,它是一個(gè)關(guān)系式,關(guān)系成立。接著判定第二個(gè)邏輯與運(yùn)算分量,又是一個(gè)關(guān)系式,由于變量b的值是14,b不小于等于2,運(yùn)算分量的關(guān)系式不成立,導(dǎo)致if語句的條件為假,執(zhí)行else部分。在求且語句的條件時(shí),計(jì)算了2個(gè)邏輯與分量,使變量a的值增了1,變量 b的值被減了1。所以輸出內(nèi)容是:###a=26b13,c19
     3
.以下兩條if語句可合并成一條if語句為_____________。
     if
a<=b x1
     else y
2;
    if
abprintf("****y=%d\n" y);
     else printf( "####x
%d\n" x);
   
【解】在以上兩條if語句中,兩個(gè)條件剛巧相反。若將前一個(gè)if語句的第一個(gè)成分語句與第二個(gè)if語句的第二個(gè)成分語句合并;第一個(gè)if語句的第二個(gè)成分語句與第二個(gè)if語句的第一個(gè)成分語句合并,寫成一條if語句如下:

     if(a
<=b){x1;printf("####x%d\dx);}
    else{ y
2; printf("****y%d\n",y)

        4
.設(shè) i,j,k均為 int型變量,則執(zhí)行完下面的for語句后,k的值為_______。

    for(i=0,j
10i<=ji++,j--kij;
   
【解】該 for語句以i0、j10初始化,循環(huán)條件是 i<=j,每次循環(huán)后 i 1、j 1,循環(huán)體是將 ij的和賦給 k。這樣變量 k將保存的是最后一次賦給它的值。一次循環(huán)后 i l。j 9,二次循環(huán)后 i 2j 8,……,五次循環(huán)后 i 5j 5,繼續(xù)第六次循環(huán),將 i j的和10存于 k后,i 6、j 4,結(jié)束循環(huán)。所以循環(huán)執(zhí)行后 k10。
        5
.下列程序的功能是輸入一個(gè)整數(shù),判斷是不是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出0,請(qǐng)為程序填空。
    main
()
   {int i
,Xy=1;
   scanf
d”,&x);

   for(i=2
;i<=x/2i++)
    if________________
y=0; break;
}
    printf
dn”,y);

    }
   
【解】為判數(shù)x是否是素?cái)?shù),預(yù)置變量y的值為1x可能是素?cái)?shù)),然后用循環(huán),用2x2的整數(shù)i測(cè)試對(duì)X的整除性,若能被其中的某個(gè)整數(shù)整除,則X是合數(shù),置y的值為0(不是素?cái)?shù)),結(jié)束測(cè)試循環(huán)。若都不能整除,則X為素?cái)?shù)。i能否整除X,可用求余運(yùn)算Xi等于0來判定。所以程序中的空框可填 X i==0。測(cè)試 X為素?cái)?shù)的代碼可寫成:
     y
l
    for
i2; i<=x2 i++)
    if(x
i==0{ y0; bleak; }

    3.3   程序分析題

1.閱讀程序,寫出運(yùn)行結(jié)果。
     main
()

    { int a10, b4,C3 
        if(a
b)ab;
 
        if(a
C aC;
 
        printf
"d,d,d\n", a,bc);

        }
   
【解】程序中,第一個(gè)if語句if(a<b)ab,當(dāng)a<b時(shí),讓b值置a,該語句確保a的值不比b小。同樣第二個(gè)if語句ifacac,當(dāng)ac時(shí),讓c值置a,使a的值不比c小。實(shí)際;情況是a本來就比bc都大,所以a的值沒有變,程序輸出a、b c的原來值:10,4,3。
         2
.閱讀下列程序,寫出程序的輸出結(jié)果。
     main()
     { int x=100
a10, b20, Ok15,Ok20;
     if
abif(b!15if(!Ok1) x1
      else if
ok2 x10;
     else x
-l;
      printf
"dn"x);
      } 
     
【解】程序預(yù)置變量x的值為100a的值為10,b的值為20,ok15,Ok20。程序中給出的if語句可以寫成更結(jié)構(gòu)化的形式如下:
     if(a
b) {
     if
b!15){

     if
!Ok1 x1;
     else{
     if
Ok2 x10;
     else x
=-l;
  

      }
      }
由于條件ab成立,并且條件b!=15也成立,而ok1不等于0,執(zhí)行else后的語句。又因ok2等于0,執(zhí)行else后的語句賦-1x。所以程序輸出一l。
        3
.閱讀下列程序,寫出程序的輸出結(jié)果。
    main() 
        {  int y
9;
         for(; y
0; y--) 
         if(y
3==0){ printfd”--y);
continue;}
     

   
【解】循環(huán)前,變量y的值為9,其中的循環(huán)語句在y大于0情況下循環(huán),每次循環(huán)后y的值減1。循環(huán)體是當(dāng)y能被3整除時(shí)輸出表達(dá)式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y9,能被3整除,輸出8,y也變成8。又經(jīng)兩次循環(huán),y的值變?yōu)?span lang=EN-US>6
,又讓y1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減至變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán)。所以程序輸出852。

 

   3.4   程序設(shè)計(jì)題

 

  1.編一個(gè)程序,輸入華氏溫度(F),按下列公式計(jì)算并輸出對(duì)應(yīng)的攝氏溫度(C):C 5 F32)/9
    
【解】利用公式:C5F32)/9,輸入F氏溫度,計(jì)算并輸出對(duì)應(yīng)的C氏溫度,程序要引入兩個(gè)變量,分別用于存儲(chǔ)F氏溫度和C氏溫度,計(jì)算時(shí)應(yīng)采用浮點(diǎn)型,包括公式中的常數(shù)也應(yīng)寫成浮點(diǎn)數(shù),不能采用整型和把常數(shù)寫成整數(shù)。因采用整型編寫,公式中的除運(yùn)算變成整除,會(huì)得出與實(shí)際要求不一致的結(jié)果。程序如下:

  
include <stdio.h>
      main
()

      {  float f,c
;/*變量定義*/
         printf
輸入F氏溫度);

        scanf
f,f);
        c
5.0*f32.0)/9.0;
        printf
對(duì)應(yīng)的C氏溫度%6.2fn”,c);
       }
        2
.編一個(gè)程序,輸入一個(gè)整數(shù),輸出其符號(hào)(若≥0,輸出1;若<0輸出-1)。
   
【解】程序可用if語句判斷輸入數(shù)的符號(hào),并控制輸出1-l。程序如下:
   
include<stdio.h> 
         main
()

        { int c
;/*變量定義*
          printf("
輸入一個(gè)整數(shù)");
          scanf(”
d”, &c);

         if
C>=0 printf("1\n")
         else printf("-l\n")
;
         }
       3
.編一個(gè)程序,輸入X的值,按下列公式計(jì)算并輸出y的值。
       X
X≤l
        y
{2xllx10
       3X-11
10≤X
   
【解】輸入x,按公式計(jì)算y。這可用一個(gè)嵌套的if語句分段判斷并計(jì)算出y的值。然后輸出y值。程序如下:
    
includestdioh
          main
()
        { int x
,y;/*變量定義*
          printf
輸入一個(gè)整數(shù));
          scanf
d”,&x);
          if
x<=l yX
          else if
x10y2*xl;
          else y
3*X11;

        printf(”y%d\ n”, y)
        }
         4
.編一個(gè)程序,輸入三個(gè)單精度數(shù),輸出其中最小數(shù)。
   
【解】設(shè)最小數(shù)存于變量min中,為求三個(gè)數(shù)中的最小數(shù),可分以下多步完成,先預(yù)置minx,然后分別將其余兩個(gè)數(shù)逐一與min比較,當(dāng)它們中的某個(gè)值比存于min中的值更小時(shí),就用它們更新min。寫出程序如下:
   
include<stdio.h>
       main()
      { float X,y,Z
,min;/*變量定義
*/ 
        printf("
輸入三個(gè)單精度浮點(diǎn)數(shù)
");
       scanf("%f%f%f"
, &x,&y,&Z);

       min
x;
       if(min>y) min
y;
       if(min>Z) min
Z;
       printf("
浮點(diǎn)數(shù)%f,%f,%f中的最小值是%f\n"X,yZ,min);
     }
       5
.編一個(gè)程序,求出所有各位數(shù)字的立方和等于10993位數(shù)。
   
【解】找出所有各位數(shù)字的立方和等于1l993位整數(shù)。 3位整數(shù)是100999范圍內(nèi)的整數(shù),設(shè)分別用a,b,c存儲(chǔ)3位數(shù)的百位、十位和個(gè)位的數(shù)字,程序用三重循環(huán)求出a,b,c的立方和為10993位數(shù)a*100+b*10c。程序如下:
   
include <stdio.h>
       main()
      { int a
b, c/*變量定義
*/ 
       for(a
1; a<=9
a++)
       for(b
0; b<=9
b++) 
       for(c
0;c<9;
c++) 
       if(a*a*a+b*b*b+c*c*c==1099)
        printf("%d\n"
,(10*ab)*10c);

      }
若用一個(gè)變量i表示3位數(shù),循環(huán)體將3位數(shù)變量i分拆出它的百位、十位和個(gè)位共3個(gè)數(shù)字,然后判這三個(gè)數(shù)字的立方和是否是1099,若是就輸出該變量的值。程序如下:
    
include<stdio.h> 
          main
()

         { int i
,a,b, c;/*變量定義*/
            for
i100;i<=999
i++) { 
           a
i/100;

           b
(i%100)/10; /*b(i/10)%l0*/ 
           c=i%10
;

           if(a*a*a+b*b*b+c*c*c==1099)
           printf("%d\n"
, i);

         }
         }
         6
.編一個(gè)程序,輸入10個(gè)整數(shù),統(tǒng)計(jì)并輸出其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù)。
    
【解】輸入10個(gè)整數(shù),統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù)。程序引入3個(gè)計(jì)數(shù)器變量,用于統(tǒng)計(jì)大于以小于0和等于0的整數(shù)的個(gè)數(shù)。開始時(shí),這3個(gè)計(jì)數(shù)器都置0,然后用循環(huán)逐一輸入10個(gè)整數(shù),并判定當(dāng)前輸入的整數(shù)是大于0,或小于0,或等于0,并按判定結(jié)果累加相應(yīng)計(jì)數(shù)器。最后,程序輸出這3個(gè)計(jì)數(shù)器的值。程序如下:
        # include<stdio.h> 
      main()
     { int i,d,n,z,p
;/*變量定義*/
     n
Zp0;

     for(i
1i<=10;i++) {
     print("
輸入第%d個(gè)整數(shù)", i)

     scanf("%d",&d)
;
     if(d<0)n++

     else if(d>0)p++
;
     else z++
;
    }
     printf("
負(fù)數(shù)有%d個(gè),正數(shù)有%d個(gè),零有%d個(gè)。\n",n,p,z);
   } 
      7
.編程序,按下列公式計(jì)算e的值(精度為1e6)
           e
1+1/1!+1/2!+1/3!+…+1/n!+… 
   
【解】按e的冪級(jí)數(shù)展開式計(jì)算e的值。這是典型的求級(jí)數(shù)和計(jì)算問題。通常采用逐項(xiàng)計(jì)算,并累計(jì)的方法。計(jì)算新的項(xiàng)時(shí),可用上一輪循環(huán)計(jì)算出的項(xiàng),這能提高程序的效率。循環(huán)直至當(dāng)前項(xiàng)的值小于精度要求結(jié)束。程序如下:

         # include<stdio.h>
          main()
         { double e
,t,i/*變量定義*/
           e
0.0t=1.0;i1.0;

          while(t>
1.0e-6) {
          e+
t;

           t/= i

          i+= 1.0
;
          }
         printf(”e
%.6f\n”, e);
       }
    8
.編程序,按下列公式計(jì)算y的值(精度為1e6)
          y=∑1/r*r+1
    
【解】按所給公式計(jì)算數(shù)列的和。類似上一小題的解,逐項(xiàng)計(jì)算并累計(jì)。程序如下:
       # include<stdio.h>
         main()
        { double y,r,t
;/*變量定義*/
           y
0.0;r1.0;

          while((t=1.0/(r*r+1.0))>=1.0e-6) {
          y+=t
;
          r+=1.0
;
         }
          printf("y=%.6f\n"
, y)
        }
          9
.編一個(gè)程序顯示ASCII代碼0x20ox6f的十進(jìn)制數(shù)值及其對(duì)應(yīng)字符。
   
【解】顯示ASCII代碼為十六進(jìn)制0x20ox6f的字符的十進(jìn)制代碼值與其字符。程序可用一個(gè)循環(huán),讓變量i順序地取0X20OX6f的值,并逐一輸出其十進(jìn)制代碼和對(duì)應(yīng)的字符,程序如下:

       # include<stdio.h> 
          main()
          {  int i
k0;
             for(i=0x20; i<=0x6f
i++) {
             if(k++%10== O)/*
每行十個(gè)
*/
             printf("\n")
;

              printf("%3d(%C)"
i,i);
              }
             printf("\n")
;
         }
          10
.用三種循環(huán)語句分別編寫程序顯示1100的平方值。
   
【解】用三種循環(huán)語句分別編寫顯示1100的平方值的程序。直接寫出3個(gè)程序如下:
          (1)
用輸循環(huán)實(shí)現(xiàn)的程序
      # include<stdio.h> 
      main()        /*
for循環(huán)*/
      { int i
k0;

       for(i
l;i<=100i++) {
      if(k++%5==0)       /*
每行五個(gè)
*/
      printf("\n")
;

      printf("%3d*%3d
%5d"i,ii*i);
     }
      printf("\n")

     }
          (2)
while循環(huán)實(shí)現(xiàn)的程序
       # include<stdio.h> 
        main()       /*
while循環(huán)*/

      { int i,k=0 ;
          i=1

          while(<=100){
         if(k++%5==0)/*
每行五個(gè)*/
         printf("\n")
;

         printf("%3d*%3d
%5d", i,ii*i);
         1++
;
         }
        printf("\n")
;
       }
            (3)
do-while循環(huán)實(shí)現(xiàn)的程序
       # include<stdio.h> 
        main()      /*
do-while循環(huán)*/
 
int i, k0 ;

           i=1;
         do{
       if(k++%5==0)    /*
每行五個(gè)*/
       printf("\n")

       printf("%3d*%3d
%5d",i,ii*i);
      1++
;
      }  while(<=100)

      printf("\n")
;
    

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲欧美日本国产有色| 熟女少妇一区二区三区蜜桃| 亚洲精品伦理熟女国产一区二区| 亚洲第一视频少妇人妻系列| 日韩中文字幕免费在线视频| 黄色av尤物白丝在线播放网址| 婷婷九月在线中文字幕| 午夜精品一区免费视频| 午夜精品国产一区在线观看| 色婷婷在线视频免费播放| 日本深夜福利在线播放| 国产一区二区熟女精品免费| 日本在线视频播放91| 国产精品日韩欧美第一页| 九九热最新视频免费观看| 亚洲精选91福利在线观看 | 亚洲一区二区精品久久av| 欧美一区二区三区播放| 精品国自产拍天天青青草原| 日韩一本不卡在线观看| 亚洲国产精品肉丝袜久久| 色偷偷偷拍视频在线观看| 欧美一级黄片免费视频| 五月的丁香婷婷综合网| 午夜国产精品福利在线观看| 亚洲国产成人久久99精品| 欧美一本在线免费观看| 91亚洲熟女少妇在线观看| 黄色日韩欧美在线观看| 色婷婷久久五月中文字幕| 黄色在线免费高清观看| 二区久久久国产av色| 国产又大又硬又粗又湿| 中国少妇精品偷拍视频| 欧美日韩三区在线观看| 五月婷日韩中文字幕四虎| 欧美黑人暴力猛交精品| 99热在线精品视频观看| 97人妻精品一区二区三区男同 | 日韩欧美在线看一卡一卡| 免费观看一级欧美大片|