原创 break和return

聲明:這些內容主要是面向C語言的初學者,尤其是正在學習C語言的學生。       在C語言中,break語句有兩個作用:一是終止switch語句,二是終止循環語句。return語句也是兩個作用:一是返回值,二是終止函數的執行。在上課的過程

原创 素數探求

聲明:這些內容主要是面向C語言的初學者,尤其是正在學習C語言的學生。       教材第七章的實驗題目是素數探求,共包括6個任務,其中第一個任務就是編寫函數來判斷一個正整數是不是素數。判斷一個數是不是素數是一個非常經典的題目,很多教科書

原创 數組的靈活應用

    數組是一種重要的數據結構,用來存放同類型的若干個數據。由於在內存中這些數據連續存放,所以可以用下標進行快速訪問。靈活應用數組經常可以起到簡化程序,提高效率的作用。下面我們以教材上的一道課後題爲例來說明。     例:在海軍節開幕式

原创 位運算與字母大小寫轉換

聲明:這些內容主要是面向C語言的初學者,尤其是正在學習C語言的學生。     在讀王爽老師的《彙編語言》時,看到了用and 和or指令處理字母大小寫轉換的例子。and 和or是彙編語言中按位與和按位或操作的指令,對應C語言中的&和|操作。

原创 在Dev C++中製作和使用靜態鏈接庫

    C語言提供了大量的庫函數,這些庫函數以靜態鏈接庫的形式存放在安裝目錄的lib文件夾裏(.a爲後綴的文件)。這些庫函數可以被我們的程序反覆使用,比如printf,scanf等。如果你自己定義的函數,在很多程序中要反覆使用,或者需要

原创 C語言數組元素下標爲何從0開始

    很多同學可能在學習數組時會有這個疑問,下標爲什麼不從1開始呢?從1開始不是更符合大家的日常習慣嗎?生活中我們通常說第1個,而不是第0個。的確,有些計算機語言如早期的Pascal語言,數組元素的下標是從1開始的。難道是C語言故意要與

原创 用switch語句製作菜單

聲明:這些內容主要是面向C語言的初學者,尤其是正在學習C語言的學生。 switch語句可以用來在字符界面下製作菜單。給每個菜單項指定一個編號,用戶通過輸入編號來選擇菜單項,switch語句判斷用戶輸入的編號並執行相應的任務。下面我們通過一

原创 C語言字符型數據(二)— 漢字的讀寫

首先聲明:這些內容主要是面向C語言的初學者,尤其是正在學習C語言的學生。 在上一篇文章中,我們利用字符型變量處理了文本文件中的英文字符。但是,文本文件中不僅能輸入英文字符,更多的時候我們需要處理漢字,如何用C語言程序讀寫這些漢字呢?大多數

原创 用switch語句製作菜單 (二)_引入數組

    在前面的文章《用switch語句製作菜單》中,我們定義了四個函數分別求平均成績、找最高成績、統計不及格人數和統計80分以上人數。在四個函數中,都有打開文件、讀文件、關閉文件的操作。當操作次數多,文件中數據量大時,這是一種非常低效率

原创 C語言實現字符串的查找和替換

    常用字處理軟件或者編輯器都提供字符串的查找和替換功能,本文描述如何藉助C語言的字符串處理函數來實現字符串的查找和替換功能。     先說查找,字符串的查找主要使用strstr函數,其原型爲:char * strstr(char *

原创 錯誤與斷言

首先聲明:這些內容主要是面向C語言的初學者,尤其是正在學習C語言的學生。     在《C語言字符型數據(一)》中,我們對文本文件中的內容進行了簡單的加密處理。程序如下所示: #include "stdio.h" int main() {

原创 編程讀取ELF文件頭

    一個C語言源程序(.c文件)經過彙編以後生成目標文件(.o文件),目標文件再經過鏈接生成可執行文件。在linux系統中,目標文件和可執行文件都是ELF格式的,瞭解ELF文件的結構對於理解程序的編譯、鏈接和裝載運行至關重要。ELF文

原创 學會優化你的程序

聲明:這些內容主要是面向C語言的初學者,尤其是正在學習C語言的學生。 程序優化是個很大的話題,一些經典編程書籍上對此已做過探討。在這裏,我主要是針對學生作業中的一些問題進行討論,儘量想辦法減少程序中的冗餘、使程序變得更簡練,可以說是比較初

原创 指定printf輸出域寬

聲明:這些內容主要是面向C語言的初學者,尤其是正在學習C語言的學生。       每個有用的C程序中都用到了printf函數,它可以根據我們指定的格式符來輸出數據。很多初學者只關心%d,%f,%c等格式符,卻忽略了格式修飾符的使用。事實上

原创 函數聲明

    本文將C語言的函數聲明在這裏做一總結。尤其注意同一工程中多個文件間函數調用和聲明的關係,很多C語言的教材上沒有涉及此話題。   1.目的:     函數聲明的目的是告訴編譯器被調用函數的返回值類型、參數個數及參數類型,以便編譯器檢