提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、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;
}