• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    程序員考試補課筆記-第五天

    發布: 2007-5-26 13:51 | 作者: 未知 | 來源: 互聯網 | 查看: 17次 | 進入軟件測試論壇討論

    領測軟件測試網
    今天是離散學禮的最后一天了,我的成績嘛,當然也不會高得去那里了,還很有可能第一呢(倒數。。都怪自己不好,不過也不能全怪。因為學校本來的電腦課程也不少了,可就是全部都在教圖形方面呢,什么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<n;i++)
        printf("%d",a[ i ]);

    }
      做這題時我也用到了昨天老師教的畫圖方法作了驗算,不過還是要上機求正否,這樣一來可以鍛練一下編寫程序。我們大家都各有各的方法,有些是很長(用Switch語句呢),我也不知道他怎么想的了,不過不同人有不同思想是正確的,編程這玩意沒有完全統一的答案的。那么你們想想你們有什么方法做呢,好吧,就給五分鐘你們做做吧!昧,時間到了,下面我再說說我的另一位同學做的方法吧,他是用字符數組的,也很簡單方便可以實現。你們做的怎么了?如果有好的方法也可以大家交流啊,因為我寫這些都是為了大家(也為了自己)。大家應該都看得明白我的程序吧,因為我的思想就是這么單純。
    老師說完了昨天的作業后就開始說今天要講的課程了。今天的主題是循環語句,其實C語言里也只是這么幾條循環語句嗎?相比QB來說真的可以算是見大場面了,因為QB里單是循環語句已經有七八種之種,至于有那些我也記不太清了。那么下面講講C語言的好了。C語言的循環語句一共有三種,先說說比較簡單的前兩種吧!
    While ( 條件 ) { 語句;} 和 do { 語句;}
                   while ( 條件 );

      這里我想重復一下老師給我們說的一個笑話,就是有一個小女孩問媽媽拿糖的小故事。有一個很乖的小女孩總是先問媽媽可不可以吃糖,如果得么批準了就拿一粒來吃?墒怯幸淮嗡秃苣弥涣3灾,跟著才問媽媽我可不可吃糖啊,如果可以當然就是繼續可以吃了,否則就不準了,不過已經有一粒在口了。這個剛好可以比喻這兩個循環語句,第一個循環語句是先當條件真才可以繼續下去,否則退出。而第二個呢,就是直運行里面的程序先,跟著才到條件里看是否可以再繼續運行多一次。好了這兩個比較簡單的就看看C語言里特有的一個for循環語句,這個循環比較特別,如第五天圖一
    它的結構也比較特別,而且里面三個表達式是非常靈活的。這里隨便給出一個程序讓大家看看:
    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了,好了,那么++遞增和- -遞減都是同一性質的。不過要注意的是這兩個遞增遞減運算符都是要變量才行的,不可以和常量運算。
      好了,說完了循環語句當然就是要懂得去運用在編程里了!所以老師馬上出了一道題讓我們想想,不過相信有些人都是研究過的了,就是"魔方陣",可是老師說雖然這個魔方陣雖然有直接的算法可以運算出來,但是要讓我們思考用循環做這題,利用計算機的能力來完成,但看到要排列這么多的數,循環也更不要說要很多了,所以我根本沒法想下去了(開始頭暈起來)。最后還是沒有一個能做出,只好聽老師說了,不過老師也沒有完全說完,只是給了我們一個結構,如第五天圖二讓我們自己有興趣就去完成它吧,我對數學這東西最沒有FEEL的了。
      好了,接著繼續第二題,也是一個排列組合的問題,你們手頭上應該都有老潭的《C程序語言第二版》了,那么請大家翻翻書到第121頁,6.15題,這題就是排列組合的題目了。這其實也是有一個規律可以找到的,不過不是我們找到的而是老師給我們說,今天這堂課真的有太多的難題了,至少對于我來說。下面我也沒有什么好插嘴的了,只好示出老師的方法吧,如第五天圖三
    程序也在下。
    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]);

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

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>