C語言:位運算、分支、循環
位運算、分支、循環 一、基礎語法 1.1 位運算符 運算符 術語 示例 結果 按位與 011 101 2個都為1才為1,結果為001 \ 按位或 011 \ 101 有1個為1就為1,結果為111 ^ 按位異或 011 ^ 101 不同的為1,
Nickname 哈哈哼嘿
Contributes27
Followers0
位運算、分支、循環 一、基礎語法 1.1 位運算符 運算符 術語 示例 結果 按位與 011 101 2個都為1才為1,結果為001 \ 按位或 011 \ 101 有1個為1就為1,結果為111 ^ 按位異或 011 ^ 101 不同的為1,
Nickname 哈哈哼嘿
質數(英文名:Prime number)又稱素數,是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。質數又稱素數。 以100~200之間的素數計算為例,通過以下C語言程序可以很容易地實現。需要包含頭的文件有stdio.h。 #includestdio.h int main() { int i = 0; for (i = 100; i = 200; i++)
Nickname BlackQid
略想了一下才發現,自己好像有大半年都沒有關注過 TIOBE 社區了。 TIOBE 編程社區相信大家都聽過,這是一個查看各種編程語言流行程度和趨勢的社區,每個月都有榜單更新,每年也會有年度榜單和總結出爐。 昨晚在家整理瀏覽器收藏夾時,才想起了 TIOBE 社區,於是打開看了一眼最近的 TIOBE 編程語言社區指數。 沒想到,Java 居然已經跌出前三了,並且和第一名 Python 的差距也進一步拉
Nickname CodeSheep
函數指針、數組、結構體 一、函數指針 1.1 函數名 一個函數在編譯時被分配一個入口地址,這個地址就稱為函數的指針,函數名代表函數的入口地址 #include stdio.h // 一個函數在編譯時被分配一個入口地址,這個地址就稱為函數的指針,函數名代表函數的入口地址 void func() { printf("這是func函數內部的打印\n"); } int main() {
Nickname 哈哈哼嘿
day05:複合類型、內存管理、綜合案例 一、複合類型(自定義類型) 1.1 共用體(聯合體) 共用體和結構體區別 特性 結構體 (struct) 共用體 (union) 存儲方式 各成員順序存儲,擁有獨立的內存空間。 所有成員共享同一塊起始內存空間。 內存佔用 所有成員大小之和(需考慮內存對齊)。
Nickname 哈哈哼嘿
關鍵詞:隨機數 設計要求:生成一個100~200之間的隨機數,玩家有5次猜數字的機會。 以下為完整代碼。 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #includestdlib.h #includetime.h void menu() { printf("***** 猜數字遊戲 *****\n"); printf("
Nickname BlackQid
Flex 與 Bison 快速入門:打造腳本語言前端 一、介紹 在現代軟件開發中,編譯器和解釋器是許多高級語言的基礎架構。而詞法分析和語法分析則是編譯器前端的核心組成部分。Flex 和 Bison 作為開源的詞法分析器和語法分析器生成工具,為開發者提供了高效構建語言解析系統的能力。 Flex(Fast Lexical Analyzer)是一個詞法分析器生成工具,能夠根據正則表達式規則生成詞法分析器
Nickname 愚人貓Idiomeo
寫代碼時隨手寫下的函數調用,背後藏着一套計算機嚴格遵守的"操作手冊"。為什麼參數傳遞要"倒着來"?棧幀是如何"搭起來"又"拆乾淨"的?今天就用32位程序的實例,帶你透過彙編指令看清函數調用的底層邏輯。 一、從一段加法代碼説起 先看這段再普通不過的代碼: int add_func(int a, int b) { int sum = 0; sum = a + b; return
Nickname 深盾安全
本文由 愚人貓(Idiomeo) 編寫 推薦閲讀我的博客原文 一.LLM 的數學基礎 大語言模型 (LLM) 的底層實現離不開紮實的數學基礎,這部分將系統梳理支撐 LLM 的核心數學理論,為後續的代碼實現奠定理論基礎。 線性代數:LLM 的基礎語言 線性代數是理解和實現 LLM 的基礎,特別是矩陣運算構成了神經網絡的核心操作。在 LLM 中,文本被表示為向量或矩陣形式,模型通過矩陣變換和運
Nickname 愚人貓Idiomeo
0 掃雷遊戲的簡介 掃雷是一款經典的益智遊戲,目標是在最短時間內找出所有非雷格子,同時避免踩雷。 基本玩法:在掃雷中,玩家需要點擊方格,方格中會顯示數字,表示該格子周圍8個格子中雷的數量。玩家可以根據這些數字推導出安全格和雷的位置。 1 掃雷遊戲的分析和設計 1.1 掃雷遊戲的功能説明 使用控制枱實現經典的掃雷遊戲 遊戲可以通過菜單實現繼續玩或者退出遊戲 掃雷的棋盤是9*9的格子 默
Nickname BlackQid
作業標題(728) 喝汽水問題 作業內容 喝汽水,1瓶汽水1元,2個空瓶可以換一瓶汽水,給20元,可以喝多少汽水(編程實現)。 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h int Total1(int money) { int total = money; int empty = money; while (emp
Nickname BlackQid
1 遞歸是什麼? 遞歸是一種解決問題的方法,在C語言中,遞歸就是函數自己調用自己。 1.1 遞歸的思想 把一個大型複雜問題層層轉化為一個與原問題相似,但規模較小的子問題來求解;直到子問題不能再被拆分,遞歸就結束了。所以遞歸的思考方式就是把大事化小的過程。 遞歸中的遞就是遞推的意思,歸就是迴歸的意思,接下來慢慢來體會。 1.2 遞歸的限制條件 遞歸在書寫的時候,有2個必要條件: 遞歸存在限制條件
Nickname BlackQid
1 單身狗 在一個整型數組中,只有一個數字出現一次,其他數組都是成對出現的,請找出那個只出現一次的數字。 例如:數組中有:1 2 3 4 5 1 2 3 4,只有5出現一次,其他數字都出現2次,找出5 需要用到的知識: 按位異或 ^ 將其第一操作數的每個位(補碼)與其第二操作數的相應位進行比較。如果其中一個操作數中的位為 0,而另一個操作數中的位為 1,則相應的結果位設置為 1(即標記不同)。
Nickname BlackQid
📊 流行語言面向對象特性對比 排名 語言 OOP範式 類 繼承 封裝 多態 接口/協議 特色功能 1 Python 多範式支持OOP ✅ 多繼承 命名約定 鴨子類型 抽象基類 Mixins, 裝飾器 2 C 過程式 ❌
Nickname 木子君_求贊
1 const修飾指針 const 是 constant 的縮寫,本意是不變的,不易改變的意思。在 C++ 中是用來修飾內置類型變量,自定義對象,成員函數,返回值,函數參數。 C++ const 允許指定一個語義約束,編譯器會強制實施這個約束,允許程序員告訴編譯器某值是保持不變的。如果在編程中確實有某個值保持不變,就應該明確使用const,這樣可以獲得編譯器的幫助。 https://www
Nickname BlackQid
1 數組名的理解 在C/C++中,數組名在表達式中使用時,通常會轉換為指向數組首元素的指針(區別數組指針)。此規則有兩個例外。 作為 sizeof 運算符的操作數:sizeof(arr) 返回的是整個數組所佔的字節大小,而非指針大小。 作為 運算符的操作數:arr 產生的是一個指向整個數組的指針(類型為 int(*)[10]),而非指向首元素的指針(類型為 int*)。 實例分析(假設有
Nickname BlackQid
最近小編客户研發的一款產品在調試語音與上位機通訊總是出現個別產品功能異常,請啓英泰倫協助分析解決。小編分析發現異常原因為語音芯片和上位機芯片均存在頻偏,兩者頻偏相加後導致串口通訊波特率偏差較大,串口通訊失敗。小編根據啓英泰倫AI平台提供的方法在語音芯片加上了串口波特率自適應後解決了客户的問題。因此小編希望通過本篇文章幫助用户提前規劃好晶振方案、規避後期調試問題。小編就由淺入深來和大家一起探討一下啓
Nickname 啓英AI平台
堆排序(Heap Sort)完整指南 維度 內容 核心思想 用數組模擬完全二叉堆,反覆彈出最大值(或最小值)完成排序 平均複雜度 O(n log n) 最壞複雜度 O(n log n) (無退化) 額外空間 O(1) (原地) 穩定性 否 (相等元
Nickname 木子君_求贊
”指針是C語言的精髓!“ ——出自學校教《C語言程序設計》的老師 1 內存和地址 1.1 內存 為了理解指針,首先要從內存和地址講起。 在講之前,先舉一個現實世界中的例子。大學宿舍都有門牌號,當需要找到某個學生時,我們只需要知道宿舍的門牌號就可以了。 在計算機中內存很重要,程序經常需要從內存中讀取和寫入數據。在購買電腦的時候,內存的大小常有8/16/32GB等,這些空間又是如何被管理的? 其實也是
Nickname BlackQid
嘿,各位C++er們!我是小康。 👋 今天我要給大家揭秘一個讓無數程序員拍案叫絕的"黑科技"——侵入式鏈表! 你可能會問:不就是個鏈表嗎,有什麼神奇的? 別急,當你看完這篇文章,你會發現這個看似簡單的數據結構,竟然是Nginx、Linux內核、TCMalloc等頂級項目的性能秘密武器! 🤔 從一個"奇怪"的現象説起 先看一段讓人疑惑的代碼: // 這段代碼在幹什麼?為什麼要這樣寫? stati
Nickname 小康
🚫 付費插件黨建議划走 🎯 白嫖黨、多語言戰士、IDE統一教信徒請繼續 💡 想體驗"一個IDE學多種語言"的快感嗎?這篇指南就是你的答案! 🙏 大家好! 最近一直在爆肝更新"四語言同步學"教程,C/C++系列一直未來得及更(求輕噴😅)。今天特地為大家帶來一篇純白嫖向的實用指南—— 今天特地為大家帶來一篇實用指南——JetBrains IDE外部工具配置C/C++開發環境。 這可能是
Nickname ERP老兵_冷溪虎山
🏆🏆為什麼別人的 CLion 運行 C/C++ 項目絲滑流暢,而你的卻頻繁卡頓、編譯轉圈? ✅秘密就藏在這個 clion.vmoptions文件裏! 作為 IDEA/PyCharm/WebStorm/GoLand 調優系列的續集⏬ 🏅我把我壓箱底的 CLion 性能調優參數表 分享出來——包含 JVM 堆內存優化、垃圾回收策略、CMake 構建加速 等關鍵設置; 💎還附上每項
Nickname ERP老兵_冷溪虎山
一次基於“時間回溯”的10分鐘級故障排查,獻給所有迷信新工具的程序猿🎰🎰。 ✅上週調試一個 Node.js + Go 的混合項目時: Python|Java則無影響,這次我遇到了職業生涯最詭異的 Bug——Ninja 切換指定模式後,Node 和 Go 突然卡死,控制枱像被凍住了一樣!❌ 更離譜的是,這個問題只出現了一次,10 分鐘後我覆盤解決了,之後無論怎麼復現都失敗😂😂!
Nickname ERP老兵_冷溪虎山
本文出自“Python為什麼”系列,歸檔在 Github 上:https://github.com/chinesehuazhou/python-whydo 毫無疑問,Python 是一門強類型語言。強類型語言。強類型語言!(關於強弱類型話題,推薦閲讀這篇 技術科普文) 這就意味着,不同類型的對象通常需要先做顯式地類型轉化, 然後才能進行某些操作。 下面以字符串和數字為例,看看強行操作會產生什
Nickname 豌豆花下貓