计算机二级C++——数据类型和运算符

数据类型与运算符

数据类型

1. 'a’与"a"
前者为字符型常量(char),保存的是ASCII码,占一个字节;后者为字符串型常量(string),存放ASCII码+’\0’串结束符,占两个字节。
2. const

  • 初始化问题
  • (1)const int a; 与 int const a; 相同,a为常变量,需要进行初始化,默认为局部变量。若修改定义为 extern const int; 则a为全局变量。
  • (2)常量指针:const double point; 可以不初始化,指向常量的指针。const修饰的是double数据类型,即指针指向对象的值不能通过point发生改变。但可以重新给point赋值,使其指向不同的对象。
  • (3)指针常量:double *const point;
    需要初始化,const修饰的是point指针,指针指向的对象不能变,但是指针所指对象的的值可以改变。
  • · 若修改为const int *const a,则指针所指对象和对象的值都不能发生改变。
  • 指向const对象的指针可以被赋给一个非const对象的地址,但const对象的地址只能赋值给const对象的指针。
  • 文字常量等存储在存储区,不可按地址访问,常变量存储在数据区,可以按地址访问,初始化后不允许再次赋值。

3. 变量
同一变量只允许定义一次,此时根据变量类型分配一段连续的存储空间,但可以多次声明。

  • 全局变量:定义在函数外部,默认值为0,存放在全局数据区。

  • 局部变量:定义在某个块中,默认值随机,存放在栈中。不同函数中可以使用同名的局部变量。自动分配内存和释放,为自动变量(auto)。

  • 静态局部变量:static,局部变量的值在函数调用结束后,存储单元不释放,在下一次调用函数时,变量保留上一次调用结束时的值。存储在静态存储区,整个程序运行期间都不释放,编译时赋初值,而后,每次调用时,重新赋值。

  • 同一个源文件中,全局变量和局部变量同名,局部变量的作用范围内,全局变量将被屏蔽。

  • 变量的属性–存储期:分为静态存储期和动态存储期,对应静态存储区(全局变量)和动态存储区(函数的形参,函数中定义的变量,函数调用时的现场保护和返回地址)。

运算符

1. 标志符
以字母或下划线开始,只含有字母数字下划线,不能与关键字或者函数名相同,区分大小写。
2. a++与++a
a++:先用原来的值完成本语句运算,再将a+1
++a:先完成a+1,再进行本语句运算

#include<iostream>
using namespace std;
int main()
{
int x=3,y=0;
y=(x++)+(++x);  //先进行x++,整体值为3,运算后x=4,再进行++x,x=5,整体为5,
cout<<y<<endl;  //输出8
system("pause");
return 0;
}

3. == 与=
前者为相等判断,后者为赋值,优先级前者大于后者

int x=3;
    while(x == 5){…}; //不循环
    while(x=5){…};    //为赋值命令,令x=5,为true,则无限循环
    while(x=0){…};    //赋值命令,x=0,为false,则不循环
    if(r=a%b==0);//先判断a%b结果是否为0,若为0,则结果为true,
                           r=1,进入if语句,否则r=0,if语句结束

4. /
运算对象为整型,结果也是整数;运算对象有一个是实数,则均转换为double类型,计算结果为double类型。
5. %
运算对象必须为整型,符号与被除数相同。
6. ?:条件运算符
语句1?语句2:语句3 条件判断符,先进行判断语句1,若结果为真,则执行语句2,若结果为假,则执行语句3。
7. 逻辑或||与逻辑与&&
||的优先级比&&高
8. ,逗号运算符
语句1,语句2,…,语句n:从左至右依次计算,最终表达式结果为最右端表达式的值。

b=(a=3,4*3);   //a=3,b=12,表达式结果为12
b=a=3,4*3;     //a=b=3,表达式结果为12
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值