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

首頁 > 編程 > C > 正文

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

2020-01-26 14:48:54
字體:
來源:轉載
供稿:網友

統計輸入的行數

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

#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
亚洲欧美综合v| 国产日韩欧美在线播放| 欧美性视频网站| 97精品国产97久久久久久免费| 欧美黑人极品猛少妇色xxxxx| 成人午夜黄色影院| 91精品综合视频| 免费成人高清视频| 色噜噜狠狠色综合网图区| 国产精品日日做人人爱| 国产成人精品久久二区二区| 91精品国产综合久久香蕉的用户体验| 国产精品国产自产拍高清av水多| 亚洲情综合五月天| 5278欧美一区二区三区| 欧美激情a∨在线视频播放| 成人字幕网zmw| 91久久国产婷婷一区二区| 不用播放器成人网| 欧美日在线观看| 成人网在线免费观看| 久久久999成人| 欧美国产在线视频| 久久婷婷国产麻豆91天堂| 超碰97人人做人人爱少妇| 国产www精品| 久久成人亚洲精品| 欧美一级大片视频| 国产精品视频1区| 亚洲国产精品久久久久| 91国产一区在线| 8090理伦午夜在线电影| 国产欧美亚洲精品| 成人女保姆的销魂服务| 精品久久久久久国产| 欧美午夜精品久久久久久浪潮| 精品视频中文字幕| 国产99在线|中文| 国产91在线高潮白浆在线观看| 日本19禁啪啪免费观看www| 黑人巨大精品欧美一区免费视频| 久久精品影视伊人网| 青青a在线精品免费观看| 国产精品手机播放| 色樱桃影院亚洲精品影院| 欧洲成人在线视频| 一级做a爰片久久毛片美女图片| 国产97在线观看| 国产精品久久久久影院日本| 中文字幕最新精品| 欧美怡春院一区二区三区| 亚洲美女av在线| 欧美一区二区三区……| 日本久久久久久久久久久| 日韩在线视频免费观看高清中文| 亚洲精品99久久久久中文字幕| 亚洲综合在线播放| 91黑丝在线观看| 国产精品爱久久久久久久| 国产一区二区三区免费视频| 精品人伦一区二区三区蜜桃网站| 成人精品久久久| 亚洲成人黄色在线观看| 久久亚洲一区二区三区四区五区高| 国产欧美一区二区三区久久| 久久中文字幕在线| 亚洲第一网中文字幕| 日本最新高清不卡中文字幕| 国产午夜精品全部视频播放| 久久国产精品久久久| 国产精品男人爽免费视频1| 国产有码一区二区| 欧美成人免费一级人片100| 久久成人综合视频| www.美女亚洲精品| 性色av一区二区三区在线观看| 精品国偷自产在线视频| 亚洲网址你懂得| 成人乱人伦精品视频在线观看| 久久久久久久久电影| 亚洲福利视频二区| 欧美日韩午夜剧场| 国产性猛交xxxx免费看久久| 国产精品久久久久久久美男| 亚洲免费一在线| 亚洲国产精品人人爽夜夜爽| 欧美午夜视频一区二区| 97精品国产97久久久久久春色| 亚洲精品视频中文字幕| 国产精品草莓在线免费观看| 91精品国产综合久久香蕉最新版| 91久久国产精品91久久性色| 在线国产精品视频| 欧美理论电影在线观看| 色视频www在线播放国产成人| 久久五月天综合| 日韩久久免费电影| 青草热久免费精品视频| 成人福利免费观看| 亚洲欧美日韩国产精品| 久久久成人精品| 日韩中文字在线| 国内精品一区二区三区四区| 久久精品91久久香蕉加勒比| 美女性感视频久久久| 国产在线视频91| 精品久久久久久久久久| 日韩欧美国产骚| 亚洲国产精品成人一区二区| 欧美人在线视频| 色噜噜亚洲精品中文字幕| 亚洲欧美激情视频| 亚洲有声小说3d| 亚洲在线观看视频网站| 91精品在线观看视频| 亚洲综合国产精品| 日韩一区二区在线视频| 国产亚洲欧美视频| 国产精品视频成人| 欧美亚洲视频在线看网址| 成人国产精品色哟哟| 国产精品日韩av| 国产欧美日韩中文字幕在线| 亚洲精品乱码久久久久久金桔影视| 欧美日韩午夜视频在线观看| 成人久久一区二区| 懂色av中文一区二区三区天美| 97热精品视频官网| 欧美日韩免费一区| 日韩综合中文字幕| 欧美午夜无遮挡| 亚洲精品一区二区在线| 国产精品免费网站| 91精品啪aⅴ在线观看国产| 欧美精品在线免费播放| 91人人爽人人爽人人精88v| 国产成人福利网站| 国产一区二区三区在线| 2019中文字幕在线| 欧美性极品xxxx娇小| 色综合天天综合网国产成人网| 久久久精品影院| 国产精品 欧美在线| 日韩有码在线电影| 国产精品日韩一区| 日韩欧美一区视频| 久久免费视频观看| 在线午夜精品自拍| 亚洲一区二区三区xxx视频| 亚洲开心激情网| 欧美一级高清免费| 日韩专区在线观看| 91午夜理伦私人影院| 欧美激情视频网址| 亚洲毛片在线看| 性视频1819p久久| 精品成人乱色一区二区| 一本色道久久综合亚洲精品小说| 日韩av在线网址| 91黑丝高跟在线| 国产91色在线|免| 国产拍精品一二三| 51精品国产黑色丝袜高跟鞋| 欧美日韩国产精品|