C語言基礎(1)-基本語法及注意事項


1. include 頭文件包含

#include <stdio.h>這個是hello world程序的第一句話
# 代表預編譯指令
#include的意思就是頭文件包含,使用C語言庫函數需要提前包含庫函數對應的頭文件。
stdio.h這個文件在操作系統的系統目錄下


include有兩種寫法
#include <文件名>,如果文件在系統目錄下,那么需要用<>
#include “文件名”,如果文件在當前目錄下,那么用""

 

2. main函數

main函數又叫主函數,main函數是c語言程序的入口,程序是從main函數開始執行的,一個c語言程序中只能有一個main函數

c語言可執行程序必須也只能有一個main函數。

 

3. 注釋

//叫行注釋,注釋的內容編譯器是忽略的,注釋主要的作用是在代碼中加一些說明和解釋,這樣有利於代碼的閱讀, 行注釋是從c++語言借鑒過來的

/* */ 叫塊注釋,塊注釋是c語言標准的注釋方法

  

4. {}括號,程序體和代碼塊

C語言每句可執行代碼都是;結尾

{}叫代碼塊,一個代碼塊內部可以有一條或者多條語句

所有的可執行語句必須是在代碼塊里面

所有的函數都是由

函數名

程序體,{語句}組成的。

 

 

5. 聲明和定義

 

 int a; //定義一個變量

 extern int b; // 聲明一個變量

 intextern都是c語言的關鍵字,ab是用戶可以自己起的名字

6. C語言變量命名規范

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

7. printf函數

printfc語言庫函數,功能是向標准輸出設備輸出一個字符串

 printf(“hello world\n”);//\n的意思是回車換行

 

8. return 語句

 

 return代表函數執行完畢,返回return代表函數的終止.

 如果main定義的時候前面是int,那么return后面就需要寫一個整數,如果main定義的時候前面是void,那么return后面什么也不需要寫

 在main函數中return 0代表程序執行成功,return -1代表程序執行失敗

 在C語言中 int main()和 void main都可以

 int main()void main()在c語言中是一樣的,但C++只接受int main這種定義方式。

9. system函數調用

在使用system函數之前需要包含stdlib.h這個頭文件,system主要的功能是通過程序執行另外一個程序

 

system返回值在windows和unix下的不同

如果在命令行執行一個程序,那么這個程序的調用者就是操作系統,如果在代碼中通過system執行一個程序,那么這個程序的調用者就是自己寫的代碼本身.

C語言所有的庫函數調用,只能保證語法是一致的,但不能保證執行結果是一致的,同樣的庫函數在不同的操作系統下執行結果可能是一樣的,也可能是不一樣的。

POSIX

POSIX是一個標准,只要符合這個標准的函數,在不同的系統下執行的結果就可以一致。

Unixlinux很多庫函數都是支持POSIX的,但windows支持的比較差。

如果將unix代碼移植到linux一般代價很小,如果把windows’代碼移植到unixl或者linux就比較麻煩。

 

 

10. C語言編譯過程,GCC參數簡介

C語言編譯過程

1.預編譯->2.編譯->3.鏈接

-E 預編譯

Gcc –E參數代表預編譯

gcc -o a11.c -E a1.c

預編譯a1.c,預編譯之后的文件名叫a11.c

預編譯功能之一:#include包含的頭文件做簡單的文本替換

C語言中#開頭的語句又叫預編譯指令

預編譯功能之二:將代碼中的注釋刪除

-c編譯

編譯的作用是把文本的c語言編譯為二進制的指令

gcc -c a11.c

編譯a11.c,編譯后的文件名叫a.o

鏈接

C語言寫的程序是需要依賴各種庫的,所以編譯之后還需要把庫鏈接到最終的可執行程序中去

Gcc沒有單獨的鏈接參數

gcc -o a.o

鏈接a.o,最后生成的文件叫a

 

11. 操作系統

64位和32位操作系統區別

CPU內存結構和寄存器

寄存器是CPU內部最基本的存儲單元

CPU對外是通過總線來和外部設備交互的,總線的寬度是8位,同時CPU的寄存器也是8位,那么這個CPU就叫8CPU

如果總線是32位,寄存器也是32位的,那么這個CPU就是32CPU

有一種CPU內部的寄存器是32位的,但總線是16位,准32CPU

 

所有的64CPU兼容32位的指令,32位要兼容16位的指令,所以在64位的CPU上是可以識別32位的指令

64位的CPU構架上運行了64位的軟件操作系統,那么這個系統是64

64位的CPU構架上,運行了32位的軟件操作系統,那么這個系統就是32

64位的軟件不不能運行在32位的CPU之上的。

32位的系統最大支持4G的內存,64位則可以大於這個限制

RISC與CISC CPU架構

RISC精簡指令集

CISC復雜指令集

SPARC,X86與ARM

SPARCARM都屬於精簡指令集

X86典型復雜指令 

12. 常用IDE快捷鍵

 

QT常用快捷鍵

Ctrl + I, 自動格式化代碼

Ctrl + /, 注釋/取消注釋

Alt + enter, 自動完成類函數定義

F9, 設置斷點

F5,調試運行

Ctrl + r,不調試運行

Ctrl + b,編譯,不運行

F10, next調試

F11, step調試

VS常用快捷鍵

Ctrl + k,Ctrl + f, 自動格式化代碼

Ctrl +k, Ctrl + c, 注釋代碼

Ctrl + k,Ctrl + u, 取消注釋代碼

F9, 設置斷點

F5,調試運行

Ctrl + F5,不調試運行

Ctrl + Shift + b,編譯,不運行

F10, next調試

F11, step調試

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM