聯系我們 - 廣告服務 - 聯系電話:
您的當前位置: > 關注 > > 正文

【報資訊】什么是操作系統?Windows、Mac、Unix、Linux什么是iOS?

來源:CSDN 時間:2023-03-17 10:37:06

前言

什么是操作系統:操作系統是一種系統軟件,用來管理計算機的軟硬件資源。 主流操作系統:


【資料圖】

移動便攜式設備:Android、iOS、Windows Phone、Symbian(塞班)、Black Berry(黑莓) OS

PC個人電腦:Windows、Mac OS、Unix、Linux

什么是iOS:iOS是一款由蘋果公司開發的移動操作系統(iOS運行在移動便攜式設備上) 什么是iOS開發:就是開發運行在iOS系統上的應用或游戲軟件,如:QQ、淘寶、憤怒的小鳥等。 Mac OS文件系統:對文件進行管理的系統叫文件系統

UNIX常用命令:

查看命令的詳細幫助: man 命令名       (比如要看看 ls 命令的詳細用法,執行 man ls)

pwd  (print work directory):打印當前目錄(工作目錄)     目錄 == 文件夾

cd   (change directory)

cd /   進入根目錄

cd Users   進入用戶目錄

cd tarena  進入用戶的主目錄(Home Directory)

ls (list) :列出當前目錄下的所有內容

ls -a  //-a 即all,列出目錄下的所有文件(包括以.開頭的隱含文件)

ls -l  //-l 列舉文件的詳細信息(文件名、權限、所有者、文件大小等)

mkdir  創建目錄(文件夾)

touch  創建文件

who  顯示當前用戶名

clear 清屏

touch xxx.m  新建xxx.m文件

open xxx.m   打開xxx.m文件

在根目錄下使用ls列出所有內容:

Applications  放所有的應用程序

Library           應用程序需要的其庫等內容

Network        網絡相關

System          系統相關

Users            用戶的目錄

常用目錄或路徑:

主目錄(Home Directory):一個用戶有一個自己的主目錄,用戶在此目錄下擁有很高的權限。

/   根目錄(Root Directory):只有一個,代表整個硬盤

特殊路徑:   /

根路徑        ./

當前路徑        ../

上一級路徑

Desktop          桌面

Documents      文稿

Downloads      下載

Library            其他

Movies            影片

Music              音樂

Pictures           圖片

Public             公共目錄

注意:按一下tab鍵,可以自動補齊指令名稱、文件夾、文件夾名等。

C語言的特點

豐富的運算符豐富的數據類型可以直接操作硬件高效的目標代碼可移植性好

C語言的用途

編寫系統軟件、圖形處理、單片機程序、嵌入式系統開發甚至是用于科研編寫游戲外掛編寫android程序編寫iOS程序

C語言的編譯器

gcc  GNU Compiler Collection(GNU編譯器套件),GNU組織開發的開源免費的編譯器。

( gcc 原名為 GNU C Compiler,只能處理C語言,后來GCC很快地擴展,也可以處理C++、Objective-C、Java等其它語言)

clang  開源的BSD協議的基于LLVM的編譯器;蘋果公司自己的編譯器。

(LLVM可以作為多種語言編譯器的后臺來使用,前端用clang)

C語言的版本問題

1983年美國國家標準局(American National Standards Institute,簡稱ANSI)成立了一個委員會,開始制定C語言標準的工作1989年C語言標準被批準,這個版本的C語言標準通常被稱為ANSI C1999年,國際標準化組織ISO又對C語言標準進行修訂,在基本保留原C語言特征的基礎上,針對應該的需要,增加了一些功能,命名為C992011年12月8日,ISO正式公布C語言新的國際標準草案:C11

C語言的官方標準

ANSI C / C89標準:1989年,美國國家標準協會(ANSI)發布了第一個官方標準(簡稱 C89標準 或 ANSI C)。C99標準:1999年,國際標準化組織(ISO)和國際電工委員會(IEC)發布了C語言的新標準。C11標準:2011年12月8日,國際標準化組織(ISO)和國際電工委員會(IEC)再次發布了C語言的新標準。

C語言程序的運行過程

一、編譯:編譯是由編譯器來執行的,主要做的時語法檢查工作;將C源程序翻譯成計算機能識別的0和1。

使用什么編譯器:Xcode3使用GCC,Xcode4使用LLVM編譯器(前端用clang)如何使用clang編譯器編譯程序: 在終端中輸入:cc  –c  文件名.c編譯成功,會生成.o目標文件編譯器的錯誤和警告功能 如果代碼有語法問題,編譯器會直接報錯。并指出錯誤的個數和具體行號。只要有1個錯誤,程序就不能編譯成功,也不會生成.o文件警告信息只是編譯器的一些建議,并不影響編譯通過

二、鏈接:將自己編譯好的.o目標文件和C程序庫函數組合在一起,生成可執行文件。

由鏈接器完成,clang編譯器里面已經包含了鏈接指令

在終端中輸入:cc  文件名.o鏈接成功,會生成a.out可執行文件

三、運行:兩種運行方式:

直接雙擊打開a.out文件終端中使用 ./a.out 指令

修改文件內容之后,一定要重新編譯、鏈接,再運行。

其他clang指令:

修改可執行文件a.out的名稱:cc  xxx.o  -o 新文件名一起編譯、鏈接:cc  xxx.c

整個程序的運行過程:編寫源程序==>預處理==>編譯器==>連接器==>可執行

注意:gcc可換為clang(CC); gcc -E test.c 查看編譯前文件內容 (-E的意思是:做預處理)

預處理:gcc -E test.c -o test.i (預處理的結果可以用-o的方式保存到一個文件test.i中)編譯:gcc -c test.i  //編譯成功,會生成.o目標文件; 1,2可以合并:gcc -c test.c連接:gcc test.o執行:./a.out  簡寫:gcc test.c  (1,2,3的合并) 執行:./a.out

用Xcode創建項目

Product Name:產品名稱Organization Name:公司名稱Company Identifier :公司唯一標識,一般為公司官網網址的倒序Bundle Identifier:產品唯一標識Type(Language):項目語言類型

C語言程序是由函數構成的,C程序的入口是main函數。函數內部代碼的執行順序,是從上到下執行的,如瀑布一樣。

錯誤類型:

語法錯誤:編譯器會直接報錯邏輯錯誤:沒有語法錯誤,只不過運行結果不正確

關鍵字

C語言程序是由英文單詞構成的,其中有些單詞被C語言賦予了特殊含義,那么這些單詞就是關鍵字。

C語言的系統保留字(32個關鍵字)

基本數據類型(5個):void、int、float、double、char void:聲明函數無返回值或無參數,聲明無類型指針,顯示丟棄運算結果int:整型數據,通常為編譯器指定的機器字長float:單精度浮點型數據,屬于浮點數據的一種double:雙精度浮點型數據,屬于浮點數據的一種char:字符型類型數據,屬于整型數據的一種類型修飾關鍵字(4個):short、long、signed、unsigned short:修飾int,短整型數據,可以省略被修飾的intlong:修飾int,長整型數據,可以省略被修飾的intsinged:修飾整型數據,有符號數據類型unsigned:修飾整型數據,無符號數據類型復雜類型關鍵字(5個):struct、union、enum、typedef、sizeof struct:結構體聲明union:共用體聲明enum:枚舉聲明typedef:聲明類型別名sizeof:得到特定類型或特定類型變量的大小存儲級別關鍵字(6個):auto、static、register、extern、const、volatile auto:指定為自動變量,由編譯器自動分配及釋放,通常在棧上分配空間;修飾局部變量,默認省略不寫static:指定為靜態變量,分配在靜態變量區,修飾函數時,指定函數作用域為文件內部register:指定為寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數extern:指定對應變量為外部變量,即標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義const:與volatile合稱“cv"特性”,指定變量不可被當前線程/進程改變(但有可能被系統或其他線程/進程改變)volatile:與cost合稱“cv特性”,指定變量的值有可能會被系統或其他線程/進程改變,強制編譯器每次從內存中取得該變量的值流程控制關鍵字(12個) 跳轉結構(4個):return、continue、break、goto return:用在函數體中,返回特定值(或void值,即不返回值),作用:結束函數continue:結束當前循環,開始下一輪循環break:跳出當前循環或switch結構goto:無條件跳轉語句 分支結構(5個):if、else、switch、case、default if:條件語句,后面不需要放分號else:條件語句否定分支(與if連用)switch:開關語句(多重分支語句)case:開關語句中的分支標記default:開關語句中的“其他”分支,可選 循環結構(3個):for、do、while

for:for循環結構,for(1;2;3)4;的執行順序為1->2->4->3->2…循環,其中2為循環條件

do:do循環結構,do 1 while(2);的執行順序是1->2->1…循環,2為循環條件

while:while循環結構,while(1)2;的執行順序是1->2->1…循環,1為循環條件

標識符

標示符就是程序員自己在程序中起的一些名字。(常見的是:變量的名稱和函數的名稱)

命名規則:(一定要遵守)  只能由26個英文字母的大小寫、10個阿拉伯數字0~9、下劃線_組成 嚴格區分大小寫,比如test和Test是2個不同的標識符 不能以數字開頭 不可以使用關鍵字作為標識符命名規范:(最好要遵守)  盡量起個有意義的名稱,一般用英文單詞,注意長度適中,可讀性要強。 如果標識符中含有多個單詞,可以使用駝峰標識(除開第一個單詞,后面每個單詞的首字母都是大寫):  firstName、myFirstName,或者使用下劃線_來連接:first_name、my_first_name一般情況下, 變量名:每個單詞首字母大寫;

函數(方法):第一個單詞的首字母小寫,其它單詞的首字母都大寫。

(如:UserName    PassWord   showMessage  isPrint)

數據

靜態數據:是指一些永久性的數據,一般存儲在硬盤中。動態數據:是指在程序運行過程中,動態產生的臨時數據,一般存儲在內存中。 當運行某個程序(軟件)時,整個程序就會被加載到內存中,在程序運行過程中,會產生各種各樣的臨時數據,這些臨時數據都是存儲在內存中的。當程序停止運行或者計算機被強制關閉時,這個程序產生的所有臨時數據都會被清除。 你可能會問:既然硬盤的存儲空間這么大,為何不把所有的應用程序加載到硬盤中去執行呢?有個主要原因是內存的訪問速度比硬盤快N倍。數據的轉換 靜態數據到動態數據的轉換(也就是從磁盤加載到內存)動態數據到靜態數據的轉換  如:手機拍照片存儲到手機的硬盤上 數據的大小 不管是靜態還是動態數據,都是0和1組成的。數據都有大小,靜態數據就會占用硬盤的空間,動態數據就占用內存的空間數據越大,包含的0和1就越多,比特位和字節計量單位:

1 B = 8 bit

1 KB = 1024 B, 1 MB = 1024 KB

1 GB = 1024 MB, 1 TB = 1024 GB

變量

概念

是內存中的一片空間。用來保存程序運行期間的臨時數據。

有名字,有類型

有名字,就可以重復使用

變量的類型決定著變量占用多大的內存空間。

聲明(定義)變量

int x; 定義一個int類型的,名字叫x的變量

變量的初始化

第一次給變量叫初始化

最好不要使用沒有初始化過的變量

#include

int main() {

int x;//x是變量名,int是變量的類型

printf("x=%d\n", x); //x=1606422582,垃圾數據

x = 10; //將10保存到x中,第一次賦值相當于初始化

x = 20; //將20保存到x中,以后就叫給變量賦值

int y = 30;//定義變量的同時初始化

printf("y=%d\n", y);

return 0;

}

變量的類型

分兩種:基本類型, 自定義類型

基本類型

整形:

有符號:可以是正數,也可以是負數。

int     // signed int

short int  短整形

long int  長整形

long long int

無符號:只能是正數,不能是負數

unsigned int

unsigned short int

unsigned long int

unsigned long long int

特殊整形:

char

unsigned char

浮點型:全部是有符號

float

double

long double

自定義類型: struct,  union, enum數據的保存(二進制)

1Byte = 8bit

1KB = 1024Byte

1MB = 1024KB

類型的區別

short int               2Bytes          16bit

int                        4Bytes          32bits

long int                     8Bytes          64bit(64位系統)   4Bytes(32位系統)

long long int        16Bytes

占用內存空間多,表示的數據的范圍就廣

注意:int類型前面有其它修飾時,int可以省略。

bool 表示布爾運算,只包含true和false兩個數值。需要在文件中加入如下語句: #include

數據類型

對應內存區域,其值可變,變量有相應的類型和值。

變量類型分為字符型char、整數型int、浮點型float/double、指針、結構、聯合等類型。

#include

int main() {

float f=3.14;

printf("f=%f\n", f);//f=3.140000

double d=1.73;

printf("d=%lf\n", d);//d=1.730000;默認都打印6位小數

printf("f=%.2f\n", f);//保留兩位小數

printf("sizeof(float)=%ld\n", sizeof(float));

//表示數據的范圍很大,內部使用了科學計數法來表示

//3.14:3.14×10^0

//0.00314:3.14×10^-3

//省略無意義0

f=.314;//f=0.314000

f=3.;//f=3.000000

f=3.14E-3;//3.14×10^-3;

printf("f=%f\n", f);//f=0.003140

f=3.14F;//float類型的字面值后面加f,F

f=3.14f;

f=0x314F;//F代表十六進制的F

return 0;

}

轉載于:https://www.cnblogs.com/bossren/p/6351763.html

責任編輯:

標簽:

相關推薦:

精彩放送:

新聞聚焦
Top 岛国精品在线