C語言基礎課程 第二課 HelloWorld不為菜鳥所知的祕密

尹成發表於2014-09-25

1    愉快的開端hello world    4

1.1    include標頭檔案包含    4

1.2    main函式    4

1.3    註釋    4

1.4    {}括號,程式題和程式碼塊    4

1.5    宣告    4

1.6    C語言自定義名字的要求    4

1.7    printf函式    4

1.8    return語句    5

1.9    System系統呼叫    5

1.9.1    System返回值在windows和unix下的不同,    5

1.9.2    POSIX    5

1.10    C語言編譯過程,gcc引數簡介    5

1.10.1    C語言編譯過程    5

1.10.2    -E預編譯    5

1.10.3    -S彙編    6

1.10.4    -c編譯    6

1.10.5    連結    6

1.11    作業系統結構    6

1.11.1    使用者模式    6

1.11.2    核心模式    6

1.12    64位,32位系統區別    7

1.12.1    CPU內部結構與暫存器    7

1.12.2    RISC與CISC CPU構架    7

1.12.3    SPARC,x86與ARM    7

1.13    組合語言    7

1.13.1    I386彙編簡介    7

1.13.2    VS反彙編    8

1.14    IDE工具    8

1.14.1    QT常用快捷鍵    8

1.14.2    Eclipse常用快捷鍵    8

1.14.3    VS常用快捷鍵    8

1.14.4    VS斷點,除錯    9

 

  1. 愉快的開端hello world

    1. include標頭檔案包含

對於C語言,所有的庫函式都需要include相關的標頭檔案

  1. main函式

所有C語言的程式必須有一個main函式,也只能有一個main函式,這是c語言程式的入口

  1. 註釋

/* */塊註釋

// 行註釋

  1. {}括號,程式題和程式碼塊

C語言所有的執行程式碼,必須再{}內部,

  1. 宣告

 

  1. C語言自定義名字的要求

可以使用大小寫字母,下劃線,數字,但第一個字母必須是字母或者下劃線

字母區分大小寫


  1. printf函式

printf函式的功能並不僅僅是向螢幕輸出,而是向標準輸出裝置輸出

  1. return語句

main遇到return就結束了,所以rerurn下面的語句就沒有執行的機會了,return的返回值是與main函式定義的時候返回值一致的,如:void main (),那麼return也應該沒有返回值,int main(),renturn就應該返回一個整數

  1. System系統呼叫

    1. System返回值在windows和unix下的不同,

WEXITSTATUSlinux下得到main函式的返回值

Windows下不需要呼叫WEXITSTATUS

  1. POSIX

windows下程式,很多函式是不符合posix標準的,對於不符合posix標準的函式,移植很難。

  1. C語言編譯過程,gcc引數簡介

    1. C語言編譯過程

  1. -E預編譯

 

  1. -S彙編

 

  1. -c編譯

 

  1. 連結

  1. 作業系統結構

    1. 使用者模式

普通程式都是執行才使用者模式下

  1. 核心模式

作業系統核心,驅動程式都是執行在核心模式下的

  1. 64位,32位系統區別

    1. CPU內部結構與暫存器

  1. RISC與CISC CPU構架

RISC:精簡指令集

CISC:複雜指令集

  1. SPARC,x86與ARM

 

 

  1. 組合語言

    1. I386彙編簡介

    int a;//定義一個變數a

    int b;//定義一個變數b

    int c;//定義一個變數c

    a = 1;//a賦值1

    b = 2;//b賦值2

    c = a + b;//c賦值a + b

    __asm

    {

        mov a, 1

        mov b, 2

        mov eax, a

        add eax, b

        mov c, eax

    }

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

 

  1. VS反彙編

VS原始碼加入斷點,執行到斷點程式停止之後,選擇除錯選單-》視窗-》彙編就可以看到彙編指令

  1. IDE工具

    1. QT常用快捷鍵

Ctrl + r:編譯執行

Ctrl + b,編譯,不執行

Ctrl + i;格式化程式碼

Ctrl + /;塊註釋程式碼

  1. Eclipse常用快捷鍵

Ctrl + shift + f;自動格式化程式碼

Ctrl + /;批量註釋

  1. VS常用快捷鍵

Ctrl + D,格式化程式碼

F9:加入斷點

  1. VS斷點,除錯

 Helloworld程式碼如下:

#include <stdio.h>
#include <stdlib.h>

//int printf (__const char *__restrict __format, ...);//宣告一個函式,名字叫printf

int age; //定義一個變數,執行語句只能放到{}中間

//int  main()//這個函式有可能有引數,也有可能沒有引數,到底有沒有,我也不知道
//int main(),main(void)//對於C++來講,()和(void)道理是一樣的
//void main()這種寫法在C++下是不可以的
int main01() //這個函式一定沒有引數,
{
 age = 10;
 /*
  我是個小白,
  希望能學會C語言,找個好工作
  娶個好老婆
  生一堆娃
  */
// 這是新的註釋方法
// printf("AAAAAAA\n");
// 又一個行
 printf("!!!Hello World!!!\n");
 printf("hello");/* 這是列印的語句 */
 ;
 {
  ; //printf("hello");
 }

}

int main02()
{
 //system("gedit a.txt");
 system("ls");
 return 0;
}

int main()
{
 printf("hello wlord\n");
 return 250;
}



相關文章