【C語言】學習過程教訓與經驗雜談:思想準備、知識回顧(二)

🔥個人主頁:艾莉絲努力練劍

?專欄傳送門:《C語言》、《數據結構與算法》、C語言刷題12天IO強訓、LeetCode代碼強化刷題

🍉學習方向:C/C++方向

??人生格言:為天地立心,為生民立命,為往圣繼絕學,為萬世開太平


前言:?我們在學習過程中會碰到很多很多問題,本系列文章不會博主不會額外再創建一個新的專欄來收錄,因為這一系列文章創作的初心主要是針對回顧知識點(遵循遺忘曲線并且根據自身的實際情況可以做出一些計劃,回顧知識點很重要)、緩解學習過程中的可能出現的焦慮等等。主包就不另外開一個專欄了,uu們可以把本系列的文章作為【C語言】專欄的后日談來看。

主包學習能力很一般,學起語言、算法來和大佬們完全無法比。主包正兒八經開始學C++是從今年的4月24號開始的,主包學習能力真的很一般,C語言這個基礎也不扎實,看主包文章的諸位一定是比主包要強的,但主包學習過程中碰到的麻煩、思考、和做的知識點回顧對大家還是有用的。


?


目錄

正文?

三、知識點回顧

(一)認識編譯器

?(二)文件后綴名

(三)C語言常見概念、數據類型以及變量的其它補充(雜談居多)?

1、main函數寫法

2、printf函數

3、占位符

4、一些術語

5、define

6、關鍵字(保留字)

7、ASCII碼表

8、字符串

9、轉義字符

(1)\0

(2)\ddd

(3)轉義字符

10、其它

11、strlen函數

結尾


正文?

三、知識點回顧

書接上文,我們本文正式開始知識點的回顧。

(一)認識編譯器

人機交流使用的是機器語言,

我們電腦上面可以安裝一些編譯器來寫代碼,比如說VS2022、XCode、CodeBlocks、DevC++、Clion、gcc、CMake、MSVC、Clang、VS2019、VS2013、VS2008、VS2010等編譯器。有uu們可能要問,那VSCode呢?哈哈哈哈,問得好。VSCode不是編譯器,VSCode是集成開發環境,簡稱“IDE”。我們可以在VSCode配置不同語言的開發環境,不建議新手用。

對于編譯器,博主比較推薦VS2022。VS2022使用方便,上手快。

像MSVC、gcc、XCode、VS2022、DevC++、Clang,算是比較常見的編譯器。

這幾個編譯器我們簡單介紹一下:

(1)MSVC:微軟開發的編譯器;

(2)Clang:蘋果開發的編譯器;

(3)XCode:蘋果電腦自帶的編譯器;

(4)gcc:沒想到吧,這位老熟人也是編譯器。

?(二)文件后綴名

.c源文件;.h頭文件;

.cpp(C plus plus)。

xxx.c——C程序的源文件;

xxx.cpp——C++程序的源文件。

(三)C語言常見概念、數據類型以及變量的其它補充(雜談居多)?

1、main函數寫法

一般寫法:

int main()
{return 0;
}

其他寫法:?

寫法(1):

void main()

1、這個是main函數的古老寫法。

2、void是無(空)的意思。

寫法(2):

int main(void)

?Void表示無(空),表示main函數無需參數。

寫法(3):

int main(int argc,char*argv[],char*envp[])

這種寫法就很復雜了。?

這里的int即整型(整數),意思就是main函數最終會返回一個整型的值。

2、printf函數

printf是庫函數——倉庫里有的能直接調用的函數。

單目操作符++、--的前置后置知識點總結,printf函數的一些知識點

注:庫函數使用要包含頭文件。

#define  _CRT_SECURE_NO_WARNINGS  1#include<stdio.h>int main()
{printf("%c\n", 'q');printf("%d\n", 123);printf("%f\n", 3.4);return 0;
}

" "括字符串,' 括一個字符。?

printf("%c\n", 'q');//%c表示打印字符

printf("%d\n", 123);//%d打印整數

printf("%f\n", 3.4);//%f打印小數,默認小數點后6位

?printf = print + format

? ? ? ? ? ? ?打印? ? ?格式

標準輸入輸出頭文件——<stdio.h>,我們拆開來看看:

std:standard(標準);i:input(輸入);o:output(輸出);h:head(頭文件)。

3、占位符

單目操作符++、--的前置后置知識點總結,printf函數的一些知識點

像%c、%d、%f這些就是占位符,在上面printf函數的代碼中,我們分別用q、123、3.4替換它。

4、一些術語

庫函數、編譯器廠商、標準庫,C Libarary(C語言庫)。

5、define

define——預處理指令。

6、關鍵字(保留字)

關鍵字也叫保留字,常用的有32個,保留給C使用。

注意:標識符創建時不能與關鍵字重復——避其名諱。

打個比方,Typedef就是一個關鍵字,作用是重新起名

7、ASCII碼表

C語言常見概念、數據類型以及變量的一些重要知識點總結

我們用一個ch表示字符。

ASCII碼值:0 ~ 127;其中0~31位不可打印字符,無法在屏幕上觀察。

認識一下幾個進制的簡寫表示:

dec——十進制,0~9;

oct——八進制,0~7;

hex——十六進制,0~15。

A~Z:65~90;a~z:97~122。

大小寫ASCII碼值轉換:

記住A的ASCII碼值是65,a的ASCII碼值是97——

A -> a——65 + 32 -> 97。

?大小寫ASCII碼值差32。

大寫-->小寫—— +32;小寫-->大寫—— -32。

其他的一些ASCII碼值對應符號:

\n——10;

字符0~9——ASCII碼值對應為48~57;

'0'——字符0——ASCII碼值為48;

0——數字0——0。

8、字符串
"abcdef"//字符串
"abc"//字符串
"a"//字符串
" "//空字符串

我們打印字符串用的占位符是%s。?

9、轉義字符
(1)\0
char arr1[] = "abc";
char arr2[] = { 'a','b','c','\0' };

這里\0是字符串結束標志。?

C語言常見概念、數據類型以及變量的一些重要知識點總結

\0、\n都是字符——轉義字符;

我們做一個簡單的區分:/——除號;\——斜杠。

(2)\ddd

\ddd:1~3個八進制數字,比如\121;

(3)轉義字符

\'、\"、\?、\\、\0、\n、\t、\a、\b、\r等等都是轉義字符。

\a:警報;

\b:光標回退一格;

\?:新編譯器無法驗;

\\:反斜杠;

\0:\0是字符串結束標志,也是轉義字符;

\r:光標回到同一行行首;

\t——tab對齊(按4/8的倍數對齊)

10、其它

(1)*.exe所有.exe文件;

.gitignore忽略了不想要的文件。

(2)棧區、堆區、靜態區;

(3)變量有局部變量,也有全局變量。?

11、strlen函數

sizeof計算數組元素個數、strlen函數相關的一些知識點以及兩者的區別

strlen——string length——統計字符串長度

#define  _CRT_SECURE_NO_WARNINGS  1#include<stdio.h>int main()
{int len = strlen("abcdef");return 0;
}

?這里字符串長度為6,\0不統計,strlen函數只統計結束標志(\0)之前的字符。


結尾

往期回顧:

【C語言】學習過程教訓與經驗雜談:思想準備、知識回顧(一)

結語:本篇文章內容回顧到這里就結束了,希望對大家伙有所幫助。如果大家覺得文章有幫助的話,記得一鍵四連——點贊、收藏、關注、評論!謝謝uu們的支持!

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

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

相關文章

AD8021ARZ-REEL7【ADI】300MHz低噪聲運放放大器,高頻信號處理的性價比之選!

AD8021ARZ-REEL7&#xff08;ADI&#xff09;產品解析與推廣文案 1. 產品概述 AD8021ARZ-REEL7 是 Analog Devices Inc.&#xff08;ADI&#xff09; 推出的一款 高速、低噪聲運算放大器&#xff08;Op-Amp&#xff09;&#xff0c;屬于 ADI的高性能放大器系列&#xff0c;專為…

WPF學習筆記(11)數據模板DataTemplate與數據模板選擇器DataTemplateSelector

數據模板DataTemplate與數據模板選擇器DataTemplateSelector 一、DataTemplate1. DataTemplate概述2. DataTemplate詳解 二、DataTemplateSelector1. DataTemplateSelector概述2. DataTemplateSelector詳解 總結 一、DataTemplate 1. DataTemplate概述 DataTemplate 表示數據…

【V6.0 - 聽覺篇】當AI學會“聽”:用聲音特征捕捉視頻的“情緒爽點”

系列回顧&#xff1a; 在上一篇 《AI的“火眼金睛”&#xff1a;用OpenCV和SHAP洞察“第一眼緣”》 中&#xff0c;我們成功地讓AI擁有了視覺&#xff0c;它已經能像一個嚴苛的“質檢員”一樣&#xff0c;評判我視頻的畫質和動態感。 但我的焦慮并沒有完全消除。因為我發現&a…

(5)pytest-yield操作

1. 簡介 上一篇中&#xff0c;我們剛剛實現了在每個用例之前執行初始化操作&#xff0c;那么用例執行完之后如需要清除數據&#xff08;或還原&#xff09;操作&#xff0c;可以使用 yield 來實現。fixture通過scope參數控制setup級別&#xff0c;既然有setup作為用例之前前的操…

C++中的cmath庫

在C編程中&#xff0c;數值計算是科學計算、工程應用及算法開發的基礎。cmath庫作為C標準庫的重要組成部分&#xff0c;提供了豐富的數學函數和工具&#xff0c;能夠高效處理各種數值計算任務。本文將全面解析cmath庫的核心功能&#xff0c;并通過實戰案例展示其強大威力。 一…

python包管理工具uv VS pip

在 Python 中&#xff0c;uv 和 pip 都是包管理工具&#xff0c;但它們的定位和特性有所不同。以下是主要區別&#xff1a; 1. pip&#xff08;傳統工具&#xff09; 定位&#xff1a;Python 官方的包安裝工具&#xff0c;是 Python 生態中最基礎的包管理器。特點&#xff1a;…

OpenCv基礎(C++)

1.圖像讀取與顯示 #include<opencv2/opencv.hpp> using namespace cv;Mat src imread("C:/Users/16385/Desktop/new/photo/1.jpg");//讀取圖像 Mat src imread("C:/Users/16385/Desktop/new/photo/1.jpg",IMREAD_GRAYSCALE); //將讀取的圖像轉為灰…

MySQL非阻塞創建索引的方法

文章目錄 1. Online DDL (MySQL 5.6)2. pt-online-schema-change 工具3. gh-ost 工具4. 對于MySQL 8.0注意事項 在MySQL中創建大型表索引時&#xff0c;傳統方式會阻塞表的寫操作&#xff0c;影響生產環境使用。以下是幾種非阻塞創建索引的方法&#xff1a; 1. Online DDL (My…

數字雨動畫背景

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>數字雨動畫背景</title><style>* {m…

分布式鎖的概念與應用場景

一、分布式鎖的核心概念 分布式鎖是一種在分布式系統環境下&#xff0c;用于保證多個進程/節點對共享資源實現互斥訪問的機制。其本質是通過某種中間件&#xff08;如Redis、ZooKeeper等&#xff09;實現跨節點的鎖控制&#xff0c;確保在分布式環境中&#xff0c;同一時刻只有…

js代碼09

題目 好的&#xff0c;我們繼續。 在上一個練習中&#xff0c;我們深入探討了 this 的復雜性。你會發現&#xff0c;ES6 引入的 class 語法在很大程度上就是為了簡化 this 的使用&#xff0c;并為 JavaScript 提供一個更清晰、更熟悉的面向對象編程&#xff08;OOP&#xff0…

基于Airtest的App數據爬取實戰:突破傳統爬蟲的邊界

引言:App數據爬取的技術困境 在當今移動優先的時代,App已成為企業核心數據載體,然而??傳統爬蟲技術??在App數據獲取上面臨三大難題: ??協議層屏障??:加密HTTPS、SSL Pinning等技術阻斷中間人攻擊??渲染層障礙??:React Native、Flutter等跨平臺框架使DOM解析…

【LeetCode 熱題 100】560. 和為 K 的子數組——(解法一)前綴和+暴力

Problem: 560. 和為 K 的子數組 題目&#xff1a;給你一個整數數組 nums 和一個整數 k &#xff0c;請你統計并返回 該數組中和為 k 的子數組的個數 。子數組是數組中元素的連續非空序列。 【LeetCode 熱題 100】560. 和為 K 的子數組——&#xff08;解法二&#xff09;前綴和…

android車載開發之HVAC

目前主要在做車載hvac的開發&#xff0c;主要的一些功能主要是hvac&#xff0c;座椅&#xff0c;香氛&#xff0c;設置等的一些模塊&#xff0c;具體模塊下&#xff0c;比如 1.空調 ac&#xff0c;智能模式&#xff08;極速降溫&#xff0c;極速采暖&#xff0c;智能除味&…

深度學習 Diffusers 庫(自留)

&#xff08;本文將圍繞 安裝Diffusers庫及其依賴、理解Diffusers核心概念&#xff1a;Pipeline, Model, Scheduler 、使用預訓練模型進行推理&#xff08;文生圖、圖生圖等&#xff09; 、 自定義模型和調度器 、訓練自己的擴散模型&#xff08;可選&#xff0c;需要大量資源&…

【VPC技術】基礎理論篇

文章目錄 概述相關基礎核心知識軟件定義網絡SDNOverlay 技術 安全組概述 參考博客 &#x1f60a;點此到文末驚喜?? 概述 相關基礎 基本概念 虛擬私有云VPC&#xff1a;是一個隔離的網絡環境&#xff0c;每個VPC擁有專屬的IP地址范圍&#xff08;CIDR&#xff09;、路由表、…

在 RK3588 Ubuntu 上編譯 eglinfo:全流程實戰 + 常見報錯修復

dv1/eglinfo 是一個開源的 EGL 信息檢測工具&#xff0c;廣泛用于 OpenGL ES 圖形棧調試、驅動驗證和嵌入式平臺圖形支持排查。在 Rockchip RK3588 上編譯該工具可以協助我們確認 EGL DRM 是否配置正確&#xff0c;尤其在無窗口系統&#xff08;如 eglfs、framebuffer&#xf…

開源推薦:基于前后端分離架構的WMS倉儲管理系統

開源推薦&#xff1a;基于前后端分離架構的WMS倉儲管理系統 &#x1f525; 在線演示地址&#xff1a;https://tob.toolxq.com/wms/wms.html 點擊上方鏈接可直接體驗系統功能和界面&#xff0c;無需安裝部署 前言 在企業數字化轉型的浪潮中&#xff0c;倉儲管理系統&#xff08…

Redis中List類型常見的操作命令有哪些?

Redis中List類型是一個字符串列表&#xff0c;這里是一些常見的命令&#xff1a; 1&#xff09;lpush:將一個或多個值插入到列表頭部。列表不存在&#xff0c;一個新的列表會被創建。 2&#xff09;rpush:將一個或多個值插入到列表尾部。 3&#xff09;lpop:移除并返回列表頭…

mac重復文件清理,攝影師同款清理方案

攝影師小林盯著屏幕上的警告&#xff1a;“存儲空間不足”&#xff0c;離截稿只剩3小時。她的MacBook如同塞滿回憶的閣樓&#xff0c;128GB的“其他”空間神秘消失。翻看照片庫時&#xff0c;她驚訝地發現——同一組西藏雪山照片竟有十幾個副本&#xff01;這是mac重復文件問題…