01c語言的環境.html

01c語言的環境

1 vs寫代碼
uploading.4e448015.gif轉存失敗重新上傳取消
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
uploading.4e448015.gif轉存失敗重新上傳取消
 
uploading.4e448015.gif轉存失敗重新上傳取消
 
2  文本編輯器寫代碼
 a> 用notepad++寫源代碼
b> 找到編譯器應用程序-  gcc
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
c> 如果想讓計算機能夠命令執行gcc,必須讓計算機能夠找到gcc可執行程序(設置環境變量PATH)
uploading.4e448015.gif轉存失敗重新上傳取消
 
uploading.4e448015.gif轉存失敗重新上傳取消
 
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
 
uploading.4e448015.gif轉存失敗重新上傳取消
 
那麼這個時候gcc編譯器就可以使用:
 
3 使用gcc 編譯代碼   一步編譯完成
windows命令:
    cls : 清屏
    dir: 查看當前 目錄下的文件
 
在需要編譯文件的文件夾下打開cmd終端,這個時候cmd默認目錄在需要編譯文件的文件夾下
 
編譯:
uploading.4e448015.gif轉存失敗重新上傳取消
 
gcc 編譯    hello.c  -o生成的目標(可執行文件) 名字爲  world
 
執行:
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
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    >    寄存器    >   緩存   >  內存
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
 
7  vs  中C語言嵌套匯編
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
 
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     
 
十進制轉二進制:
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
二進制轉十進制
uploading.4e448015.gif轉存失敗重新上傳取消
 
 
 
13 八進制
逢八進一
0 -7
 c語言中書寫八進制:     0123
 
十進制轉八進制: 
        53
uploading.4e448015.gif轉存失敗重新上傳取消
八進制轉十進制:
uploading.4e448015.gif轉存失敗重新上傳取消
 
八進制轉二進制:
257轉二進制:
因爲八進制的最大值就是7,而7 用三位二進制就可以表示,所以我們用三個二進制表示一個八進制
257
 010   101    111
 
二進制表示八進制:
001  101  010  101  010  101   111
1       5      2        5      2      5      7
 
 
 
 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章