C語言查漏補缺:基礎篇

1.原理

C語言是一門編譯型計算機語言,要編寫C代碼,C源代碼文本文件本身無法直接執行,必須通過編譯器翻譯和鏈接器的鏈接,生成二進制的可執行文件,然后才能執行。這里的二進制的可執行文件就是我們最終要形成的可執行程序。

C語言形成可執行程序

C語言形成可執行程序

  1. 每個源文件(.c)單獨經過編譯器處理生成對應的目標文件(.obj為后綴的文件)

  2. 多個目標文件和庫文件經過鏈接器處理生成對應的可執行程序(.exe文件)

2.查詢網站

庫函數查詢:C library - C++ Reference

C語言關鍵字:C 關鍵詞 - cppreference.com

ASCII編碼表:ASCII 碼表 - cppreference.com

  • 字符A~Z的ASCII碼值從65~90

  • 字符a~z的ASCII碼值從97~122

  • 對應的大小寫字符(a和A)的ASCII碼值的差值是32

  • 數字字符0~9的ASCII碼值從48~57

  • 換行\n的ASCII值是:10

  • 在這些字符中ASCII碼值從0~31 這32個字符是不可打印字符,無法打印在屏幕上觀察

4.變量

  1. 局部變量是放在內存的棧區

  2. 全局變量是放在內存的靜態區

  3. 堆區是用來動態內存管理的

5.運算符

#include <stdio.h>int main()
{float x = 6 / 4;int y = 6 / 4;printf("%f\n", x); //1.000000printf("%d\n", y); //1return 0;
}

C 語言里面的整數除法,默認是整除,只會返回整數部分,丟棄小數部分。

如果希望得到浮點數的結果,兩個運算數必須至少有一個浮點數,這時 C 語言就會進行浮點數除法。

#include <stdio.h>int main()
{float x = 6 / 4.0;int y = 6 / 4;printf("%f\n", x); //1.500000printf("%d\n", y); //1return 0;
}

運算符%表示求模運算,即返回兩個整數相除的余值。這個運算符只能用于整數,不能用于浮點數。?

#include <stdio.h>int main()
{int x = 6 % 4;printf("x = %d\n", x);//2return 0;
}

負數求模的規則是,結果的正負號由第一個運算數的正負號決定。

#include <stdio.h>int main()
{printf("%d\n", 11 % -5); // 1printf("%d\n",-11 % -5); // -1printf("%d\n",-11 % 5);  // -1return 0;
}

6.單目操作符

6.1前置++/--

先自增/自減,后賦值;?

#include <stdio.h>int main()
{int a = 10;int b = ++a; printf("a=%d b=%d\n", a, b);//a=11 b=11return 0;
}

6.2后置++/--

先賦值,后自增/自減;?

#include<stdio.h>int main()
{int a = 10;int b = a--;printf("a=%d b=%d\n", a, b);//a=9 b=10return 0;
}

7.占位符?

占位符

描述

%a

十六進制浮點數,字母輸出為小寫

%A

十六進制浮點數,字母輸出為大寫

%c

輸出字符

%d

十進制整數

%e

使用科學計數法的浮點數,指數部分的e為小寫

%E

使用科學計數法的浮點數,指數部分的E為大寫

%i

整數,基本等同于%d

%f

小數(包含float類型和double類型)

%g

6個有效數字的浮點數。整數部分一旦超過6位,就會自動轉為科學計數法,指數部分的e為小寫

%G

等同于%g,唯一的區別是指數部分的E為大寫

%hd

十進制 short int 類型

%ho

八進制 short int 類型

%hx

十六進制 short int 類型

%hu

unsigned short int 類型

%ld

十進制 long int 類型

%lo

八進制 long int 類型

%lx

十六進制 long int 類型

%lu

unsigned long int 類型

%lld

十進制 long long int 類型

%llo

八進制 long long int 類型

%llx

十六進制 long long int 類型

%llu

unsigned long long int 類型

%Le

科學計數法表示的 long double 類型浮點數

%Lf

long double 類型浮點數

%n

已輸出的字符串數量。該占位符本身不輸出,只將值存儲在指定變量之中。

%o

八進制整數

%p

指針

%s

字符串

%u

無符號整數(unsigned int)

%x

十六進制整數

%zd

size_t類型

%%

輸出一個百分號

8.scanf()賦值忽略符*

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>int main()
{int year = 0;int month = 0;int day = 0;scanf("%d%*c%d%*c%d", &year, &month, &day);printf("%d-%d-%d\n", year, month, day);return 0;
}

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

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

相關文章

TPS入門DAY02 服務器篇

1.創建空白插件 2.導入在線子系統以及在線steam子系統庫 MultiplayerSessions.uplugin MultiplayerSessions.Build.cs 3.創建游戲實例以及初始化會話創建流程 創建會話需要的函數&#xff0c;委托&#xff0c;委托綁定的回調&#xff0c;在線子系統接口綁定某一個委托的控制其…

產品經理課程

原型工具 一、土耳其機器人 這個說法來源于 1770 年出現的一個騙局&#xff0c;一個叫沃爾夫岡馮肯佩倫&#xff08;Wolfgang von Kempelen&#xff09;的人為了取悅奧地利女皇瑪麗婭特蕾莎&#xff08;Maria Theresia&#xff09;&#xff0c;“制造”了一個會下國際象棋的機…

nginx中的limit_req 和 limit_conn

在 Nginx 中&#xff0c;limit_req 和 limit_conn 是兩個用于限制客戶端請求的指令&#xff0c;它們分別用于限制請求速率和并發連接數。 limit_req limit_req 用于限制請求速率&#xff0c;防止客戶端發送過多請求影響服務器性能。它通過 limit_req_zone 指令定義一個共享內存…

基于winform的串口調試助手

目錄 一、串口助手界面設計 1.1 串口配置 1.2 接收配置 1.3 發送配置 1.4 接收窗口和發送窗口 1.5 狀態顯示窗口 1.6 串口通訊控件 二、程序編寫 2.1 端口號自動識別并顯示在端口號下拉框 功能說明&#xff1a; 2.2 波特率下拉框顯示 2.3 數據位下拉框顯示 2.4 校…

Docker基礎2

如需轉載&#xff0c;標記出處 本次我們將下載一個 Docker 鏡像&#xff0c;從鏡像中啟動容器 上一章&#xff0c;安裝 Docker 時&#xff0c;獲得兩個主要組件&#xff1a; Docker 客戶端 Docker 守護進程&#xff08;有時稱為“服務器”或“引擎”&#xff09; 守護進程實…

Rocketmq2

一、生產者端防丟失 1. 發送方式選擇 同步發送&#xff1a;使用 send() 方法&#xff0c;等待 Broker 確認響應&#xff08;SendResult&#xff09;&#xff0c;確保消息已成功發送。異步發送&#xff1a;使用 sendAsync() 方法并設置回調函數&#xff0c;處理發送成功 / 失敗…

RabbitMQ詳解,RabbitMQ是什么?架構是怎樣的?

目錄 一,RabbitMQ是什么? 二,RabbitMQ架構 2.1 首先我們來看下RabbitMQ里面的心概念Queue是什么? 2.2 交換器Exchange 2.3 RabbitMQ是什么? 2.4 重點看下優先級隊列是什么? 三,RabbitMQ集群 3.1 普通集群模式 3.2 鏡像隊列集群 一,RabbitMQ是什么? 假設我們程序…

【一步步開發AI運動APP】六、運動計時計數能調用

之前我們為您分享了【一步步開發AI運動小程序】開發系列博文&#xff0c;通過該系列博文&#xff0c;很多開發者開發出了很多精美的AI健身、線上運動賽事、AI學生體測、美體、康復鍛煉等應用場景的AI運動小程序&#xff1b;為了幫助開發者繼續深耕AI運動領域市場&#xff0c;今…

MySQL——DQL的多表查詢

一、交叉連接 標準語法&#xff1a;select * from 表1 cross join 表2 where 表1.公共列 表2.公共列; 簡單語法&#xff1a;select * from 表1 , 表2 where 表1.公共列 表2.公共列; 公共列&#xff1a;兩張表具有相同含義的列&#xff0c;不是列名一樣。 …

【Linux內核】如何更加優雅閱讀Linux內核源碼(vscode)

1. 前言 因為已經習慣在Ubuntu下進行嵌入式工作開發&#xff0c;但Linux源碼在Source Insight下進行閱讀&#xff0c;一直很苦惱Linux/Windows來回切換的開發方式&#xff0c;當前發現可以通過 vscode clangd(擴展組件) 方式進行更好的內核源碼閱讀。 2. 環境 操作系統&…

21.OpenCV獲取圖像輪廓信息

OpenCV獲取圖像輪廓信息 在計算機視覺領域&#xff0c;識別和分析圖像中的對象形狀是一項基本任務。OpenCV 庫提供了一個強大的工具——輪廓檢測&#xff08;Contour Detection&#xff09;&#xff0c;它能夠幫助我們精確地定位對象的邊界。這篇博文將帶你入門 OpenCV 的輪廓…

LETTERS(DFS)

【題目描述】 給出一個rowcolrowcol的大寫字母矩陣&#xff0c;一開始的位置為左上角&#xff0c;你可以向上下左右四個方向移動&#xff0c;并且不能移向曾經經過的字母。問最多可以經過幾個字母。 【輸入】 第一行&#xff0c;輸入字母矩陣行數RR和列數SS&#xff0c;1≤R,S≤…

Day2-2:前端項目uniapp壁紙實戰

再在wallpaper新建一個目錄components 在components下新建組件common-title 記得點擊創建同名目錄 在index加 <view class"select"><common-title></common-title></view> 圖片換了下&#xff0c;原來的有點丑&#xff0c;圖片可按自己喜歡…

其他 vector 操作詳解(四十)

介紹 除去向 vector 添加元素&#xff08;如 push_back&#xff09;之外&#xff0c;vector 還提供了許多其他操作&#xff0c;這些操作大多與 string 的操作類似。通過掌握這些操作&#xff0c;我們可以方便地查詢、修改和比較 vector 中的元素&#xff0c;從而構建靈活、高效…

【Leetcode 每日一題】368. 最大整除子集

問題背景 給你一個由 無重復 正整數組成的集合 n u m s nums nums&#xff0c;請你找出并返回其中最大的整除子集 a n s w e r answer answer&#xff0c;子集中每一元素對 ( a n s w e r [ i ] , a n s w e r [ j ] ) (answer[i], answer[j]) (answer[i],answer[j]) 都應當…

python基礎-13-處理excel電子表格

文章目錄 【README】【13】處理Excel電子表格【13.1】Excel文檔【13.2】安裝openpyxl模塊【13.3】讀取Excel文檔【13.3.1】使用openpyxl模塊打開excel文檔【13.3.2】從工作簿取得工作表【13.3.3】從工作表sheet獲取單元格cell【13.3.5】從表中獲取行和列【13.3.6】工作簿、工作…

ABS函數c++

簡介&#xff1a; abs 函數用于計算一個數的絕對值&#xff0c;在 C 中它繼承自 C 語言的標準庫&#xff0c;其歷史可以追溯到早期的 C 語言發展歷程&#xff0c;以下是詳細介紹&#xff1a; 早期編程語言的需求 在計算機編程的早期階段&#xff0c;處理數學運算就是一項基本…

閉環SOTA!北航DiffAD:基于擴散模型實現端到端自動駕駛「多任務閉環統一」

端到端自動駕駛目前是有望實現完全自動駕駛的一條有前景的途徑。然而&#xff0c;現有的端到端自動駕駛系統通常采用主干網絡與多任務頭結合的方式&#xff0c;但是它們存在任務協調和系統復雜度高的問題。為此&#xff0c;本文提出了DiffAD&#xff0c;它統一了各種駕駛目標并…

整車CAN網絡和CANoe

車載網絡中主要包含有Can網絡,Lin網絡,FlexRay,Most,以太網。 500kbps:500波特率,表示的數據傳輸的速度。表示的是最大的網速傳輸速度。也就是每秒 500kb BodyCan車身Can InfoCan娛樂信息Can 車身CAN主要連接的是ESB電動安全帶 ADB自適應遠光燈等 PTCan動力Can 底盤Can

實戰設計模式之迭代器模式

概述 與上一篇介紹的解釋器模式一樣&#xff0c;迭代器模式也是一種行為設計模式。它提供了一種方法來順序訪問一個聚合對象中的各個元素&#xff0c;而無需暴露該對象的內部表示。簡而言之&#xff0c;迭代器模式允許我們遍歷集合數據結構中的元素&#xff0c;而不必了解這些集…