C語言基礎知識梳理

C語言是面向過程的,而C++是面向對象的

C和C++的區別:

C是一個結構化語言,它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。

C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。?所以C與C++的最大區別在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“?設計這個概念已經被融入到C++之中?”。

C與C++的最大區別:在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“?設計這個概念已經被融入到C++之中?”,而就語言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯!算法是程序設計的基礎,好的設計如果沒有好的算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。


算法結構:一、順序結構、選擇結構、循環結構;二、循環結構又分為while型、until型、for循環結構;程序流程圖;

結構化程序設計方法:(1)自頂向下;(2)逐步細化;(3)模塊化設計;(4)結構化編碼。


喜歡或者想學習C語言的小伙伴可以加一下我自己的C語言交流群815393895

數據類型:

常量:常量包括字面常量、直接常量和符號常量;

變量:C語言規定標志符只能由字母、數字和下劃線三種字符組成,且第一個字符必須是字母或者下劃線;必須壓迫先定義后使用;每一個變量被定義以確定類型后,在編譯時就能為其分配相應的存儲單元;

整數類型:整數常量有十進制、八進制和十六進制;“%d”

整形變量:數據在內存中存放形式是以二進制形式存放;有int型、short?int型和long?int型,無符號整型變量的范圍是-32768—32767,有符號型為0~65535.通常把long定義為32位,把short定義為16位,int可以是32位也可以為16位,這都主要取決于機器字長。

實型數據

實型常量的表示方法:(1)十進制,0.0;(2)指數形式,123e3

實型變量:實數型數據在內存中的存放形式,一般在內存中占4個字節,分成整數部分和小數部分存放。實型變量分為float型、double型long?double型。實型數據會存在舍入誤差。

實型常量的類型:C編譯系統將實型常量作為雙精度來處理。

字符型數組:

(一)字符常量:轉義字符(?——換行,——tab,?——回車,——換頁,——退格,ddd——1到3位8進制的數代表的字符)

(二)字符變量:字符數據存儲形式實際是以ASCII碼存儲。“%c”

字符串常量:雙撇號括起來的一系列字符序列。

C的運算符有以下幾種:

1、算術運算符(+?-?*?/%)結合方向自左向右

2、關系運算符(>?<?==?>=

3、邏輯運算符(!?&&?||)

4、位運算符(>?~?|?^?&)

5、賦值運算符(=及符號擴展賦值運算符)

6、條件運算符(??:?)

7、逗號運算符(?,?)

8、指針運算符(*?&)

9、求字節運算符(sizeof)

10、強制類型轉換運算符((類型))

11、分量運算符(?.?->)

12、下標運算符([])

13、其他

控制語句:完成一定的控制功能。

1、if()~else~

2、for()~

3、while()~

4、do~while()

5、continue

6、break

7、switch

8、goto

9、return

字符數據的輸入輸出:

1、putchar()輸入字符變量

2、getchar()只能接受一個字符

格式輸入輸出:

1、printf(%d—整型,%c—字符型,%ld,%md,%o,%u,%s,%-m.nf,%e,%g)

2、scanf(格式控制,地址列表)




數組

一維數組的定義:類型說明符?數組名【常量表達式】;先定義后引用;一維數組初始化時可以只對一部分元素初始化,在對全部數組元素初始化的時候可以部規定長度;但是若被定義的數組長度與提供的初始值不一樣時,則數組長度不能省略。

二維數組的定義:類型說明符?數組名【常量表達式】【常量表達式】C語言中存放二維數組是先存放第一行的元素,緊接著是第二行,其實也是以一維的方式存放。如果初始化時能指定所有元素的初始值,第一維大小可以省略,但是第二維不能省略。

字符數組:定義和初始化跟數組差不多,只是需要加單引號。字符和字符串結束標志,C語言規定,以‘’代表。

字符串處理函數:

1、puts()將一個字符串輸出到終端

2、gets()從終端輸入一個字符串到字符數組,并且得到一個函數值。

3、strcat()鏈接兩個字符數組中的字符串。

4、strcpy()字符串復制函數。

5、strcmp()比較字符串作用。

6、strlen()測試字符串長度的函數不包括“”

7、strlwr()將字符串中的大寫字母轉換為小寫字母。

8、strupr()將字符串中的小寫字母轉換為大寫字母。

函數

(1)一個源程序由多個函數組成。

(2)C程序的執行從main()函數開始;

(3)所有函數都是平行的;

(4)函數分類;可以分為標準和自定義,還可以分為有參函數和無參函數。

函數定義的一般形式:

(1)類型標志符函數名()

{

聲明部分

語句

}

(2)類型標志符函數名(形式參數列表)

{聲明部分

語句

}

函數參數和函數值:

一、關于形參和實參的說明

(1)在定義函數中指定的形參,在未出現函數調用時,他們并不占用內存中的存儲單元,只有發生調用時,才會分配內存。

(2)實參可以是常量、變量或者表達式;有時傳遞的時地址;

(3)在被定義中,形參必須指定類型;

(4)實參與形參的類型應相同或賦值兼容;

(5)C語言規定,實參變量對形參變量的數據傳遞是“值傳遞”,即單向傳遞,只有實參傳遞給形參,而不能由形參傳遞給實參。

函數的返回值:

希望通過函數調用使主調函數得到一個確定的值。

(1)函數的返回值是通過函數中的return語句獲取的。

(2)函數值的類型;

(3)如果函數值的類型和return語句中表達式的值不一樣,則以函數類型為準。

(4)如果調用函數中沒有return語句,并不帶回一個確定的用戶需要的值,函數不是不帶回值,而只是不帶回有用的值,帶回一個不確定的值。

(5)如不需要帶回任何值,用void。


函數的調用:調用方式

1、函數語句;2、函數表達式;3、函數參數。

被調用的函數的聲明:一個函數調用另一個函數所具備的條件:

1、首先被調用的函數必須是已經存在的函數;

2、如果使用庫函數,一般應該在本文件開頭用#include命令將調用有關庫函數時在所需要用到的信息“包含”到本文件中。.h文件是頭文件所用的后綴。

3、如果使用用戶自己定義的函數,而且該函數與使用它的函數在同一個文件中,一般還應該在主調函數中對被調用的函數做聲明。

4、如果被調用的函數定義出現在主調函數之前可以不必聲明。

5、如果已在所有函數定義之前,在函數的外部已做了函數聲明,則在各個主調函數中不必多所調用的函數在做聲明。

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

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

相關文章

很多人大一就開始學習C語言,你真的學到了嗎?

好多人大一就學了C語言&#xff0c;但你有沒有感覺學的不深&#xff0c;不扎實。或者說越學越迷茫&#xff0c;不知道它能做什么 我相信&#xff0c;這可能是很多朋友的問題&#xff0c;其實&#xff0c;這是很多初學者都會踩到的一個坑&#xff01;C語言本身是一門很簡單的語言…

C語言發展歷史,C語言特點,C語言利于弊,入門須知三招

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 這些是C/C能做的 服務器開發工程師、人工智能、云計算工程師、信息安全&#xff08;黑客反黑客&#xff09;、大數據 、數據平臺、嵌入式工程師、流媒體服務器、數據控解、圖像處理、音頻視頻開發工程…

程序員怎么看待C語言?最偉大?最落后?

一&#xff0c;前言 對我來說&#xff0c;C語言應該可以算得上是世界上最偉大的編程語言。全中國口氣最大的程序員&#xff0c;業界稱之為“垠神”&#xff0c;曾經發過文章吐槽過業界各種主流的編程語言&#xff08;對Java&#xff0c;的Python稍微寬容一些&#xff09;&…

如何學習C語言?就是這么簡單粗暴!

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的。 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理…

C/C++對編程的重要性!其他編程語言都是弟弟!

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

C語言其實不難,只是你沒有找對方法!

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

想學好C語言?先把基礎打好再說吧!

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

C語言新手最常見的問題!你在這里跌倒過嗎?

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

用C語言做出你自己的七夕表白程序!

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

C語言/C++編程的起源與能力學習

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

Windows下設置自動關機的命令指示符

&#xff08;請先看置頂博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 Windows定時操作命令&#xff1a;superR&#xff0c;輸入&#xff1a;&#xff1f;&#xff1f;&#xff1a;&#xff1f;&#xff1f;shutdown -s ”??“代表時間…

Win7系統轉到Win10系統的裝機方法

Windows 10的版本最好是家庭版。 1.進入PC的BIOS。進入方法與PC品牌有關&#xff0c;可根據對應的品牌查尋進入方法。 2.將Boot List Option 選為UEFI。有些電腦在切換UEFI后即可顯示列表&#xff0c;因此可跳過第三步&#xff0c;反之則繼續第三步的操作。 3.重啟PC&#x…

Ubuntu16.04amp;amp;Windows 10雙系統安裝教程(UEFI模式)

相信來這里的各位&#xff0c;都是想在Windows 10的PC上安裝Linux Ubuntu16.04&#xff0c;來達到雙系統并用的目的。 那么接下來&#xff0c;我就在默認已安裝Windows 10的基礎上介紹如何以UEFI的方式安裝Ubuntu16.04&#xff01;我的PC是聯想小新潮7000—13。在裝雙系統之前…

利用軟碟通軟件制作Ubuntu16.04系統啟動盤

以下操作均在Windows系統下進行&#xff01;Windows系統的啟動盤和Linux的啟動盤要分開&#xff0c;即需要兩個U盤來制作和存儲。&#xff08;似乎無法共存于一個U盤里&#xff09; &#xff08;系統盤制作軟件會U盤格式化&#xff0c;所以U盤提前做好備份工作&#xff09; 1…

Linux Ubuntu16.04界面美化

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 很多人在安裝系統之后可能對其外觀、主題或是桌面壁紙不滿意&#xff0c;本文給大家介紹幾種美化方法和插件&#xff01; 1.可以將左側的“熱區”…

Linux16.04和Windows 10雙系統下,解決時間不一致問題

裝完雙系統&#xff0c;你可能會發現某一個系統的時間與現在時間不一致&#xff08;中國相差八個小 時&#xff09;&#xff0c;那么如何解決這個問題呢&#xff1f; 1.將某一個系統的設置時間更新方式設置為“手動”&#xff0c;而不是“從互聯網自動獲取”。 2.進入PC的BIO…

Linux Ubuntu 16.04系統下可用的Windows應用

眾所周知&#xff0c;Linux系統下的生態環境不是很好&#xff0c;很多可以在Windows 10系統下運行的 軟件都不能在Linux下運行&#xff0c;那么接下來為大家推薦部分可以應用的軟件&#xff1a; A.Google-Chrome. 最簡單的方法是到https://www.google.cn/chrome/下載對應的Lin…

基于Vitual Box建立虛擬機,虛擬機系統為Linux Ubuntu16.04

相比于為PC機安裝雙系統&#xff0c;安裝虛擬機在達到相同目的的時候顯得更為方便。 那本文就詳細的為大家介紹如何在Windows 10的系統下&#xff0c;安裝Vitual Box&#xff0c;進而安裝虛擬機。 一、下載Vitual Box虛擬機制作軟件及鏡像文件 Vitual Box網址為&#xff1a;…

ROS安裝過程和配置過程(可能出現的問題及解決方法)

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 準備學習ROS&#xff0c;所以在Linux Ubuntu16.04 的系統下安裝ROS &#xff08;建議初學者&#xff0c;先在虛擬機里進行學習和實踐&#xff0c…

閑暇所學“表白對話框”

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 相信大家都在某音上看過一段表白的視頻&#xff1a;打開某個文件后&#xff0c;彈出一個個對話框&#xff0c;表達對心里人的情愫&#xff0c;請求…