C語言入門級教程:基礎數據類型與基本算法,學編程從此刻開始!

2020-12-22 騰訊網

今天帶大家了解一下學C語言必備的基本數據類型和基本算法,適合剛學C以及零基礎的小夥伴!

話不多說,我們一起來學習吧~

數據類型

● 基本類型

基本類型就是我們在使用C語言時最基礎的數據類型,包括整形(短整型,基本整型,長整型)、字符型、浮點型(單、雙精度)以及枚舉類型。

● 構造類型

在編程的過程中只使用基本類型是遠遠不夠的,為了滿足需求,因此還要使用基本類型之外的類型,構造類型就是其中的一種。

構造類型可以使用基本類型構造出新的數據類型來滿足實際開發中的需求。構造類型有3種形式:數組類型、結構體類型、共用體類型。

● 指針類型

指針是C語言的精華所在,許多程式語言中都支持某種形式的指針,但最著名的是C語言。

指針的特殊性在於它的值是一個內存地址。關於指針後面我們會詳細說明。

● 空類型

空類型(void)的主要作用就是限定函數的返回和限定函數的參數。

為了便於記憶,我將數據類型做了一個簡單的思維導圖,如下:

● 常量

這塊內容就不在用過多的文字贅述了,從下面的思維導圖我們可以直觀的理解。

關於符號常量我們來看一段簡單的代碼,你就能夠明白啦~

#include

#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語言的教程是5年前了(2015年),由於自己是從初一時開始學習編程,深知學習編程的痛苦。當時正在念大學的我想著分享自己自學編程的經驗,搭建了一個社區(社區之後自己維護太懶,維護了一年不到關閉了)第一次編寫了C語言教程,分享自己的學習經驗。社區關閉後,於2017年上傳至了CSDN留存至今。 現在回過頭查看當時自己編寫的教程,由於當時技術的淺薄,編寫的教程還是存在很多的不足,故有了一個重新編寫C語言教程的想法。
  • 新手如何開始C語言基礎學習?
    因此,對於剛剛入門編程的新手來講,從C語言開始你的編程生涯無疑是最好的選擇。那麼,新手如何開始C語言基礎學習呢?下面我們來一起看一看。在學習之前,我們首先要知道為什麼學習C語言。眾所周知,C語言是一門簡單、底層、較早的程式語言,後來的很多語言在語法上都和C語言類似,比如Java、PHP等程式語言都是從C語言衍生出來的,因此掌握C語言將為學習其他程式語言打下更好的基礎。但同時大家也要知道,只會C語言的話,想要找工作還是很困難的。總的來講,C語言的基礎學習不過是冰山一角,要想成為一名優秀的程式設計師,需要學習的東西還有很多。
  • 學習c語言,知道這三個資源就行了
    c語言作為目前最熱門的程式語言之一,一直是學生、程式設計師必須學習的課程之一,但目前許多學校的課程太過老舊,教材和教程也參差不齊,這裡就給大家推薦幾個比較好的學習c語言的資源。第一個推薦的就是《C Primer Plus》,作為一本廣受大家認可的工具書,書中詳細地講解了C語言的基本概念和編程技巧,並且包含了許多習題和例子,可以有效的幫助初學者建立對於C語言的知識體系,是一本對小白比較友好,且內容全面的入門教材。
  • 編程入門先學什麼
    他們作為一群有實踐經驗+教學經驗的老程式設計師他們的見解是:編程要從娃娃抓起他是這樣對我說的:如果想學的話,先從scratch下手學習程序設計的一些思想,方法,等有一定邏輯性之後挑一門靜態語言入門(老師選的是Java)再通過靜態語言把編程思維和編程邏輯搞明白,打好基礎之後然後就可以自己選擇方向了
  • 教你輕鬆學習C語言系列之——從「Hello World」開始夢想起航
    說它難,是因為隨著學習的深入,抽象的概念、交叉的學科、複雜的問題交織在一起,對學習者的邏輯思維確實是一項挑戰;說它不難,對於喜歡編程、想要學習編程的愛好者來說,其實也很容易上手。為什麼選擇C語言作為入門教程呢?
  • 第一篇:C語言編程基礎語法
    本專欄系列分六篇,總結了C語言基礎知識的核心要點。教學視頻已上線,讀者可根據自身情況有選擇性地學習。01編程基礎C語言——貝爾實驗室、Dennis Ritchie屬於高級語言,更接近人類語言邏輯,需要編譯器編譯,執行依賴運行環境;但容易學習。其特點:模塊化編程程序設計,層次清晰;語句簡潔,提出程序庫概念;功能強大,系統、應用軟體均可開發;移植性好,適合不同的作業系統。除此之外,C語言還有豐富的運算符、數據結構等,程序設計自由度大,可以對硬體進行操作。
  • 2020年零基礎學什麼程式語言進IT行業?
    大家都建議零基礎學編程,要想入行的話最好是學C語言,也許會有很多同學想知道為什麼不是Java,Java和C語言在學習上會有哪些不同呢?1.入門難度Java是一種面向對象的語言,C是一門面向過程的語言。在學習難度上,C語言要大於Java。C語言中包含函數、遞歸和比較難理解的指針概念指針是學C中繞不過去的知識點,而且下一步接著就是學數據結構和算法切換,指針還貫穿其中,搞不定一個指針,下一步的學習就很難,基本上很多初學者就在初期放棄了。
  • C語言的幾個入門階段
    C語言,在大學裡普遍被當作第一門程式語言,用於編程入門,以及數據結構和算法的教學。雖然比C++要容易點,但因為指針的存在,C其實就是個高級的彙編:(並不是很好學,尤其是它的壓軸章節:指針。說明適應了程式語言從0開始數數,已經會使用兩層的for循環,並且會使用printf列印排序結果,適應了計算機不會選擇最大的和逆序最多的數字,而只能使用「笨辦法」的特點。2,會寫快速排序。
  • 電腦入門程式語言
    今天和大家介紹一下電腦入門編程學什麼語言更合適。首選python語言,python 是一門開源免費、通用型的腳本程式語言,現在社會上會python語言的人很吃香的。它上手簡單,功能強大,堅持「極簡主義」。
  • 編程入門先學什麼?零經驗的人學編程難嗎
    「編程入門先學什麼」這是所有想了解編程行業都擔心的一個問題,「零經驗的人學編程難嗎」這是所有想進入編程行業都需要關注的一個問題。一聽編程兩個字很多人都在退縮了,有很多的同學是非常的想知道,編程入門先學什麼,零經驗的人學編程難不難,小編整理了相關信息,希望會對大家有所幫助!
  • 學編程需要什麼基礎?
    學會程式語言,可以從事軟體工程師,就目前而言,軟體工程師就業前景一片大好,就目前來說,我國仍然還存在很大的軟體開發人才缺口,並且以每年20%左右的速度增長。程式語言發展前景如此好,已經成為多數同學心中理想的職業。
  • 編程入門學什麼語言好?
    首先應該明確學習程式語言的目的-工作或興趣,這兩者差別比較大!如果是考慮就業問題,那麼根據2019年末的一個流行度調查,關於程式語言的排名,目前前三的分別是:Java(難)C(很難)Python(較難)
  • 開始你的編程之旅吧!從Python入門講起……
    「學習一門程式語言能讓我學習一些先進的技術,如人工智慧和機器學習。」大多數答案都與上述相似,學習一門程式語言的主要原因是為了找一份工作或者將其運用到先進技術中去。這個世界一直用錯誤的方式教育你,學什麼就會獲得什麼。你所閱讀、觀看的任何有關程式語言的教程都會從現實生活中的語言開始。
  • csdn最適合人工智慧開發的程式語言優缺點對比
    可是依據一位員工表露,實際上報名參加人工智慧培訓的學生專業知識水準大多數不高,許多人是零基礎添加的。前邊三個月基礎都會講各種各樣基本的程序編寫專業知識,後邊還會講前端、網絡爬蟲等專業知識,到最終才能教一個月上下的人工智慧技術專業知識。可是教師的水準有多高,學生自身可以把握是多少就不知道的了。
  • c語言現在的就業形勢如何?開課吧C++課程怎麼樣?
    只要精通這兩門語言,其他的計算機語言很容易上手我個人認為,如果你是打算用高級語言的,學習c語言是必不可少的,學會C語言是你日後更上一個臺階的基礎,而且C語言的編程邏輯跟其他的,很多是相同的。所以如果是打算往這個方向發展的,靜下心來去學吧,不會錯的。
  • 學編程的十大誤區:看看你中招了沒?
    我們學一樣技能,光是努力是不夠的,還要避免一些誤區,學習編程更是如此。如果你在學編程的過程中存在一些誤區,你的學編程之路就會事倍功半,甚至會從「入門」學到「放棄」。了解並避免一些學習編程中的誤區,有助於你更好的學習編程。
  • Python編程學了有用嗎?
    Python編程學了有用嗎?眾所周知,目前家長對於孩子的教育越來越重視,培養孩子的編程思維也是大家關心的話題,孩子學習Python語言,需要使用精確到標點、分號等特殊字符,可以提高孩子的編程能力和邏輯思維能力。作為成成年人學python編程可以大大提高工作效率。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    本課程為python教程大合集,包含python所有就業方向,每套課程均來自市面上主流培訓機構的原版教程,價值都在數百元以上 每套課程均包含:視頻課程+課件+原始碼 重要:建議根據自己工作方向和需求,重點選擇2到3套課程學精,吃透,然後在工作 重要:零基礎小白建議先選擇零基礎全能篇的一套課程學精
  • python與c語言的語法有哪些不一樣的
    在眾多程式語言之中,想必很多人都聽說過Python和C語言,在進行編程學習之前,大家都會問:python和c語言的區別有哪些?我該如何選擇?接下來我們來看看吧。4、速度:Python程式語言因為歷史原因,有一個GIL鎖,導致其對多線程支持不夠好,運行速度較慢;C語言比較快,是比較底層的語言,運行效率優於Python。5、複雜度:在Python中,不需要聲明變量類型,而在C中,必須聲明變量類型;Python程序更易於學習、編寫和閱讀,C程序語法比Python難。
  • 初學者如何入門C語言?記住牽牛要牽牛鼻子
    C語言是一門公認的不易入門的語言(否則也不會那麼多大學生「慘叫」了^_^),因為涉及的內容比較多( 特別是語法繁多 )。C語言的主要內容有以下8個方面: