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循环案例的更多相关文章

  1. 一道c语言运算符优先级问题

    一道c语言运算符优先级问题 #include <iostream> using namespace std; int main() { char test[] = {"This ...

  2. C语言运算符优先级总结

    一 写在开头1.1 本文内容本文内容为C语言中运算符优先级的总结.转载于:https://blog.csdn.net/huangblog/article/details/8271791,感谢原作者的付 ...

  3. C语言运算符优先级和ASCII表

    1. C语言运算符优先级及结合性 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成 ...

  4. C语言运算符优先级及结合性

    今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...

  5. (转)C语言运算符优先级 详细列表

    C语言运算符优先级 详细列表 文章转自:Slyar Home 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   () 圆括号 (表达式)/函数 ...

  6. C语言 运算符优先级和结合方向

    运算符优先级和结合方向 初级运算符( ).[ ].->..  高于  单目运算符  高于  算数运算符(先乘除后加减)  高于  关系运算符  高于  逻辑运算符(不包括!)  高于  条件运算 ...

  7. C语言运算符优先级和结合性一览表

    所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁.这个其实我们在小学学算术的时候就学过,如1+4÷2. 但是C语言中的运算符已经远不止四则运算中的加减乘除了,还有其他很多运算符.当它们出 ...

  8. C语言运算符优先级和口诀(转)

    一共有十五个优先级: 1   ()  []  .  -> 2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   ...

  9. C语言运算符优先级和口诀 (转)

    一共有十五个优先级: 1   ()  []  .  -> 2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   ...

随机推荐

  1. Codeforces 425A Sereja and Swaps(暴力枚举)

    题目链接:A. Sereja and Swaps 题意:给定一个序列,能够交换k次,问交换完后的子序列最大值的最大值是多少 思路:暴力枚举每一个区间,然后每一个区间[l,r]之内的值先存在优先队列内, ...

  2. Gretna2.0 使用过程中遇到的问题

    在做Normalize的时候,报错"Cannot find T1 image (e.g. *.dcm in T1 Directory), Please Check again!", ...

  3. ubuntu解压命令全览(rar)

    sudo apt-get install p7zip-full Ubuntu下解压rar文件的方法 2010-05-13 12:47 一般通过默认安装的ubuntu是不能解压rar文件的,只有在安装了 ...

  4. 4.QList

    #include "mainwindow.h" #include <QApplication> #include <QLabel> #include < ...

  5. Redis学习笔记(十二) 高级命令:服务器管理命令

    原文链接:http://doc.redisfans.com/server/index.html save 执行一个同步操作,将redis实例的所有数据以rdb的形式保存到硬盘,一般来说,生产环境很少执 ...

  6. POJ 2137 DP

    思路: 枚举第一个点集中起点是哪个. 因为第i个点集总和第i-1个点集和第i+1个点集相连. 我们就可以DP求出最优解了. f[i][j]=min(f[i][j],f[i-1][k]+dis(i,j, ...

  7. js 基本基础知识回顾

    js中的一切的变量.函数.操作符等等都是区分大小写的. js的基本的数据类型->包含下面的5种: 1.undefined 2.Null 3.Boolean 4.Number 5.String j ...

  8. ZBrush中的实时遮罩

    在ZBrush®中有许多遮罩类型,包括柔滑遮罩.反转遮罩,实时遮罩等.其中,实时遮罩又包含很多种类,它不同于一般的遮罩是不显示的,实时遮罩是根据实时信息产生新的遮罩. 在“Brush”菜单下“Auto ...

  9. 操作mysql操作数据库

    操作数据库 查询数据库:show databases: 增加数据库:create database student default character set uft-8:(设置默认字符集) 删除数据 ...

  10. Codeforces Round #493 (Div. 2) C. Convert to Ones 乱搞_构造_好题

    题意: 给你一个长度为 nnn 的 010101串 ,你有两种操作: 1.将一个子串翻转,花费 XXX 2.将一个子串中的0变成1,1变成0,花费 YYY 求你将这个01串变成全是1的串的最少花费. ...