scanf使用与运算符
scanf接收输入

#include <stdio.h>
#include <stdlib.h>
// 接收用户输入的小写字母,输出大写字母
int main()
{
char ch;
// 接收输入的内容
printf("请输入小写字母:\n");
scanf("%c",&ch); // scan扫描,f某种格式
while (ch < 97 || ch > 122 ) {
fflush(stdin); // 清空缓存
printf("输入有误,请重新输入:\n");
scanf("%c",&ch);
}
printf("小写字母%c对应的大写字母位%c",ch,ch-32);
return 0;
}
小练习,计算英雄伤害:
#include <stdio.h>
#include <stdlib.h>
// 游戏中根据英雄的生命值,计算英雄的真是伤害
int main()
{
// 思考1、 需要定义几个变量? -- 武器的最终真实伤害,最大生命值,武器的伤害
// 2、 对应什么数据类型? -- double int double
double factPower;
int strength;
double power = 256;
printf("请输入玩家的力量:\n");
scanf("%d",&strength);
factPower = power * (strength + 100) / 100;
printf("英雄的真实伤害为:%.2lf\n",factPower);
return 0;
}
算术运算符与表达式
一元运算符:++、--
二元运算符:+、-、*、/、%
取模
%
5%2 取余数 得 1
5%3 取余数 得 2
5%-3 得?
-5%3 得?
-5%-3得?
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("%d\n",5%-3);
printf("%d\n",-5%-3);
printf("%d\n",-5%3);
return 0;
}
// 结果
2
-2
-2
取模符号跟第一个数字的符号相关。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num = 5 / 2;
printf("%d\n",num); // 2
double d = 5 / 2; // 整型 除以 整型 还是 整型
printf("%f\n",d); // 2.000000
double dd = 5.0 / 2; // 整型 除以 整型 还是 整型
printf("%f\n",dd); // 2.500000
return 0;
}
细细分析也对,否则会把你掰弯。
老九老师说,代码要敲三遍!第一遍,可以照着敲;第二遍,可以写注释,按照注释再写一遍;第三遍,独立的写出来。
#include <stdio.h>
#include <stdlib.h>
// standared 标准
// input output 输入/输出
// header 头 .h头文件
int main() // 返回int,如果是void表示没有返回
{
int num = 10;
num++;
printf("%d\n",num); // 11
return 0;
}
#include <stdio.h>
#include <stdlib.h>
// standared 标准
// input output 输入/输出
// header 头 .h头文件
int main() // 返回int,如果是void表示没有返回
{
int num = 10;
num++;
printf("%d\n",num); // 11
int num2 = 10;
printf("%d\n",num2++); // 10
int num3 = 10;
printf("%d\n",++num3); // 11
return 0;
}
由案例可以看出,num++ 是先输出,再加一。++num是先加一,再输出。
scanf使用与运算符的更多相关文章
- 数据类型、常量、变量、printf、scanf和运算符
数据类型 常量 变量 printf函数介绍 scanf函数介绍 运算符 数据类型 数据类型是指数据在内存中存储的方式. C语言中有5大数据类型:基本类型.构造类型.指针类型.空类型.定义类型. C语言 ...
- C语言: 运算符,printf,scanf的用法
运算符/的运算结果和运算对象的数据类型有关,两个数都是in,则商就是int,取整数部分:被除数和除数中只要有一个或两个都是浮点型数据,则商也是浮点型,不去掉小数部分如:16/5 == 3:16/5.0 ...
- 为什么C语言Scanf函数对字符串不要加 取地址运算符&
原文1:http://www.360doc.com/content/16/0515/11/19455598_559288667.shtml 原文2:https://zhidao.baidu.com/q ...
- 4-printf & scanf函数
一.printf函数 这是(printf和scanf)在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h> 1.用法 1> printf(字符串) ...
- Linux C 字符串输入函数 gets()、fgets()、scanf() 详解
一.gets() 函数详解 gets()函数用来从 标准输入设备(键盘)读取字符串直到 回车结束,但回车符('\n')不属于这个字符串. 调用格式为: gets(str); 其中str为字符串变量(字 ...
- C Primer Plus_第5章_运算符、表达式和语句_编程练习
Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...
- scanf、printf、gets、puts的应用及区别
1.scanf()函数 函数scanf()按指定的格式从键盘读取数据,并将其赋给一个或多个变量.例如: scanf(“%d %f”, &x,&rate); 输入多个变量时,scanf ...
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- C语言scanf函数详细解释
原文链接 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准 ...
随机推荐
- 三种数据库日期转字符串对照sql server、oracle、mysql(V4.11)
三种数据库日期转换对照: http://blog.csdn.net/zljjava/article/details/17552741 SQL类型转换函数:cast(type1 as type2) 数据 ...
- 网页爬虫框架jsoup介绍
序言:在不知道jsoup框架前,因为项目需求.须要定时抓取其它站点上的内容.便想到用HttpClient方式获取指定站点的内容.这样的方法比較笨,就是通过url请求指定站点.依据指定站点返回文本解析. ...
- phpmyadmin客户端多服务器配置
修改libraries/config.default.php 545行,添加 $cfg['Servers']['2'] = $cfg['Servers'][$i];$cfg['Servers']['2 ...
- Batch Normalization的算法本质是在网络每一层的输入前增加一层BN层(也即归一化层),对数据进行归一化处理,然后再进入网络下一层,但是BN并不是简单的对数据进行求归一化,而是引入了两个参数λ和β去进行数据重构
Batch Normalization Batch Normalization是深度学习领域在2015年非常热门的一个算法,许多网络应用该方法进行训练,并且取得了非常好的效果. 众所周知,深度学习是应 ...
- 32.QT绘图
widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QPainter> #inclu ...
- inotify-tools+rsync实时同步文件安装和配置
服务器A:论坛的主服务器,运行DZ X2论坛程序;服务器B:论坛从服务器,需要把X2的图片附件和MySQL数据实时从A主服务器实时同步到B服务器.MySQL同步设置会在下一编中说到.以下是用于实时同步 ...
- Kylin基础教程(一)
一.Kylin介绍 1.1 现状 Hadoop于2006年初步实现,改变了企业级的大数据存储(基于HDFS)和批处理(主要基于MR)问题,10几年过去了,数据量随着互联网的发展井喷式增长,如何高速.低 ...
- PHP函数十进制、二进制、八进制和十六进制转换函数说明
1.十进制转二进制 decbin() 函数,如下实例 echo decbin(12); //输出 1100 echo decbin(26); //输出 11010 2.十进制转八进制 decoct( ...
- jmeter的认识——线程组的认识
名称:可以给线程组设置一个个性化的命名 注释:可以对线程组添加备注以标记 在取样器错误后要执行的动作:就是在错误之后要如何执行,可选继续执行后续的.停止执行等. 线程数:就是需要设置多少线程执行测试. ...
- [ OS ][ Linux ] [ SA ] root 帳號名稱修改
1. 背景: 由於 Linux 中預設最高權限的使用者一律為 root, 存在安全性的疑慮. 所以比較安全的作法要將 root 帳號改名為其他名稱,讓要入侵的人需要同時破解出帳號和密碼才可以進入主機, ...