说道C语言肯定很多学计算机的小伙伴都应该知道吧,不过很多小伙伴都很苦恼应该怎样学习C语言。所以小编做了一期C语言知识整理教程,仅提供给大家学习。
看完小编这篇文章呢你就应该学会掌握:
标识符是由字母、数字和下划线三种字符组成的字符序列,用于标识程序中的变量,符号常量、数组、函数和数据类型等操作对象的名字。绝大多数情况下,标识符由字母和下滑线开头。其他花里胡哨的就不用想了。
例如:
1sds 、 *dsa、!45dsd、大赛地方
用户自定义标识符:
常量(constant)是指系统运行过程中其值不能被改变,变量及程序运行的时候他的值可以被改变
include
#define PI 3.1415
int main()
{
float r,s;
r=5;
s=PI*r*r;
printf("%f",s);
return 0;
}
这个大家应该都熟悉吧,计算圆的面积。其中用#define 定义的PI就是一个常量
变量概念:
每个变量在程序运行的时候计算机都会给他自动分配一定量的内存空间,所以变量都有类型比如整型,浮点型,字符型。变量的定义还得遵循标识符命名规则,本人习惯用小写命名。
int main()
{
int a=10;//变量初始化
/*int b;
b=10; 这个叫做赋值不要和初始化弄混淆了*/
printf("%d",a);
return 0;
}
其中a就是一个变量,变量其实可以看做一个小房子,计算机中的内存就如一个住宅区一般,变量的命名其实就是房子的门牌号。计算机通过门牌号找到你变量的存储空间,然后在引用其中的值,其实指针的话原理就是这样的(这里就不过多介绍指针了,如果有兴趣的小伙伴可以关注我的首页,然后看我后续的更新)。如果有兴趣的话还可以加小编的学习扣扣群:873 521 803 小编会在里面分享自己的学习资料以及经验心得,欢迎大家加入小编和小编一起学习。
常量形式:十进制就是由+(-)号开头,正号可以不写。八进制由数字0开头。十六进制由0X或者0x开头。
例如:
int a=10;//十进制
int a=012//八进制
int a=0x12//十六进制
整型常量的类型:
int ,short int ,long int ,unsigned int ,unsigned short ,unsigned long .
int类型其值的范围:-32768~+32767
可以将精度小的值赋值给精度大的,比如int 可以赋值给long int 。但是像如果范围之外的值赋值给变量就会导致出错。例如:4000赋值给unsinged int 是可以的,但是如果你将9999赋值给unsinged int 就会导致数据的溢出。
long int ,short int 可以直接用long,short表示。无符号数只可以存放不带符号的整数,不能春芳负数。例如:-6 -7 -8 -5656这些用unsigned修饰变量都是不可以的。
变量的命名前面讲了,接下来看看如何定义整形变量
int a,b;
float a,b;
long a,q;
unsigned short f,s;
指数表现形式:
3.0E+5表示3.0*10^5,尾数可以是整数也可以是小数,但是指数只能是整数。就算尾数与指数是0和1的时候也不能省略。0e0,1e0,1E0,0e5这些都是合法的但是像6.7e, E-1这些都是不合法的前面应该为6.7e1,后面应该改为1E-1
单精度(float)占4个字节(32位操作系统),双精度(double)占8个字节。单精度可以提供7位有效数字,双精度的话提供15~16位有效数字。
float a;
a=111.1111111111
由于float只提供7位所以后面6位都是多余的,不起作用。
C语言中都用单引号表示字符,例如:'A','B','C','D',更多的字符可以查看ascii码表,字符串类型的数据的话就用双引号括起来,例如“dasd” “casc”.......
像加(+) 减( -) 乘( * ) 除( / ) 取余(%)
这里注意除法,如果两个数相除,两个数都为整数的话得到的数也是整数,两个数中有一个是实型数据的话得到的数就是双精度的实行数据(double)
例如:
5/10结果为0,5.0/10结果就为0.5;
取余的话要求运算符必须是整型数据,而且余数符号和被除数相同
例如:
2%-5的值为2,因为2是被除数,所以余数不是负数是正数。-2%5的值就是-2了。
算术运算遵循优先级的问题。
()的优先级是最大的,然后乘数取余都比加减的优先级高,优先级高的先进行运算。
逗号运算符是由“,”将表达式连接起来,逗号表达式的结合性是自左向右的,最后输出最右边的值
例如:
a=5,a*a; //这里a的值为25
a=5,a*a,a*2//这里a的值是10系统虽然会算a*a但是最后返回的值是最右边表达式的值。
a=(b=5,6)//a的值为6
自增和自减其实原理是一样的,就是一个先后的问题;
j=3;k=++j;//这里k=4,j=4
j=3;k=j++//这里k=3,j=4
j=3;k=--j;//这里k=2,j=2
j=3;k=j--;//这里k=3,j=2
学习从来都不是一个人的事,如果你感觉小编的这篇文章对你有帮助的话,可以关注小编首页和小编来一起学习C语言,小编会持续更新后续的内容哦!!