C语言基础
例如:
#include<stdio.h>
int main() {
int a = 45, b = 43, d = 3;//定义a=45,b=43;
int c = (a - b) ; //第一变量c等于a减去b的结果为c
printf("%d",c); //在控制台打印结果为c
}
调用main函数
和定义变量int a,b和c
打印输出c等于a减去b的值
第一个程序,hello,world!
书写规范
#inclde<stdio.h>//第一行借用代码
int main() //调用主函数main
{ //程序代码
printf( )//printf表示输出一个括号内的内容,以hello,world为例(hello,world!)
return 0; //最后返回到0;结束语句
//注意最后添加;结尾输入的都是以英文结尾
}
#include<stdio.h>
int main(){
printf("hello,world!")
return 0;
}
/**加上回车输出结果为多行注释
/*加上回车为单行注释
数据类型
程序离不开数据,比如我们需要保存一个数字或者字母,这时候这些东西就是作为数据进行保存,不过不同的数据他们的类型可能会不同,,比如一个就是一个整数,,就是一个小数,A就是一个字符,C语言提供了多种数据类型供我们使用,我们就可以轻松地使用这些数据了。
8bit=1B
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
源码,反码和补码
所有的数字都是源码,但是这样仅仅只能保存正数那么负数怎么表示呢?
以4个bit(比特率)为标准0000表示1
1001
-
1表示负数1001表示-2
0001
-
0表示正数0001表示2
反码
正数的反码是本身
负数的反码是符号不变,数字取反
补码
根据上面的问题我们引入了补码,
正数的补码是其本身。
负数的补码是其源码的基础上,符号不表,数字取反最后+1
整数类型,
int--4字节,32个bit(比特位)。
long--8个字节,64个bit(比特位)。
short--2个字节,64个bit(比特位)。
浮点类型
浮点类型一般表示小数,
float--度浮点,占用4个字节,32个bit位。
double--点,占用8个字节,64个bit位。
字符类型
C语言除了支持保存数字,也支持保存字符。
char--占用一个字节,可以表示ASCII
变量
就像数学中的x,y一样需要自己定义变量,并利用这些变量进行运算,声明变量的形式。
数据类型 变量名称= 初始量
//=等号后面都是赋值操作,后面可以写一个数字(常量),变量名称, 算式。
例如int a=10; int a=12+6; int a=小红;
整数类型变量定义
int a=46;//变量类型为整数型int(常用),变量名称为a,变量数值为46;
int a=20,b=18;多个变量可以一起写,中间用,隔离开注意必须是同一类型的;
变量要求
1、不能重复使用其他变量使用过的变量。
2、能包含下划线,数字(不能以纯数字开头),字母,并且严格区分大小写,比如a和A不是同一个变量。
3、不能是关键字,例如字符串类型的(float,short,long,double,char。)
4、建议使用中文,不要使用拼音,多个单词可以使用驼峰命名法或者通过下划线连接。
printf(print打印的意思,f是出现在画面)
printf("%d,c\n)
第一次成功输出a,b,c的值
#include <stdio.h> //头文件
int main( ) //调用主函数
{
int a=10;//将20作为a的值 //用整数定义a,赋值a为10。
int b=20;//将36作为b的值 //用整数定义b,赋值b为20。
int c=a+b; //用整数定义c,赋值c的计算规则为c=a+b;
printf("a=%d,b=%d,c=%d",a,b,c);//控制台打印a=%d,b=%d,c=%d,输出abc每个值的数,a的赋值为10,b的赋值为20,c的赋值为10+20=30;
}
浮点型变量double,用的是小数类型,例如
double=0.5;(可以)
int =0.5;(报错出现问题)原因是int只用于整数类型。而0.5是小数不符合规范所以出现了错误
float 浮点类型
用float定义小数例如float=0.5f;{原因在float后面必须加入f或者加上Ffloat才承认(正确示范)}float=0.5(错误示范)
long类型后面加上L作为标注效果会最好。
%f以十进制的类型输出float,double类型小数
d*g=c含义是d乘以g等于常量c
%d可以表示字符串,类型例如
#include<stdio.h>
int mian()
{
char c='a';
char b='b';
printf("%d\n",c);
printf("%d\n",b);
}
控制台输出结果
97
100
#include<stdio.h>
int main()
{
int a,b,c,d
printf("%d,%d,%d,%d",a,b,c,d);
return 0;
}
#include<stdio.h>
int mian()
{
char c=127;
c=c+1;
printf("%d",c)
return 0;
}
控制台输出结果为-128
为什么不是128而是-128呢?原因是127用二进制表示为011111111
对于补码来说开头0为正数,而1为负数当01111111加1的时候正好为10000000原本应该是128为结果,但是开头是以1的二进制数所以补码就是-1乘以128结果为-128。
如果让int a的值不发生变化那么就改变为const 变化为常量const就是一个确定的数字。
char表示一个字符,char一个字符占用8个bit位,还有7个bit位
当一个高优先级和一个低优先级同时运算是,一律按照高优先级得出结果,例如float和double同时进行运算的时候输出结果为double类型的结果。
char和short同时运算的时候结果输出为int整形变量int转化为unsig int类型的结果再转化为long长的整数型变量。整数除以小数等于整数;
例如:
#include<stdio.h>
int main()
{
double a=10,b=3;
double c=b/a;
printf("%f",c);
return 0;
}
控制台输出结果为3.0000(原因是两个double相除以结果为整数加上小数点后6为都为0000000)
#include<stdio.h>
int main()
{
int a=(int)2.5;
double b=5;
double c=b/a;
printf("%f",c)
retun 0;
}
控制台输出结果为2.0000
变量转化例如2.5应该是double变量但是用int定义浮点型变量结果输出会有问提,所以采用int a=(int)2.5;即可
#include<stdio.h>
int main()
{
double b=10.5;
int a=(int)b;
printf("%d",a);
}
基本运算
基本运算符号+,-,*,/
+表示加号
-表示减号
*表示乘号
/表示除号
\转义字符 例如:\n就是重启下一行
=是赋值运算
赋值运算等号是从后面像前面赋值的;例如;
int a,b;
a=b=20;//赋值流程是先执行20=b。然后再执行b=a;最后结束