、变量的定义函数的内存类型auto存储类属于一时性存储其储存空间可以被若干变量多次覆盖使用。register内存类放置在通用寄存器中。extern存储类在所有变量和程序段中都可引用。static存储类在内存中是以固定地址保存的在整个程序运行之后都有效。()doublearea,radius=()doublearea,radiusradius=、变量数组与初始化2.2.4算术运算符与算术表达式表达式:一个常量或标志对象的标识符是一个最简单的表达式其值是常量或对象的值一个表达式的值可以拿来参与其他操作即用作其它运算符的操作数这就产生了更复杂的表达式包括在括号中的表达式仍是一个表达式其类别和值于未加空格时的表达式相同算术表达式:由算术运算符、操作数和空格组成的表达式称为算术表达式ab(cb)Page1、基本算术运算符*(取余)(若整数相除结果取整)优先级与结合性先乘除后加减同级自左至右P33()整除==若的两操作数都为小数则为余数:例inti=floatff=i结果为:f=即使将第三条语句改为f=(float)i或f=i则结果为:f=在C语言中表达式()的值是()。A)B)C)D)不能确认B(余的符号与被除数相等不允许对浮点数操作)==例#includeiostreamhvoidmain(){intnn=cout:nendl()n=cout:nendl()n=cout:nendl()n=cout:nendl()n=cout:nendl()}()取余(1.)a++取a作为表达式的值之后a=a+1(2.)++a先a=a+1然后取a作为表达式的值(3.)a--取aa=a-1(4.)--aa=a-1取a例:inta=intb=acoutaldquoldquobendlintc=acoutaldquoldquocendl2、增量和减量++--3赋值运算=赋值运算符用于将一个数据传给一个变量。

比如:intxx=将值传给变量x。其中=号即数组运算符。A:()双目运算符,从右到左d=a=b()数组操作是一个通配符,每个表达式在求值后都有一个确认的值,其值为数组号上面表达式的值例:cout(x=)endl()当数组号左边类型不一至时,根据上面类型转inta=floatx=x=a将a的值赋给xx的值为。inta=floatx=a=x将x的值赋给a但低于了int的取值范围所以将达到的个别扔掉了a是多少不清楚了。特别注意下面的赋值语句编译时是可以借助的。复合的赋值运算符有种复合运算符:=,=,*=,=,=,=,=,=,^=,|=例:a=等价于a=ax*=y等价于x=x*(y)数组运算符和泛型表达式mdashmdash赋值表达式举例a=表达式值为a=b=c=表达式值为a,b,c均为a=(c=)表达式值为a为c为a=(b=)(c=)表达式值为a为b为c为a=(b=)(c=)表达式值为a为b为c为a=a=a*a相当于:a=a(a=aa*a)Page例:x=x=x=x*x若x为整型数组则上述子句执行后x的值是()。ABCDB4、逗号运算和引号表达式格式:表达式表达式求解顺序及结果:先求解再求解最终结果为表达式的值例1a=*,a*最终结果为例inta,b,cd=(a=,b=a,c=b)coutdendl6Page5、关系运算与关系表达式用关系运算符将两个表达式连接上去就是关系表达式关系运算是非常简洁的一种逻辑运算优先顺序为:====!=优先级同样(高)优先级同样(低)关系表达式是一种最简洁的逻辑表达式其结果类型为bool值只能为true或false。
例如:abc=abxy==逻辑运算与逻辑表达式逻辑运算符:!(非)(与)||(或)优先顺序:高rarr低逻辑表达式比如:(ab)(xy)其结果类型为bool值只能为true或false。a!atruefalsefalsetrueabababa||b优先级:!*====!=||注意:().比较运算符==与=if(x==9)cout<<ldquoxisnoto\nrdquoif(x=9)cout<<ldquoxisnoto\nrdquo().不等于运算符if(x!=9)if(x=!9)(3).逻辑非if(!(x==9))例.!cx>ax-6若cx=15ax=5(!cx)>(ax-6)!(cx>ax-6)(4).10>=X>=5若写成5<=X<=10从左到右(衡为)X>=5&&X<=10例:abxy||ab!c(ab)(xy)||(a(b(!c))若x,y,z的初值均为,则执行表达式w=x||yz后,x,y,z的值分别为。A)x=,y=,z=B)x=,y=,z=C)x=,y=,z=D)x=,y=,z=(D)6、条件运算符与条件表达式通常方式:表达式?表达式:表达式表达式应该是bool类型执行次序:先求解表达式若表达式的值为true则求解表达式表达式的值为最终结果若表达式的值为false则求解表达式表达式的值为最终结果例x=aba:b该例是IFhellipELSE语句的一个替代if(ab)x=aelsex=b注意:()条件运算符优于赋值运算符比关系运算符和算术运算符都低例max=(ab)a:b()条件运算符的结合性为ldquo自右向左rdquo例aba:cdc:d即aba:(cdc:d)()条件表达式与通常if的句子的关系coutaba:b(4)表达式、的类别可以不同条件表达式的最后类型为和中较高的类型。
7、sizeof操作符语法形式sizeof(类别名)或sizeof(表达式)结果值:ldquo类型名rdquo所选定的类别或ldquo表达式rdquo的结果类型所占的字节数。例:coutsizeof(double)endl8、位运算mdashmdash按位与()运算规则将两个运算量的每一个位进行逻辑与操作例子:计算::():用途:将某一位置其他位不变。例如:将char型数组a的最低位置:a=a取指定位。例如:有charcinta取出a的低字节放到c中:c=a位运算mdashmdash按位或(|)运算规则将两个运算量的每一个位进行逻辑或操作例子:计算|::(|)|:用途:将这些位置其他位不变。例如:将int型数组a的低字节置:a=a|xff位运算mdashmdash按位赋值(^)运算规则两个操作数进行赋值:若对应位同样则结果该位为若对应位不同则结果该位为例子:计算^::(^)^:位运算mdashmdash按位赋值(^)功能:使特定位翻转(与异或保持原值与异或取反)比如:要使低四位翻转:(^)位运算mdashmdash取反(~)单目运算符:对一个二进制数按位取反。例::~:位运算mdashmdash移位左移运算()左移后低位补高位舍弃。
右移运算()右移后低位:舍弃高位:无符号数:补有符号数:补ldquo符号位rdquo例:chara=coutint(a)endlcout(a)endl例:、运算符优先级括号sizeof*,,,==,!=位运算||:数组运算逗号运算低高10、混合运算时数据种类的转化mdashmdash隐含转换一些二元运算符(算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符)规定两个操作数的类型一致。在算术运算和关系运算中即使参与运算的操作数类别不一致编译平台会手动对数据进行转化(即隐含转换)基本方法是将低类型数据转化为高类别数据。charshortintunsignedlongunsignedlongfloatdouble低高混合运算时数据种类的转化mdashmdash隐含转换逻辑运算要求参与运算的操作数应该是bool型即使操作数是其他类别编译平台会手动将非数据转化为true转换为false。位运算的操作数应该是小数当二元位运算的操作数是不同种类的整数时也会手动进行类别转换数组运算要求实参与形参的类别相似若类型不同编译平台会手动律将实参转换为泛型的类别。混合运算时数据种类的转化mdashmdash强制类型转换语法手段:类型说明符(表达式)或(类别说明符)表达式强制类型转化的作用是将表达式的结果类型转化为类别说明符所选定的类别。
注:inta=,b=floatx=x=(float)aab()2.3赋值语句格式:赋值表达式赋值语句与数组表达式的区分:赋值表达式可以包括在其他表达式中而数组语句不可。例:if((a=b))t=a不可写为:if((a=b))t=a这是C++中新加的十分简洁易用的输入、输出模式C中没有专门的输入输出语句是用IO流类来推动。在程序的结尾增加一行:#includeiostreamh)用插入操作符ldquordquo向标准输出流cout中插入数组。向标准输出设备(显示器)输出例:intxcoutldquox=ldquox2.4简单的输入、输出)用抽取操作符ldquordquo从标准输入流cin中抽取字符从标准输入仪器(键盘)输入例:intxcinxinta,bcinab3)使用控制符有时缺省输出格式不能满足规定此时可以用控制符控制输出的格式。P36表6。在程序的开头增加一行:#includeiomaniph例:#includeiostreamh#includeiomaniphvoidmain(){coutsetw()setprecision()endl}算法的基本控制结构难题的强调:()(x)y=(x=)(x)()统计任意一个人群的平均身高算法算法的基本控制结构:顺序结构分支结构循环结构程序步骤图if(表达式)句子例:if(xy)coutxif(表达式)句子else子句例:if(xy)coutxelsecoutyif(表达式)短语elseif(表达式)段落elseif(表达式)句子hellipelse语句nif语句mdashmdash三种形式1.IF(条件表达式)语句或IF(条件表达式){语句}或IF(条件表达式)空句子作IF中的词语句子例(判输入是否合理)#includeiostreamhvoidmain(){unsignedintagecoutWhatisthestudent#sagecinageif(age)coutTheagemaybewrong}#includeiostreamhvoidmain(){intyearcoutPleaseinputayearcinyearthinkaboutthesequenceofthelogicalexpressionif(year==year!=||year==)coutTheyearisleapyearelsecoutTheyearisn#tleapyear}2.if...else子句if(条件表达式)句子1else子句2例判闰年一般形式if()if()短语else子句elseif()段落else子句注意句子、、、可以是复合语句每层的if与else配对或用{}来确定层次关系。
intx=if(x=)if(x)coutldquoxisoknrdquoelsecoutldquoxisnotoknrdquoIf语句的嵌套二义性由于if可以嵌套所有在嵌套时有时会出歧义例如上例中else是与第一个if配对还是与第二个if配对?这种之后系统就觉得:else与今天的一个if相对应二义性:()if(I%3==0)if(I%7==0)cout<I<endl输出能被3整除能被7整除elsecoutI<endl输出能被3整除不能被7整除()if(I%3==0){if(I%7==0)coutIendl输出能被3整除能被7整除}elsecoutI<endl输出不能被3整除不管能否被7整除例输入两个小数比较两个数的大小。#includeiostreamhvoidmain(){intx,ycoutEnterxandy:cinxyif(x!=y)if(xy)coutlt
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-126780-3.html
美国是伊拉克战乱的始作俑者
哥哥加油
因此