最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【C語言基礎(chǔ)Ep1】譚浩強(qiáng)《C程序設(shè)計(jì)》學(xué)習(xí)筆記P1:C語言概述

2023-04-04 17:32 作者:學(xué)酥酥的學(xué)習(xí)日記本  | 我要投稿

(合計(jì)2427字,用時(shí)80min——)

第1章?程序設(shè)計(jì)和C語言

1.1 什么是計(jì)算機(jī)程序

程序:

  1. 定義:一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令;

  2. 原理——

    1. 每一條指令使計(jì)算機(jī)執(zhí)行特定的操作;

    2. 只要讓計(jì)算機(jī)執(zhí)行這個(gè)程序,計(jì)算機(jī)就會(huì)“自動(dòng)地”執(zhí)行各條指令,有條不紊地進(jìn)行工作;

    3. 一個(gè)特定的指令程序,用來完成一定的功能;

    4. 為了使計(jì)算機(jī)系統(tǒng)能實(shí)現(xiàn)各種功能,需要成千上萬個(gè)程序;

    5. 這些程序大多數(shù)是由計(jì)算機(jī)軟件設(shè)計(jì)人員根據(jù)需要設(shè)計(jì)好的,作為計(jì)算機(jī)的軟件系統(tǒng)的一部分提供給用戶使用;

    6. 用戶還可以根據(jù)自己的實(shí)際需要設(shè)計(jì)一些應(yīng)用程序;

  3. 地位:計(jì)算機(jī)的一切操作都是由程序控制的,離開程序,計(jì)算機(jī)將一事無成,

    計(jì)算機(jī)的本質(zhì)是程序的機(jī)器,程序和指令是計(jì)算機(jī)系統(tǒng)中最基本的概念,

    只有懂得程序設(shè)計(jì),才能真正了解計(jì)算機(jī)是怎樣工作的,才能更深入地使用計(jì)算機(jī),

1.2 什么是計(jì)算機(jī)語言

發(fā)展階段:

  1. 機(jī)器語言(machine language)

    1. 原理:計(jì)算機(jī)工作基于二進(jìn)制,從根本上說,計(jì)算機(jī)只能識(shí)別和接受由0和1組成的指令;

    2. 概述:在計(jì)算機(jī)發(fā)展的初期,一般計(jì)算機(jī)的指令長(zhǎng)度為16,即以16個(gè)二進(jìn)制數(shù)(0或1)組成一條指令,16個(gè)0和1可以組成各種排列組合;

    3. 概念:

      1. 機(jī)器指令(machine instruction):計(jì)算機(jī)能直接識(shí)別和接受的二進(jìn)制代碼;

      2. 機(jī)器語言(machine language):機(jī)器指令的集合;

    4. 特點(diǎn):機(jī)器語言與人們習(xí)慣用的語言差別太大,難學(xué)、難寫、難記、難檢查、難修改,難以推廣使用。

  2. 符號(hào)語言(symbolic language)

    1. 概述:為了克服機(jī)器語言的上述缺點(diǎn),人們創(chuàng)造出符號(hào)語言(symbolic language),它用一些英文字母和數(shù)字表示一個(gè)指令,例如用ADD代表“加”,SUB代表“減”,LD代表“傳送”;

    2. 概念:

      1. 符號(hào)匯編語言(symbolic assembler language):一般,一條符號(hào)語言的指令對(duì)應(yīng)轉(zhuǎn)換為一條機(jī)器指令,轉(zhuǎn)換的過程稱為“代真”或“匯編”,符號(hào)語言又稱為符號(hào)匯編語言(assembler language);

      2. 低級(jí)語言(low level language):機(jī)器語言和匯編語言是完全依賴于具體機(jī)器特性的,是面向機(jī)器的語言,由于它“貼近”計(jì)算機(jī),或者說離計(jì)算機(jī)“很近”,稱為計(jì)算機(jī)低級(jí)語言(low level language)。

  3. 高級(jí)語言(high level language)

    1. 背景:為了克服低級(jí)語言的缺點(diǎn),20世紀(jì)50年代創(chuàng)造出了第一個(gè)計(jì)算機(jī)高級(jí)語言——FORTRAN語言;

    2. 特點(diǎn):

      1. 很接近于人們習(xí)慣使用的自然語言和數(shù)學(xué)語言,程序中用到的語句和指令是用英文單詞表示的;

      2. 程序中所用的運(yùn)算符和運(yùn)算表達(dá)式和人們?nèi)粘趟玫臄?shù)學(xué)式子差不多;

      3. 高級(jí)語言的一個(gè)語句往往對(duì)應(yīng)多條機(jī)器指令;

    3. 概念:

      1. 高級(jí)語言(high level language):這種語言功能很強(qiáng),且不依賴于具體機(jī)器,用它寫出的程序?qū)θ魏涡吞?hào)的計(jì)算機(jī)都適用(或只須作很少的修改),它與具體機(jī)器舉例較遠(yuǎn),故稱為計(jì)算機(jī)高級(jí)語言;

      2. 編譯:用一種稱為編譯程序的軟件把用高級(jí)語言寫的程序(稱為源程序,source program)轉(zhuǎn)換為機(jī)器指令的程序(稱為目標(biāo)程序,object program),然后讓計(jì)算機(jī)執(zhí)行機(jī)器指令程序,最后得到結(jié)果;

    4. 發(fā)展階段:

      1. 非結(jié)構(gòu)化的語言:初期的語言屬于非結(jié)構(gòu)化的語言,編程風(fēng)格比較隨意,只要符合語法規(guī)則即可,沒有嚴(yán)格的規(guī)范要求,程序中的流程可以隨意跳轉(zhuǎn);——難以閱讀和維護(hù);

      2. 結(jié)構(gòu)化語言:程序必須由具有良好特性的基本結(jié)構(gòu)(順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)機(jī)構(gòu))構(gòu)成,程序中的流程不允許隨意跳轉(zhuǎn),程序總是由上而下順序執(zhí)行各個(gè)基本機(jī)構(gòu);

        基于過程的語言:在編寫程序時(shí)需要具體制定每一個(gè)過程的細(xì)節(jié),在編寫規(guī)模較小的程序時(shí),還能得心應(yīng)手,但在處理規(guī)模較大的程序時(shí),就顯得捉襟見肘、力不從心了;

      3. 面向?qū)ο蟮恼Z言:面對(duì)的不是過程的細(xì)節(jié),而是一個(gè)個(gè)對(duì)象,對(duì)象是由數(shù)據(jù)以及對(duì)數(shù)據(jù)進(jìn)行的操作組成的。

1.3?C語言的發(fā)展及其特點(diǎn)

發(fā)展:

  1. BCPL語言:1967年英國(guó)劍橋大學(xué)的Martin Richards推出了沒有類型的BCPL(Basic Combined Programming Language)語言;

  2. B語言:1970年美國(guó)AT&T貝爾實(shí)驗(yàn)室的Ken Thompson以BCPL語言為基礎(chǔ),設(shè)計(jì)出了很簡(jiǎn)單且很接近硬件的B語言(取BCPL的第一個(gè)字母),但B語言過于簡(jiǎn)單,功能有限;

  3. C語言誕生:1972-1973年間,美國(guó)貝爾實(shí)驗(yàn)室的D. M. Ritchie在B語言的基礎(chǔ)上設(shè)計(jì)出了C語言;

  4. C語言成長(zhǎng):最初的C語言只是為描述和實(shí)現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設(shè)計(jì)的,1973年,Ken Thompson和D. M. Ritchie合作把UNIX的90%以上用C語言改寫,隨著UNIX的日益廣泛使用,C語言也迅速得到推廣;

  5. ANSI C:ANSI C比原來的C有了很大的發(fā)展;

  6. ISO對(duì)C 90做的修訂(ISO/IEC 9899:1999):在基本保留原來的C語言特征的基礎(chǔ)上,針對(duì)應(yīng)用的需要,增加了一些功能,尤其是C++中的一些功能,命名為ISO/IEC 9899:1999。

概述:

  1. C語言既保持了BCPL和B語言的優(yōu)點(diǎn)(精煉,接近硬件),又克服了它們的缺點(diǎn)(過于簡(jiǎn)單、無數(shù)據(jù)類型等);

  2. C語言的新特點(diǎn)主要表現(xiàn)在具有多種數(shù)據(jù)類型(如字符、數(shù)值、數(shù)組、結(jié)構(gòu)體和指針等);

  3. 開發(fā)C語言的目的在于盡可能降低用它所寫的軟件對(duì)硬件平臺(tái)的依賴程度,使之具有可移植性;

  4. C語言是一種用途廣泛、功能強(qiáng)大、使用靈活的過程性(procedural)編程語言,既可用于編寫應(yīng)用軟件,又能用于編寫系統(tǒng)軟件。

特點(diǎn):

  1. 語言簡(jiǎn)潔、緊湊,使用方便、靈活;

  2. 運(yùn)算符豐富;

  3. 數(shù)據(jù)類型豐富;

  4. 具有結(jié)構(gòu)化的控制語句(如if...else語句、while語句、do...while語句、switch語句和for語句);

  5. 語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;

  6. C語言允許直接訪問物理地址,能進(jìn)行位(bit)操作,能實(shí)現(xiàn)匯編語言的大部分功能,可以直接對(duì)硬件進(jìn)行操作;

  7. 用C語言編寫的程序可移植性好;

  8. 生成目標(biāo)代碼質(zhì)量高,程序設(shè)計(jì)效率高。


【C語言基礎(chǔ)Ep1】譚浩強(qiáng)《C程序設(shè)計(jì)》學(xué)習(xí)筆記P1:C語言概述的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
阳城县| 平武县| 谢通门县| 平阳县| 萨嘎县| 和静县| 阜阳市| 宜良县| 炉霍县| 来凤县| 汕头市| 上高县| 张家界市| 巴南区| 禹城市| 鄂伦春自治旗| 龙川县| 伊春市| 青阳县| 安远县| 泗水县| 财经| 阿图什市| 祁连县| 城市| 沂水县| 家居| 景谷| 高邮市| 胶南市| 汽车| 高青县| 平湖市| 都兰县| 隆安县| 绿春县| 枣强县| 秦皇岛市| 绥滨县| 定南县| 南充市|