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 ...
随机推荐
- Log4J日志配置具体解释
一.Log4j简单介绍 Log4j有三个基本的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综 ...
- 0x18 总结与练习
这一章不太满意啊.. 还是有点痛苦,但就是做的挺慢啊... 1.就是例题 2.括号画家 感觉这种提高组类型的细节题都没什么信心啊,fail了几次才A #include<cstdio> #i ...
- kentico中提示Message: An invalid SQL query was used.
在调用CMSAbstractWebPart类的GetValue方法的时候出错. namespace CMS.PortalEngine.Web.UI{ /// <summary> /// B ...
- 运算符 and or ont
运算符 逻辑运算: and 并且的意思. 左右两端的值必须都是真. 运算结果才是真 or 或者的意思. 左右两端有一个是真的. 结果就是真. 全部是假. 结果才能是假 not 非的意思. 原来是假. ...
- extjs 与html相结合 自定义
http://skirtlesden.com/articles/html-and-extjs-components
- 客户现场调试(连接oracle数据库)
1.System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 http://blog.csdn.net/yucaoye/article/details/ ...
- python程序执行原理
Python程序的执行原理 1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后解释器一条一条执行字节码指令,从而完成程序的执行. 1.1python先把代码(.py ...
- QT-helloworld-QtCreater编写
前言:纯代码编写helloworld,解析代码含义. 一.新建空项目 新建->其他项目->Empty qmake Project 二.修改.pro文件 打开helloworld.pro文件 ...
- Ubuntu下安装tim/QQ/微信
一.安装deepin-wine环境: 上https://github.com/wszqkzqk/deepin-wine-ubuntu页面下载zip包(或用git方式克隆),在“下载”目录下原地解压即可 ...
- Git+VS2015修改提交代码以及解决冲突
第一步:前提我们已经讲代码从git上clone(可以看我的GIt篇)下来,创建自己的开发分支.我们在自己本地的分支上开发. 看到右下角有一个develop那是我自己建立的开发的分支,现在点击devel ...