标签:
double a = (double)1 / 2; double b = (double)(1 / 2);// 错误写法
float floatValue = 10.1f; int sum = 4 + (int)floatValue ; printf("sum = %d", sum);// 输出14 // floatValue本身的值并没有改变 printf("floatValue = %f", floatValue); // 输出10.100000
构成复合赋值表达式的一般形式为:
变量
双目运算符 =
表达式;
如: a *= 1 + 2;
它等效于
变量 =
变量
双目运算符
表达式;
如: a = (1 + 2) * a;
注意:赋值运算符优先级排名14位,仅仅高于“,”运算符。
“
先变后用
”
,也就是变量的值先变,再用变量的值参与运算。“
先用后变
”
,也就是先用变量的值参与运算,变量的值再进行自增自减变化。
表达式
1
,表达式
2
,
… …
,表达式
n;
·
例如:
·
max=(a>b)? a:b;
·
可以去掉括号而写为:
·
max=a>b?a:b;
·
例如:
·
a>b?a:c>d?c:d;
·
应理解为:
·
a>b?a:(c>d?c:d)
·
//
如何进行随机出拳,
借助一个stdlib.h
下一个产生随机数的函数
·// arc4random_uniform(n) 0~n-1
之间的随机的整数
#include <stdio.h> #include <stdlib.h> int main(int argc, const char * argv[]) { //1.提示用户 0代表石头; 1代表剪刀; 2代表布; printf("亲,0代表石头; 1代表剪刀; 2代表布;\n"); //设定循环让玩家可以一直玩 while (1) { //2.监测用户输入值的合法性 int player = -1; while (player < 0 || player > 2) { printf("请输入0~2中的一个数:\n"); scanf("%d", &player); } //3.利用电脑产生一个0~2的随机数 int computer = arc4random_uniform(3); //4.定义一个变量储存两者之差 int num = player - computer; //5.1如果player == computer,则平局 if (num == 0) { printf("平局!\n"); } //5.2如果差是-1或者是2,玩家赢 else if (num == -1 || num == 2){ printf("我靠,你赢了!\n"); } //5.3否则电脑赢 else{ printf("很遗憾,你输了!\n"); } //玩一次后跳出循环,玩下一把 continue; } return 0; }
标签:
原文地址:http://www.cnblogs.com/wm-0818/p/5059399.html