首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計算機(jī)等級考試 | 軟件水平考試 | 職稱計算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會計從業(yè)資格考試會計證) | 經(jīng)濟(jì)師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價師 | 土地估價師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

計算機(jī)等級考試二級C語言入門教程:多維數(shù)組

考試吧提供了“計算機(jī)等級考試二級C語言入門教程”,幫助考生備考計算機(jī)等級考試。

  二、字符串?dāng)?shù)組

  上面講的都是存放數(shù)值的,有一類數(shù)組,用來處理字符串的,我們叫字符串?dāng)?shù)組。其實字符串?dāng)?shù)組也是二維數(shù)組,只是它的特殊性,才單獨拿出來說的。

  main()

  {

  char s[10][10];

  int i;

  for(i=0;i<10;i++) scanf(%s,s[i]);

  }

  先看它的輸入特性,前面在說輸入語句的時候說過,遇到字符串輸入,可以不加'&',現(xiàn)在只要記住這個特性就可以,以后說指針的時候再講為什么。但是這兒為什么用s[i],可能很多人不太明白。我們定義的是二維數(shù)組,而輸入的時候,卻使用一維數(shù)組的形式。這是因為字符串在內(nèi)存里地址可以用它的名字表示,就好象這種形式:

  main()

  {

  char s[10];

  scanf(%s,s);

  }

  定義的是一維數(shù)組,輸入語句用變量形式表示一樣。通過前面的'%s'形式可以看出,s[i]是一個數(shù)組,所以s就是二維數(shù)組了。

  這里要注意一點,scanf()函數(shù)在輸入字符串時候不能支持空格,看下面的例子:

  main()

  {

  char s[3][10];

  int i;

  for(i=0;i<10;i++)

  scanf(%s,s[i]);

  for(i=0;i<3;i++)

  printf(%s\n,s[i]);

  }

  我們輸入:1111

  2222 3333

  4444

  我們是想把1111賦值給s[0],2222 3333賦值給s[1],4444賦值給s[2]?蓪嶋H上編譯器是這樣做的,把1111賦值給s[0],把2222賦值給[1],把3333賦值給s[2]。

  實際輸出:1111

  2222

  3333

  在輸入字符串的時候,如果使用scanf(),就把空格當(dāng)作下一個輸入了。那么我們怎么解決這個問題呢?畢竟很多情況下,一行字符串肯定有空格出現(xiàn)的。我們使用新的函數(shù)gets()。這個函數(shù)是專門接受字符串輸入的,它跳過了空格的影響。把上面的輸入語言修改為gets(s[i])即可。

  我們定義了char s[3][10],超過10個字符肯定不行,如果少于10個字符,電腦怎么處理呢?電腦是在每個字符串的后面自動補(bǔ)上'\0',作為字符串的結(jié)束標(biāo)志。

  我們經(jīng)常在填寫一些可選擇的內(nèi)容時經(jīng)常發(fā)現(xiàn),待選的字符串都是按字母排列好的,我們怎么用C語言實現(xiàn)這個功能?在C語言里,字符串的排序是按照字符的ASCII碼來的,如果第一個字符一樣,則比較第二個,依次類推。

  main()

  {

  char s1[6]=addfgh,s2[5]=asdlg;

  int i;

  for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++)

  {

  if(s1[i] {

  printf(s1 exit(1);

  }

  else if(s1[i]>s2[i])

  {

  printf(s1>s2\n);

  exit(1);

  }

  else ;

  }

  if(s1[i]=='\0' && s2[i]!='\0') printf(s1 else if(s2[i]=='\0' && s1[i]!='\0') printf(s1>s2\n);

  else printf(s1==s2\n);

  }

  上面的例子就是比較兩個字符串大小的,先比較第一個,如果相同,接著比較第二個,如果不相同,則分出大小。一直往后比較,直到其中某一個到'\0',你也可以先用strlen()函數(shù)找出最小的長度。

上一頁  1 2 3 4 下一頁
  相關(guān)推薦:計算機(jī)等級考試二級C語言教程匯總

       計算機(jī)等級考試二級C語言常見知識點總結(jié)

       計算機(jī)等考二級C50套上機(jī)程序填空題匯總

       計算機(jī)等級考試二級C語言三套全真預(yù)測試題

文章搜索
計算機(jī)等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。