一 工具VS2013
本質:集成開發環境(IDE)包括編輯器 編譯器 調試器 等
操作:
Ctrl+F5 運行
F5 調試
逐語句:F11 逐過程:F10
Ctrl+K+C 注釋
Ctrl+K+U 取消注釋
Ctrl+滾輪 放大縮小
二 項目文件分析
.sln:打開項目(解決方案)
.sdf:分析文件
.cpp:源文件
.h :頭文件
一般源文件和頭文件是成對出現,文件名相同(hero.h hero.cpp)
三 程序
1 流程
a 程序員在編輯器編輯代碼-->編譯器編譯-->運行 需要調試時 由程序員手動啟動調試器(一般需要斷點)
b 程序執行順序:從上往下執行 遇到特定結構,按照語法規則執行
2 入口
main()函數 是程序的入口 又叫主函數、入口函數
每個項目有且僅有一個
3 注釋
// 單行注釋
/*
多行注釋
*/
注釋是不會被程序執行
4 代碼
主函數中,return語句下面的代碼 不會被執行
5 引用頭文件時,<> 和 "" 的區別
<>:直接在系統目錄下查找文件,找不到就報錯 "":先在當前目錄下查找文件,找不到就在系統目錄下查找文件,再找不到就報錯 總結:為了程序執行的速度合理選擇查找方式 一般情況下,自定義文件使用"",系統文件使用<>
四 輸入輸出
int a,b,c;
scanf("%d %d,%d",&a,&b,&c);//注意先空格再逗號 ==>規定輸入格式,輸入時必須按照指定各式輸入
printf("a=%d,b=%d,c=%d\n",a,b,c);// 注意順序
char ch;
scanf("%c",&ch);
printf("ch = %c",ch);
printf("ch = %d",ch);
C++:
int e,f,g;
cin>>e>>f>>g;
cout<<"e="<<e<<" f="<<f<<" g="<<g<<endl;
C語言和C++語言的關系:
· C語言和C++是兩門不同的語言
· C++包含了幾乎全部的C語言內容
· C語言:面向過程的語言 C++:既可以面向過程又可以面向對象的語言
· C++是在C語言的基礎上發展而來,C++在C語言的基礎上增加了“類”的概念,從而可以實現面向對象編程
五 進制轉換
內存:基本單位:字節(一個字節存儲8位二進制)
概念:滿幾進一 就是幾進制
常用進制:二進制 八進制 十進制 十六進制
注意:三位二進制對應一位八進制 四位二進制對應一位十六進制
八進制:017 023 0開頭表示八進制
十六進制: 0XA5 0xa5 0x或0X開頭表示十六進制
二進制 0 1 (和十進制轉換的方法)
八進制 0 1 2 3 4 5 6 7
十進制 0 1 2 3 4 5 6 7 8 9
十六進制 0 1 2 3 4 5 6 7 8 9 a b c d e f 或 0 1 2 3 4 5 6 7 8 9 A B C D E F
六 常量和變量
常量:固定不變的量 不能賦值 (字符 數值 地址)
變量:可以改變的量 可以賦值
七 基本數據類型(變量)
整 型:整數類型
short(2) 短整型
int(4) 整型
long(4) 長整型
long long (8)
浮點型:
float(4) 單精度浮點型
double(8) 雙精度浮點型
long double (8) 擴展精度浮點數
float number = 3.14e3;//3.14*10^3 科學計數法 e后面必須是整數
printf("number = %5.2f\n",number);//寬度為5 兩位小數 總寬度可以超過5,不足用空格在前面補齊
字符型:
char(1)
1 char與字母
char ch = 'a';
printf("ch = %c\n", ch);//指定輸出格式為字符(%c)
printf("ch = %d\n", ch);//(%d)==>字符型和整數可以相互轉換 (ASCII)
char ch1 = 99;
printf("ch1 = %c\n", ch1);
printf("ch1 = %d\n", ch1);
char ch2 = '\141';
// \后面可以跟三位八進制 \是一個字符 叫做轉義字符
// 由於char類型表示的范圍有限最大'\377'
printf("ch2 = %c\n", ch2);
printf("ch2 = %d\n", ch2);
char ch3 = 0X42;
printf("ch3 = %c\n", ch3);
printf("ch3 = %d\n", ch3);
總結:可以給char類型變量賦字符、數值,但是八進制要'\141'
數值最大不能超過char的表示范圍
// ASCII碼 a:97 A:65 差值:32
// b:98 B:66 插值:32
// ……
// 同一個字母,大小寫之間,ASCII碼值,相差32
// 1 char類型可以用數值賦值
// 2 可以運算
// 字母大小寫轉換時,小寫變大寫減去32,大寫變小寫加上32
char ch5 = 'C';
ch5 = ch5 + ('b'-'B');
printf("ch5 = %c\n", ch5);//c 此時ch5的值已經變成了'c'
ch5 = ch5 + 1;
printf("ch5 = %c\n", ch5);//d
printf("ch5 = %d\n", ch5);//100
printf("ch5 = 0%o\n", ch5);//144
printf("ch5 = 0X%X\n", ch5);//64
2 char與數字
char ch1 = '1'; // 數字字符'1'
printf("ch1 = %d\n", ch1); // 對應的ASCII碼值 49
printf("ch1 = %c\n", ch1); // 1
char ch2 = 1; // 數字1
printf("ch2 = %d\n", ch2); // 1
printf("ch2 = %c\n", ch2); // ASCII碼值為1的字符
char ch3 = '1';
ch3 = ch3 - 48; // 48:數字1的ASCII碼值為49 (49 - 1) ('1'-1)
printf("ch3 = %d\n", ch3); // 1
printf("ch3 = %c\n", ch3); // ASCII碼值為1的字符
注意:數字和數字字符不一樣 數字有很多 數字字符只有 '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'
布爾型:
bool(1) 取值:true (1) false(0)
除了0 都是真
// 布爾型數據
// 整個數據類型 只有兩個值:true(真 1) false(假 0)
// 除了0之外 其他的值都為真
// 定義一個布爾型變量:
// 類型 變量名;
bool isLive; // 定義
isLive = true; // 賦值
printf("isLive:%d\n", isLive);
isLive = false;
printf("isLive:%d\n", isLive);
isLive = 100;
printf("isLive:%d\n", isLive);
isLive = -199;
printf("isLive:%d\n", isLive);
isLive = 0;
printf("isLive:%d\n", isLive);
bool is = true; // 定義且初始化
printf("is:%d\n", is);
signed(有符號的) unsigned(無符號的) :
起修飾作用 表示數據有無符號 一般signed可以省略
八 定義變量
類型 變量名;
變量名:合法標識符
1 由數字、字母、下划線組成
2 開頭不能是數字(一般不用下划線開頭)
3 不能是關鍵字,區分大小寫(關鍵字:保留字:系統已經用了的名稱)
一般注意顧名思義
了解使用常見命名方法 駝峰寫法 匈牙利命名法
1 定義的同時 初始化
int number = 10;
2 先定義 之后再賦值
int number ; number = 9 ;
九 通過字節數求數據類型的取值范圍
求字節數:sizeof() 括號里面可以寫類型名稱,也可以寫變量名,也可以直接寫值 注意:在VS中 整數默認是int類型,小數默認是double類型
char類型取值范圍:(256個)
有符號的:-128 ~ 127
無符號的:0 ~ 255
short類型取值范圍:(65536個)
有符號的:-32768 ~ 32767
無符號的:0 ~ 65535
數據溢出:數據的數值大小超過了類型的表示范圍
太大: 數據-范圍 一直減 直到數據大小在范圍內
太小:數據+范圍 一直加 直到數據大小在范圍內
選擇數據類型:
1 根據數據的類型選擇類型
2 在不溢出的情況下,選擇內存小的類型(字節數少的內存小)