c語言語言相對於c++以此來作為上機演算法題程式語言確實有些語句過於累贅,有些題目的解決的有些複雜,但是對於演算法消耗時間有要求的題目,c語言往往表現的更好,所以我們上機演算法題解決上,我們可以統籌二者的優點,因為c++向下相容c語言,所以我們可以將檔案命名為cpp檔案,這樣可以使用一些c++簡便庫來方便問題解決,也可以在一些語句上面用c語言的表達方式來節省時間。
//c版本
#include
intmain()
//c++版本
#include
intmain()
c++中cin和cout比c語言中scanf和printf寫法簡便很多,但是執行時間效率上c語言明顯佔優勢,所以我推薦盡量寫scanf和printf。
2.1基本資料型別
2.1.1變數定義
定義變數是變數型別+變數名,也可以定義變數的同時賦初值。
變數型別 變數名;
變數型別 變數名 = 初值;
注意:
2.1.2變數型別
整型、浮點型、字元型,c++又包括bool型別。表2-1列出了四種基本型別。
表2-1 四種基本資料型別
總結:
表2-2 scanf格式符
資料型別
格式符舉例
int%d
scanf("%d",&n);
long long
%lld
scanf(「lld」,&n);
float
%fscanf("%f",&fl);
double
%lfscanf("%lf.2",&db);
char
%cscanf("%c",&c);
字串%s
scanf("%s",str);
表2-3 printf格式符
資料型別
格式符舉例
int%d
printf("%d",n);
long long
%lld
printf(「lld」,n);
float
%fprintf("%f",fl);
double
%lfprintf("%.2f",db);
char
%cprintf("%c",&c);
字串%s
printf("%s",str);
2.2常用math函式
2.3陣列
int a[10]
=;int a[5]
[6]=
,,,}
;//其餘用0補充。
memset(a,0,
sizeof
(a));
//陣列a賦初值0.
char str[10]
;scanf
("%s"
,str)
;//如果輸入了空格則停止讀入。
printf
("%s"
,str)
;sscanf
(str,
"%d"
,&n)
;//把字元陣列str中的內容以「%d」的格式寫到n中(從左→右)
int n;
char str[
100]
="123"
;sscanf
(str,
"%d"
,&n)
;printf
("%d\n"
, n)
;//123
int n =
233;
char str[
100]
;sprintf
(str,
"%d"
,n);
//把n以「%d」的格式寫到str字元陣列中(還是從右至左)
printf
("%s\n"
,str)
;
演算法筆記第2章 c c 快速入門
q 整形int和長整型long long的取值範圍分別是多少?整形int 231 231 1 2 2 1 231 231 1 簡單記為109 10 9 109 即可 長整型long long 263 263 1 2 2 1 263 263 1 簡單記為1018 10 10 18即可q 單精度floa...
演算法筆記 第二章c c 快速入門 總結
cin與cout消耗的時間比scanf和printf多得多,建議使用scanf與printf.標頭檔案 include c 中 如int a 1 int的範圍 絕對值在10 9內,printf用 d輸出。long long的範圍 絕對值在10 18內,printf用 lld輸出。long long型...
演算法筆記 第二章 C C 快速入門 學習總結
如果時間充足的話,想學c語言的話推薦去看書 c和指標 然後配著mooc上翁愷老師的課程一起看,看完之後基礎可以比較紮實,如果時間很緊張就仔細閱讀這部分內容,配著翁愷老師mooc一起。由於之前有c的基礎,這學期也在學習c c 可以聽翁愷老師和侯捷老師的課,書用c prime 所以很多基礎的部分就省略掉...