C语言-20230805
写代码步骤:
一个项目只有有一个main函数!,否则会报错
1.main函数。程序保存为.c
//int——返回类型(整型),main——函数名,{ }——函数体。 #include <stdio.h> int main() { //在屏幕打出hello world printf('hello world\n');//printf——库函数——屏幕打印信息,需要引用头文件stdio.h // \n表示换行 return 0; }
2.数据类型
char //字符数据类型,1 byte
short //短整型,2 byte
int //整形, 4 byte
long //长整型,4 byte
longlong //更长的整形,8 byte
float //单精度浮点数,4 byte
double //双精度浮点数,8 byte
1字节(byte) = 8比特(bit)
常量、变量(全局,局部)
%d 整型
%f float
%lf double
#define _CRT_SECURE_NO_WARNINGS 1//防止vs警告scanf #include <stdio.h> int age = 1;//此处age为全局变量 int main() { char ch = 'a';//char字符类型 int age = 20;//整形,此处age为局部变量。当局部和全局变量名字一样,局部优先 short num = 100;//短整型,long,longlong float weight = 66.6;//浮点型, double printf("%d\n", 100);//打印整数 printf("%d\n", sizeof(int));//sizeof - 关键字 - 操作符 - 计算类型或者变量所占空间的大小 //--------------------- int x = 0; int y = 0; int sum = 0; scanf("%d %d", &x, &y);//需要输入x的数值,enter后输入y的值,最后会自动给出sum sum = x + y;//求和 printf("sum = %d\n", sum); return 0; }
要注意scanf是需要输入的,否则就是个白框!
3.变量的作用域和生命周期
局部变量:作用域为变量所在的局部范围,生命周期(变量的创建和销毁之间的时间段)同
全局变量的作用域:整个工程(项目),生命周期为整个程序
对于同一工程(项目),两个不同.c源文件,在一个文件中定义某变量int g_val后,在另一文件使用extern int g_val即可调用
执行性代码如printf必须放在 { } 里,如main函数
#include <stdio.h> int b = 2021;//全局变量 int main() { printf("1:%d\n",b);//第1次打印b,成功 { printf("2:%d\n", b);//第2次打印b,成功 int a = 10;//{ }内为局部变量a的作用域,故在{ }外a无法打印 printf("a = %d\n", a); } printf("3:%d\n", b);//第3次打印b,成功 return 0; }
4.常量
1 #include <stdio.h> 2 enum Sex//变量Sex的所有可能取值,其子集为常量 3 { 4 Male,//若此处改为Male=10,则后面打印Male为10,Female为11 5 Female//常量 6 }; 7 int main() 8 { 9 //---1.字面常量--- 10 3.14; 11 10; 12 "a"; 13 "abcdef"; 14 15 //---2.const修饰的常变量--- 16 int num = 10;//前面加const 会使得num为常量导致不能改动,下一行报错 17 num = 20; 18 printf("num = %d\n", num);//输出num = 20 19 20 int arr[10] = {0};//10个元素 21 //这里[ ]内必须为常量,如10,不能为const常变量,或者变量 22 23 //---3.#define 定义的标识符常量--- 24 #define MAX 10000//#define 定义的标识符常量MAX=10000 25 //若再写MAX = 20000;会报错,已给MAX常量赋值,不能重新赋值 26 int n = MAX; 27 printf("n = %d\n", n); 28 29 //---4.枚举常量(可以一一列举的常量)--- 30 //在第二行定义了枚举常量 31 printf("%d\n", Male);//第一个值默认输出为0 32 printf("%d\n", Female);//第二个值默认输出为1 33 return 0; 34 }