[筆記][mooc]《程序設計入門—C語言》

程序設計入門—C語言 (幕課課程筆記)

Mac環境搭建

  • terminal算法

  • 》 "gcc"框架

  • 》確認,安裝函數

  • 》 gcc || gcc --version字體

本課程程序的基本框架

#include 'stdio.h'

main(){
     //code 
    return 0;
}

註釋

  • 單行//(C99,而ANSI C不支持)spa

  • 多行/* */設計

變量的定義

  • <變量類型><標識(zhi4)符> [ = <初始值>]3d

    • 標識符code

      • 數字、字母、「_」orm

      • 數字不開頭blog

      • 關鍵詞不可用

    • 變量類型

      • 必須具備肯定的數據類型

        • 能夠存放什麼數據

        • 只能存放指導類型的數據

        • 運行過程當中不得改變變量的類型

    • 賦值 與 初始化

      • 初始化 int peace = 1 ;

        • 定義之際進行賦值

        • 調用一個定義了卻沒有初始化的變量時,這個變量的值是其位置內存本來存儲的量。

          • 就像是,打開了一個房間,沒有清掃裏面的東西就住進去了

      • 賦值 peace = 1;

        • 在代碼中

        • ‘=’ 是 ‘將右邊的值賦給左邊的變量’

        • ‘=’ 至關於 ‘被賦值’

        • a=b != b=a

        • 嵌入式賦值

          • 嵌入式賦值

          • 儘可能不要用!

            • 《不利於閱讀理解

            • 《容易出現錯誤

常量-固定不變的數

  • 定義常量

    • const **<變量類型>** <變量名稱> = <初始值>

      • const 修飾符

      • 給變量加入一個const[‘只讀’]的屬性 (C99

      • 使得變量一旦初始化便不能修改。

    • 可消除 幻數 》易閱讀

    • 常 經過全大寫 來 表面其身份。

  • 直接寫在程序裏的咱們稱做直接量(literal)。

    • 某些爲 幻數(magic number)

運算

表達式

一個表達式 是 一系列 運算符算子 的組合,用來計算一個值。

表達式

運算符(operator)

  • 進行運算的動做

  • 關係(比較)運算

    • 關係(比較)運算符

      • 關係運算符表

    • 運算結果

      • 真 》 1

      • 假 》 0

  • 單目 VS 雙目

    • 運算符只有一個算子

    • -a(取相反數) 的 ‘-’ 是個單目運算符。

    • 而 a-b(相減) 的 ‘-’ 是個雙目運算符。
      a是變量,將取負

  • e.g.

    • '+'加法運算符

    • '-'減法運算符

    • '=' 賦值運算符

      • ‘=’ 是 ‘將右邊的值賦給左邊的變量’

      • a=b != b=a

算子[操做數、運算數](operand)

  • 參與運算的

運算規則

  • 運算符優先級

    • 運算符優先級

    • 關係運算符

      • 自左向右

        • a == b == c

      • 與外族

        • 》賦值

        • 《 算術

      • 內部

        • '=='&'!='的優先級比較低

    • 注意:單目 和 賦值 是 自右向左。

  • 兩個整數的運算結果只能是整數

    • 《 C語言是有類型的語言

    • 運算過程當中將扔掉出現的小數

      • 10/3; //3

      • 10/3*3; //9

  • 浮點數與整數的運算過程當中

    • 整數將轉換成浮點數 》進行浮點數的運算

    • 10.0/3*3 =3.3333

  • 10 != 10.0

    • 10 = 整形數

    • 10.0 =浮點數

數值類型

  • 整形數

    • int

  • 浮點數

    • 本意指 》 小數點是浮動的

    • 表達非整數(分數&無理數)的一種方式

    • double

      • 雙精度浮點數

    • float

      • [單精度]浮點

    • C語言中沒有]定點數

      • 計算機中也能夠表示小數

語句

判斷語句(if...else...)

if(condition){
    //statements
}

經常使用函數

  • f = ‘formatde’ = 格式化

輸入函數scanf

  • scanf("變量類型",&變量名稱);

  • 當輸入的值 與 設置變量類型不一致時,將輸入默認值

    • (迷)或是當前某處內存的值

      • scanf出錯

    • 數字 》 0

    • 字符串 》?

    • ......

  • 輸入兩個值時

    • 出如今字符串裏面的都是他必定要讀到的東西,是必須被正確輸入的東西。

      • %d,%d

        • ','必須出現,不然出錯。

      • %d %d

        • 《 當輸入 "1 2" 以後,已經完成賦值。所以後面原來的 ' '(空格)輸入任意東西便可。

      • price %d %d

        • 》 必定要以"price xxx"的形式輸入。

  • 輸入值的類型是 雙精度(double) 時

    • "%lf"

  • 儘可能使用雙引號?

    • 《單引號 = 字符

    • 《雙引號 = 字符串

輸出函數printf

  • printf("內容||變量類型",變量名稱);

  • 儘可能使用雙引號?

    • 《單引號 = 字符

    • 《雙引號 = 字符串

程序設計

基本思路

  • 《 一個函數的基本模型模型

    • 讀一些輸入

    • 作一些計算

    • 輸出一些東西

  1. 須要什麼變量的 * 在問題的解決中 須要處理到什麼數據。

    • 怎麼從 用戶處 取得數據。

  2. 怎麼計算

    • 算法

  3. 輸出些什麼

優秀的代碼?

  • 有時候須要代碼足夠笨,笨的讓不少人一眼就能看懂。

    • 《 就像數學題寫得一步一步地

    • 例子:

      • 笨笨的代碼、仍是聰明的代碼

例子

  • 計算時間

    • 將輸入的 時間和分鐘 進行 分鐘化||小時化 後 》

    • 再作計算 得到最後的值 》

    • 小時部分: [最後的值]/60 =[小時數] [最後的值]/60 =[分鐘數]

C語言

特色

  • 一種有類型的語言

    • 全部的變量

      • 必須具備肯定的數據類型

        • 能夠存放什麼數據

        • 只能存放指導類型的數據

        • 運行過程當中不得改變變量的類型

C語言標準

  • C99

    • 容許在運算過程的任意位置定義變量

  • ANSI C

    • 只能代碼的開頭定義變量

  • C99 與 ANSI C 的區別

其餘

0的故事

  • 當人類有電報以後 0[零] 和 O[噢] 長的特別像。

  • 後來終端出現以後,默認字體:

    • 代碼中默認的兩種0的字體

相關文章
相關標籤/搜索