今天帶大家了解一下學C語言必備的基本資料型別和基本演算法,適合剛學C以及零基礎的小伙伴!
話不多說,我們一起來學習吧~
↓ ↓ ↓
? 資料型別
● 基本型別
基本型別就是我們在使用C語言時最基礎的資料型別,包括整形(短整型,基本整型,長整型)、字符型、浮點型(單、雙精度)以及列舉型別,
● 構造型別
在編程的程序中只使用基本型別是遠遠不夠的,為了滿足需求,因此還要使用基本型別之外的型別,構造型別就是其中的一種,
構造型別可以使用基本型別構造出新的資料型別來滿足實際開發中的需求,構造型別有3種形式:陣列型別、結構體型別、共用體型別,
● 指標型別
指標是C語言的精華所在,許多編程語言中都支持某種形式的指標,但最著名的是C語言,
指標的特殊性在于它的值是一個記憶體地址,關于指標后面我們會詳細說明,
● 空型別
空型別(void)的主要作用就是限定函式的回傳和限定函式的引數,
為了便于記憶,我將資料型別做了一個簡單的思維導圖,如下:
● 常量
這塊內容就不在用過多的文字贅述了,從下面的思維導圖我們可以直觀的理解,

關于符號常量我們來看一段簡單的代碼,你就能夠明白啦~
#include<stdio.h>
#define PI 3.14/*定義符號常量*/
int main() {
double r=5.0;/*定義半徑*/
double area;/*面積變數*/
area = PI*r*r;/*計算面積*/
printf("圓的面積是:%f\n",area);/*列印輸出*/
return 0;
}
? 基本演算法
演算法的特性和演算法的表示,
演算法的基本特性
演算法包含兩方面的內容:演算法設計和演算法分析
演算法設計其實就是針對某一特定型別的問題而設計的一個實作程序,演算法有以下幾個特性:
|
?有窮性 ? 確定性 ? 可行性 ? 輸入 ? 輸出 |
也就是說我們在設計演算法是的滿足上面所說的特性,當然演算法也是有好有壞的,那么我們怎樣去衡量一個演算法的優劣呢?
演算法分析其實就是在衡量一個演算法的優劣,通常會從一下幾個方面來分析:
|
? 正確性 ? 可讀性 ? 健壯性 ? 時間復雜度和空間復雜度 |
演算法的表達方式
在描述一個演算法時通常使用的方法有:自然語言、流程圖、N-S圖等,
? 自然語言
自然語言這種表達方式通俗易懂,我們通過一個具體的實體了解一下,
需求:任意輸入3個數,求出其中的最小數,
|
(1) 定義4個變數分別是a,b,c和min, (2) 輸入大小不同的三個數分別賦值給a,b,c, (3) 判斷a是否小于b,如果小于,則將a的值賦給min,否則將b的值賦給min, (4) 判斷min是否小于c,如果小于,則執行(5),否則將c的值賦給min, (5) 輸出min, |
這種表達方式的好處就是簡單易懂,但是當遇到復雜的演算法時自然語言就顯得不是很方便了,
? 流程圖
流程圖就是用一些圖框來代表各種不同性質的操作,用流程線來指示演算法的執行方向,他的特點就是直觀形象,應用很廣泛,
下圖介紹了流程圖的符號以及含義:

流程圖有三種基本結構,即順序結構、選擇結構和回圈結構,
順序結構:順序結構就是簡單的線性結構

選擇結構:選擇結構也稱為分支結構

回圈結構:反復執行一系列操作,知道條件不成立時終止,

我們再把上面的需求用流程圖來表示一下

? N-S流程圖
N-S流程圖是將全部的演算法寫在一個矩形框內,省去了流程圖中的流程線,下面繼續看一個實體:
需求:輸入一個數,判別是否為素數,

演算法的基本特性和演算法的表示介紹到就結束了,
—— END ——
最后,不管你是轉行也好,初學也罷,進階也可,如果你想學編程~
——【值得關注】我的 C/C++編程學習交流俱樂部!——
涉及:C語言、C++、windows編程、網路編程、QT界面開發、Linux編程、游戲編程、黑客等等......
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/233766.html
標籤:C
