[C语言学习]1.2 变量、加法、浮点数和整数

变量

int price = 0

int 是变量类型,price 是变量名,=0是赋值,把price的初始值赋为0。

变量是一个保存数据的地方,当我们需要在程序里保存数据时,比如上面的例子中要记录用户输入的价格,就需要一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算中,比如计算找零。


变量类型

C语言中,所有变量在使用之前必须有定义或声明,所有的变量必须具有确定的数据类型数据类型表示在变量中可以存放什么类型的数据,变量中也只能存放指定类型的数据,程序运行过程中也不能改变变量的类型

C99与ANSI C

在这里插入图片描述

由图中可以看出:C99可以在程序的任意位置添加变量,而ANSI C只能在程序开头定义好所有变量。C99在ANSI C之后发布,故更加合理。

读取整数

  • scanf(“%d”, &price);
  • 要求scanf这个函数读入下一个整数,读到的结果赋值给变量price。
  • 注意price前面的**&**

变量/常量/直接量

  • 变量:顾名思义,因输入值改变的量。

  • 常量:不变量,需要定义:const int AMOUNT = 100;

  • 直接量:直接卸载程序里的常量,未经定义。例如:100

    #include <stdio.h>
    int main(){
    	const int AMOUNT = 100; \\const变量用大写来强调
    	int price = 0;
    	...
    }
    
  • const是一个修饰符,加在int前面,用来给这个变量加上一个const(不变的)属性。这个const属性表示这个变量的值一旦初始化,就不能再修改了。

    • int change = AMOUNT - price;
  • 如果你试图对常量做修改,把它放在赋值运算符的左边,就会报错。

加法

#include<stdio.h>
int main(){
  int a;
  int b;
  printf("请输入两个数字:");
  scanf("%d %d", &a , &b);
  printf("%d+%d=%d", a , b , a+b);
  return 0;

}

浮点数

  • 如何将英尺英寸转化为国际单位?
#include <stdio.h>
int main(){
	printf("请输入身高的英尺和英寸:");
	int foot;
	int inch;//以上两个变量使用double类型的话,下面的scanf内的%d要改成%lf,下面printf内也要用%f,12则不需要改为12.0。更改的代码见下一代码块。
	
	scanf("%d %d",&foot ,&inch );
	
	printf("身高换算为国际单位是:%f", ((foot + inch /12.0)*3.2048));//注意:此处的%f是因为有小数,d只能计算整数,遇到小数会向下取整。12.0和12是完全不同的两个数。
	return 0 ;
	
}
printf("请输入身高的英尺和英寸:");
	double foot;
	double inch;//double类型表示双精度浮点数,对应的float是单精度浮点数。
	
	scanf("%lf %lf",&foot ,&inch );
	
	printf("身高换算为国际单位是:%f", ((foot + inch /12.0)*3.2048));
	
  • 因为两个整数的运算结果只能是整数。
  • 10/3*3 = ?
  • 10和10.0在C中是完全不同的两个数
  • 浮点数:带小数点的数值。浮点这个词的本意是指小数点是浮动的,是计算机内部表达非整数(分数和无理数)的一种方式。另一种方式叫做定点数。人们借助浮点数这个词来表达所有的带小数点的数。
    3*3 = ?
  • 10和10.0在C中是完全不同的两个数
  • 浮点数:带小数点的数值。浮点这个词的本意是指小数点是浮动的,是计算机内部表达非整数(分数和无理数)的一种方式。另一种方式叫做定点数。人们借助浮点数这个词来表达所有的带小数点的数。
  • 10.0是浮点数

单精度浮点数(float)与双精度浮点数(double)的区别如下:

(1)在内存中占有的字节数不同

  • 单精度浮点数在机内占4个字节

  • 双精度浮点数在机内占8个字节

(2)有效数字位数不同

  • 单精度浮点数有效数字8位

  • 双精度浮点数有效数字16位

(3)所能表示数的范围不同

  • 单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38

  • 双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308

(4)在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值