類似于微博網(wǎng)站怎么做的怎么營銷自己的產(chǎn)品
第一章 概述
1.1什么是程序
為了讓計算機執(zhí)行某些操作或解決某個問題而編寫的一系列有序指令的合集。
1.4C語言的特點
- 代碼級別的跨平臺:由于標準的存在,使得幾乎同樣的C代碼可用于多種操作系統(tǒng),也適用于多種機型。
- 使允許直接訪問物理地址,對硬件直接操作。
- C語言是一個有結(jié)構(gòu)化程序設(shè)計、具有變量作用域以及遞歸功能的過程式語言。
- C語言傳遞參數(shù)可以是值傳遞,也可以是指針傳遞。
- C語言中沒有對象,不同的變量類型可以用結(jié)構(gòu)體組合在一起。
- 預(yù)編譯處理,生成目標代碼質(zhì)量高,程序執(zhí)行效率高。
1.6C程序運行機制
- 編輯:hello.C 文件就是源代碼。
- 編譯:將hello.c程序翻譯成目標文件hello.obj? ?//在計算機底層執(zhí)行。
- 鏈接:將目標文件hello.obj+庫文件 生成可執(zhí)行文件? .exe? ?//在計算機底層執(zhí)行。
- 運行:執(zhí)行.exe文件得到運行結(jié)果。
1.8C程序開發(fā)注意事項
1)C程序源文件以“c”為擴展名。
2)C程序的執(zhí)行入口時main()函數(shù)。
3)C語言嚴格區(qū)分大小寫。
4)C程序由一條條語句構(gòu)成,每個語句以“;”結(jié)束。
1.9常用的轉(zhuǎn)義字符
\t:一個制表位,實現(xiàn)對齊功能
\n:換行符
\\:\
\":"
\':'
\r:一個回車
//:單行注釋文字
/*? */:塊注釋。多行注釋。
第二章? 變量
2.1.1 變量是程序的基本組成單位
2.2 變量的介紹
2.2.1 概念
變量相當于內(nèi)存中一個數(shù)據(jù)存儲空間的表示,你可以把變量看做是一個房間的門牌號,通過門牌號我們可以找到房間,而通過變量名可以訪問到變量(值)。
2.2.2 變量使用的基本步驟
聲明變量:int num;? ?
賦值:num = 60;
使用:printf("num = %d",num);
一步到位:int num2 = 99;
2.4 變量使用注意事項
- 變量表示內(nèi)存中的一個存儲區(qū)域(不同的數(shù)據(jù)類型占用的空間大小不一樣)
- 該區(qū)域有自己的名稱和類型
- 變量必須先聲明后使用
- 該區(qū)域的數(shù)據(jù)可以在同一類型范圍內(nèi)不斷變化
- 變量在同一作用域內(nèi)不能重名
- 變量三要素(變量名? 值? 數(shù)據(jù)類型)
2.5 變量的數(shù)據(jù)類型
基本類型:數(shù)值類型:整型(短整型short2、整型int2、長整型long4)、浮點型(單精度float4、雙精度double8)、字符型char1
構(gòu)造類型:數(shù)組、結(jié)構(gòu)體struct、共用體union、枚舉類型enum
指針類型
空類型void
- 浮點型常量默認為double型,聲明float型常量時,需要加’f’或’F’。
- printf(“d1=%f”,d1);//在輸出時,默認保留小數(shù)點6為。
2.12 指針入門
2.13 值傳遞和地址傳遞
2.13.1 C語言傳遞參數(shù)(或者賦值)可以是值傳遞(pass by value),也可以傳遞指針(a pointer passed by value),傳遞指針也叫地址傳遞
1)默認傳遞值的類型:基本數(shù)據(jù)類型(整型類型、小數(shù)類型,字符類型),結(jié)構(gòu)體,共用體。
2)默認傳遞地址的類似:指針、數(shù)組
值傳遞:將變量指向的存儲內(nèi)容,在傳遞賦值時,拷貝一份給接收變量。
地址傳遞:指針傳遞,如果是指針就將指針變量存儲的地址傳遞給接收變量。如果是數(shù)組,就將數(shù)組的首地址傳遞給接收變量。
第三章? 常量
1)常量是固定值,在程序執(zhí)行期間不能改變。這些固定的值,又叫做字面量。
2)常量可以是任何的基本數(shù)據(jù)類型,比如整數(shù)常量、浮點常量、字符常量,或字符串字面值,也有枚舉常量。
3)常量的值在定義后不能進行修改。
整數(shù)、浮點、字符、字符串常量
3.3.1 定義常量的方式
1)使用#define預(yù)處理器,#define 常量名 常量值
2)使用const關(guān)鍵字,const 數(shù)據(jù)類型 常量名=常量值;//即就是一個語句
3.6 const和#define的區(qū)別
1)const定義的常量時,帶類型,define不帶類型
2)const是在編譯、運行的時候起作用,而define是在編譯的預(yù)處理階段起作用
3)define只是簡單的替換,沒有類型檢查。簡單的字符串替換會導致邊界效應(yīng)
4)const常量可以進行調(diào)試的,define是不能進行調(diào)試的,主要是預(yù)編譯階段就已經(jīng)替換掉了,調(diào)試的時候就沒它了
5)const 不能重定義,不可以定義兩個一樣的,而define通過undef取消某個符號的定義,再重新定義
6)define可以配合#ifdef、#ifindef、 #endif來使用,可以讓代碼更加靈活,比如我們可以通過#define 來啟動或者關(guān)閉調(diào)試信息
第四章? 運算符
4.1算術(shù)運算符
+-*/%
%:7%5=2;a%b=a-a/b*b
4.2 關(guān)系運算符(比較運算符)
==、!=、>、<、<=、>=
1)關(guān)系運算符的結(jié)果要么是真(非0表示),要么是假(0表示)
2)關(guān)系表達式經(jīng)常用在if結(jié)構(gòu)的條件中或循環(huán)結(jié)構(gòu)的條件中
4.3 邏輯運算符
與&&、或||、非!
用于連接多個條件(一般來講就是關(guān)系表達式),最終的結(jié)果要么是真(非0表示),要么是假(0表示)
4.4 賦值運算符
=、+=、-=、*=、/=、%=、<<=、>>=、&&=、|=
運算順序從右往左。
4.5 位運算符
作用于位,并逐位執(zhí)行操作。
4.6 三元運算符
條件表達式?表達式1:表達式2;
條件表達式為非0(真),運算后的結(jié)果是表達式1;
條件表達式為0(假),運算后的結(jié)果是表達式2;
4.7 運算符優(yōu)先級
4.8 標識符的命名規(guī)則和規(guī)范
4.8.1 標識符概念
1)C語言對各種變量、函數(shù)等命名時使用的字符序列稱為標識符
2)凡是自己可以起名字的地方都叫標識符
4.8.2 標識符的命名規(guī)則
- 由26 個英文字母大小寫,0-9 ,或 $ 組成
- 數(shù)字不可以開頭
- 不可以使用關(guān)鍵字和保留字,但能包含關(guān)鍵字和保留字。
- C 語言中嚴格區(qū)分大小寫,長度無限制。
- 標識符不能包含空格
4.8.3 標識符命名規(guī)范
- 程序中不得出現(xiàn)僅靠大小寫區(qū)分的相似的標識符int x,X: 變量x 與X 容易混淆
- 所有宏定義、枚舉常數(shù)、常量(只讀變量)全用大寫字母命名,用下劃線分隔單詞.比如: const double TAX_RATE = 0.08,//TAX_RATE 只讀變量#define FILE_PATH"/usr/tmp"
- 定義變量別忘了初始化。定義變量時編譯器并不一定清空了這塊內(nèi)存,它的值可能是無效的數(shù)據(jù)、運行程序,會異常退出
- 變量名、函數(shù)名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫: xxxYyyZ7z [駝峰法,小駝峰,比如 short stuAge = 20;]比如:tankShotGamc? ?大駝峰[TankShotGame]
4.9 關(guān)鍵字
關(guān)鍵字中所有字母都為小寫。
4.10 鍵盤輸入語句
4.10.2 步驟
1)include <stdio.h>
2)使用scanf函數(shù)
3)使用適當?shù)母袷絽?shù)接收輸入