赞
踩
用运算符和括号将操作数连接起来的、符合C语言语法规则的式子,称为表达式。运算符和操作数的有效组合。
所有赋值运算符的优先级相同,始终从右向左进行计算。形式:变量名=表达式。‘=’左边不能是表达式
int a=10;
int i=5;
printf("a=%d\n",a++); //++在后,先参与运算,后自加
printf("a=%d\n",++a); //++在前,先自加,后参与运
printf("%.3lf\n",8/3.0); // 除号/的两侧如果是整数,结果也是整数
printf("%d\n",5%3); // %两侧的操作数只能是整数
printf("%d\n",++i%7); //先++再求余
printf("%d\n",i); //6
printf("%d\n",(i++)+(i++)); // 先6+6=12,后i=6+1=7,i=7+1=8
printf("%d\n",i); //8
运算符 | 描述 |
---|---|
位与(x&y) | 如果两个操作数的相应位都为1,则该位结果为1 |
位或(x l y) | 如果两个操作数的相应位有一个为1,则该位结果为1 |
位取反(~x) | 操作数按位取反 |
位异或(x^y) | 如果两个操作数的相应位同号,结果为0,异号结果为1 |
在赋值表达式中,自动将赋值运算符右边表达式的值的类型转换成左边变量的类型
低级别:char > short > int(long) >unsigned int > float > double(long double) 高级别
强制类型转换:(type)cast
float x,f
f=3.14159;
x=(int)f;
//运算后x=3.000 f本身的值不变
(double) 8/3;结果为2.6667
//单分子,表达式结果为1,则执行语句,否则跳过执行下一条 if(表达式) //也可以是变量 { 语句; } //双分子,若表达式结果为1,执行语句1,否则执行语句2 if(表达式) { 语句1; } else { 语句2; } //多分子,else与距离他最近的if语句嵌套 if(表达式) { 语句1; } else if { 语句2; } else { 语句3; }
将表达式的值与case的值比较,与常量匹配,则执行相应的语句;不匹配则执行default后的语句。break可以省略,但语句会一直运行,直到遇到break时结束switch语句
switch(表达式) //表达式只能是整数或者字符常量 { case 常量1: 语句集; break; case 常量2: 语句集; break; case 常量3: 语句集; break; ..... default: 语句集; break; }
无
#include<time.h>
int com()
{
int res=0;
srand(time(NULL));
res=rand()%3+1+48;
return res;
}
石头剪刀布游戏:用字符‘1’‘2’‘3’分别表示石头剪刀布,然后将玩家的选择与电脑随机产生的数和字符‘1’‘2’‘3’一一匹配,将两者的字符相减,观察结果并与输赢一一对应。
无
运算符的优先级和类型转换还不熟悉,要多看多记。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。