主要知識點概述ios
基礎知識框架
1. 變量:裝數據的容器,數據變,容器不變函數
變量在使用前要先定義,基本格式:變量類型 變量名1,變量名2,……;spa
Ex:int a,b,c;int a=0,b,c=0;//初始化code
2. 變量名:由字母(‘_’被看做字母)和數字組成的序列,但第一個字符必須是字母;大小寫字母是有區別的;關鍵字不能做爲變量名blog
3. 四種基本類型字符串
char 字符型,佔用一個字符長度,存放一個字符it
int 整型,一般佔4個字節io
float 單精度浮點型table
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.條件運算符:表達式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