C語言真的很難嗎?那是你沒看這張圖,化整為零輕松學習C語言。

真不難

C語言難不難?這個問題是相對的,對于找到合適方法學習C語言的同學想必是覺得很簡單;但對于一部分同學來說,沒有眾觀全局就會誤以為剛入門就需要學習龐大的知識,學著學著開始看不懂,由于心理作怪,感覺內容巨多,之后就真的一直看不懂了。

但C語言的基礎內容真的多嗎?回答是:不多。請看下圖,C語言可以分為9個塊,或者說9個主要知識點;才9個?對的,就是9個。主要是printf輸出、變量、scanf輸入、數組、邏輯判斷、循環、自定義函數、指針以及結構體。

接下來我將講解各個知識點的簡要概括,助各位學習者一同進步。

在這里插入圖片描述以下將會在講解知識點的時候有對應知識點的教程鏈接,點進去就可以看到文章教程,全部免費,無套路~

先來個教程完整目錄

目錄

第一篇:(一)脫離學習誤區
第二篇:(二)C語言沒那么難簡單開發帶你了解流程
第三篇:(三)輕輕松松理解第一個C語言程序
第四篇:(四)語言的基本數據類型及變量
第五篇:(五)C語言的變量、常量及運算
第六篇:(六)輕輕松松了解C語言的邏輯運算
第七篇:(七)C語言的循環分分鐘上手
第八篇:(八)了解基本數組還不是那么簡單
第九篇:(九)C語言二維數組與循環嵌套
第十篇:(十)C語言的指針原來是這樣
第十一篇:(十一)C語言自定義函數真的很簡單
第十二篇:(十二)原來結構體是這么回事
第十三篇:(十三)socket服務端編寫

C語言新手的100個報錯解法

推薦

歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~
在這里插入圖片描述

學習目標

1.知道C語言真不難

一、printf

在學習C語言時,第一個程序一般是HelloWorld;HelloWorld主要是編寫一個程序,在程序運行時顯示HelloWorld文字;使用的代碼就是printf。這是程序的第一步,并沒有過多的內容,主要是了解軟件的使用,以及嘗試第一個程序的編寫。

printf教程參考:(三)輕輕松松理解第一個C語言程序

二、變量

在這里插入圖片描述

變量這一塊的知識點主要是介紹如何使用變量,并且告訴你變量有很多類型,其實變量就是指可以存儲值的容器。這個非常好理解,例如你在生活中使用的杯子,杯子用來裝水,或者是一些液體;裝水可以當做容器的值是水,容器是杯子。那我也可以用抽屜裝書本,書本就是值,抽屜就是容器。

在編程中也一樣,不同的容器對應的是不同掉值;在C語言中,存在幾個類型,這些類型規定使用指定的容器去存儲;當然也可以不按照常規存儲,就像你用一個紙杯裝了一個紅彤彤的碳一樣,高溫會把紙杯給融化;除非你是故意要這個效果。

所以變量就是很簡單的一個內容。在變量這一節的內容中,還將會學習變量的輸出。這個輸出值的是,我們在程序運行時將該容器內裝的東西顯示出來;就像你用一個桶裝了你釣魚釣到的貨,你把這個貨給大家一起看了。

變量還有一個關鍵的概念,就是可變。什么是可變?可變就是值你容器內的東西倒出來后還可以裝新的東西進去;我裝水的杯子我喝完了還可以裝別的水進去。但是常量就不一樣,常量存儲了值后,就不可以改變了,就已經外包裝封死了;你只能看見里面裝什么,給大家看,但是你還想把里面的東西拿出來裝別的東西進去是不可能的。

變量教程參考:
(四)語言的基本數據類型及變量
(五)C語言的變量、常量及運算

三、scanf

在這里插入圖片描述

scanf的作用主要是接收用戶的輸入。什么是接收用戶的輸入呢?接收用戶的輸入就是值我們運行程序后,例如需要輸入一個密碼才可以啟動程序;這時就需要我輸入一個值,程序將等待我進行值的輸入;輸入完畢后程序接收到這個值,判斷是否正確。要完成這個操作,在C語言程序中就需要使用scanf。

scanf主要有幾個知識點,最為主要的知識點則是知道變量的地址。一般情況下,我們輸入一個值將需要一個變量進行接收;這句話我們可以理解成,輸入一個值,我們需要一個變量對這個值進行存儲。但是要完成這個操作需要知道這個變量的地址,得到地址后我們就會將這個值存到這個變量中。每個變量在內存中會有一個地址對應,就像你住的地方一樣,有一個標記,給予這個標記給scanf后就可以將值存儲到那個變量中。

由于融入到了其它知識點這一個知識點不在這列出:(一)脫離學習誤區

四、數組

在這里插入圖片描述

數組主要是理解數組結構是如何存儲的。數組是用來存儲一堆數值的容器,跟單個的變量所存儲的內容不一樣,數組可以存儲多個。例如我們需要存儲同一類數據的多個值就可以使用數組。數組的存儲結構跟一個抽屜一樣,每個抽屜都裝了一個值,例如第1排第1個,第1排第二個,理解了就及其簡單。

二維數組呢其實跟一般的數組一致,就是有了第2排,有了第3排等。所以你既然能夠理解抽屜,那么數組一定可以理解。

其中索引指的就是第幾個,第幾排的這個幾,這個數字指的是一個量詞對位置的標記;數組的存取就是指對這些抽屜進行查看,和重新放一些東西進去,就那么簡單。

數組教程參考:
(八)了解基本數組還不是那么簡單
(九)C語言二維數組與循環嵌套

五、邏輯判斷

在這里插入圖片描述

邏輯判斷其實就是對一些數值進行判斷,例如剛剛說的,這個程序每次打開需要輸入一個值,判斷這個值是否是打開的密碼,如果輸入錯誤就退出程序。

那么進行判斷就需要使用if或者switch。if和switch都是同樣的作用,懂其一則都懂,只是使用格式的不同而已。例如我們打開程序,輸入了1234,密碼是123456;輸入的值存到了一個容器中,這個容器我們給它一個名字,或者說給了標記,叫做A;那我們只需要判斷A是否等于123456就可以了。這就是邏輯判斷的作用。

邏輯判斷也可以進行“套娃”,也就是判斷是否正確后再進行判斷,也可以同時判斷多個條件。例如當前的密碼知道能夠被2除斷,沒有余數就正確,但是不能等于2;這個時候就需要使用邏輯判斷運算符,只要把想判斷的內容放到邏輯判斷符的左右兩邊,就可以完成了。

邏輯判斷教程參考:
(六)輕輕松松了解C語言的邏輯運算

六、循環

在這里插入圖片描述

循環是為了重復運行一些代碼而設計的。主要使用的邏輯為,給予循環你要循環的次數,給予循環的代碼,最后給予一個循環的控制變量;循環的控制變量作用顧名思義,用來控制循環次數;我們設置一個容器,里面裝了一個數字0,每次循環就加1;例如最開始這個容器的數字是0,循環1次后我們加個1,這是容器裝的值就是1了,每次加1則每次遞增;那么這個時候我們給予的次數是10,每次循環只要判斷這個循環控制變量是否大于10,就可以控制循環的次數了。

for循環、while循環以及do…while循環都是一樣的用法,通過循環變量控制循環次數。循環是可以嵌套的,例如循環嵌套指的就是一個循環里面有另外一個循環,每次外面的循環循環1次,里面則循環指定的次數。

當我們需要重復設置我們的數組存儲的值,使用循環特別方便。例如你需要在一個大規則的每個抽屜都需要放一個值,使用循環分分鐘解決。

循環教程參考:(七)C語言的循環分分鐘上手

七、自定義函數

在這里插入圖片描述

自定義函數指的是你可以自己創建一個工具包。例如洗衣機是一個有功能的工具,它是用來洗衣服的,每次使用洗衣機把衣服扔進去就可以自動幫你完成任務。自定義函數也一樣,實現一個功能后直接拿過來使用就可以了。

洗衣機功能是洗衣服,但是必須要有衣服才可以洗,衣服就是參數;洗衣機洗完衣服后給你的是干凈的衣服,那么干凈的衣服就是返回值;就是整個功能的結果。

自定義函數參考:(十一)C語言自定義函數真的很簡單

八、指針

在這里插入圖片描述

指針其實就是一個代理人,你可以通過這個代理人訪問一些變量,或者對這些變量進行直接的操作,你就是他們的主人;但是在使用指針的時候你必須知道你要操作的東西的地址,不然從何操作;多重指針呢就是你的全權代理人跟另外一個人搭伙,你可以操作另外一個人的代理。

那為什么說指針危險呢?那是因為你的代理人保留著上一任主人的數據,你直接讓他去操作一些東西,他會把上一任主人保留的數據拿去操作,這樣你操作了不屬于你的東西,這就被警告了。所以要使用指針時記得把上一任主人的數據給丟掉,并且用完這個指針工具人后讓它把所有數據都扔掉。

指針教程參考:
(十)C語言的指針原來是這樣

九、結構體

在這里插入圖片描述

結構體我們可以當做是一種類型的組合。例如你使用變量去存儲一個人的名字、年齡,需要新建2個變量;例如你又要存儲一個人的名字、年齡就需要再新建2個變量;真太麻煩。這時使用結構體,結構體就像一個大容器,跟數組不一樣,結構體可以給自己存的值給個變量存儲,數組直接就是個變量,結構體包含著其它的變量。我們新建一個結構體叫做“人”,這個人結構體我們在內部新建2個變量,一個是名字、一個是年齡,這時只需要創建這個結構體,那我們就可以直接擁有2個變量,簡單方便。

結構體教程參考:
(十二)原來結構體是這么回事

總結

了解概念后,學習將不會有太大難度,主要是認識使用的語法規則即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287683.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287683.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287683.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【中間件】.net Core中使用HttpReports進行接口統計,分析, 可視化, 監控,追蹤等...

HttpReports 基于.Net Core 開發的APM監控系統,使用MIT開源協議,主要功能包括,統計, 分析, 可視化, 監控,追蹤等,適合在微服務環境中使用。官方地址:https://www.yuque.com/httpreports/docs/u…

【遙感數字圖像處理】實驗:遙感影像輻射糾正(大氣糾正)完整操作圖文教程(Erdas版)

一、實驗平臺:Erdas 9.1 二、實驗數據:dmtm.img 三、實驗內容:利用回歸分析法校正影像 四、實驗原理:大氣散射只影響短波波段,長短波進行對比,找出影響短波的程輻射值,將其減去 五、實驗目的:掌握回歸分析法校正影像的方法及步驟,能熟練地對影像進行校正 六、實…

Android之開源視頻壓縮框架RxFFmpeg的commands設置

1 Android視頻壓縮框架 地址:https://github.com/microshow/RxFFmpeg 2 問題 用ffmpeg進行壓縮的時候,我們需要采用ffmpeg命令壓縮官網給的命令如下 String text = "ffmpeg -y -i /storage/emulated/0/1/input.mp4 -vf boxblur=25:5 -preset superfast /storage/emul…

Acitivty生命周期

為什么80%的碼農都做不了架構師?>>> Acitivty 有七個生命周期: onCreate:當第一次調用一個Activity就會執行onCreate方法 onStart:當Activity處于可見狀態的時候就會調用onStart方法 onResume:當Activity可…

listview嵌套gridview

1.首先要自定義一個繼承gridview的類 public class MyGridView extends GridView {public boolean hasScrollBar true;public MyGridView(Context context) {super(context);}public MyGridView(Context context, AttributeSet attrs) {super(context, attrs);}Overrideprotec…

還不懂你現在學習的編程語言能做什么?還不懂如何進階?過來看圖

前言說七說八 本篇文章的配圖標注、內容并不代表僅有;本篇僅以個人經驗及當前大學(大專、本科)相關課程作對比,列出比較常規的語言發展走向及相關技術;再次重申,本圖及本文所涉及的技術發展走向并不代表著…

IT新起之秀

辭職以后自己比較迷茫,不知道自己能干什么,09年畢業到現在雖然工作經驗有7、8年,但是感覺自己什么都不會,除了自己能下車間別的好像也做不成,沒有一技之長。我更像是一個經驗用了7、8年而不是有7、8年的經驗 在齊魯人才…

【遙感數字圖像處理】實驗:遙感影像幾何糾正完整操作流程(Erdas版)

☆☆☆ 幾何糾正預備知識 ☆☆☆ 1、幾何變形誤差的影響因素 遙感器本身引起的畸變外部因素引起的畸變處理過程中引起的畸變2、需要做精糾正的情況 景與景之間作比較GIS建模之前監督分類時提取樣本創建高精度比例尺的影像地圖與矢量數據疊加源于不同比例尺的地圖之間比較提取精…

openid 釘釘_釘釘開發入門,微應用識別用戶身份,獲取用戶免登授權碼code,獲取用戶userid,獲取用戶詳細信息...

最近有個需求,在釘釘內,點擊微應用,獲取用戶身份,根據獲取到的用戶身份去企業內部的用戶中心做校驗,校驗通過,相關子系統直接登陸;就是在獲取這個用戶身份的時候,網上的資料七零八落的,找的人煩躁的很,所以自己記錄一下;實現這個要求,有好幾種方式,使用ISV方式相對來說比較簡單…

趣味二維碼生成

1背景介紹 最近在 Github 看到了一個有趣的項目 amazing-qr,它支持生成普通二維碼,帶圖片的藝術二維碼,動態二維碼。項目是用 python 編寫的,以命令行的方式運行生成,不太方便調用,因此,我…

學習進度博客十二

本周學習軟件工程所花時間為:4小時 代碼:200行 博客發表篇數:3 了解到的知識點:這周我們開始了第二次沖刺階段 轉載于:https://www.cnblogs.com/wulun/p/5610433.html

Android Studio提示No virtual method asBitmap()Lcom/bumptech/glide/RequestBuilder

1 問題 android studio導入別人項目的module,運行點擊app,程序奔潰,錯誤日志如下 Process: com.example.chenyu, PID: 6302java.lang.NoSuchMethodError: No virtual method asBitmap()Lcom/bumptech/glide/RequestBuilder; in class Lcom/bumptech/glide/RequestM…

電腦開機后,就會自動運行chkdsk,我想取消chkdsk,怎么取消

每次開機都自動檢查磁盤,檢測通過后下次還是一樣,NTFS/FAT32分區都有可能有這樣的情況,即使重裝系統,仍可能出現同樣情況,但是硬盤可以通過Dell 隨機帶的檢測程序解決方法:在命令行窗口中輸入…

《零基礎看得懂的C++入門教程 》——(1)第一個C++程序就讓你知其所以然

一、學習目標 了解第一個C程序了解第一個C程序結構了解什么是注釋了解什么是命名空間了解C語言的輸出(如何在程序運行時顯示內容)了解語句結束后需要使用什么符號表示結束 了解程序入口 目錄 預備第一篇,使用軟件介紹在這一篇,…

1、Locust壓力測試環境搭建

環境準備:阿里云服務器一臺、python2.7、pip Locust 介紹Locust 是一個開源負載測試工具。使用 Python 代碼定義用戶行為,也可以仿真百萬個用戶。 Locust 簡單易用,分布式,用戶負載測試工具。Locust 主要為網站或者其他系統進行負…

MicroStation V8i簡體中文版完全補丁安裝教程(附安裝包下載)

MicroStation是一款非常不錯的二維和三維設計軟件,由奔特力(Bentley)工程軟件系統有限公司開發的一款軟件。在CAD設計上該軟件是和AutoCAD是齊名的軟件,其專用的文件格式是DGN,當然該軟件還兼容AutoCAD的DWG/DXF等格式,該軟件的應用已經非常廣泛,在建筑、土木工程、交通…

交互式 .Net

1名詞解析 1. 交互式交互式是指輸入代碼后可直接運行該代碼,然后持續輸入運行代碼。2. 交互式 .Net.Net 是一種編譯型語言,不像 python 這類的腳本型語言,可以邊輸入代碼邊運行結果。幸運的是,軟微推出了 interactive 這個項…

Android Studio之編譯t提示Invoke-customs are only supported starting with Android O (--min-api 26)

1 問題 編譯別人的項目,錯誤提示如下 Invoke-customs are only supported starting with Android O (--min-api 26) 2 解決辦法 在app的build.gradle的android節點下添加如下代碼 android {compileSdkVersion 28defaultConfig {}buildTypes {}//需要添加如下代碼…

mysql signed 長度_淺談mysql字段長度設置

mysql 中最常用的數據類型是tinyint,smallint,int,bigint,char,varchar;char(n)和varchar(n)存儲固定長度的字符數據,長度最大為254字節。使用 ‘n’字節的存儲空間;有符號和無符號區別:有符號可以存儲負值,無符號只能存儲0和非負值數值;tinyint 占用1字節的存儲空間…

R語言-異常數據處理2

在R中進行基于穩健馬氏距離的異常檢驗 前言 我們研究的數據中經常包含著一些不同尋常的樣本,這稱之為異常值(Outlier)。這些異常值會極大的影響回歸或分類的效果。異常值產生的原因有很多,其中可能是人為錯誤、數據測量誤差,或者是實際確實存…