-------------------------------------------------------------------------------------------------
实际的计算中我们接触的数据不仅仅是整型,那么C语言程序中只使用int也会带来一些问题。
从一个例子开始:
#include
int main()
{
int a;
printf("输入一个数,得到除以3的结果 :");
scanf("%d", &a);
printf("%d", a/); //3,小数部分被自动舍去
return ;
}
解决方法:
1. 使用浮点数做除法运算(整数和浮点数做运算,C将把整数转为浮点数,然后进行浮点数运算)
#include
int main()
{
double a;
double b;
printf("请依次输入两个数,如1 2,计算相除的结果:\n");
scanf("%lf %lf", &a, &b); //输入用%lf
printf("相除结果是:%f \n", a/b); //输出用%f
return ;
}
2. 直接将整数值改为浮点值参与运算
#include
int main()
{
printf("%f", 10.3/); //3.333333
return ;
}
数据类型:
整数
int
scanf("%d");
printf("%d", 5);
浮点数
double
scanf("%lf", &a);
printf("%f", 10.0);
计算:
//一.
#include
int main()
{
//计算1小时30分钟与3小时20分的时间差
/*
步骤:1.使用变量存储数值
2.设定换算方式(公式):小时取分钟差后除以60取整数部分,分钟为分钟差后除以60取余
3.得到结果
*/
int hour1, minute1;
int hour2, minute2;
scanf("请输入时间1的小时和分钟:%d %d", &hour1, &minute1); //读入用户的输入值
scanf("请输入时间2的小时和分钟:%d %d", &hour2, &minute2);
int t1 = hour1 * 60 + minute1;
int t2 = hour2 * 60 + minute2;
int t = t2 - t1;
printf("时间差为%d小时%d分钟", t/60, t%60); //相比下面的方式,效率高些
/*
printf("时间差为%d小时%d分钟", ((hour2*+minute2)-(hour1*+minute1))/, ((hour2*+minute2)-(hour1*+minute1))%);
*/
return ;
}
//二.
#include
int main()
{
//使用if判断计算时间差
int hour1, minute1;
int hour2, minute2;
int h = hour2 - hour1;
int m = minute2 - minute1;
printf("请输入小时和分钟:");
scanf("%d %d", &hour1, &minute1);
printf("请输入第二个小时和分钟:");
scanf("%d %d", &hour2, &minute2);
if( m < 0) {
m = m + 60;
h--;
}
printf("时间差为:%d小时%d分钟", h, m);
return 0;
}
//注:关系运算符有 相等(==),不等于(!=),大于(>),小于(=),小于等于(<=)
满足关系运算符时,结果为整数1,否则为整数0。
关系运算符优先级比算术运算符低,但比赋值运算符高。
判断是否相等和不相等的优先级比其它关系运算符低,连续的关系运算符从左到右执行。
8 >= 1 + 2 //1
int a = b > 2 //b>2的运算结果赋值给a
1 > 2 == 3 > 4 //1
1 < 2 > 3 //0
1 == 2 == 0 //1
3 == 2 > 1 //0
求平均值
#include
int main()
{
//求平均值
int a,b;
printf("请输入两个数:");
scanf("%d %d", &a, &b);
printf("平均值为:%f", (a + b) / 2.0);
}
运算符优先级:+(正),-(负),*(乘),/(除),%(取余),+(加),-(减),=(赋值)
交换变量的值:
由于程序是按步执行,如果简单赋值,最后只会得到两个相同的值,这时候就需要第三个变量。
#include
int main()
{
int a = ;
int b = ;
int c;
c = a;
a = b;
b = c;
printf("a=%d b=%d", a, b);
}
R语言数据类型
R语言数据类型[转!!]Zhao-Pace https://www.cnblogs.com/zhao441354231/p/5970544.html R语言用来存储数据的对象包括: 向量, 因子 ...
Go语言 数据类型,流程控制
Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...
C语言数据类型的理解
数据类型的定义: 作为一种语言,必然有所谓的语言组成要素,就像日常生活中人们之间的交流一样,首先会有字,字再成词组,再来就是句子,后来呢就是段落等等.当然不同的字,词,句这些在一起,就会有不同的表达效 ...
R语言 数据类型
R语言数据类型 通常,在使用任何编程语言进行编程时,您需要使用各种变量来存储各种信息. 变量只是保留值的存储位置. 这意味着,当你创建一个变量,你必须在内存中保留一些空间来存储它们. 您可能想存储各种 ...
C语言数据类型取值范围
一.获取数据类型在系统中的位数 在不同的系统中,数据类型的字节数(bytes)不同,位数(bits)也有所不同,那么对应的取值范围也就有了很大的不同,那我们怎么知道你当前的系统中C语言的某个数据类型的 ...
第三课,T语言数据类型(版本TC5.0)
数据类型 TC综合开发工具里使用的是可变类型,就是在程序执行过程中,TC综合开发工具会自动把数据转换为需要的类型,转换失败会出现相应的提示但是在一些特殊的场景下,是需要做类型强制处理,那么这时就需要使 ...
C语言基础课程 第四课 它山之石可以攻玉---C语言数据类型和表达式
1 C语言中的数据类型 1.1 常量 常量就是在程序中不可变化的量 1.1.1 #define #define MAX 10 Define;//定义了一 ...
C语言数据类型的表示范围
1.C和C++语言中基本的数据类型有:字符型(char),整形(short, int, long), 浮点型(float, double) 类型 字节数 类型 字节数 char 1 short ...
随机推荐
偷偷发请求的ajax
概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操作需要 ...
XSS 前端防火墙(1):内联事件拦截
关于 XSS 怎样形成.如何注入.能做什么.如何防范,前人已有无数的探讨,这里就不再累述了.本文介绍的则是另一种预防思路. 几乎每篇谈论 XSS 的文章,结尾多少都会提到如何防止,然而大多万变不离其宗 ...
C#基础--属性 字段
访问修饰符: private: 私有成员,在类的内部才可以访问 protected: 受保护的成员,该类内部和继承类的内部可以访问 public: 公共成员, 完全公开, 没有访问限制 interna ...
java_设计模式_模板方法模式_Template Method Pattern(2016-08-11)
定义: 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤.这里的算法的结构,可以理解为你根据需求设计出来的业务流程.特定的步骤就是指那些 ...
hadoop中datanode无法启动
一.问题描述 当我多次格式化文件系统时,如 [hadoop@xsh hadoop]$ ./bin/hdfs namenode -format 会出现datanode无法启动,查看日志(/usr/loc ...
C语言之分支结构 if(一)
一 程序的三种基本结构 顺序结构:程序从上往下依次执行,这个叫顺序结构 分支结构:有选择的执行或者不执行某段代码 循环结构:重复的执行某段代码 二 分支结构之if 最简单的俩种用法 (tips: if ...
COMCMS_CORE 起步篇,如何运行和部署
前言:关于最近开源后,不少朋友问,怎么我下载下来,运行不了.或者怎么没有左边菜单.货不对板?还是我吃了数据? 感言:开源不容易,更不容易的是,明明毫无保留,还这么大误会,真是泪奔..... 好了.步入 ...
QTP自动化测试-笔记 注释、大小写
1 rem 注释内容 2 ' 注释内容 3 快捷键注释-选择代码行-ctrl+M 4 ctrl+shift+同- 取消注释 大小写 qtp:对小写敏感:如果 变量.sheet页是用小写字母命名,则使用 ...