c语言基础—运算符和语句
来源:互联网 发布:软件行业就业方向 编辑:程序博客网 时间:2024/05/01 01:51
语句是构成程序的基本,一个语句就是一条完整的指令(可能包含多个指令)。C中以’;’来表示一个语句的结束。语句的基本形式是:
表达式;
其中表达式是由运算符和操作数组合构成。其中操作数可以是常量或变量或两者组合成的子表达式。表达式也可为空,但没实际意义。
1、 运算符
C中有多种运算符,可对数据进行操作。
1.1赋值运算符:=
赋值运算符’=’。在c中=不表示“相等”的意思,而是对’=’左边的操作数进行赋值。
如 :
inta = 1; //=表示对a赋值为1。
‘=’左边的操作数必须是一个可改变的值。即’=’将其右边的值赋给左边的操作数。赋值从右到左进行,可以这么用:
int a,b,c;
a = b = c =1;
则第二条语句无错。表示将1赋值给c将c的值赋给b,将b的值赋给c。
1.2、算术运算符:+ ,-,*,/,%
分别表示加,减,乘除,取模,都是二元运算符,即涉及两个操作数。需要注意的是,对两个不同类型的数据进行算术运算时,返回的数据类型为范围大的那个数据类型。
1.3、符号运算符:+,-
当+,-表示符号的时候,是一元运算符,表示改变一个值的代数符号(一般只用到-)。
如:
inta = 1 ;
intb = -a;
1.4、自加,自减运算符:++,- -
自加,自减也为一元运算符,表示对一个操作数自身加1。按运算符位置的不同分为前缀(符号在操作数之前)和后缀(符号在操作数之后)两种,会得到不同的结果
如:
int a = 1,b= 1;
int c = a++;
int d = ++b;
执行上述语句后得到a为2,b为2,c为2,d为1。即前缀式在语句执行完才对操作数进行操作,后缀式先对操作数进行操作。
1.5、关系运算符:>,>=,<,<=,==,!=
关系运算符为二元运算符,返回值为1(真)或0(假)。其中:
符号
说明
例子
>
大于
1 > 2 为假,值为 0
>=
大于等于
2 >= 2 为真,值为1
<
小于
1 < 2 为真,值为1
<=
小于等于
1 <= 2 为真,值为1
==
等于
1 == 2 为假,值为1
!=
不等于
1 != 2 为真,值为1
1.6、逻辑运算符:&&,||,~
逻辑运算符与(&&),或(||)为二元运算符,非(~)为一元运算符
1.7、条件运算符
条件运算符有三个操作数。
格式:
表达式1 ? 表达式2 :表达式3
含义:当表达式1为真时,整个表达式的值为表达式2的值,当表达式1为假时,整个表达式值为表达式3的值。即表达式1在这里起一个选择的作用。
1.8、运算符的优先级
当同一个表达式中出现多个运算符时,程序是按照什么顺序执行运算的呢?这涉及到运算符的优先级。
()可以改变运算符的优先级,即()内的操作优先执行。当对运算符的优先级不太清楚时,使用()可以更保险一点。
如:
int a = 1 + 2 *3;//得到a = 7
int b = (1 + 2) * 3;//得到a = 9
1.9、复合赋值运算符:+=,-=,*=,/=,%=
复合赋值运算符是一种简化的写法。其作用是将运算符左值(左边的操作数)与右值进行算术运算后的值赋给运算符左值。
如:
inta = 1;
a+= 3;
第二个语句执行前a的值为1,执行后a的值为啊原来的值加3,即a的值变为4。
2、 语句
C语言的语句除了如上文提到的空语句,表达式语句外还有一些控制语句,提高一些智能的操作。控制语句分为分支与跳转语句if,if else,switch,goto和循环语句for,while,do。
2.1分支调整语句
2.1.1 if 语句
基本格式:
if(表达式1) {
代码块;
}
当执行表达式1的结果为真时执行代码块的语句。当代码块只有一条语句可以忽略{}。
2.1.2 if else语句
基本格式:
if(表达式1) {
代码块1;
}else{
代码块2;
}
当执行表达式1的结果为真时执行代码块1的语句;结果为假时执行代码块2的语句。此外还有多个判断的格式:
if(表达式1) {
代码块1;
}elseif (表达式2){
代码块2;
}else{
代码块3;
}
可以嵌入多个else if,程序按顺序执行下来,当某个表达式为真时,则执行相应的代码块。
2.1.3、switch语句
当需要对同一个表达式进行多个判断的时候可以使用switch。
基本格式:
switch(表达式1) {
case结果1:
代码块1;
break;
case结果2:
代码块2;
break;
…
case结果n:
代码块n;
break;
default:
代码块n+1;
break;
}
说明:执行表达式1得到的值对应哪个结果则执行相应代码块,当不包含在结果中时,执行default。每个case需要加break;推出。switch的机制只是将程序跳转到相应的case那里,无法自己退出,当无break时,下一个case的代码块仍会被执行。
2.1.4、goto语句
基本格式:
goto标签1;
则程序会跳转到标签1的那一行。因此如果使用goto需要在要跳转到的那个位置加一个标签, 格式为“标签名:”。由于goto的跳转使程序变得混乱,一般避免使用。
2.2 循环语句
2.2.1、for循环语句
基本格式:
for(表达式1;表达式2;表达式3) {
代码块;
}
表达式1为初始化部分,在开始循环时执行一次;
表达式2为条件部分, 在每次循环的开始阶段,执行表达式2,结果为真时执行
循环,为假时循环结束;
表达式3为调整部分,在每次循环结束后,执行一次。
代码块为循环体,每次循环执行一次。一般由{}包含,当代码块只有一条语句时可
省略{}。
例:
inti,sum = 0;
for(i= 0; i <10; i ++) {
sum ++;
}
说明:循环的开始,执行i=0;将i赋值为0,判断条件 i < 10为真,执行循环 sum++,循环结束执行调整 i++;第二个循环开始时i = 1,条件 i < 10 为真,执行循环……当调整i++得到I = 10时,条件 i < 10为假循环结束。此时sum的值为0到9的累加。
2.2.2、while循环语句
基本格式:
while(表达式1){
代码块;
}
每次循环开始之前先执行表达式1,结果为真时,执行循环,为假时退出循环。需要注意的是要控制循环的退出,避免死循环。
2.2.3、do while循环语句
基本格式:
do{
代码块;
}while(表达式)
与while循环语句类似。只是把表达式的执行放到了循环后面。即此循环至少执行一次。
2.2.4、continue,break语句
对循环语句,可以在其代码块中加入两种语句来终止或跳过循环。continue语句,当在循环中执行到此语句时,程序中断本次循环,执行下一次循环。break语句,当在循环中执行到此语句时,程序跳出循环。如果循环1内嵌在循环2中时,循环1包含continue或break语句,当语句执行时,只能影响到循环1。
这两种语句的用法一般配合if语句使用,用来作为跳出循环的判断。
- c语言基础—运算符和语句
- C语言基础:分支语句和常见运算符
- c语言基础(5)--运算符,表达式和语句
- C语言基础:运算符、表达式和语句
- C语言—基本语句和运算
- C语言基础 运算符和表达式
- C语言学习_005_运算符、表达式和语句
- C语言的运算符、表达式和语句
- C语言学习入门 (二) 语句和运算符
- C语言学习入门 (二) 语句和运算符
- #C语言学习笔记#运算符、表达式和语句
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- C语言基础 运算符
- 设置图片重复
- php run.sh
- c语言基础—数据类型
- jxl 导入导出excel操作
- CMD输入路径包含空格
- c语言基础—运算符和语句
- Hibernate关联关系映射-----双向一对多/多对一映射配置
- oracle的(+)意思
- c语言基础—指针与数组
- Ural 1002 Phone number
- NDK(ngx_devel_kit)模块学习
- 使用 ACE 库框架在 UNIX 中开发高性能并发应用
- 我的ABAP学习历程
- OLTP与OLAP理解