自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員考試筆記五:循環(huán)語句

企業(yè)動態(tài)
程序員考試筆記。

今天是離散學禮的最后一天了,我的成績嘛,當然也不會高得去那里了,還很有可能第一呢(倒數?。?。都怪自己不好,不過也不能全怪。因為學校本來的電腦課程也不少了,可就是全部都在教圖形方面呢,什么PS 、CW都要我們編程班的去學,真有點不爽。

  好了,也不說太多自己學校的羞事了。那么下面我們就開始來學習今天的知識吧,很多朋友都是我整天在打字,可我自己覺得打一篇這些也不是浪費很多時間,而且收益的更多(早上聽完,晚上復習)。故語有云"溫故知新",我覺得這句特別有道理的,因為通常我在看書里也看不到老師在課堂里向我們提出的問題。好了好了,我還是趕緊說說今天的學習吧。昨天老師布置的我們一道答,我昨天都給忙了做,而是今天突然想起才沖沖的趕著做,是這樣的一道題:

給一個不多于5位的正整數,要求:1,這個數有幾位2,打印每一位的數,3逆序打印,比如321 輸出 123。

好在這答也不難,用了一會兒時間就做完了。

main()
{
  int n; int num;
  int i=0,a[5];
  printf("請輸入不大于5位的正整數";
  scanf("%d",&num);
  do
  {
    do[i] =num % 10;
    num /=10;
    i++;
  }while(num!=0);
  n=i;
  printf("LEN%d",n);
  for(i=n-1;i>=0;i--)
    printf("%d",a[ i ]);
  for(i=0;i    printf("%d",a[ i ]);
}

  做這題時我也用到了昨天老師教的畫圖方法作了驗算,不過還是要上機求正否,這樣一來可以鍛練一下編寫程序。我們大家都各有各的方法,有些是很長(用Switch語句呢),我也不知道他怎么想的了,不過不同人有不同思想是正確的,編程這玩意沒有完全統一的答案的。那么你們想想你們有什么方法做呢,好吧,就給五分鐘你們做做吧。……好了,時間到了,下面我再說說我的另一位同學做的方法吧,他是用字符數組的,也很簡單方便可以實現。你們做的怎么了?如果有好的方法也可以大家交流啊,因為我寫這些都是為了大家(也為了自己)。大家應該都看得明白我的程序吧,因為我的思想就是這么單純。

老師說完了昨天的作業(yè)后就開始說今天要講的課程了。今天的主題是循環(huán)語句,其實C語言里也只是這么幾條循環(huán)語句嗎?相比QB來說真的可以算是見大場面了,因為QB里單是循環(huán)語句已經有七八種之種,至于有那些我也記不太清了。那么下面講講C語言的好了。C語言的循環(huán)語句一共有三種,先說說比較簡單的前兩種吧!

While ( 條件 ) { 語句;} 和 do { 語句;}
               while ( 條件 );

  這里我想重復一下老師給我們說的一個笑話,就是有一個小女孩問媽媽拿糖的小故事。有一個很乖的小女孩總是先問媽媽可不可以吃糖,如果得么批準了就拿一粒來吃??墒怯幸淮嗡秃苣弥涣3灾耍艈枊寢屛铱刹豢沙蕴前?,如果可以當然就是繼續(xù)可以吃了,否則就不準了,不過已經有一粒在口了。這個剛好可以比喻這兩個循環(huán)語句,第一個循環(huán)語句是先當條件真才可以繼續(xù)下去,否則退出。而第二個呢,就是直運行里面的程序先,跟著才到條件里看是否可以再繼續(xù)運行多一次。好了這兩個比較簡單的就看看C語言里特有的一個for循環(huán)語句,這個循環(huán)比較特別,如第五天圖一
它的結構也比較特別,而且里面三個表達式是非常靈活的。這里隨便給出一個程序讓大家看看:

int i=0;
for(; if(i++>10) break;
printf("%d",i);

  這說這里i是多少呢?這里就關系到這個運算符了++遞增運算符,可以有兩種方式,一種是i++就像上面的那樣,至于另一種就是++i,這里的答案是前者等于12,而后者就等于11。這里全是因為++遞增的兩個方式所至,那么我們要好好掌握一下這個,你自己試試動手上機編一下。另一個程序好讓看出這個遞增運算符的:

int i=0;
if (i++) printf("a"; /* 如果這里為真的就輸出a */
else printf("b"; /*否則就是輸出b */

  自己試試看,是不是很明顯可以知道這個遞增符的原理呢,這里說一下吧,其實i++這個呢就是先那i比較后才運算++的,所以很自然就是0那么結果當然就是輸出b了,則那個++i就是先把i加1才比較,那么真就輸出a了,好了,那么++遞增和- -遞減都是同一性質的。不過要注意的是這兩個遞增遞減運算符都是要變量才行的,不可以和常量運算。

  好了,說完了循環(huán)語句當然就是要懂得去運用在編程里了啊!所以老師馬上出了一道題讓我們想想,不過相信有些人都是研究過的了,就是"魔方陣",可是老師說雖然這個魔方陣雖然有直接的算法可以運算出來,但是要讓我們思考用循環(huán)做這題,利用計算機的能力來完成,但看到要排列這么多的數,循環(huán)也更不要說要很多了,所以我根本沒法想下去了(開始頭暈起來)。最后還是沒有一個能做出,只好聽老師說了,不過老師也沒有完全說完,只是給了我們一個結構,如第五天圖二讓我們自己有興趣就去完成它吧,我對數學這東西最沒有FEEL的了。

  好了,接著繼續(xù)第二題,也是一個排列組合的問題,你們手頭上應該都有老潭的《C程序語言第二版》了,那么請大家翻翻書到第121頁,6.15題,這題就是排列組合的題目了。這其實也是有一個規(guī)律可以找到的,不過不是我們找到的而是老師給我們說,今天這堂課真的有太多的難題了,至少對于我來說。下面我也沒有什么好插嘴的了,只好示出老師的方法吧,程序也在下。

char xyz[]=['X','Y',"Z'};
int i,j,k;
for(i=0;i<3;i++)
  for(j=0;j<3;j++)
    if(j==i0 continue;
    for(k=0;k<3;k++)
      if(k==i || k==j) continue;
      printf("A-%c\n",xyz[i]);
      prihtf("B-%c\n",xyz[j]);
      prihtf("C-%c\n",xyz[k]);

讓大家自己看明白了。好了,今天我的頭也特別的暈,肩膀也特別的酸。不過我還是要努力的!

責任編輯:丁小雨 來源: 51cto
相關推薦

2009-01-16 19:49:49

程序員考試數組指針

2009-01-07 21:00:05

2009-01-19 19:18:44

程序員考試筆記

2009-01-08 21:25:51

程序員筆記

2009-01-08 21:21:45

程序員筆記

2009-01-10 23:38:16

程序員考試筆記

2009-01-05 15:56:00

軟考程序員

2013-12-24 13:15:59

2014-11-24 09:29:29

2020-12-29 11:06:46

程序員技能開發(fā)者

2013-08-20 09:33:59

程序員

2012-03-06 09:22:46

程序員

2019-05-16 08:36:53

Eureka緩存網關

2013-03-27 10:45:31

2011-01-05 14:53:53

程序員

2009-05-21 15:58:12

程序員工作經驗職場

2021-09-02 08:40:10

程序員錯誤

2011-05-13 14:34:02

程序員

2015-04-10 19:37:34

程序員

2022-03-16 11:10:19

程序員社區(qū)技術
點贊
收藏

51CTO技術棧公眾號