C语言程序学习(三)笔记

本文介绍C语言中变量的概念、定义及使用方法,并详细解释整型与浮点型数据类型的特点及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量

实现变量的需要:
1.有地方放输入的数字;
2.有办法输入数字;
3.输入的数字能参与计算。
(输入行为是以行为单位进行的,按下回车键就是行的结束,按下回车键时,程序不会读到任何东西)

 int price=0;
变量的名字是price,类型是int,初始值是0
变量是一个保存数据的地方

变量定义

变量定义一般形式:
<类型名称><变量名称>;
int price;
int amount;
int price,amount;(int类型,price 和amount都是变量)

变量的名字

变量需要名字,变量的名字是一种“标识符”(用来标识这个和那个的不同的名字)
标识符有构造规则:只能由字母、数字和下划线组成,数字不可以在一个位置上,C语言的关键字(保留字)不可以做标识符

C语言保留字

auto,break,case,char,const,
continue,default,do,double,
else,enum,extern,float,for,goto,
if,int,long,register,return,short,
signed,sizeof,static,struct,switch,
typedef,union,unsigned,void,
volatile,while,inline,restrict

附值和初始化

int price=0;
变量的名字是price,类型是int,初始值是0
price=0是一个式子,“=”是一个附值运算符,表示将“=”右边的值赋给左边的变量

附值

和数学不同,a=b在数学表示关系,即a和b的值一样;在程序中,a=b表示计算机做一个动作,将b的值赋给a。
关系是静态的,动作是动态的。数学中,a=b和b=a是一样的,而在程序中,两者意思是完全相反的。

初始化

变量定义的时候立即附值,就是初始化。C没有强制所有变量都需要初始化,但是所有变量在被使用的时候都要被附值。(变量在内存中,没有初始化,内存中的数据就是变量的值)

变量初始化

<类型名称><变量名称>=<初始值>
int price=0;
int amount=100;
组合变量定义,可以在定义中单独给单个变量附初值,如:
int price=0,amount=100;

变量类型

int price=0;
变量的名字是price,类型是int,初始值是0
C是有类型的语言,所有的变量在使用前必须定义或申明,所有的变量必须在有确定的数据类型。(数据类型指变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中无法改变变量的类型)

读整数

scanf("%d",&price);
要求scanf这个函数读入下一个整数,读到结果附值给变量price
小心price前面的&

常量

固定不变的数,是常熟。直接写在程序里的数字,称作直接量(literal)
更好的编程方式,是定义一个常量:
const int AMOUNT=100;(方便理解程序里的数字含义,和程序修改)

const

const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。

tip

程序要求读入多个数字时,可以再一行输入,中间用空格分开, 也可以再多行输入
在scanf的格式字符串中有几个%d,它就等待用户输入一个整数,字符串后面也需要对应有那么多个整数
#include <stdio.h>
int main()
{
int a;int b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
printf("%d + %d = %d\n", a, b, a + b);
return 0;
}

浮点数

带小数点的数值,浮点即小数点数浮动的,这是计算机内部表达非整数(包含分数和无理数)的一种方式。
另一种数叫做定点数,但在C中没有遇到。
在C语言中,两个整数的运算结果结果只能时整数(不带小数点的数)

10和10.0在C中是完全不同的数
10.0是浮点数



计算身高的程序
#include <stdio.h>
int main()
{
printf("请分别输入身高的英尺和英寸,""如输入\"5 7\"表示5英尺7英寸:");
double foot;double inch;
scanf("%lf %lf", &foot, &inch);
printf("身高是%f米。\n", ((foot + inch /12) * 0.3048));
return 0;
}
改进
第一种把12改称12.0  
当浮点数和整数放在一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。

double

inch是定义为int类型的变量,如果把int换成double,我们就把它改为double类型的浮点变量了。
double意思为“双”,它本来是“双精度浮点数”的第一个单词,用来表示浮点数类型。
除了double,还有float(意思为浮点)表示单精度浮点数。

第二种把int改为double
输出也要相应的改为“%lf”

数据类型

整数

int
printf("%d",...)
scanf("%d",...)

带小数点的数

double
printf("%d",...)
scanf("%d",...)

整数

整数类型不能表达有小数部分的数,整数和整数的运算结果还是整数。计算机里会有纯粹的整数这种奇怪的东西,是应为整数运算比较快,而且占地方也小。其实人们日常生活中大量做的还是纯粹整数的计算,所以整数的用处还是很大的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值