变量命名规则:
1、变量名的首字母或下划线(不能是其他特殊符号)
2、变量名的其他字母包含下划线、数字 和字母
3、不能使用关键字
基本数据类型
分为数值型和非数值型,其中数值型分为整型和非整型
整型分为int,short和long
非整型分为单精度float(小数点后位数少 )和双精度double(小数点后位数多)
非数值型有char
详细如下图:
声明变量:
int score totle;
short int studentNo;
long id_card
初始化变量:
score_totle = ;
studentNo = ;
举例:
#include <stdio.h> int main()
{
float height = 150.0f;
float width = 25.0f;
float s = height*width;
printf("长方形的面积为:%.2f\n", s);
return ;
}
double
double是双精度浮点型变量,在声明时需要注意的有:
1、通常小数被存储为double类型,如2.0和9.0,
2、数字后使用L时,数字成为long double类型,如4.5L
#include <stdio.h> void main()
{
double radius=2.5;
double area=3.141592633*radius*radius;
printf("圆的半径为%lf,面积为%lf\n",radius,area);
}
double类型的占位符是lf
char类型的声明
#include <stdio.h>
int main()
{
char ch=;//字符
printf("要打印的字符为:%c\n",ch);
return ;
}
注意占位符,输出结果是'a',再变化一下
#include <stdio.h>
int main()
{
char ch='a';//字符
printf("要打印的字符为:%d\n",ch);
return ;
}
输出结果是97
#include <stdio.h>
int main()
{
char ch='a';//字符
printf("要打印的字符为:%d\n",ch);
return ;
}
输出结果是97
说明char类型可以是ASCII码与字符之间互相转换
备注:32对应空格;65~90对应A~Z;97~122对应a~z
scanf函数
用来读取不同格式的数据
基本用法
int num;
printf("请输入数量:");
scanf("%d",&num);
注意:这里的&目的是把输入的值赋值给后面的num变量
运算符
int num /;
double num = /
输出结果:2, 2.000000
5/2的结果原本就是整型,而double的作用是自动类型转换
小练习
要求:
某游戏中近战武器的实际伤害计算公式为:
武器实际最大伤害=武器最大伤害*(玩家力量+100)/ 100
现有如下武器,武器最大伤害256,要求输入玩家的力量,打印武器实际最大伤害
思考:
需要定义几个变量?--武器实际最大伤害,玩家的力量,武器最大伤害
对应什么数据类型?--double
代码如下:
double actualHurt;
int strength;
double maxHurt = ;
printf("请玩家输入当前角色的力量:");
scanf("%d",&strength);
actualHurt = maxHurt*(strength+)/;
printf("武器实际伤害是:%.2lf",actualHurt);
return ;
变量命名规则
1、首字母:_和普通字母
2、其他字母:_、普通字母和数字
3、不能是关键字
自增
int num=;
num++;//num = num +1;等价
printf("%d\n",num);
类型转换
short < int < long < float < double
double num = ; //小类型转大类型-自动类型转换
int num1 = num; //大类型转小类型-强制类型转换