主要知识点概述

  • 常量与变量:常量和符号常量、变量等
  • 整型数据:整型常量、整型变量等
  • 浮点型数据:浮点型常量、浮点型变量等
  • 字符型数据:字符常量、字符变量、字符串常量等
  • 变量赋初值:变量初始、函数的首部、函数体等
  • 各类数值型数据间的混合运算
  • 算术运算符和算术表达式:基本的算术运算符、运算符的优先级与结合性、
  • 强制类型转换运算符等
  • 赋值运算符合赋值表达式:赋值运算符、类型转换、赋值表达式等
  • 逗号运算符和逗号表达式

 

基础知识

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

版权声明:本文为xintong2021原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xintong2021/p/12733226.html