亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C語言編程中統計輸入的行數以及單詞個數的方法

2020-05-23 14:12:30
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C語言編程中統計輸入的行數以及單詞個數的方法,利用最基礎的循環和判斷語句寫成,需要的朋友可以參考下
 

統計輸入的行數

標準庫保證輸入文本流以行序列的形式出現,每一行均以換行符結束。因此,統計行數等價于統計換行符的個數。

#include <stdio.h>/* count lines in input */main(){ int c, nl; nl = 0; while ((c = getchar()) != EOF) if (c == '/n')  ++nl; printf("%d/n", nl);}

在該程序中,while 循環語句的循環體是一個 if 語句,它控制自增語句++nl。if 語句先測試圓括號中的條件,如果該條件為真,則執行其后的語句(或括在花括號中的一組語句)。這里再次用縮進方式表明語句之間的控制關系。

雙等于號==是 C 語言中表示“等于”關系的運算符(類似于 Pascal 中的單等于號=及 Fortran 中的.EQ.)。由于 C 語言將單等于號=作為賦值運算符,因此使用雙等于號==表示相等的邏輯關系,以示區分。這里提醒注意,在表示“等于”邏輯關系的時候(應該用==),C 語言初學者有時會錯誤地寫成單等于號=。在后面我們將看到,即使這樣誤用了,其結果通常仍然是合法的表達式,因此系統不會給出警告信息。

單引號中的字符表示一個整型值,該值等于此字符在機器字符集中對應的數值,我們稱之為字符常量。但是,它只不過是小的整型數的另一種寫法而已。例如,'A'是一個字符常量;在 ASCII 字符集中其值為 65(即字符 A 的內部表示值為 65)。當然,用'A'要比用 65 好,因為。'A'的意義更清楚,且與特定的字符集無關。

字符串常量中使用的轉義字符序列也是合法的字符常量,比如,'/n'代表換行符的值,在 ASCII 字符集中其值為 10。我們應當注意到,'/n'是單個字符,在表達式中它不過是一個整型數而已;而"/n"是一個僅包含一個字符的字符串常量。

下面編寫一個統計空格、制表符與換行符個數的程序。

#include <stdio.h>main(){ /* blanks, tabs, and newlines */ int c, nb, nt, nl; nb = 0; nt = 0; nl = 0; while( (c = getchar()) != EOF) { if(c == ' ')  ++nb; if(c == '/t')  ++nt; if(c == '/n')  ++nl; } printf("%d %d %d /n", nb, nt, nl);}

統計輸入的單詞個數

這里對單詞的定義比較寬松,它是任何其中不包含空格、制表符或換行符的字符序列。下面這段程序是 UNIX 系統中 wc 程序的骨干部分:

#include <stdio.h>#define IN 1 /* inside a word */#define OUT 0 /* outside a word *//* count lines, words, and characters in input */main(){ int c, nl, nw, nc, state; state = OUT; nl = nw = nc = 0; while ((c = getchar()) != EOF)  { ++nc; if (c == '/n')  ++nl; if (c == ' ' || c == '/n' || c == '/t')  state = OUT; else if (state == OUT) {  state = IN;  ++nw; } } printf("%d %d %d/n", nl, nw, nc);}

程序執行時,每當遇到單詞的第一個字符,它就作為一個新單詞加以統計。state 變量記錄程序當前是否正位于一個單詞之中,它的初值是“不在單詞中”,即初值被賦為 OUT。我們在這里使用了符號常量 IN 與 OUT,而沒有使用其對應的數值 1 與 0,這樣程序更易讀。在較小的程序中,這種做法也許看不出有什么優勢,但在較大的程序中,如果從一開始就這樣做,因此而增加的一點工作量與提高程序可讀性帶來的好處相比是值得的。讀者也會發現,如果程序中的幻數都以符號常量的形式出現,對程序進行大量修改就會相對容易得多。

下列語句 nl = nw = nc = 0; 將把其中的 3 個變量 nl、nw 與 nc 都設置為 0。這種用法很常見,但要注意這樣一個事實:在兼有值與賦值兩種功能的表達式中,賦值結合次序是由右至左。所以上面這條語句等同于 n1 = (nw = (nc = 0));

運算符||代表 OR(邏輯或),所以下列語句 if (c == ' ' || c== '/n' || c == '/t') 的意義是“如果 c 是空格,或 c 是換行符,或 c 是制表符”(前面講過,轉義字符序列/t 是制表符的可見表示形式)。相應地,運算符&&代表 AND(邏輯與),它僅比||高一個優先級。由&&或||連接的表達式由左至右求值,并保證在求值過程中只要能夠判斷最終的結果為真或假,求值就立即終止。如果 c 是空格,則沒有必要再測試它是否為換行符或制表符,這樣就不必執行后面兩個測試。在這里,這一點并不特別重要,但在某些更復雜的情況下這樣做就有必要了,不久我們將會看到這種例子。

這段程序中還包括一個 else 部分,它指定當 if 語句中的條件部分為假時所要執行的動作。其一般形式為:

if (表述式) 語句 1else 語句 2

其中,if-else 中的兩條語句有且僅有一條語句被執行。如果表達式的值為真,則執行語句 1,否則執行語句 2。這兩條語句都既可以是單條語句,也可以是括在花括號內的語句序列。在單詞計數程序中,else 之后的語句仍是一個 if 語句,該 if 語句控制了包含在花括號內的兩條語句。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲黄色av女优在线观看| 亚洲成人网在线| 在线观看国产欧美| 成人欧美一区二区三区在线| 97在线观看视频国产| 最近2019中文字幕一页二页| 国产伊人精品在线| 日韩欧美主播在线| 一个人看的www久久| 中文字幕精品久久| 视频一区视频二区国产精品| 国产精品www网站| 国产精品亚洲美女av网站| 国产区亚洲区欧美区| 国内精品久久久久伊人av| 久久久久久久久久久亚洲| 日韩av一区二区在线观看| 国产成人高潮免费观看精品| 欧美性开放视频| 国产女精品视频网站免费| 欧美视频免费在线| 久久夜色精品国产亚洲aⅴ| 欧美一级淫片丝袜脚交| xxav国产精品美女主播| 青青在线视频一区二区三区| 97精品免费视频| 日韩美女在线播放| 国产精品第100页| 欧美性生交大片免网| 岛国av一区二区在线在线观看| 色青青草原桃花久久综合| 日韩美女在线看| 日韩亚洲精品电影| 亚洲第一精品夜夜躁人人躁| 欧美日韩中文字幕日韩欧美| 色与欲影视天天看综合网| 国产大片精品免费永久看nba| 成人网在线免费看| 午夜精品福利在线观看| 视频在线观看99| 亚洲国产成人精品女人久久久| 日韩av在线免费观看| 深夜福利国产精品| 日本一区二区三区四区视频| 国产美女精品视频| 久久久亚洲福利精品午夜| 日韩欧美中文字幕在线观看| 久久久精品在线观看| 国产成+人+综合+亚洲欧美丁香花| 热久久美女精品天天吊色| 欧美精品在线网站| 精品国产一区二区三区久久狼5月| 亚洲午夜未满十八勿入免费观看全集| 欧美精品videos| 日韩av有码在线| 中文字幕精品一区二区精品| 国产午夜精品久久久| 色综合伊人色综合网站| 国产美女高潮久久白浆| 国产精品欧美久久久| 久久综合久中文字幕青草| 成人免费网站在线看| 日韩精品极品毛片系列视频| 欧美精品第一页在线播放| 日韩国产欧美精品在线| 亚洲国产精品va在看黑人| 国产成人极品视频| 欧美亚洲日本黄色| 日韩黄色在线免费观看| 午夜精品一区二区三区在线视频| 欧美极品少妇xxxxⅹ免费视频| 久久久久成人精品| 色偷偷噜噜噜亚洲男人的天堂| 国产成人拍精品视频午夜网站| 国产精品美腿一区在线看| 欧美日韩国产va另类| 国产免费观看久久黄| 精品女同一区二区三区在线播放| 亚洲最大的免费| 国产成人av在线播放| 色综合视频一区中文字幕| 欧美性猛交xxxx| 97精品国产97久久久久久春色| 国产日韩在线精品av| 日韩在线观看免费全| 欧美成人在线免费视频| 欧美激情一区二区三区久久久| 美女久久久久久久| 成人黄色av网| 操日韩av在线电影| 亚洲韩国青草视频| 在线播放日韩av| 国产精品久久久久久久久久久不卡| 国内精品久久久久久| 一区三区二区视频| 亚洲成年网站在线观看| 国内精品久久久久久影视8| 国产精品日韩专区| 成人xxxxx| 国产亚洲欧美另类中文| 日韩中文字幕第一页| 欧美疯狂性受xxxxx另类| 国产日韩欧美夫妻视频在线观看| 欧美激情国内偷拍| 精品久久久久久亚洲国产300| 精品亚洲一区二区三区四区五区| 亚洲综合中文字幕在线| 亚洲视频在线观看视频| 黑人极品videos精品欧美裸| 91精品免费看| 日韩经典一区二区三区| 国产精品成熟老女人| 97色在线播放视频| 国产精选久久久久久| 色综合色综合网色综合| 日韩成人黄色av| 国产第一区电影| 国产精品h片在线播放| 日韩精品高清在线观看| 亚洲乱码国产乱码精品精天堂| 亚洲 日韩 国产第一| 奇米4444一区二区三区| 国产精品电影一区| 久久亚洲国产成人| 亚州欧美日韩中文视频| 亚洲国产成人久久| 亚洲一区二区在线播放| 91精品国产91久久久久久久久| 欧美精品国产精品日韩精品| 欧美日韩亚洲高清| 久久精品国产亚洲精品| 国产成人亚洲综合| 国产91精品青草社区| 在线精品国产欧美| 亚洲综合色激情五月| 伊人久久综合97精品| 亚洲欧洲高清在线| 成人在线免费观看视视频| 欧美性视频在线| 78色国产精品| 国产91在线播放| 欧美激情视频一区| 亚洲第一福利视频| 97色在线视频观看| 亚洲一区二区三区777| 国产黑人绿帽在线第一区| 色琪琪综合男人的天堂aⅴ视频| 国产成人aa精品一区在线播放| 久久久精品一区二区| 精品美女久久久久久免费| 欧美丰满老妇厨房牲生活| www.99久久热国产日韩欧美.com| 亚洲成人网在线观看| 97在线观看视频国产| 夜色77av精品影院| 欧美香蕉大胸在线视频观看| 欧美日韩国产精品一区二区三区四区| 亚洲精品日韩激情在线电影| 久久久av一区| 夜夜嗨av色综合久久久综合网| 国产成人+综合亚洲+天堂| 国产日韩综合一区二区性色av| 国产精品美女无圣光视频| 欧美日韩在线视频一区|