编程入门与编程基础知识

数据类型

基本类型(整型int,浮点型float,字符型char,布尔型bool),派生类型(指针类型,数组类型,共用体类型,类类型),空类型(void)

整型

1.一般占4个字节

2.分为有符号和无符号二种:

(1)有符号【signed】int  补码表示,范围为-2**31--2**31-1

(2)无符号unsigned 【int】范围为0--2**32-1

字符型

1.占1个字节

2.有符号:char范围-128--127

3.无符号:unsigned char 范围:0---255

字符型数据实际上是作为整型数据在内存中存储的。

浮点型

没有无符号型,浮点型数据采用尾数和阶码相结合的存储方式

单精度浮点型

占4个字节         标识符:float

双精度浮点型

占8个字节         标识符:double

布尔型

占一个字节       标识符:bool

取值只有ture和false两种,实际存储为1和0

如何查看数据类型用了几个字节

sizeof

#include《iostream》
using namespace std;
int main()
{ 
    cout<<sizeof(int)<<endl;
    return 0;
}
或者
{ 
   int length;
   length=sizeof(int);
   cout<<length<<endl;
   return 0;
}

变量

1.变量名:代表了存储在计算机内存中某个地址的一个值。

2.在运行当中,其值可以发生变化(在程序的执行中能够赋值,发生变化)

3.变量名的命名方法:

(1)变量必须有个名字

(2)标识符值得是:变量名,数组名,函数名等。

(3)标识符命名方法:只能由字母,数字,下划线,且第一个不能是数字。

(4)变量名是区分大小写的。

(5)关键字不可以作为标识符。

4.变量在使用时之前一定要说明其类型,一经说明,编译程序要根据类型分配若干个字节(连续的)内存单元,以保存变量的取值。

变量的初始化

在声明变量的同时给变量赋值,即在内存中开辟出一个空间后马上给此空间赋值。即int a=4;

结果等价于int a;  a=4;

虽然结果相同,但意义不同。前面叫初始化,后面叫赋值

这个空间的值不是固定不变的,在运行过程中可以变化,int a=4;//声明并初始化,开辟空间后立马为空间赋值  a=6;//重新给该空间赋值

常量

1.定义:在程序运行过程中,其值一直保持不变的量

2.三种处理方式:

(1)字面常量:从字面形式即可识别的常量(数值型常量和字符型常量) 

整型常量:十进制:45,12       八进制(以0开头):043  065        十六进制(以0x开头)0x12

实型常量(浮点数):十进制形式:12.0,23.56            指数型式:23E2,14.5e-1

无论把浮点数写成小数形式还是指数形式,在内存种都是以指数形式存储的。

字符型数据(char):实际上是作为整型数据在内存中存储的。(ASCII码),字符必须要用''单引号来表示                           e.g :char grade;                 grade='A';        进一步,由于在内存中的形式与整型数据相同,所以,可以直接用整型值给变量赋值。e.g :char grade;        grade=65; grade=0x41; grade=0101;这三个和grade='A';等价。

  非打印字符:有2种方法来表示这些字符(1)用ASCII码的形式         char re=10;(2)用转义字符          char re='\t';

转义字符虽然包含2个或者更多字符,但它只代表一个字符。编译系统在见到字符“\t”时,会接着找它后面的字符,把它处理成一个字符,在内存中只占一个字符

常见的转义字符:\n 换行,ASCII码是10

转义字符含义ASCII码
\n换行10
\t跳到下一个Tab位置9

\ddd

\xhh

1到3位8进制数所代表的字符

1到2位16进制所代表的字符

例子:想要输出c:\tc\tc                        表示为:cout<<"c:\\tc\\tc";

'\101'                '\x41'                 '\x61'                '\141'

字符串常量:用双引号“  ”表示,在内存中顺序存放,以"\0"结束。

’a‘只占一个字节,而"a"占2个字节。

(2)常变量:定义变量时,前面加const关键字,则变量的值在程序运行期间不能改变,这种变量称为常变量。e.g.:const a=2.3;

注意:定义变量时,必须同时初始化(即指定其值)。

(3)符号常量(标识符常量):使用编译预处理指令#define。

例如:#define pi 3.1415926                                //在程序中凡是出现pi均用3.1415926代替。

这是C语言的习惯,C++推荐用常变量形式。

使用常变量和符号常量有什么好处?

(1)不必重复输入同一个值。

(2)如果必须修改常变量,只需要在源代码中的一个地方做改动。

(3)给常量赋一个描述性的名字会提高程序易读性。

算术运算符和算术表达式

1.算术运算符

+        -        *        /        %。用算术运算符连接起来的式子是算术表达式。

比如:代数式 2x+3+4y-2xy    在程序中对应的表达式:2*x+3+4*y+2*x*y

(1)两个数相除结果是整数:5/2=2

(2)整数才可以求余,余数的符号与左边数的符号相同:1%2=1                7%-2=1        -3%2=-1

2.优先级和结合性

()        *        /        %        +        -

3.强制类型转换

类型转换是将一种数据类型的值转换成另一种数据类型的操作。

强制转换的语法:(类型名)(表达式)        double a

类型转换用法举例:

(1)自动转换(根据赋值号左边变量类型自动转换)

int a;  float b=3.14,c;

a=b;//只取b的整数部分 a=3

c=a;//a转换成小数c=3.0

(2)强制转换:有时候强制转换是必要的。

y=(int)6.2%4        //不转换程序会报错。

注意:变量在强制类型运算后原变量不变,仅得到一个所需类型的中间变量。

如:int x;

float y=5.8;

x=(int)y;

结果:y的值没有改变,仍然是单精度浮点型y=5.8; x=5;

4.各类数值型数据间的混合运算

在运算的时候,不同类型的数据要先转换成同一类型的数据再进行运算。

转换规则如下:

double<---------float

double<----long<-------unsigned<-----int<------char,short

5.自增(++),自减(--)运算符

自增,自减运算符应用于表达式中时,前置和后置是不一样的。

int i,j;        i=3;        j=++i;        j=i++;

(1)++在前,先运算,后赋值(i=4;j=4);++在后,先赋值,后运算(j=3;i=4)。

(2)再比如:int i=10; int j=10*i++;------>int i=10;int j=10*i; i=i+1;

int i=10; int j=10*++i;----->int i=10; i=i+1;int j=10*i;

注意:(1)不推荐以上编程习惯,比较复杂,易错,难懂。

(2)自增,自减只能用于变量,不可用于常量和表达式。(因为常量和表达式在内存中没有具体的空间,所以所占的空间不能重新赋值)3++        (x+y)++       (-i)++ 这些表达都是错误的 。

赋值运算符和赋值表达式

1.赋值运算符"="

"="左边必须是变量名。

若"="两边变量的类型不同,在赋值时要进行类型转换。

转换原则:根据左边变量转换。

2.复合的赋值运算符

+=        -=        *=        /=        %=

如:a+=3        //a=a+3;                x-=y        //x=x-y;                x*=y+3        //x=x*(y+3)

x/=y-4        //x=x/(y-4)                x%=2        //x=x%2

注意:符合运算符中间没有空格。

3.赋值表达式

a=b=5;        //b=5        a=b                        "="的结合性为自右至左。

表达式后面加上”;“,就变成了赋值语句。

4.逗号运算符和逗号表达式

表达式1,表达式2,表达式3,表达式4...........表达式n

顺序求解,结果为最后一个表达式的值,并且优先级最低。

比如:a=(3+4,5*6,2+1);        a=3;                a=3*3,a+6,a+7;        16   a=9;

(a=3*5,a*4),a+5;               20   a=15;

以上这些例子除了少数情况,实际中很少使用,逗号运算符主要是用于多变量定义。

如:int a,b,c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值