C 學以致用(2)

2021-10-06 23:59:20 字數 1866 閱讀 2417

如果第乙個運算物件是負數,那麼求模結果為負數;如果第乙個運算物件是正數,那麼求模結果也是正數。

printf("%d %d\n",11/5,11%5);

printf("%d %d\n",-11/5,-11%5);

printf("%d %d\n",11/-5,11%-5);

printf("%d %d\n",-11/-5,-11%-5);

程式執行結果:

2 1

-2 -1

-2 1

2 -1

__cpluscplus巨集的作用與運用

靜態庫和動態庫的使用

vs生成dll但沒有lib檔案解決方法

c++呼叫c函式

c**如何呼叫c++

一般而言,所有的非零值都視為真,只有0被視為假。

c99新增了_bool型別,標頭檔案stdbool.h。在程式設計中,表示真或假的變數被稱為布林變數。所以_bool是c語言中布林變數的型別名。_bool的變數只能儲存1(真)或0(假)。如果把其他非零數值賦給_bool型別的變數,該變數會被設定為1。

一般而言,char型別陣列的所有元素都儲存char型別的值;如果char型別的陣列末尾包含乙個表示字串末尾的空字元\0,則該陣列中的內容就構成了乙個字串。

為什麼要有緩衝區?

首先,把若干字元作為乙個塊進行傳輸比逐個傳送這些字元節約時間。其次,如果使用者打錯字符,可以直接通過鍵盤修正錯誤。當做後按下enter鍵時,傳輸的是正確的輸入。

緩衝分為兩類:完全緩衝i/o行緩衝i/o。完全緩衝輸入是指當緩衝區被填滿時才重新整理緩衝區,通常出現在檔案輸入中,緩衝區的大小取決於系統,常見的大小是512位元組和4096位元組。行緩衝i/o指的是出現換行符時重新整理緩衝區。鍵盤輸入通常是行緩衝輸入。

計算機作業系統要以某種方式判斷檔案的開始和結束。檢測檔案結尾的一種方式是,在檔案末尾放乙個特殊的字元標記檔案結尾,比如ctrl+z字元。作業系統的另一種方法是儲存檔案大小的資訊。如果檔案有3000字元,程式在讀到3000位元組時便達到檔案的末尾。

無論作業系統實際使用何種方法檢測檔案末尾,在c語言中,用getchar()讀取檔案檢測到檔案末尾時將返回乙個特殊的值,即eof(end of file)。通常,eof定義在stdio.**件中:

#define eof (-1)
為什麼是-1?因為getchar()函式返回值通常介於0-127,這些值對應標準字符集。但是,如果系統能識別擴充套件字符集,該函式的返回值可能在0-255之間。

無論哪種情況,-1都不對應任何字元,所以,該值可用於標記檔案末尾。

那麼,如何在程式中使用eof?把getchar()的返回值和eof作比較,如果兩值不同,就說明沒有到達檔案結尾。

while((ch=getchar())!=eof)
#include //讀取字元並顯示

int main()

重定向的乙個主要問題與作業系統有關,與c無關。

重定向輸入讓程式使用檔案而不是鍵盤來輸入,重定向輸出讓程式輸出至檔案而不是螢幕。

重定向運算子連線乙個可執行程式和乙個資料檔案,不能用於連線乙個資料檔案和另乙個資料檔案,也不能用於連線乙個程式和另乙個程式。

使用重定向運算子不能讀取多個檔案的輸入,也不能把輸出定向至多個檔案。

"<"符號是unix和dos/windows的重定向符。

「>」 符號是重定向輸出符號。

在一條命令中,輸入檔名和輸出檔名不能相同。

學以致用之氣泡排序

氣泡排序是一種看起來很簡單的交換排序,尤其是其易記的特點,促使很多初學者只是簡單地記住氣泡排序的某種 實現,而忽略了對其更深層次的理解,本文旨在通過對氣泡排序的解析來幫助初學者真正理解氣泡排序的 實現原理,如果你能在閱讀完本文後不參考任何 隨手實現一種氣泡排序,那麼這篇文章的目的便達到了。下面是兩段...

Matlab學以致用 曲線擬合

使用matlab自帶的polyfit函式,可以很方便地根據現有樣本資料進行多項式曲線擬合,為了有直觀感受,先上例程,如下所示 1 x 5 0.1 5 樣本資料x座標 2 y 3 x.2 6 x 5 randn size x 樣本資料y座標,新增隨機雜訊 34 p polyfit x,y,2 使用自帶...

思想一 實事求是 學以致用

實事求是 學以致用 何謂實事求是?實事 就是客觀存在的一切事物,是 就是客觀事物的內部聯絡,即規律性,求 就是我們去研究。毛選 801頁 如何做到實事求是呢?調查的態度要實事求是 寫文章的方法要實事求是 研究問題要實事求是 學以致用體現實事求是。一 調查的態度要實事求是。毛在第三卷的開篇 農村調查 ...