01c語言的環境.html
1 vs寫代碼
2 文本編輯器寫代碼
a> 用notepad++寫源代碼
b> 找到編譯器應用程序- gcc
c> 如果想讓計算機能夠命令執行gcc,必須讓計算機能夠找到gcc可執行程序(設置環境變量PATH)
那麼這個時候gcc編譯器就可以使用:
3 使用gcc 編譯代碼 一步編譯完成
windows命令:
cls : 清屏
dir: 查看當前 目錄下的文件
在需要編譯文件的文件夾下打開cmd終端,這個時候cmd默認目錄在需要編譯文件的文件夾下
編譯:
gcc 編譯 hello.c -o生成的目標(可執行文件) 名字爲 world
執行:
3 c語言的編譯步驟
預處理
帶#的語句就是預處理指令,預處理指令在預處理的時候處理了
頭文件展開: #include <stdio.h> 包含文件stdio.h(預處理時將stdio.h 文件拷貝至預處理文件中)
刪除註釋: 註釋有兩種方法: // /* */
宏替換: #define 代表是聲明一個宏, 在預處理時會將宏給替代
預處理時 不會檢查語法錯誤
條件編譯: 條件不成立: #if 0 -> #endif 條件成立 #if 1 -> #endif
編譯
將預處理文件編譯生成彙編文件
檢查語法錯誤
彙編
將彙編文件編譯生成二進制文件.o
鏈接
設置運行環境,堆棧等,鏈接其他庫
4 helloworld程序的解釋:
//# 預處理指令,在預編譯時處理
//#include <stdio.h> 包含stdio.h文件 stdio.h類似於菜單
// 兩個斜槓是註釋
//符號與()結和代表這個是一個函數
//main() main函數也叫主函數 整個程序中僅且只有一個main函數,程序從main函數
//開始執行
//int 代表main函數結束之後的返回值類型
//return 結束這個函數,然後返回值,返回值的類型和函數定義時返回值類型一致
//{}裏面的是函數體,所有需要執行的代碼必須寫在{}中
//每一條代碼必須以分號;結尾
//printf是一個庫函數,printf+()就是函數調用
#include <stdio.h>
int main()
{
printf("hello world\n");//打印到終端
return 0;
}
5 system 庫函數
作用: 在程序中啓動另一個程序
參數:要的是待啓動程序的路徑名
#include <stdio.h>
#include <stdlib.h>
int main()
{
//syetem啓動程序,如果這個程序系統可以找到,不用加路徑,
//如果環境變量找不到,需要加路徑
//windows路徑以\\ 或 /
//system("mspaint");//啓動畫圖板
//system("C:\\Users\\Administrator\\Desktop\\c++13\\hello.exe");
system("C:/Users/Administrator/Desktop/c++13/hello.exe");
printf("hello worldfbahfoahfoooooooooooooooooooooo\n");//打印到終端
return 0;
}
6 寄存器 緩存 cpu 內存之間的關係
cpu > 寄存器 > 緩存 > 內存
7 vs 中C語言嵌套匯編
8 vs出現4996警告編號
只需要在文件的最前面加上一句話:
兩者選其一
#define _CRT_SECURE_NO_WARNINGS //這個宏定義最好要放到.c文件的第一行
#pragma warning(disable:4996) //或者使用這個
9 數據類型:
作用: 告訴編譯器我這個數據在內存中需要多大的空間
常量: 程序運行中不能改變的量
整型常量: 1 200
字符常量: ‘a’
字符串常量 “hello”
浮點型常量: 3.14
變量:程序運行中可與被改變的量,存在於內存中
變量需要定義:
定義: 在內存中開闢空間 告訴編譯器我有這個變量(聲明)
變量的定義形式:
數據類型 變量名
int 類型 在內存中佔 4字節
short 類型 2字節
long 類型 在windows 4字節 ,linux 32位4字節,64位8字節
char 類型 1字節
float 類型 4字節,一般用來存小數
double 類型 8字節,用來存小數
例子:
int a: //在內存中定義了一個變量a,佔int類型大小4字節
char b: //在內存中定義了一個變量b,佔char類型大小1字節
定義:在內存開闢空間
初始化: 定義時賦值
聲明: extern 告訴編譯器有這個東西,但是這裏不開闢空間
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAX 10//定義了一個宏(常量) 值爲10
int main()
{
//變量取名 不能爲關鍵字
//定義的本質是在內存開闢空間,給這個空間取名
//定義變量名時 變量名必須以字符和下劃線開頭,不能以數字開頭
//初始化: 在定義時賦值
int num =200;//定義變量並且初始化
// int 8fg; err
char abc_def;
//extern 告訴編譯器我有這個變量,(沒有定義) 聲明
extern short SUM;//聲明變量SUM 並沒有開闢空間
// SUM = 200000; err
// num = 100;
printf("num=%d\n",num);
//MAX = 100; MAX是一個常量,常量不可以被更改
system("pause");
return 0;
}
10 const修飾的變量
//const修飾的變量
int main()
{
//const 修飾的變量不能被更改
const int a;//const修飾的變量a, 不能通過變量名a去修改變量a的內容
// a = 10;
printf("a=%d\n",a);
system("pause");
return 0;
}
11 進制
十進制: 逢十進一 0-9
二進制: 逢二進一 0-1
八進制: 逢八進一 0-7
十六進制: 逢16進一
12 二進制
注意: c語言中不可以書寫二進制
0和1組成
一個二進制的0或者1代表1位(bit)
8位就是一個字節
二進制加法:
0101
1001
+ 1110
二進制減法:
1101
1001
-
0100
十進制轉二進制:
二進制轉十進制
13 八進制
逢八進一
0 -7
c語言中書寫八進制: 0123
十進制轉八進制:
53
八進制轉十進制:
八進制轉二進制:
257轉二進制:
因爲八進制的最大值就是7,而7 用三位二進制就可以表示,所以我們用三個二進制表示一個八進制
257
010 101 111
二進制表示八進制:
001 101 010 101 010 101 111
1 5 2 5 2 5 7
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.