主要知識點概述
- 常量與變數:常量和符號常量、變數等
- 整型資料:整型常量、整型變數等
- 浮點型資料:浮點型常量、浮點型變數等
- 字符型資料:字符常量、字符變數、字串常量等
- 變數賦初值:變數初始、函式的首部、函式體等
- 各類數值型資料間的混合運算
- 算術運算子和算術運算式:基本的算術運算子、運算子的優先級與結合性、
- 強制型別轉換運算子等
- 賦值運算子合賦值運算式:賦值運算子、型別轉換、賦值運算式等
- 逗號運算子和逗號運算式
基礎知識
1. 變數:裝資料的容器,資料變,容器不變
變數在使用前要先定義,基本格式:變數型別 變數名1,變數名2,……;
Ex:int a,b,c;int a=0,b,c=0;//初始化
2. 變數名:由字母(‘_’被看作字母)和數字組成的序列,但第一個字符必須是字母;大小寫字母是有區別的;關鍵字不能作為變數名
3. 四種基本型別
char 字符型,占用一個字符長度,存放一個字符
int 整型,通常占4個位元組
float 單精度浮點型
double 雙精度浮點型
資料型別框架圖:

4. 施加在基本型別上的限定符
short int a;//int可省略不寫
long int a;
short 限定符盡可能的使int變短,long盡可能的使int變長
signed與unsigned可用來限定char型和所有整型
signed 整型等價于整型
unsigned 整型使得原有整型長度不變,符號位變成了資料位,僅能表示0和正數
signed char 強制char可以存盤有符號整數
unsigned char 強制char可以存盤無符號整數
5. 整數常量進制表示
0 表示八進制
0x 表示十六進制
6. 字符常量
使用單引號將字符括起來,參與運算時對應的是ASCII碼值
7. 轉義字符(一般不可顯示的,帶有功能性的字符)
\a 響鈴符
\n 換行符
\0 字串結束的標識
8. 字串常量
用雙引號包裹起來的≥0的字符組成的序列為字串常量
9. 算數運算子:+、-、/、*、%、++自增、--自減
%取余:x%y結果是x除以y的余數部分;x和y必須是整型運算元;在有負運算元的情況下,取模運算結果的符號取決于具體機器的實作
/除法:整數除法會截斷結果中的小數部分
++自增:y=++x表示先自加后賦值;y=x++表示先賦值后自加
10. 關系運算子:<、>、<=、>=、==等于、!=不等于
x>y x大于y回傳真,否則回傳假
x>=y x不小于y回傳真,否則回傳假
x==y x等于y回傳真,否則回傳假
關系運算式的值是一個邏輯值,即“真”或“假”,“真”的運算式的值為1,“假”的運算式的值為0,
11.邏輯運算子:&&且,||或,!非
邏輯運算子中的“&&”和“||”低于關系運算子,“!”高于算術運算子,
12.賦值運算子:=、+=、-=、/=、%=
a%=10;等價于a=a%10;
13.位運算子:&、|、<<左移一位、>>、^
<<左移一位:包含處理函式#include<bitset>
Ex:
#include<iostream> #include<bitset> using namespace std; int main(){ short int x=-178; short int y=x<<1; cout<<bitset<sizeof(x)*8>(x)<<endl; cout<<bitset<sizeof(y)*8>(y)<<endl; cout<<y<<endl; return 0; } 結果: 1111111101001110 1111111010011100 -356
14. 型別轉換(只體現在結果上,不改變被轉換變數的型別)
(1)自動轉換
a. 賦值陳述句中的自動轉換:float a=100;int b=a;
Ex:
#include<iostream> using namespace std; int main(){ unsigned int a=1; int b=-2; long c=-2; cout<<a+b<<endl; cout<<a+c<<endl; return 0; } 結果: 4294967295 -1
b. 混合運算中的自動轉換,短的型別向長的型別轉換:1+1.1

(2)強制轉換
(型別名)運算式
Ex:(float)a;//將變數a轉換為float型別
(int)(b+c);//把運算式a+b的結果轉換成int型
(float)5;//將數值5(默認為int型別)轉換為float型
15.整型型別的有關資料
| 型別 | 型別說明符 | 長度 | 數的范圍 |
| 基本型 | int | 2位元組 | -32768~32767 |
| 短整型 | short | 2位元組 | -215~215-1 |
| 長整型 | long | 4位元組 | -231~231-1 |
| 無符號整型 | unsigned | 2位元組 | 0~65535 |
| 無符號長整型 | unsigned short | 2位元組 | 0~65535 |
| 無符號短整型 | unsigned long | 4位元組 | 0~(232-1) |
16.浮點型常量指數表示方法的注意點:字母e(或E)之前必須有數字,且e后面 的指數必須是整數
17.浮點型變數的有關資料
| 型別 | 位數 | 數的范圍 | 有效數字 |
| float | 32 | -3.4*10-38~3.4*1038 | 7位 |
| double | 64 | -1.7*10-308~1.7*10308 | 16~17位 |
| long double | 128 | -1.2*10-4932~1.2*104932 | 18位 |
18.逗號運算子和逗號運算式
(1)逗號運算子:將兩個運算式連接起來,又稱為“順序求值運算子”
如:3+5,6+8
一般形式:運算式1,運算式2
求解程序:先求運算式1,再求運算式2,整個逗號運算式的值是運算式2的值,逗號運算式的值為14
(2)一個逗號運算式又可以與另一個運算式組成一個新的逗號運算式
如:(a=3*5,a*4),a+5
先計算出a的值等于15,再進行a*4的運算等于60(但a的值未變,扔為15),再進行a+5得到20,即整個運算式的值為20
(3)逗號運算式的一般形式擴展:
運算式1,運算式2,運算式3,……,運算式n
它的值為運算式n的值
19.符號常量:它的值在其作用內不能改變,也不能被賦值,一般使用大寫字母表示符號常量
使用符號常量的好處:含義清楚;能做到一改全改
20.條件運算子:運算式1?運算式2:運算式3
(1)執行順序:先求解運算式1,若為非0(真),則求解運算式2,此時運算式2的值就作為整個條件運算式的值;若運算式1的值為0(假),則求解運算式3,運算式3的值就是整個條件運算式的值,
(2)條件運算子優先級高于賦值運算子,低于關系運算子和算術運算子,條件運算子的結合方向為“自右至左”,
例:
#include<stdio.h> int main(){ char ch; scanf("%c",&ch); ch=(ch>='A'&&ch<='Z')?(ch+32):ch; printf("%c\n",ch); return 0; } 運行結果: D d
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/17571.html
標籤:其他
下一篇:SVN 報錯問題
