test1.c
//包含一个叫stdio.h的文件
//std-标准 standard input output
#include <stdio.h>
//int 是整型
//main前面的int表示main函数调用返回一个整型值
int main()//主函数-程序的入口-main函数有且仅有一个
{
//这里完成任务
//在屏幕上输出hello world
//函数-print function - printf - 打印函数
//库函数-C语言本身提供给我们使用的函数
//别人的东西-打招呼
//#include
printf("hello world\n");
return 0;//返回 0
}
//这种写法是过时的写法
// void main()
// {
// }
test2.c
#include <stdio.h>
//char-字符类型
//%d - 打印整形
//%c - 打印字符
//%f - 打印浮点数字-打印小数
//%p - 以地址的形式打印
//%x - 打印16进制数字
//%o - 打印8进制数字
int main()
{
char ch = 'A';//内存
printf("%c\n",ch);//%c -- 打印字符格式的数据
//20;
//short int -- 短整型
//int --整型
int age = 20;
printf("%d\n",age);//%d -- 打印整型十进制数据
//long 长整型
long num = 100;
printf("%d\n",num);
float f = 5.0;
printf("%f\n",f);
double d = 3.14;
printf("%lf",d);
return 0;
}
test3.c
#include <stdio.h>
//比特:一个二进制代表一位,一个位只能表示0/1
//字节:一个字节为8个二进制,成为8位,计算机中存储的最小单位是字节
int main()
{
printf("%d\n",sizeof(char));//1字节
printf("%d\n",sizeof(short));//2
printf("%d\n",sizeof(int));//4
printf("%d\n",sizeof(long));//4/8 [c语言标准规定:sizeof(long)>=sizeof(int)] [取决于平台,32位平台->4,64位平台->8]
printf("%d\n",sizeof(long long));//8
printf("%d\n",sizeof(float));//4
printf("%d\n",sizeof(double));//8
return 0;
}
/*
char 字符数据类型
short 短整型
int 整型
long 长整型
long long 更长的整型
float 单精度浮点数
double 双精度浮点数
*/
/*
计算机中单位 计算机是硬件 -- 通电
正电 负电
bit - 比特位 1 0
byte - 字节 一个字节=8个比特位的大小
kb - 1024 bit
mb - 1024 k
gb - 1024 m
tb - 1024 g
pb - 1024 t
*/
test4.c
#include <stdio.h>
/* int main()
{
//年龄
//20
short age = 20;//向内存申请2个字节=16bit位,用来存放20
float weight = 95.6f;//向内存申请四个字节存放小数(不加f则系统默认为双精度浮点数,加f后则表示为单精度浮点数,这是固定的)
return 0;
} */
/* 变量,常量
定义变量的方法
int age = 150;
float weight = 45.5f;
char ch = 'w';
变量的分类
·局部变量
·全局变量
*/
/* int num2 = 20;//全局变量-定义在代码块{}之外的变量
int main()
{
int num1 = 10;//局部变量-定义在代码块{}内部的变量
return 0;
} */
/* int a = 100;//全局变量和局部变量同名可以同时存在
int main()
{
int a = 10;//局部变量优先
//局部变量和全局变量的名字建议不要相同-容易产生误会,产生bug
//当局部变量和全局变量的名字相同时候,局部变量优先
printf("%d\n",a);
return 0;
} */
/* int a = 10;
int main()
{
// {
// int a = 10;
// }
printf("%d\n",a);
return 0;
} */
// 变量的使用
/* int main()
{
//计算2个数的和
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:");
//输入数据-使用输入函数
scanf("%d%d", &num1, &num2); //&:取地址符
// int sum = 0;
// C语言语法规定,变量要定义在当前代码块的最前面
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
} */
/* 变量的作用域和生命周期
·作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的
而限定这个名字的可用性的代码范围就是这个名字的作用域
1.局部变量的作用域是变量所在的局部范围。
2.全局变量的作用域是整个工程。
*/
/* int main()
{ //局部变量的作用域
int num = 0;
{
printf("num = %d\n", num);
}
return 0;
} */
/* //全局变量
int global = 2022;
void test()
{
printf("test()--%d\n", global);
}
int main()
{
test();
printf("%d\n", global);
return 0;
} */
/* int main()
{
//未声明的标识符
// extern,声明外部符号的
extern int g_val;
printf("g_val = %d\n", g_val);
return 0;
} */
/* 生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2.全局变量的生命周期是:整个程序的生命周期。
*/
int main()
{
{
int a = 10;
printf("a = %d\n", a); // ok
}
// printf("a = %d\n", a); // error
return 0;
}
sum.c
//全局变量-定义在代码块之外的变量
int g_val = 2022;