開(kāi)發(fā)課程學(xué)習(xí)目標(biāo):2個(gè) 應(yīng)用與面試
后期服務(wù)JNI(c語(yǔ)言) C JAVA 編程思想 編程能力
c語(yǔ)言和c++的區(qū)別
1.c是面向過(guò)程 c++面向?qū)ο螅ㄒ浦?復(fù)用) java面向?qū)ο? 以上課為例:
上課:小王走進(jìn)教室拿出電腦開(kāi)始聽(tīng)東哥的課
找對(duì)象:誰(shuí)上課Teacher(姓名 身高 年齡 授課) ->東哥
誰(shuí)來(lái)聽(tīng) Student((姓名 身高 年齡 學(xué)號(hào) 選修課) -> 小王
什么課Subject(課程編號(hào) 課程名稱(chēng)) ->android開(kāi)發(fā)
哪里上Classroom(編號(hào) 座位數(shù)) ->5405
怎么上Computer(. . . . . .) ->MacBook
程序從寫(xiě)出來(lái)->有結(jié)果的過(guò)程
一.用集成開(kāi)發(fā)環(huán)境
1.開(kāi)發(fā)工具IDE:DEVC++ Android Studio
2.創(chuàng)建項(xiàng)目
3.運(yùn)行
4.結(jié)果
二.不用集成開(kāi)發(fā)環(huán)境:
1.寫(xiě)代碼 ——文本編輯器
#include<studio.h>
int main(){
printf("hello word") ;
return ;
}
2.預(yù)編譯——>編譯器(制定規(guī)則)
gcc——E test.c-o test.i
<1>.檢查語(yǔ)法錯(cuò)誤
<2>.展開(kāi)
3.編譯->高級(jí)語(yǔ)言轉(zhuǎn)化為匯編代碼
gcc——S test.i-o test.s
<1>.檢查語(yǔ)法錯(cuò)誤
<2 >.轉(zhuǎn)化為匯編代碼
4.匯編->把匯編代碼轉(zhuǎn)化為二進(jìn)制數(shù)據(jù)
gcc——C test.s-o test.o
<1>.轉(zhuǎn)化為目標(biāo)文件
二進(jìn)制數(shù)據(jù)
010101100111001
5.鏈接->把所有的目標(biāo)文件鏈接為可執(zhí)行的程序
gcc——o test.o test
注釋的使用
1.
//
單行注釋
2.
/*
*/
雙行注釋
#include的使用
1.include 宏 導(dǎo)入頭文件
2.如果系統(tǒng)已經(jīng)提供某些功能的實(shí)現(xiàn)只需要使用include將這些功能所在的頭文件導(dǎo)入進(jìn)來(lái)就可以了
3. <系統(tǒng)提供的類(lèi)庫(kù)>
<stdio.h> <stdlib.b> <math.h> < string.h>
例如
#include <stdio.h>
編譯器首先從系統(tǒng)的類(lèi)庫(kù)里面去查找這個(gè)頭文件,如果沒(méi)有 ,再到自己的文件中查找,否則報(bào)錯(cuò)
4. "自己定義的頭文件"
"calculate.h"
例如
#include "stdio.h"
編譯器首先從自己的文件中去查找這個(gè)頭文件,如果沒(méi)有,再到系統(tǒng)查找 ,否則報(bào)錯(cuò)
main函數(shù)的介紹
1.main()函數(shù)=代碼塊=完成特定功能
所有的程序的入口點(diǎn)都是main函數(shù)
2.int返回值
記錄當(dāng)前程序的運(yùn)行狀態(tài)
<1>0;正常結(jié)束 資源自由分配
<2> 非零;異常結(jié)束 沒(méi)收
3.
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
int argc;參數(shù)個(gè)數(shù)argument count
char*argv[];每個(gè)參數(shù)組成的字符串?dāng)?shù)組
printf函數(shù)格式化輸出
1.printf 輸出語(yǔ)句
終端 console口
#include <stdio.h>
int main(int argc,char*argv[]){
printf("hello \n world\n");
return 0;
}
scanf函數(shù)格式化輸入
scanf輸入:終端輸入
\n換行
\t一個(gè)縮進(jìn)
變量的定義
1.為什么定義變量?
變量 記錄數(shù)據(jù)
2.變量基本數(shù)據(jù)類(lèi)型 ->只能存一個(gè)值
<1>int 整型數(shù)據(jù)1 2 3 4 5 2342
<2>long 長(zhǎng)整型
<3>float 單精度浮點(diǎn)數(shù)1.5 94.3 82.0
<4>double 雙精度浮點(diǎn)數(shù)1.4
<5>char 字符 'd' 'a'
<6>string 字符串“Jack" "rose"
<7>short 短整型
<8>bool 是,成立true 不是,不成立flase
3.占據(jù)的內(nèi)存空間 不一樣
#include <stdio.h>
#include "stdio.h"
#include<stdbool.h>
int main(int argc,char*argv[]){
printf("%d\n",sizeof(int));//占4個(gè)字節(jié)
printf("%d\n",sizeof(long));//占4個(gè)字節(jié)
printf("%d\n",sizeof(float));//占4個(gè)字節(jié)
printf("%d\n",sizeof(double));//占8個(gè)字節(jié)
printf("%d\n",sizeof(short));//占2個(gè)字節(jié)
printf("%d\n",sizeof(char));//占1個(gè)字節(jié)
printf("%d\n",sizeof(bool));//占1個(gè)字節(jié)
//在64位的Mac系統(tǒng)里int占4個(gè)字節(jié),long占8個(gè)字節(jié)
//在64位的window系統(tǒng)里int占4個(gè)字節(jié),long占4個(gè)字節(jié)
return 0;
}
特別注意:
在64位的Mac系統(tǒng)里int占4個(gè)字節(jié),long占8個(gè)字節(jié)
在64位的window系統(tǒng)里int占4個(gè)字節(jié),long占4個(gè)字節(jié)