//1.编译器会从代码开始按照从上往下的顺序阅读代码
//2.c语言中标识符可以按照自己的喜好命名,但是不能下划线与数字开头,不能用编译器自带关键词,区分大小写,只能使用字母数字下划线
//3.变量是可以变的量通常需要自己定义和命名,数字是数值常量,在双引号里是字符串常量
//4.#include引入头文件stdio.h
#include <stdio.h>
//1.int整数类型定义integer的缩写
//2.自定义int类型函数名为add
//3.()里定义传递需要函数处理的参数和参数类型
//4.{}内是函数体可以在内部处理传递过来的参数
int add(int a, int b) {
//1.return是函数处理结果的返回值
//2.通过return返回a+b的计算结果
//3
return a + b;
}
//1.int整数类型定义是integer的缩写
//2.main是主函数:每个c语言代码都需要主函数调用主函数外面的自定义函数
//3.函数的()用来输入参数
//4.{}内是函数体可以在内部处理数据和操作
//5.主函数是被系统自动调用的
//6.主函数调用的自定义函数应该在主函数上面因为编译器会从上往下阅读,否则调用的函数不被编译器认识,因为没有阅读到所以不认识
int main(){
//1.int是4字节32位的整数类型定义是integer的缩写
//2.自定义空的int类型变量resulr
int resulr;
//1.char是1字节8位的整数类型
char resulr1;
//1.short是2字节16位的整数类型
short resulr2;
//1.long是4字节32位的整型数据类型
long resulr3;
//1.long long是8字节64位的整型数据类型
long long resulr4;
//1.foat是浮点数据类型,能够精确到6位数 取值范围是10的负37次方到10的37次方
float a = 1.234567, b = 0.00001, c = 365.12345;
//1.double是双精度浮点数类型精度足够日常应用使用,但是更高的精度double也会出现误差
double a1 = 1.234567, b1 = 0.00001, c1 = 365.12345;
//1.printf是系统自带的函数可以输出到控制台, 由英文(print打印)和(format格式)的首字母组成,意为格式化打印,printf函数声明在系统自带的头文件stdio.h中被#include引用
//2.%f是浮点数据类型占位符
//3.浮点数类型的精度越高占用的字节越大
printf("浮点数a:%f\n浮点数b:%f\n浮点数c:%f\n\n双精度浮点数a:%f\n双精度浮点数b:%f\n双精度浮点数c:%f\n\nsizeof测量float的字节:%d\nsizeof测量double的字节:%d\n\n", a, b, c, a1, b1, c1,sizeof(float),sizeof(double));
//1.add(2,3)调用add函数并传入整数常量2和3
//2.resulr=add(2,3)将函数返回的值通过=号赋值给变量resulr因为调用的函数返回的结果需要有东西装起来
resulr = add(2, 3);
//1.printf是系统自带的函数可以输出到控制台, 由英文(print打印)和(format格式)的首字母组成,意为格式化打印,printf函数声明在系统自带的头文件stdio.h中被#include引用
//2.输出变量resulr到控制台
//3.printf的第一个参数必须是字符串 在双引号内的是字符串常量
//4.%d是整型占位符\n是换行符
//5.printf可以直接打印字符串到控制台还可以通过占位符打印其他量
//6.printf双引号里的%d会代替int类型的resulr变量的值打印到控制台,打印多个可以使用多个占位符加空格,多个量之间,号隔开,右边量会依次按顺序对应左边占位符替换成量的值打印
//7.sizeof可以测量数据类型的空间大小 变量大小 常量大小
//8.通过sizeof测量不同的数据类型有不同的字节大小每个字节有八个位每个位有开关两种状态用1和0表示开为1关为0,这组成了二进制数,那么二进制就可以转化成我们可以理解的10进制数
//9.计算整型数据范围,假设不考虑负数一字节里的位数是n,数据范围为0开始到2进制的位数n次方减1就是数据范围
//10.负数在二进制中可以使用正数的补码表示,正数也可以用负数的补码表示,从左到右遇到0一直填0直到遇到1填写一个1之后全部取反
//11.不同字节的类型取值范围不同列如char只有一个字节8位二进制数,考虑负数取值公式就是【-2的7次方】到【+2的7次方-1】因为最高位是符号位所以是7次方不是8,转成十进制后取值范围就是-128到+127
//12.不同字节的类型取值范围不同列如int有4个字节,把4个字节乘每个字节的8位就是32位二进制数,考虑负数取值公式就是【-2的31次方】到【+2的31次方-1】因为最高位是符号位所以是31次方不是32,转成十进制后取值范围就是-214783648到+214783647
//13.如果不需要考虑负数需要使用unsigned去掉符号位,那么char类型的取值范围公式就是0到【+2的8次方-1】取值范围就是0到+255其他类型也是如此去掉符号位
printf("resulr的值:%d resulr的大小:%d个字节 数据类型int的大小:%d个字节 数据类型char的大小:%d个字节 数据类型short的大小:%d个字节 数据类型long的大小:%d个字节 数据类型long long的大小:%d个字节 常量123的大小:%d个字节\n",
resulr,sizeof(resulr),sizeof(int),sizeof(char),sizeof(short),sizeof(long),sizeof(long long),sizeof(123));
//1.printf输出到控制台,printf函数声明在系统自带的头文件stdio.h中被#include引用
//2.常
printf("您好世界,Hello world\n");
//1.return是函数的返回值,返回的值对应函数的类型
//2.主函数也有返回值c语言规定主函数返回值必须是int类型
return 0;
}