演算法筆記 第一章與第二章 C C 基本語法

2021-10-09 20:14:40 字數 2819 閱讀 9919

取值範圍:-2^31——2^31 - 1;

大致範圍:-2x10^9 ~ 2x10^9;

注意:int + int 以及 int * int 這兩種運算是容易超過int範圍的。

取值範圍:-2^63——2^63 - 1;

大致範圍:-9x10^18 ~ 9x10^18;

注意:如果對long long 型別的變數賦值大於2^31 - 1,則需要在常量後面加上ll(例如: 999999999999999ll),否者編譯錯誤

scanf:%lld;printf:%lld

範圍:-2^128 ——  2^128;

實際精度:6~7位

範圍:-2^1024 —— 2^1024:

實際精度:15~16位

scanf:%lf;printf:%f

經驗:一般碰到浮點數就使用 double 型別, 不推薦使用 float

#define 識別符號 常量                             // 這是符號常量,就是巨集定義

const 資料型別 變數名 = 常量;          // 這是const的常量,也叫作常變數

經驗:define的巨集定義用處很多,例如:#define add(a, b) ((a)+(b))

<>:右移;    &:位與;     |:位或;     ^:位異或;       ~:位取反

7.1:除了 %c 以外,其他的輸入格式會以空白符(空格、換行等)為結束標誌;下次繼續輸入時會自動跳過空白符

7.2:根據7.1,%s 也是以空白符為結束標誌的

7.3:%c 是可以讀入空白和換行的

7.4:如果想輸入一行的話:

使用 gets 輸入 或者 使用 char str[100]  cin.getline(str, 100):這是針對字元陣列

如果是string型別,則可以string str str.getline()

上面的 gets / cin.getline() 以及 str.getline() 都是識別換行符為結束標誌的,所以如果在此之前有使用scanf或者cin                     輸入,這裡再使用整行輸入之前,應該先使用getchar()將前面的換行符給吃掉。

7.5:%lld     %lf

8.1:%md 可以使不足m位的int型變數以 m 位輸出,進行右對齊,其中高位不足的地方用空格補齊;如果超過m位,保持原長度

8.2:%0md 和上面一樣,只是這裡面使用 0 進行補齊操作

8.3:%.mf 可以保留 m 位小數,四捨五入

有時使用scanf 和 printf 輸入和輸出單個字元不是很方便,所以使用這兩個函式,有時會比較方便

能給複雜的資料型別起乙個別名:typedef long long ll

fabs(double x);floor(double x);ceil(double x);pow(double x, double p);sqrt(double x)

log(double x):這是自然對數;sin(double x);cos(double x);tan(double x)

asin(double x);acos(double x);atan(double x);round(double x)

memset(陣列名, 值, sizeof(陣列名)):包含在 cstring 標頭檔案裡面

注意:memset是按位賦值,所以只能賦值 0 或者 -1想賦值其他值,一般使用 algorithm 中的 fill 函式

strlen();strcmp():函式返回的是 小於0的某乙個數 或者是 大於0的某乙個數 或者是 0

strcpy();strcat();sscanf();sprintf()

可以對結構體中的元素逐一賦值

更好的一種方式是寫建構函式

注意:自己寫建構函式的時候,也一定要再寫一下預設建構函式

第一章,第二章總結

主要是一些概念的記憶和理解。比較重點的 軟體 程式 資料 文件 三個維度 build run,moment period,code component 注意 code snapshot memory dump都是run moment code code snapshot 變數的狀態 memory d...

Practical Vim 第一章 第二章

本質上講,我們的工作是重複性的.凡是可以簡化重複性操作的方式,都會成倍地節省我們的時間.vim 對重複性操作進行了優化.它之所以能高效地重複,是因為它會記錄我們最近的操作,讓我們用一次按鍵就能重複上次的修改.這個看似簡單的命令是 vim 中的瑞士軍刀.修改是改變文件內文字的任意操作,分為兩類 它可以...

C語言 第一章第二章

第一章 初識c語言 1.優缺點。優點 強大的控制結構 因為它是當前流行程式語言中最貼近組合語言的,所以它在微調控制上更出色,即能更有效地使用記憶體 快速 這是由c語言的特點決定的,c語言允許直接訪問實體地址,能進行位 bit 操作,能實現組合語言的大部分功能,可以直接對硬體進行操作。生成目標 質量高...