常量:在程序中保持不变的量。
变量:编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值,通常使用变量存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或者存储数据。
声明和使用变量:
声明变量:Datatype variablename;
使用变量:Datatype variablename=value;
定义初始化变量: vaeiablename =value;
例如:计算长方形面积
//声明变量:数据类型 变量名;
int width;//声明变量 定义一个长方形的宽
width=10;//为变量宽赋值
//声明并赋值
int length=50;
int s =width*length;//定义变量S存储长乘宽
printf("长方形的长是%d,宽是%d,面积是:%d ",length,width,s);//输出 长方形的长宽面积,int类型(整型)占位符%d , 换行符
变量命名(标识符)
1.什么是表示符?
标识符就是在程序中自定义一些符号和名称,要跟关键字区分开,关键字是C语言默认提供的符号,标识符是程序自定义的
2.标识符的作用
a.标识符,从字面理解就是用来标识某些东西的符号,标识的目的就是为了将这些东西区分开来
b.其实,标识符等同于人名,为了区分每个人而取的名字
c.C语言是由函数组成的,一个C程序可能会有多个函数,为了区分这些函数。就给每个函数起个名称。函数的名称就是标识符的一种。除了函数,变量名也是标识符。
命名:
1.命名规则(一定要遵守)
a)只能由阿拉伯数字,26个英文字母大小写,下划线_组成。
b)严格区分大小写, 比热test和Test是两个不同的标识符
c)不能以数字开头
d)不可以使用关键字作为标识符
2.命名规范(最好遵守)
a)见名知意,比如一个完整的英文单词,别人一看这个名称就能才能这个标识符的作用。如果不懂英文,你也可以用拼音,尽量不要起像abcde、等这类看起来没有意义的名称。
b)如果标识符中含有多个单词,可以使用驼峰标识(除第一个单词,后面每个单词的首写字母大写),moveName,myMusic,或者使用下划线_来链接,move_Name等
常见的错误标识符
合法标识符 |
非法标识符 |
注释 |
fromNo12 |
from#12 |
标识符中不能使用#符号 |
my_Boolean |
my-Boolean |
标识符中不能使用“-”符号,应使用下划线“_”代替 |
Obj2 |
2ndObj |
标识符不能使用数字开头 |
myInt |
int |
“int”是内建关键字 |
jack_rose |
jack&rose |
符号“&”不能出现在标识符中 |
GUI |
G.U.I |
标识符内部需要出现“.”分隔符 |
基本数据类型:
数值类型;整型:(short,int long),非整型(float double)
非数值类型:char
//计算圆的面积
float pi =3.14;//声明一个float单精度浮点类型变量并赋值 圆周率
int r=3;//半径
float s =pi*r*r;
printf("圆的半径%d,圆周率%f,面积是:%f ");//float单精度浮点类型 %f 占位符
printf()函数和scanf()函数
int bottem,height;//声明两个变量 int类型
printf("请输入三角形的底边长:");//printf输出
scanf("%d,&bottem");//将用户输入的值赋值给bottem scanf输入
printf("请输入三角形的高:");
scanf("%d",&height)
double s =bottem*height/2;//面积的算法
printf("三角形的面积为:%7.2if",s);//%if double双精度浮点类型占位符 7.2:7位有效数字,精确倒小数点后两位
转换字符串 |
说 明 |
%d |
将参数按整数形式转换输出,对应参数应是int 类型 |
%ld |
将参数按长整数形式转换输出,对应参数应是long 类型 |
%c |
输出一个字符,对应参数应该是一个字符 |
%s |
输出一个字符串,对应参数应该是一个字符串 |
%f |
将参数按带小数点数形式输出,对应参数应是double 类型,默认情况下精确到 6 位小数 |
算术运算符:
二元运算:+-*/ %(取模或求余)
一元运算:++,--,
表达式 |
如何计算 |
结果 (num1=5) |
num2 = ++num1; |
num1 = num1 + 1; num2 = num1; |
num2 = 6; num1 = 6; |
num2 = num1++; |
num2 = num1; num1 = num1 + 1; |
num2 = 5; num1 = 6; |
num2 = --num1; |
num1 = num1 - 1; num2 = num1; |
num2 = 4; num1 = 4; |
num2 = num1--; |
num2 = num1; num1 = num1 - 1; |
num2 = 5; num1 = 4 |
通过中间变量实现变量交换:
int num1,num2;//声明两个int类型变量
int temp;//用于交换的 中间变量
printf("请输入num1的值:");//printf 输出
scanf("%d",&num1);//scanf 输入 &抓取用户输入值
printf("请输入num2的值:");
scanf("%d",&num2);
printf("交换前num1=%d,num2=%d ",num1,num2);
temp=num1;//把num1的值赋给temp
num1=num2;//num1为空 把num2的值赋给num1
num2=temp;//此时temp的值是原num1的值 num2的值赋给num1时为空 把temp的值再给num2实现交换
printf("交换后num1=%d,num2=%d ",num1,num2);
类型转换:
自动转换类型
原则:把表示范围小的类型的值转换到大的范围类型的值
short---->int--->long--->float--->double
强制类型转换
语法:(类型名)变量或数值
例如:
int a =5;b =3;
float qu =float(a)/b;
getchar()和putchar()
char a,b;
printf("请输入第一个字符:");
a=getchar();//获取输入字符
fflush(stdin);
printf("请输入第二个字符:");
b=getchar();//获取输入字符
fflush(stdin);
putchar(a);//输出字符
putchar(b);
putchar(" ");