類型、運算符與表達式

主要知識點概述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
相關文章
相關標籤/搜索