c语言运算符优先级与while循环案例
sizeof可以获取数据类型的内存中的大小(字节)
#include <stdio.h>
#include <stdlib.h>
// standared 标准
// input output 输入/输出
// header 头 .h头文件
int main() // 返回int,如果是void表示没有返回
{
// 逻辑运算符,位运算符
int num = 8;
int sizeOfNum = sizeof(num);
printf("num的内容空间%d\n",sizeOfNum); // 4
double num2 = 8;
int sizeOfNum2 = sizeof(num2);
printf("num的内容空间%d\n",sizeOfNum2); // 8
return 0;
}
运算符优先级
#include <stdio.h>
#include <stdlib.h>
// standared 标准
// input output 输入/输出
// header 头 .h头文件
int main() // 返回int,如果是void表示没有返回
{
// 算术运算符 + - * / %
// 关系运算符 > < >= <= == !=
// 逻辑运算符 && || !
// 位运算符 & | ^ ~
int num = 10;
int result = num++ == 10 && --num == 10;
/** 等同于
int result1 = (num++ == 10);
int result2 = (--num == 10);
int result = result1 && result2;
**/
printf("%d\n",result); // 1
return 0;
}
老九语录,这道题的思路是这样的,你看对不对?自己在讲解的时候,就渐渐的清晰了。学会问问题,学会讲解问题。
() sizeof ++ --
!
算术运算符 + - * / %
关系运算符 > < >= <= == !=
&&
||
赋值运算符
while循环
#include <stdio.h>
#include <stdlib.h>
int main()
{
// while循环
int i = 0;
while (i<10) {
printf("第%d遍\n",i);
i++;
}
return 0;
}
while循环
循环三要素,循环变量的初值、判断、更新。也就是i的初值,判断,更新。
#include <stdio.h>
#include <stdlib.h>
int main() {
// 计算1-100的和
int sum;
sum = 0;
// sum = (1+100) * 50;
// printf("1到100的和为:%d\n",sum);
int i;
i = 1;
while (i <= 100) {
sum = sum + i;
i++;
}
printf("1到100的和为:%d\n",sum);
return 0;
}
密码输错案例
#include <stdio.h>
#include <stdlib.h>
int main() {
// 使用循环实现三次密码错误,推出系统
int i = 0;
int password = 123456;
int inPassword;
while (i < 3) {
printf("请输入密码:\n");
scanf("%d",&inPassword);
if (inPassword != password) {
i++;
printf("您输错了%d次\n",i);
}
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main() {
// 某宝15年交易额是800亿,按照每年递增25%,哪一年超过2000
double trade_money = 800;
int year = 2015;
while (trade_money <= 2000) {
trade_money *= 1.25;
year++;
printf("%d年交易额.2%lf\n",year,trade_money);
}
printf("某宝在%d年,交易额将超过2000亿,交易额为%.2lf\n",year,trade_money);
return 0;
}
/*
2016年交易额1000.000000
2017年交易额1250.000000
2018年交易额1562.500000
2019年交易额1953.125000
2020年交易额2441.406250
某宝在2020年,交易额将超过2000亿,交易额为2441.406250
*/
小练习挺有意思的。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
int main() {
// 这个很有用,否则rand()会一直41
srand((unsigned) time(NULL));
// 使用循环模拟实现玩家对战
// 双方初始值HP均为100
// 每次攻击5~15
// HP最先到0或者以下的被KO
int liubeiHP = 100;
int sunquanHP = 100;
int attack;
int i = 0;
while(1) {
printf("************************************\n");
i++;
attack = (5 + rand()%11); // %11取值0-10
if (attack == 15) {
// 暴击
attack *= 2;
}
sunquanHP -= attack;
printf("孙权在第%d回合,受到伤害%d,剩余生命值%d\n",i,attack,sunquanHP);
if (sunquanHP <= 0) {
printf("孙权败了\n");
break;
}
attack = (5 + rand()%11);
if (attack == 15) {
// 暴击
attack *= 2;
}
liubeiHP -= attack;
printf("刘备在第%d回合,受到伤害%d,剩余生命值%d\n",i,attack,liubeiHP);
if (liubeiHP <= 0) {
printf("刘备败了\n");
break;
}
Sleep(500); // 需要引入<windows.h>
}
return 0;
}
/*
************************************
孙权在第1回合,受到伤害8,剩余生命值92
刘备在第1回合,受到伤害5,剩余生命值95
************************************
孙权在第2回合,受到伤害11,剩余生命值81
刘备在第2回合,受到伤害13,剩余生命值82
************************************
孙权在第3回合,受到伤害9,剩余生命值72
刘备在第3回合,受到伤害12,剩余生命值70
************************************
孙权在第4回合,受到伤害14,剩余生命值58
刘备在第4回合,受到伤害8,剩余生命值62
************************************
孙权在第5回合,受到伤害14,剩余生命值44
刘备在第5回合,受到伤害30,剩余生命值32
************************************
孙权在第6回合,受到伤害10,剩余生命值34
刘备在第6回合,受到伤害12,剩余生命值20
************************************
孙权在第7回合,受到伤害6,剩余生命值28
刘备在第7回合,受到伤害13,剩余生命值7
************************************
孙权在第8回合,受到伤害13,剩余生命值15
刘备在第8回合,受到伤害8,剩余生命值-1
刘备败了
*/
调试
设置断点。

单步调试。
c语言运算符优先级与while循环案例的更多相关文章
- 一道c语言运算符优先级问题
一道c语言运算符优先级问题 #include <iostream> using namespace std; int main() { char test[] = {"This ...
- C语言运算符优先级总结
一 写在开头1.1 本文内容本文内容为C语言中运算符优先级的总结.转载于:https://blog.csdn.net/huangblog/article/details/8271791,感谢原作者的付 ...
- C语言运算符优先级和ASCII表
1. C语言运算符优先级及结合性 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成 ...
- C语言运算符优先级及结合性
今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...
- (转)C语言运算符优先级 详细列表
C语言运算符优先级 详细列表 文章转自:Slyar Home 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数 ...
- C语言 运算符优先级和结合方向
运算符优先级和结合方向 初级运算符( ).[ ].->.. 高于 单目运算符 高于 算数运算符(先乘除后加减) 高于 关系运算符 高于 逻辑运算符(不包括!) 高于 条件运算 ...
- C语言运算符优先级和结合性一览表
所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁.这个其实我们在小学学算术的时候就学过,如1+4÷2. 但是C语言中的运算符已经远不止四则运算中的加减乘除了,还有其他很多运算符.当它们出 ...
- C语言运算符优先级和口诀(转)
一共有十五个优先级: 1 () [] . -> 2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 ...
- C语言运算符优先级和口诀 (转)
一共有十五个优先级: 1 () [] . -> 2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 ...
随机推荐
- hdu2476String painter (区间DP)
Problem Description There are two strings A and B with equal length. Both strings are made up of low ...
- android中进程的优先级
android中进程的优先级
- MySQL 我自己常用的语句汇总
1,更新,根据一个表更新另一个表,比如批量同步外键 方法一: update 更新表 set 字段 = (select 参考数据 from 参考表 where 参考表.id = 更新表.id); up ...
- C# 异步编程学习(一)
异步 编程 可在 等待 某个 任务 完成时, 避免 线程 的 占用, 但要 想 正确地 实现 编程, 仍然 十分 伤脑筋. . NET Framework 中, 有三种 不同 的 模型 来 简化 异步 ...
- 洛谷P1962 斐波那契数列(矩阵快速幂)
题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数) 题目描述 请 ...
- js从数组中取出n个不重复的数据
/** * 首先,针对这个数组做一个去重处理,避免你在后面取数据的时候,因为取到相同的元素而又要多去取一次随机数 * 将获取到的不重复的数组,再到这里样本里面去取随机数 * 每取到一次,就将这个元素从 ...
- Win10 八步打通 Nuget 发布打包
我们可以使用Nuget 下载你所需要的资源包还可以将自己封装好的各种控件包 工具包 等上传nuget 我们只需要几步就完成你要发布的包. 第一步:编译你的控件 anycpu debug/release ...
- 03《UML大战需求分析》之三
学习了活动图之后,我又学习了流程分析工具之二的状态机图.看上去状态机图和活动图很类似,我也很容易从活动图的角度来理解状态机图.但是学习之后,发现两种图是两种完全不同的分析角度.活动图在流程分析时是玩你 ...
- 悦享双节,Guitar Pro也来凑份热闹!
光阴似箭,又是一个金秋的十月,祖国迎来了第68个生日,不同以往的是今年的中秋佳节与国庆假日重叠在一起了,这算不算是喜上加喜呢? 提到国庆人们的耳边总是会响起了一遍又一遍的国歌“起来,起来不愿做奴隶的人 ...
- Kattis - Eight Queens
Eight Queens In the game of chess, the queen is a powerful piece. It can attack by moving any number ...