隨著科學技術(shù)的迅猛發(fā)展,計算機技術(shù)日新月異,計算機程序設(shè)計語言也層出不窮。那么,什么是程序語言,什么是程序設(shè)計?應(yīng)該學哪一種程序語言,如何進行程序設(shè)計?這些都是程序設(shè)計初學者首先遇到的問題,也是程序設(shè)計的基本問題、共性問題。
不論是什么樣的計算機語言,其程序設(shè)計的基本方法是相同的。本書作為程序設(shè)計的入門教材,將以C語言程序設(shè)計為主線,介紹程序設(shè)計的基本概念和基本方法,講述C語言的語法規(guī)則和實用的C程序設(shè)計技術(shù)。作為全書的開篇,本章就程序設(shè)計的基本知識作概括性討論,重點介紹算法的概念、特征、設(shè)計算法的方法和策略、流程圖的表示和結(jié)構(gòu)化程序設(shè)計方法等內(nèi)容。需要說明的是,有些概念和方法要隨著后續(xù)各章的深入學習才會有深刻的理解,不必在一時不懂的問題上停滯不前。
1.1.1 程序與程序語言
1.計算機語言
什么是計算機語言?為什么要使用計算機語言?過去,一提到語言這個詞,人們自然想到的是像英語、漢語等這樣的自然語言,因為它是人和人相互交流信息不可缺少的工具。而今天,計算機遍布了我們生活的每一個角落,除了人和人之間的相互交流之外,我們必須和計算機交流。用什么樣的方式和計算機做最直接的交流呢?人們自然想到的是最古老也最方便的方式--語言。人和人交流用的是雙方都能聽懂和讀懂的自然語言,同樣,人和計算機交流也要用人和計算機都容易接受和理解的語言,這就是計算機語言。人們用自然語言講述和書寫,目的是給另外的人傳播信息。同樣,我們使用計算機語言把我們的意圖表達給計算機,目的是使用計算機。
計算機語言是根據(jù)計算機的特點而編制的,它沒有自然語言那么豐富多樣,而只是有限規(guī)則的集合,所以它簡單易學。但是,也正因為它是根據(jù)機器的特點編制的,所以交流中無法意會和言傳,而更多地表現(xiàn)了說一不二, 表現(xiàn)了"規(guī)則"的嚴謹。例如該是";"的地方不能寫成".",該寫"a"的地方不能寫成"A",這使得人和計算機的交流在一開始會有些不習慣。不過,只要認識到計算機語言的特點,注意學習方法,把必須的嚴謹和恰當?shù)撵`活相結(jié)合,一切都會得心應(yīng)手。
2.程序
我們知道,計算機是一種具有內(nèi)部存儲能力的自動、高效的電子設(shè)備,它最本質(zhì)的使命就是執(zhí)行指令所規(guī)定的操作。如果我們需要計算機完成什么工作,只要將其步驟用諸條指令的形式描述出來,并把這些指令 存放在計算機的內(nèi)部存儲器中,需要結(jié)果時就向計算機發(fā)出一個簡單的ming令,計算機就會自動逐條順序執(zhí)行操作,全部指令執(zhí)行完就得到了預(yù)期的結(jié)果。這種可以被連續(xù)執(zhí)行的一條條指令的集合稱為計算機的程序。也就是說,程序是計算機指令的序列,編制程序的工作就是為計算機安排指令序列。
但是,我們知道,指令是二進制編碼,用它編制程序既難記憶,又難掌握,所以,計算機工作者就研制出了各種計算機能夠懂得、人們又方便使用的計算機語言,程序就是用計算機語言來編寫的。因此,計算機語言通常被稱為"程序語言",一個計算機程序總是用某種程序語言書寫的。
3.程序語言的發(fā)展
程序語言的產(chǎn)生和發(fā)展,直接推動了計算機的普及和應(yīng)用。自第一個高級語言問世以來,人們已發(fā)明了上千種程序語言,常用的也有上百種。這些語言之間有什么區(qū)別,我們應(yīng)該學習哪一種?
計算機語言按使用方式和功能別可分為低級語言和高級語言。低級語言包括機器語言和匯編語言。機器語言就是計算機指令的集合,它與計算機同時誕生,是第一代的計算機語言;匯編語言是用符號來表示計算機指令,被稱為第二代語言。機器語言和匯編語言都是圍繞特定的計算機或計算機族而設(shè)計的,是面向計算機的語言。要使用這種語言必須了解計算機的內(nèi)部結(jié)構(gòu),而且難學、難寫、難記憶,把這種語言稱為低級語言。因為低級語言是難以普及應(yīng)用的,為此便產(chǎn)生了第三代語言--高級語言。它采用了完全符號化的描述形式,用類似自然語言的形式描述對問題的處理過程,用數(shù)學表達式的形式描述對數(shù)據(jù)的計算過程。可見,高級語言只是要求人們向計算機描述問題的求解過程,而不關(guān)心計算機的內(nèi)部結(jié)構(gòu),所以把高級語言稱為"面向過程語言",它易于被人們理解和接受。典型的面向過程語言有BASIC、FORTRAN、COBOL、C、Pascal等等。
隨著計算機技術(shù)的迅猛發(fā)展,自從80年代以來,眾多的第四代非過程化語言、第五代智能化語言也競相推出。如果說第三代語言要求人們告訴計算機怎么做,那么第四代語言只要求人們告訴計算機做什么。因此,人們稱第四代語言是"面向?qū)ο笳Z言"。面向?qū)ο蟾拍畹奶岢鍪窍鄬τ?quot;面向過程"的一次革命,面向?qū)ο蠹夹g(shù)在系統(tǒng)程序設(shè)計、多媒體應(yīng)用、數(shù)據(jù)庫等諸多領(lǐng)域得到廣泛應(yīng)用。但是,"面向過程"是程序設(shè)計的基礎(chǔ),尤其對于程序設(shè)計的初學者。所以,我們將以面向過程的C程序設(shè)計語言為背景,主要介紹程序設(shè)計的基本概念和方法。在本書最后一章中,我們將結(jié)合Visual C++ 6.0,介紹面向?qū)ο蟪绦蛟O(shè)計語言的基本概念和初步使用。
新聞熱點
疑難解答
圖片精選