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