栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++数据类型与运算符知识总结和例题代码

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++数据类型与运算符知识总结和例题代码

  1.  #include   编译预处理指令之一

Using namespce std;  使用命名空间std

每个C++程序有且只有一个主函数

  1. 单行注释//           多行注释
  2. 数据类型

基本类型:整型:(短整型 short int 2)(整型 int 4)(长整型 long int 4)

          字符型char 1

          实型:(单精度型 float 4)(双精度型 double 8)(长双精度型 long double 8)

其他类型:(布尔型 bool)(枚举类型 enum)(数组类型)(结构体类型 struct)(共用体类型 union)(类类型 class)(指针类型)(引用类型)(空类型 void)

Tip!!

void用于两种情况:1.函数无返回值或参数2.定义指针时指针的目标类型不确定

  1. 字符型常量 两个单撇号   字符串型常量  两个双撇号
  2. 整型常量:   十进制    第一个不为0

             八进制    第一个必为0

             十六进制  0x(0X)开头

在后面加L(l)指定为long类型,U(u)为unsigned类型,但是与数值之间不能有空格!

  1. 实型常量:(浮点数)  格式:<数符>数字E指数  E2代表10的平方

在内存中以规范化指数形式存储

          (数字部分必须小于1,小数点后第一个数必须非0)

  1. 字符常量:  都只占1B  内存中存放二进制代码(ASII码)

         普通字符:单撇号  包含一个字符  ‘10’错误!!

         转义字符:   n   换行     10

                         空字符   0

                    ddd   1~3位八进制数

                     xhh  1~2位十六进制数

         字符串常量: “”   空字符串

                    系统自动在字符串结尾处添加一个空字符’’,标志一  个字符串的终结 ,导致长度多1B

           符号常量:  #define 预处理宏替换指令

                     格式:#define 符号常量标识符 常量值

           常变量:  const  数据类型  常变量标识符=常量值;

                     必须在定义的时候赋值

  1. 变量:    如果没有赋初值的情况下:

          局部变量  初值不确定

          全局变量   初值0

  1. 标识符   只由字母,数字,下画线组成  必须字母或下画线开头!!!
  2. 关键字(不能作为标识符)

asm  auto  bool   break  case   catch   char   class   const  const_cast   continue   default   delete   do   double   dynamic_cast    else    enum   explicit   export   extern   false   float   for   friend   goto   if   inline   int    long   mutable   namespace   new    operator   private   protected    public    register   reinterpret_cast   return   short   signed  sizeof  static  static_cast   struct   switch   template  this  throw  true  try  typedef  typeid  typename  union  unsigned  using  virtual   void   volatile  wchar_r  while

  1.  赋值运算符有返回值

  /  结果取整   %  操作数,结果为整型

i++后置  先引用,自身+1

++i前置  先+1, 后引用     

  1. 逻辑运算符:

!非 > && 与 > || 或

13.  在比较两个实数(浮点数,双精度数)相等时,看差值的绝对值大于或小于给定的小数值

14.  逗号(优先级最低)表达式的结果是最右边表达式的值

如:a=3,b=9  的值为9

15.   sizeof()不是函数,是一种单目运算符。

     不要把||和|、&&和&混淆了 new和delete也是运算符

  补充:(重要)

&

    (1)按位运算符; (2)逻辑运算符

      作为逻辑运算符时,&左右两端条件式有一个为假就会不成立,但是两端都会运行,比如(1+2)=4 &(1+2)=3;1+2=4即使为假也会去判断1+2=3是否成立。

&&——逻辑运算符

     &&也叫做短路运算符,因为只要左端条件式为假直接不成立,不会去判断右端条件式。

相同点:只要有一端为假,则语句不成立

|和||都是表示“或”。区别是||只要满足第一个条件,后面的条件就不在判断,而|要对所有的条件都进行判断。

16.   数据类型转换:

  (1)隐式转换(自动转换)边转换边计算

     • 自动将字符型转换为整型

     •  由低字节向高字节转换,非布尔值向布尔值转换

       (short 2/char 1)-int 4-unsigned 4-long 4-unsigned long 4-double 8

         float 4-double 8

例子:‘A’-10+5*2.0+20.8/4=65-10+10.0+5.2=65.0+5.2=70.2

  (2)显式转换(强制转换)  转换后再次使用值不发生变化!!!

      格式:(类型)表达式  或   类型(表达式)

• 计算原则:转换为当前表达式中字节数最高的类型进行运算,同

字节情况下有浮点数就转化为浮点数运算。

先计算,后赋值。

#include

using namespace std;

int print(int x,int y)

{

    int z;

    if(x

    {

        z=x;

        x=y;

        y=z;

    }

    cout<

}

int main()

{

    int a,b,m;

    cin>>a>>b;

    print(a,b);

    return 0;

}

//判断输入的浮点数是否为0

#include

#include

using namespace std;

int main()

{

    float f_tast;

    cin>>f_tast;

    if(fabs(f_tast)<=1e-6)

    {

        cout<<"输入的数据约等于0";

    }

    if(fabs(f_tast)>1e-6)

    {

        cout<<"输入的数据大于0";

    }

    return 1;

}//判断闰年 1.能被4整除,不能被100整除 2.能被400整除

//(year%4==0&&year%100!=0)||year%400==0

个人解法:

#include

using namespace std;

int main()

{

    cout<<"请输入年份:"<

    int year,day;

    cin>>year;

    if((year%4==0&&year%100!=0)||year%400==0)

    {

        day=31+29+31+30+4;

        cout<

    }

    else

        {

            day=31+28+31+30+4;

          cout<

        }

    return 0;

}

教材解法:

#include

using namespace std;

int main()

{

    cout<<"请输入年份:"<

    int year,day;

    cin>>year;

    day=31+28+31+30+31+4;//计算非闰年的天数

    if((year%4==0&&year%100!=0)||year%400==0)  //判断闰年

    {

        day++;

    }

    cout<

    return 0;

}

//例题

#include

using namespace std;

int main()

{

    double a=3.3,b=1.1;

    int i=a/b;

    cout<

    return 0;

}

i=2?浮点数(double是64位的)乘法和除法有精度损失,答案可能是 2.99999,被取整了  double a=3.3d,b=1.1d;不然会被强制转换

//例题(实现个位,十位,百位输出)

#include

using namespace std;

int main()

{

    int splitInt;

    cout<<"输入一个3位正整数";

    cin>>splitInt;

    int one;

    int ten;

    int hundred;

    hundred=splitInt/100;

    ten=splitInt%100/10;

    one=splitInt%10;

    cout<<"个位:"<

    return 0;

}

//例题!!!易错

#include

using namespace std;

int main()

{

    int a,b;

    cout<<"input a,b:";

    cin>>a>>b;

    cout<<"a="<

    cout<<"(a++)+b="<<(a++)+b<<"n";  //1+2

    cout<<"a+++b="<此时a的值改变了 2+2

    return 0;

}

//假如两个正整数都不是很大,(例如都不超过1000),不引进第三个变量,如何交换两个整数变量的值?

#include

using namespace std;     

int main()

{

    int a,b;

    cin>>a>>b;

     a=a+b;

    b=a-b;

     a=a-b;

    return 0;

}

int a,b;
a=10; b=15;            标准算法
int t;
t=a; a=b; b=t;

//从键盘上输入一个整型的数,让它与一个浮点型数比较大小,并输出其中较大那个数

#include

using namespace std;

int main()

{

    int a;

    float b;

    cin>>a>>b;

    if(a>b)cout<

    else cout<

    return 0;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/717329.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号