C语言基础:翁恺笔记

文章介绍了如何在C语言中将输入的英尺英寸转换为米,强调了整数与浮点数运算的区别,提供了使用浮点数避免精度损失的解决方案。同时,讲解了运算符的优先级,包括求平均值和交换变量值的示例,以及复合赋值和递增递减运算符的用法。
摘要由CSDN通过智能技术生成

英尺英寸换算米案例:

#include <stdio.h>

int main()
{
	int inch=0,foot=0;
	printf("请输入身高的英尺和英寸\n");
	scanf("%d %d",&inch,&foot);
	printf("身高是%f米",(inch+foot/12)*0.3048);
	return 0;	
}

总结:

  • 两个整数的运算结果只能是整数
  • 10和10.0在C语言中是完全不同的数
  • 整数与浮点数的运算结果是浮点数

解决方案:

#include <stdio.h>

int main()
{
	double inch=0.0,foot=0.0;     #方案一:将参与运算的英尺英寸设置为浮点型
	printf("请输入身高的英尺和英寸\n");
	scanf("%lf %lf",&inch,&foot);
	printf("身高是%f米",(inch+foot/12.0)*0.3048);   #方案二:将12转变为12.0,则foot/12.0后的结果为浮点数
	return 0;	
}

浮点数:带小数点的数值;浮点数本意是指小数点是浮动的。

整数、小数的输入输出:

  • 整数
  • int
  • printf("%d",...)
  • scanf("%d",...)
  • 带小数点的数
  • double
  • printf("%f",...)
  • scanf("%lf",...)

2.2.1表达式

运算符(operator):是指进行运算的动作,比如加法运算符"+",减法运算符"-"。

算子(operand):是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值。

两个时间做减法:

#include <stdio.h>

int main()
{
	int hour1,min1,hour2,min2;
	printf("请输入1号时分:\n");
	scanf("%d %d",&hour1,&min1);
	printf("请输入2号时分:\n");
	scanf("%d %d",&hour2,&min2);
	
	int m1=(hour1*60)+min1;
	int m2=(hour2*60)+min2;
	int m3=m2-m1;
	printf("%d时%d分",m3 / 60,m3 % 60);
	return 0;
}

2.2.2运算符优先级

求两个数的平均值:

#include <stdio.h>

int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	double c = (a+b)/2.0 ;
	printf("%lf",c);
	return 0;
}

交换两个变量的值:

#include <stdio.h>

int main()
{
	int a = 5, b = 6;
	int c = a;
	a = b;
	b = c;
	printf("a:%d, b:%d",a,b);
	return 0;
}

2.2.4复合赋值和递增递减

复合赋值运算符:5个算术运算符,+-*/%,可以和赋值运算符=结合起来,形成复合赋值运算符:"+="、“-=”、“*=”、“/=”、和“%=”。注意两个运算符中间不要有空格。 

total += 5   #等价于
total = total + 5

递增递减运算符:“++”和“--”是两个很特殊的运算符,它们是单目运算符,这个算子还必须是常量。这两个运算符分别叫做递增和递减运算符,它们的作用就是给这个变量+1或者-1。

count ++;
count += 1;
count = count + 1;
  • ++和--可以放在变量的前面,叫做前缀形式。也可以放在变量的后面,叫做后缀形式。
  •  a++的值是a加1以前的值,而++a的值是加1之后的值,无论哪个,a自己的值都加1了。
#include <stdio.h>

int main()
{
	int a=1;
	
	printf("a++=%d\n",a++);    #1
	printf("a=%d\n",a);        #2
	
	printf("++a=%d\n",++a);    #3
	printf("a=%d\n",a);        #3
	
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值