《C語言缺陷和陷阱》-筆記

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 前言
  • 一、pandas是什么?
  • 二、使用步驟
    • 1.引入庫
    • 2.讀入數據
  • 總結

前言

在這一節中,我們將探索對記號的意義的普遍的誤解以及記號和組成它們的字符之間的關系。稍后我們將談到預處理器。

一、==和=

從Algol派生出來的語言,如Pascal和Ada,用:=表示賦值而用=表示比較。而C語言則是用=表示賦值而用==表示比較。這是因為賦值的頻率要高于比較,因此為其分配更短的符號。

這種便捷導致了一個潛在的問題:可能將需要比較的地方寫成賦值。

1.=

在C語言中 = 是賦值運算符,可以對自變量進行賦值。

int a = 0

2.==

?==單個符號,= =是兩個符號

在C語言中 == 才表示判斷是否相等。

常在循環語句和條件判斷語句中使用,作為一個判斷條件。

int a,b;

if(a==b)

{

? ?int c = a + b;

? ?printf("%d\n", c );

}

?二、&和 |? ? ? &&和||

&既是邏輯運算符也是位運算符,作為取地址符時還是單目運算符;

按位與???&

有0為0,同1為1

0111 1101 & 1111 0000 =0111 0000 ;

?按位 ?|??

有1為1,同0為0

0111 1101 |1111 0000 = 1111 1101;

邏輯運算符 &&

都為真,則結果為真;否則結果為假。

? ||?

如果兩個操作數中至少有一個為真,則結果為真;如果兩個操作數都為假,則結果為假。
?

二、復合操作符

C語言參考手冊說明了如何決定:“如果輸入流到一個給定的字符串為止已經被識別為記號,則應該包含下一個字符以組成能夠構成記號的最長的字符串”

在C語言中既有 / ,* ,= 這樣的單目操作符,又有想 ==,!=,這樣的復合操作符。當C編譯器遇到緊連在一起的/和*時,要特別注意它們和其他操作符的間隔。

例如:/**/是用

如果/是一個記號的第一個字符,并且/后面緊隨了一個*,則這兩個字符構成了注釋的開始,不管其他上下文環境。

i = j /*p? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?當*/之間沒有隔開,就會從將p注釋;

所以,可以這樣改動

i = j / *p 或? i = j /(*p)

模棱兩可的寫法容易造成麻煩,因此我們在寫代碼中盡量避免。

三、字符串和字符

單引號(‘ ’)和雙引號(“ ”)在C中的意義完全不同

1.單引號

單引號(‘ ’)里是一個字符

char arr[] = {'H','e','l','l','o',' ','w','o','r','l','d'};

?可以用此字符串表示一個大數來節約空間,但是不推薦這么做,這樣會報錯。

2.雙引號(“ ”)

雙引號(“ ”)里默認結尾有/0表示訪問結束。

雙引號(“ ”)在打印時,常使用

printf(“? ? ”)

使用一個指針來代替一個整數通常會得到一個警告消息(反之亦然),使用雙引號來代替單引號也會得到一個警告消息(反之亦然)

楊氏矩陣

#include<stdio.h>
int find_num(int arr[3][3], int* px, int* py, int k)
{
?? ?int x = 0;
?? ?int y = *py - 1;
?? ?while (x < *px && y >= 0)
?? ?{
?? ??? ?//向下查找
?? ??? ?if (k > arr[x][y])
?? ??? ?{
?? ??? ??? ?x++;
?? ??? ?}
?? ??? ?//向左查找
?? ??? ?else if (k < arr[x][y])
?? ??? ?{
?? ??? ??? ?y--;
?? ??? ?}
?? ??? ?//找到了
?? ??? ?else
?? ??? ?{
?? ??? ??? ?*px = x;
?? ??? ??? ?*py = y;
?? ??? ??? ?return 1;
?? ??? ?}
?? ?}
?? ?return 0;
}
int main()
{
?? ?int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };
?? ?int k = 0;
?? ?scanf("%d", &k);
?? ?int x = 3;
?? ?int y = 3;
?? ?int ret = find_num(arr, &x, &y, k);
?? ?if (ret == 1)
?? ?{
?? ??? ?printf("找到了,下標是%d %d\n", x, y);
?? ?}
?? ?else
?? ?{
?? ??? ?printf("找不到\n");
?? ?}
?
?? ?return 0;
}


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

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

相關文章

指針習題二

使用函數指針實現轉移表 #include <stdio.h> int add(int a, int b) {return a b; } int sub(int a, int b) {return a - b; } int mul(int a, int b) {return a * b; } int div(int a, int b) {return a / b; } int main() {int x, y;int input 1;int ret 0;int(*p[…

學習python時一些筆記

1、winr 命令提示符的快捷鍵 輸入cmd進入終端 2、在終端運行桌面上的python文件 cd desktop(桌面) cd是進入該文件夾的意思。 cd .. 回到上一級 運行python時一定要找到文件的所在地 輸入python進入&#xff0c;exit()退出%s字符串占位符%d數字占位符%f浮點數占位符input輸…

Linux速覽(1)——基礎指令篇

在上一章對Linux有了一些基礎了解之后&#xff0c;本章我們來學習一下Linux系統下一些基本操作的常用的基礎指令。 目錄 1. ls 指令 2. pwd&&whoami命令 3. cd 指令 4. touch指令 5.mkdir指令&#xff08;重要&#xff09;&#xff1a; 6.rmdir指令 && …

vue面試題:如何保存頁面的當前的狀態?

如何保存頁面的當前的狀態&#xff1f; 既然是要保持頁面的狀態&#xff08;其實也就是組件的狀態&#xff09;&#xff0c;那么會出現以下兩種情況&#xff1a;組件會被卸載&#xff1a;&#xff08;1&#xff09;將狀態存儲在LocalStorage / SessionStorage優點&#xff1a;缺…

帶大家做一個,易上手的水煮牛肉

今天帶大家做川菜系中的 水煮牛肉 這個菜是比較費辣椒的 制作成本相對一般菜來說 會高一些 一塊牛肉 泡水劃冰 從超時買的干腐竹 切成小片 溫水浸泡五分鐘 泡軟它 然后撈出來 去干水分 牛肉切片 盡量切薄一點 三瓣左右蒜 一塊生姜 去皮切末 牛肉中下入 一個雞蛋 小半勺…

python實現視頻或音頻轉文本

python實現視頻或音頻轉文本 當然可以,以下是您的Python語音視頻轉文本代碼的描述: 內容概要: 這段Python代碼利用強大的語音識別庫,能夠自動將本地存儲的語音視頻文件轉換成文本。它通過分析音頻軌道中的語音數據,識別并轉錄為可編輯和可搜索的文本格式。 適用人群: …

裝修必看干貨|入戶玄關設計進門就是客廳應該怎么設計?福州中宅裝飾,福州裝修

入戶玄關設計在進門就是客廳的情況下&#xff0c;想要擁有單獨的玄關空間&#xff0c;以下是五點設計建議&#xff1a; ①隔斷屏風 使用隔斷屏風是傳統而常見的一種空間分割方法。可以選用木制、金屬或玻璃等材質的屏風&#xff0c;根據需要進行靈活搭配和定制。 屏風的款式和…

Python爬蟲——Urllib庫-1

這幾天都在為了藍橋杯做準備&#xff0c;一直在刷算法題&#xff0c;確實刷算法題的過程是及其的枯燥且枯燥的。于是我還是決定給自己找點成就感出來&#xff0c;那么Python的爬蟲就這樣開始學習了。 注&#xff1a;文章源于觀看尚硅谷爬蟲視頻后筆記 目錄 Urllib庫 基本使…

【C++】字符串 1478 - 出現次數最多的小寫字母 1475 - 字符串對比 1098 - 判斷是否構成回文 1102 - 字符串中的空格移位

文章目錄 問題一&#xff1a;1478 - 出現次數最多的小寫字母問題二&#xff1a;1475 - 字符串對比問題三&#xff1a;1098 - 判斷是否構成回文問題四&#xff1a;1102 - 字符串中的空格移位五、感謝 問題一&#xff1a;1478 - 出現次數最多的小寫字母 類型&#xff1a;字符串 …

oracle基礎體系

一、 Oracle數據庫服務器 數據庫在各個行業都會有使用到&#xff1b;其實&#xff0c;我們平時無論是在與客戶溝通或者交流中&#xff0c;所說的Oracle數據庫是指Oracle數據庫服務器&#xff08;Oracle Server&#xff09;&#xff0c;它由Oracle實例&#xff08;Oracle Instan…

什么是杠桿?WeTrade眾匯這樣舉例,大家都明白

杠桿是投資交易者一定要知道的一個金融術語。那么什么是杠桿呢?下面WeTrade眾匯就用蘋果進行舉例&#xff0c;大家就都會明白&#xff0c;原來如此簡單。 發揮我們投資者的想象&#xff0c;我們現在要進行一場蘋果的買賣&#xff0c;能夠賺錢的本質就是高買低賣&#xff0c;所…

二十篇esp3454

jfjjfj from machine import I2C,Pin from ssd1306 import SSD1306_I2C i2c I2C(sdaPin(“Y8”), sclPin(“Y6”)) oled SSD1306_I2C(128, 64, i2c, addr0x3c) oled.text(“Hello World!”, 0, 0) oled.text(“MicroPython”, 0, 20) oled.text(“By 01Studio”, 0, 50) oled…

【在巴厘島學點印尼語】日常篇

BINTANG BIR 檳棠啤酒 今天不寫代碼&#xff0c;在巴厘島休養&#xff0c;順便聊點印尼語。 印尼語&#xff0c;Bahasa Indonesia&#xff0c;是印度尼西亞的官方語言&#xff0c;也即印尼化的馬來語廖內方言&#xff0c;其變種包括 爪哇語&#xff08;島民方言&#xff09; 等…

如何選擇適合電商的WordPress主題模板?

選擇適合電商的WordPress主題模板時&#xff0c;首先應考慮主題模板是否與WooCommerce兼容。WooCommerce是WordPress中一個強大的電商插件&#xff0c;能夠幫助用戶實現在線電子商務銷售或產品展示。因此&#xff0c;選擇一個與WooCommerce高度兼容的主題模板至關重要。 其次&…

5.測試教程 - 進階篇

文章目錄 1.按測試對像劃分1.1**界面測試**1.2**可靠性測試**1.3**容錯性測試**1.4**文檔測試**1.5**兼容性測試**1.6**易用性測試**1.7**安裝卸載測試**1.8**安全測試**1.9**性能測試**1.10**內存泄漏測試** 2.按是否查看代碼劃分2.1黑盒測試(Black-box Testing)2.2白盒測試(W…

部署kubernetes-dashboard改成http免密登錄

原始鏈接地址 https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 修改Service端口 增加80端口&#xff0c;改成http訪問 修改前: spec:ports:- port: 443targetPort: 8443selector:k8s-app: kubernetes-dashboard修改后&#xff…

snakemake: 基本語法知識點

Snakemake 使用一種基于 Python 的語法來定義工作流&#xff0c;允許用戶編寫規則&#xff08;rules&#xff09;來指定數據分析流程中的各個步驟。以下是一些基礎語法知識點&#xff0c;幫助你理解和使用 Snakemake。 1. 規則&#xff08;Rules&#xff09; 規則是 Snakemak…

【ROS源碼閱讀】

項目需要研讀ROS源碼&#xff0c;這其中碰到的一些問題記錄一下&#xff1a; 源碼編譯過程 (1) 在ubuntu 18.04 上安裝ROS melodic的版本。 (2) 下載源碼&#xff0c; ROS源碼鏈接&#xff1a; https://github.com/ros/ros_comm/tree/melodic-devel/ros_comm(3) 編譯 例如想…

圖像增強預處理對于深度學習訓練的提高有幫助嗎?

答案&#xff1a;圖像增強預處理對于深度學習訓練非常有幫助&#xff0c;它可以顯著提高模型的性能和泛化能力。 圖像增強包括許多技術&#xff0c;可以通過各種方法改進圖像數據&#xff0c;使其更適合訓練深度學習模型。 可以增加數據集的多樣性&#xff0c;減少模型對特定圖…

書生浦語全鏈路開源體系

推薦閱讀論文 A Survey Of Large Language Models 書生浦語開源的模型 從模型到應用 書生浦語開源體系 書生萬卷開源數據集 除此之外還有OpenDataLab國內數據集下載網站。 預訓練框架InterLM-Train 微調框架XTuner 評測工具體系 國內外常見的大語言模型評測基準&#xff1a…