前言:
大家好??,我是良辰丫??,初來乍到,承蒙厚愛。學習了一段時間編程且淺讀幾本書籍,決定與君共勉,每隔一段時間進行一次總結,充實自己。這篇文章從頭到尾簡單的帶大家梳理一下C語言,讓大家對C語言有一定的認識,這樣大家在學習C語言的過程中就容易很多了?。?!廢話不多說,我們開始初識C語言,gogogo??????!??!
??望你所拼命爭取的,最后都能如你所愿?。?!??
s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
??1、編程語言
- 計算機行業(yè)發(fā)展迅速,短短幾年時間,各個編程語言成為了熱門,C語言,C++,Java,Python等。那么編程語言到底是什么呢???
- 人類有自己的溝通語言,中國人用漢語實現(xiàn)交流溝通,英國人用英語進行交談。那么如果我們用漢語和一個不會漢語的英國人交流,那肯定達不到效果。
- 與人類類似,計算機也有自己可以直接識別的語言---->機器語言。
- 編程語言(programming language),是用來定義計算機程序的形式語言。它是一種被標準化的交流技巧,用來向計算機發(fā)出指令。在電腦領域已發(fā)明了上千不同的編程語言,而且每年仍有新的
編程語言誕生。很多編程語言需要用指令方式說明計算的程序,而有些編程語言則屬于聲明式編程,說明需要的結果,而不說明如何計算。編程語言的描述一般可以分為語法及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對于編程的解釋。 目前通用的編程語言有兩種形式:匯編語言和高級語言。
如果剛接觸編程語言,聽不懂很正常,知識需要日積月累,人不是一生下來就會跑的,滿懷激情??,朝著心中的方向一往直前,最終鮮花會綻放?。。?/font>
??2、C語言簡介
- C語言是一門通用計算機編程語言,廣泛應用于底層開發(fā)。C語言的設計目標是提供一種能以簡易 的方式編譯、處理低級存儲器、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。
- 盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規(guī)格寫出的
C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業(yè)平臺。 - 二十世紀八十年代,為了避免各開發(fā)廠商用的C語言語法產(chǎn)生差異,由美國國家標準局為C語言制了一套完整的美國國家標準語法,稱為ANSI C,作為C語言最初的標準。 [1] 目前2011年12月8日,國際標準化組織(ISO)和國際電工委員會(IEC)發(fā)布的C11標準是C語言的第三個官方標準,也是C語言的最新標準,該標準更好的支持了漢字函數(shù)名和漢字標識符,一定程度上實現(xiàn)了漢字編程。
-
C語言是一門面向過程的計算機編程語言,與
C++
,Java
等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
??3、第一個C語言程序
#include <stdio.h>
int main()
{
printf("hello world\n");
printf("我是葉良辰\n");
//雙引號里面的內容為字符串,printf的固定格式
return 0;
}
代碼解釋:
- 第一行引入輸入輸出頭文件,stdio.h包含了標準輸入輸出庫的信息
舉個不太恰當?shù)睦?,借用了人家?guī)旌瘮?shù)的東西不得向人家打個招呼嘛?這樣才顯得禮貌??- main函數(shù)是程序的入口,一個程序中main函數(shù)有且僅有一個
一個程序是從main函數(shù)開始運行的,沒有main函數(shù)程序就沒有了頭緒。- printf是C語言輸出語句,把想打印的內容打印到屏幕上
printf是庫函數(shù)(輸出語句),使用需要頭文件stdio.h,
輸出語句的內容需要用雙引號引用(C語言固定格式)- \n表示換行,這是一種轉義字符,后續(xù)了解
- return 0表示正常結束程序
- 分號表示一句指令結束
??4、數(shù)據(jù)類型
數(shù)據(jù)類型 | 所占字節(jié)(32位) | 類型名稱 |
---|---|---|
char | 1 | 字符數(shù)據(jù)類型 |
short | 2 | 短整型 |
int | 4 | 整形 |
long | 4 | 長整型 |
long long | 8 | 更長的整形 |
float | 4 | 單精度浮點數(shù) |
double | 8 | 雙精度浮點數(shù) |
//計算各種數(shù)據(jù)類型的大小
#include <stdio.h>
int main()
{
printf("char:%d\n", sizeof(char));
printf("short:%d\n", sizeof(short));
printf("int:%d\n", sizeof(int));
printf("long:%d\n", sizeof(long));
printf("long long:%d\n", sizeof(long long));
printf("float:%d\n", sizeof(float));
printf("double:%d\n", sizeof(double));
return 0;
}
運行截圖s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
解釋:sizeof計算空間大?。▎挝粸樽止?jié))
??5、變量和常量
顧名思義變量是可以修改的量,比如商品的價格,可以漲價和掉價,有幅度變化;而常量是固定不可變的量,比如你的出生日期,性別等,這是不可以修改的。
??5.1 定義變量的方法
int age = 10;
char f = 'Y' ;
定義變量的格式
數(shù)據(jù)類型 變量名 = 賦值
??5.2 變量的命名規(guī)則
命名有一定的規(guī)則,由C語言所規(guī)定的
- 只能由字母(包括大寫和小寫)、數(shù)字和下劃線( _ )組成。
- 不能以數(shù)字開頭。
- 長度不能超過63個字符。
- 變量名中區(qū)分大小寫的。
- 變量名不能使用關鍵字。
注意:命名一定要有意義,讓別人有一目了然之感,如下代碼
可以讓別人很容易看出定義了一個年的變量int year = 0;
??5.3 變量的分類
- 局部變量
- 全局變量
#include <stdio.h>
int year = 2020;//全局變量
int main()
{
int local_year = 2022;//局部變量
//下面定義的變量有問題嗎?是否會有重定義的問題?
int year = 2010;//局部變量
printf("global = %d\n", global);
return 0;
}
總結:
哈哈!??上面的局部變量global變量的定義其實沒有什么問題的!
當局部變量和全局變量同名的時候,局部變量優(yōu)先使用
不斷學習,注意細節(jié),積累編程思想,不斷突破自己
??5.4 變量的使用
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("輸入兩個數(shù):");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
&為取地址符,看到這個,大家又產(chǎn)生一種疑惑了嘛?
printf中引用變量沒有使用&,而scanf卻使用了,一個大大的問號浮在腦海
scanf是從鍵盤輸入東西,引用&符號是調用變量的地址,從而達到鍵盤輸入不同的數(shù)據(jù)【這里的不同數(shù)據(jù)指的是數(shù)據(jù)大小不同,而不是數(shù)據(jù)類型】。%d只能輸入整型數(shù)據(jù),但可以輸入各種大小,比如3,5,7。如果沒有取地址符,只是引入了某個數(shù)值,達不到鍵盤任意輸入目的。
??想必讀到這里大家已經(jīng)對變量有了一定的認識了,恭喜大家又上了一個階梯???????。?!
??5.5 變量的作用域和生命周期
作用域是程序設計概念,通常來說,一段程序代碼中所用到的名字并不總是有效/可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。
- 局部變量的作用域是變量所在的局部范圍。
- 全局變量的作用域是整個工程。
變量的生命周期指的是變量的創(chuàng)建到變量的銷毀之間的一個時間段。
- 局部變量的生命周期是:進入作用域生命周期開始,出作用域生命周期結束。
- 全局變量的生命周期是:整個程序的生命周期
??5.6 常量
C語言中的常量通常有下列幾種:
- 字面常量
- const 修飾的常變量
- #define 定義的標識符常量
- 枚舉常量
#include <stdio.h>
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括號中的MALE,FEMALE,SECRET是枚舉常量
int main()
{
//字面常量演示
//3.1415926;//字面常量
//2022;//字面常量
//const 修飾的常變量
const float p = 3.14f; //這里的p是const修飾的常變量
pai = 5.14;//是不能直接修改的!
//#define的標識符常量 演示
#define NUM 100
printf("num = %d\n", NUM);
//枚舉常量演示
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
//注:枚舉常量的默認是從0開始,依次向下遞增1的
//也可賦值依次遞增
return 0;
上面例子上的 p 被稱為 const 修飾的常變量, const 修飾的常變量在C語言中只是在語法層面限制了變量 p 不能直接被改變,但是 p 本質上還是一個變量的,所以叫常變量。
暫時看不懂枚舉常量也沒關系,這段代碼只是帶大家了解接觸一下各種常量,后續(xù)會詳細講解各個知識點
??6、 字符串+轉義字符
??6.1 字符串
printf("hello 葉良辰.\n");
這種由雙引號引起來的一串字符稱為字符串字面值,或者簡稱字符串。
注:字符串的結束標志是一個 \0 的轉義字符。在計算字符串長度的時候 \0 是結束標志,不算作字符串內容。上面字符串的\0省略了,但是在內存中存在【后續(xù)了解】
??6.2 轉義字符
我們要在屏幕上打印一個目錄: e:\code\test.c
我們該如何寫代碼?
#include <stdio.h>
int main()
{
printf("e:\code\test.c\n");
return 0;
}
在屏幕上打印的結果是什么呢?s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
為什么會出現(xiàn)這樣的結果呢???
這里就不得不提一下轉義字符了。轉義字符顧名思義就是轉變意思。
下面看一些轉義字符。
轉義字符 | 解釋 |
---|---|
\? | 在書寫連續(xù)多個問號時使用,防止他們被解析成三字母詞 |
\’ | 用于表示字符常量’ |
\“ | 用于表示一個字符串內部的雙引號 |
\\ | 用于表示一個反斜杠,防止它被解釋為一個轉義序列符。 |
\a | 警告字符,蜂鳴 |
\b | 退格符 |
\f | 進紙符 |
\n | 換行 |
\r | 回車 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3個八進制的數(shù)字。 如: \130 X |
\xdd | dd表示2個十六進制數(shù)字。 如: \x30 0 |
上面就是常見的一些轉義字符,編譯器識別一些符號會產(chǎn)生歧義,于是就有了轉義字符的概念??
#include <stdio.h>
int main()
{
//在屏幕上打印一個單引號
printf("%c\n", '\'');
//在屏幕上打印一個字符串,字符串的內容是一個雙引號
printf("%s\n", "\"");
return 0;
}
下面是一道面試題??
//下面輸出的程序輸出什么呢?
#include <stdio.h>
int main()
{
printf("%d\n", strlen("abcdef"));
// \62被解析成一個轉義字符
printf("%d\n", strlen("c:\test\628\test.c"));
return 0;
}
第7行的\t,\62都被解析成轉義字符,大家自行測試一下,感受程序的魅力??
??7、注釋
- 代碼中有不需要的代碼可以直接刪除,也可以注釋掉
- 代碼中有些代碼比較難懂,可以加一下注釋文字
- 注釋相當于對代碼進行解釋,程序不會執(zhí)行注釋的內容
#include <stdio.h>
int Add(int x, int y)
{
return x+y;
},
/*C語言風格注釋
int Sub(int x, int y)
{
return x-y;
}
*/
int main()
{
//C++注釋風格
//int a = 10;
//調用Add函數(shù),完成加法運算
printf("%d\n", Add(1, 2));
return 0;
}
注釋有兩種風格:
- C語言風格的注釋 /xxxxxx/
缺陷:不能嵌套注釋- C++風格的注釋 //xxxxxxxx
可以注釋一行也可以注釋多行
??8、選擇語句
如果去了學校,好好學習,就能拿一個好offer,走上人生巔峰。
如果你不好好學習,畢業(yè)等于失業(yè),然后只能去工地搬磚了。
這就是選擇!s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
#include <stdio.h>
int main()
{
int input = 0;
printf("去了學校好好學習嘛?(選擇1/0):");
scanf("%d", &input);
if(input == 1)
{
prinf("好好學習拿到offer\n");
}
else
{
printf("不好好學習去工地搬磚\n");
}
return 0;
}
??9、循環(huán)語句
有些事必須一直做,比如日復一日的學習,沒有特殊情況,每天晚上都要休息,這些是生活中的循環(huán)。
C語言中如何實現(xiàn)循環(huán)呢?
- while語句
- for語句
- do … while語句
//while循環(huán)
#include <stdio.h>
int main()
{
printf("好好學習\n");
int line = 0;
while(line<=20000)
{
line++;
printf("每天堅持敲代碼\n");
}
if(line>20000)
printf("得到好offer\n");
return 0;
}
??先簡單了解一下循環(huán),后續(xù)會詳解各種各樣的循環(huán)
??10、函數(shù)
- main函數(shù)就是一種函數(shù),程序中不可缺少的函數(shù)【程序入口】
- C語言里面的函數(shù)和數(shù)學中的函數(shù)有一定的區(qū)別,C語言里面的函數(shù)可以沒有參數(shù),也可以沒有計算的數(shù)值,而數(shù)學函數(shù)需要參數(shù)。
- 為什么要使用其它函數(shù)呢?
函數(shù)便于人們理解和修改程序,不必重新編寫多次使用的代碼,使用某個功能直接調用相應函數(shù)就可以了?!径啻问褂枚啻握{用】
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("輸入兩個操作數(shù):>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
//把上面加法功能寫成加法函數(shù)
#include <stdio.h>
int Add(int x, int y)
{
int z = x+y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("輸入兩個操作數(shù):");
scanf("%d %d", &num1, &num2);
sum = Add(num1, num2);
//使用加法函數(shù)直接調用,
//多次使用可多次調用
printf("sum = %d\n", sum);
return 0;
}
??11、數(shù)組
要存儲1-10的數(shù)字,怎么存儲?
C語言中給了數(shù)組的定義:一組相同類型元素的集合
??11.1 數(shù)組定義
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
//定義一個整形數(shù)組,最多放10個元素
int arr2[] = {2,3,4,5,6,7,8,9,10,11};
//定義一個整形數(shù)組,放10個元素,省略數(shù)組個數(shù)
格式:
數(shù)據(jù)類型 變量名[數(shù)組個數(shù)] = {數(shù)據(jù)內容};
一維數(shù)組的數(shù)組個數(shù)可以省略
??11.2 數(shù)組下標
C語言規(guī)定:數(shù)組的每個元素都有一個下標,下標是從0開始的。
數(shù)組可以通過下標來訪問的。s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
??11.3 數(shù)組的使用
#include <stdio.h>
int main()
{
int i = 0;
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
for(i=0; i<10; i++)
{
printf("%d ", arr[i]);
}
//當i>=10時數(shù)組會越界,程序可能奔潰
printf("\n");
return 0;
}
??12、操作符
簡單介紹一下各個操作符
+ - * / % 算術操作符
>> << 移位操作符
位操作符 & ^ |
賦值操作符
= += -= *= /= &= ^= |= >>= <<=
單目操作符
! 邏輯反操作
- 負值
+ 正值
& 取地址
sizeof 操作數(shù)的類型長度(以字節(jié)為單位)
~ 對一個數(shù)的二進制按位取反
-- 前置、后置--
++ 前置、后置++
* 間接訪問操作符(解引用操作符)
(類型) 強制類型轉換
-------
關系操作符
>
>=
<
<=
!= 用于測試“不相等”
== 用于測試“相等”
邏輯操作符
&& 邏輯與
|| 邏輯或
條件操作符
exp1 ? exp2 : exp3
逗號表達式
exp1, exp2, exp3, …expN
下標引用、函數(shù)調用和結構成員
[] () . ->
s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
- 除的結果不是1.5嘛,為什么是1呢?
兩個整型進行運算,默認的接收他們運算結果的是整型,編譯器默認裁剪掉小數(shù)點后面的。- 取余想必大家已經(jīng)看出來了,就是數(shù)學中取余數(shù)。
剩下的操作符會在后面的文章詳解,這篇文章主要帶大家了解認識一下C語言
??13、常見關鍵詞
auto break case char const continue default do double else enum
extern float for goto if int long register return short signed
sizeof static struct switch typedef union unsigned void volatile while
C語言提供了豐富的關鍵字,這些關鍵字都是語言本身預先設定好的,用戶自己是不能創(chuàng)造關鍵字的,關鍵字有豐富內涵的作用,慢慢了解哦??。
注意:關鍵字,先簡單了解,后續(xù)詳解,一步一個腳印,循序漸進
??13.1 關鍵字 typedef
typedef 顧名思義是類型定義,這里應該理解為類型重命名。
//將unsigned int 重命名為uint, 所以uint也是一個類型名
typedef unsigned int uint;
int main()
{
//觀察num1和num2,這兩個變量的類型是一樣的
unsigned int num1 = 0;
uint num2 = 0;
return 0;
}
重命名可以讓長的類型轉換成短的,降低代碼的復雜性,通俗易懂。
??13.2 關鍵字static
//C語言中:
static是用來修飾變量和函數(shù)的
1. 修飾局部變量->稱為靜態(tài)局部變量
2. 修飾全局變量->稱為靜態(tài)全局變量
3. 修飾函數(shù)->稱為靜態(tài)函數(shù)
例1 沒有用static修飾的int
s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
例2 使用static修飾的int
s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
一個static讓兩個代碼擁有不同的結果,是不是感受到了代碼的神奇性呢?
static讓變量的聲明周期更長,直至程序結束
沒有static的變量出了函數(shù)生命周期就結束了
下面幾個代碼讓大家更深刻的了解一下static
??13.2.1 修飾局部變量
//代碼1
#include <stdio.h>
void print()
{
int i = 0;
i++;
printf("%d ", i);
}
int main()
{
int i = 0;
for(i=0; i<10; i++)
{
print();
}
return 0;
}
//代碼2
#include <stdio.h>
void print()
{
//static修飾局部變量
static int i = 0;
i++;
printf("%d ", i);
}
int main()
{
int i = 0;
for(i=0; i<10; i++)
{
print();
}
return 0;
}
對比兩塊代碼更加深刻理解static修飾局部變量的意義。
static修飾局部變量改變了變量的生命周期
讓靜態(tài)局部變量出了作用域依然存在,到程序結束,生命周期才結束。
??13.2.2 修飾全局變量
//代碼1
//add.c
int g_val = 2018;
//test.c
int main()
{
printf("%d\n", g_val);
return 0;
}
//代碼2
//add.c
static int g_val = 2018;
//test.c
int main()
{
printf("%d\n", g_val);
return 0;
}
代碼1正常,代碼2在編譯的時候會出現(xiàn)連接性錯誤。
一個全局變量被static修飾,使得這個全局變量只能在本源文件內使用,不能在其他源文件內使用
??13.2.3 修飾函數(shù)
//代碼1
//add.c
int Add(int x, int y)
{
return c+y;
}
//test.c
int main()
{
printf("%d\n", Add(2, 3));
return 0;
}
//代碼2
//add.c
static int Add(int x, int y)
{
return c+y;
}
//test.c
int main()
{
printf("%d\n", Add(2, 3));
return 0;
}
代碼1正常,代碼2在編譯的時候會出現(xiàn)連接性錯誤.
一個函數(shù)被static修飾,使得這個函數(shù)只能在本源文件內使用,不能在其他源文件內使用。
??14、#define 定義常量和宏
//define定義標識符常量
#define MAX 1000
//define定義宏
#define ADD(x, y) ((x)+(y))
#include <stdio.h>
int main()
{
int sum = ADD(2, 3);
printf("sum = %d\n", sum);
sum = 10*ADD(2, 3);
printf("sum = %d\n", sum);
return 0;
}
??15、指針
??15.1 內存
內存是電腦上特別重要的存儲器,計算機中程序的運行都是在內存中進行的
- 為了有效的使用內存,就把內存劃分成一個個小的內存單元,每個內存單元的大小是1個字節(jié)。
- 為了能夠有效的訪問到內存的每個單元,就給內存單元進行了編號,這些編號被稱為該內存單元的地
址。s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
一個整型占四個字節(jié),但系統(tǒng)記錄的是它的首地址- 變量是創(chuàng)建內存時分配空間的,每個內存單元都有地址。
取出變量地址如下:
#include <stdio.h>
int main()
{
int num = 0;
// #//取出num的地址
//注:這里num的4個字節(jié),每個字節(jié)都有地址,
//取出的是第一個字節(jié)的地址(首地址)
printf("%p\n", &num);//打印地址,%p是以地址的形式打印
return 0;
}
地址如何存儲呢?需要定義指針變量。
int num = 0;
int *p;//p為一個整形指針變量
p = #
指針的使用:
#include <stdio.h>
int main()
{
int num = 10;
int *p = #
*p = 20;
//修改*p就達到了修改num的值
return 0;
}
其它類型也可以使用指針:
#include <stdio.h>
int main()
{
char ch = 'Y';
char* pc = &ch;
*pc = 'L';
//通過指針修改數(shù)據(jù)
printf("%c\n", ch);
return 0;
}
??15.2 指針變量的大小
#include <stdio.h>
//指針變量的大小取決于地址的大小
//32位平臺下地址是32個bit位(指針變量為4個字節(jié))
//64位平臺下地址是64個bit位(指針變量為8個字節(jié))
int main()
{
printf("%d\n", sizeof(char*));
printf("%d\n", sizeof(short*));
printf("%d\n", sizeof(int*));
printf("%d\n", sizeof(double*));
return 0;
}
s; char str[10,C語言初階,c語言,單片機,開發(fā)語言" referrerpolicy="no-referrer" />
結論:
??指針大小在32位平臺是4個字節(jié),64位平臺是8個字節(jié)
??16、結構體
結構體是C語言中特別重要的知識點,結構體使得C語言有能力描述復雜類型。
描述學生,學生包含: 名字+年齡+性別+學號等信息。
結構體可以把不同類型的數(shù)據(jù)聯(lián)系起來
struct Stu
{
char name[15];//名字
int age; //年齡
char sex[5]; //性別
char id[10]; //學號
}s2,s3;
定義結構體的同時可以定義結構體變量
結構體的初始化:文章來源:http://www.zghlxwxcb.cn/news/detail-782749.html
//打印結構體信息
struct Stu s = {"張三", 10, "男", "20091101"};
//.為結構成員訪問操作符
printf("name = %s age = %d sex = %s id = %s\n", s.name, s.age, s.sex, s.id);
//->操作符
struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", ps->name, ps->age, ps->sex, ps-
>id);
- 定義的名字,年齡等信息是結構體成員
- Stu結構體類型名稱
- s為結構體變量
??????本篇文章只是帶大家走進C語言,簡單了解C語言,很多細節(jié)沒有詳解,在接下來的文章中,我會對C語言的各個模塊進行詳解。感謝支持,剛開始寫博客還有些生疏,多多理解。??????文章來源地址http://www.zghlxwxcb.cn/news/detail-782749.html
到了這里,關于【初識C語言】從頭到尾了解C語言這一篇足矣的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!