步骤
- 新建一个项目
- 新建源文件
- 写代码
// .c语言代码是从函数的第一行开始执行的
// printf - 库函数 ,要使用就得打招呼调用 (引用头文件stdio.h)
//
#include<stdio.h>
int main()
{
printf("西瓜\n");
return 0;
}
// int 函数的返回类型,这里是整形的意思 main 函数名 { } 函数体
// 一个工程中可以出现多个.c文件,但是只能出现一个main主文件
数据类型
为什么这么多类型? 类型丰富选择性更多,更加节约资源!
- char 字符数据类型
- short 短整型
- int 整型
- long 长整型
- long long 更长的整形
- float 浮点数 (精确到小数点后一位)
- double 双精度浮点数(精确到小数点后两位)
%d:int
%f:float
%lf:double
#include <stdio.h>
int main()
{
printf("hehe\n");
printf("%d\n",100);
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
常量、变量
#include<stdio.h>
int main()
{
int age = 20;//定义一个类型+类型的名字+给这个类型赋值
float weight = 70.3;
age = age++;
weight = weight - 10;
printf(%d,age);
printf(%f,weight);
return 0;
}
- 变量:可以改变的量,例如,工资、年龄、体重等
- 局部变量 :在大括号内的变量
- 全局变量 :在大括号外面的变量
- !!! 如果相同名字的全局变量和局部变量同时存在,就近远着,优先使用局部变量
-
#include <stdio.h> int a = 10; int main() { int a = 100; printf("%d", a); return 0; }
- 常量:不能改变的量,例如圆周率等
scanf报错,这里是vs认为这个函数不安全,要解决这个问题
第一种方法我们可以在头部第一行就加上
#define _CRT_SECURE_NO_WARNINGS 1 可以抑制报错,我们不可以使用scanf_s这个函数,他是vs这个编译器自带的,其他编译器没有这个函数会出现bug
第二种方法,可以找到安装目录下面的newc++file.cpp文件在里面加上#define _CRT_SECURE_NO_WARNINGS 1 即可,每次打开新文件就自动添加
变量的作用域和生命周期
- 作用域:变量名字代码的可作用范围
- 全局变量作用域:为整个工程,可以跨文件,但是需要声明变量,使用extern int 变量名字; 来声明变量
- 局部变量作用域:只存在于当前所在 { } 内
- 生命周期:变量的创建到销毁的整个过程
- 全局变量的生命周期:整个程序的生命周期
- 局部变量的生命周期:进入作用域生命周期开始,离开作用于生命周期结束
常量
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
#include <stdio.h>
//性别
enum SEX
{
//枚举类型的变量
MALE = 2,
FEMALE,
SECRET
};
int main()
{
//1.字面常量
3.14;//浮点数字面常量
50;//整型数字面常量
'a';//字符常量
"xigau";//字符串字面常量
//2.const修饰的常变量
const int a = 10;//a本来是一个变量,但是由const修饰过后变成常变量,此时a具有常属性(不能被改变的属性) 不能当作常量来使用
//3.#define(定义)
#define max 10000//这是一个标识符常量是不能更改的,MAX就是代表10000,这个写在开头或者里卖弄都可以
printf("%d\n", max);
//4.枚举常量:可以一一列举的常量,血型、性别、星期等 enum(关键字) sex(类型){枚举类型的变量,两个之间逗号隔开换行};
//枚举的常量都是有值的,如果要给常量赋值,只是赋予他一个初始值
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
return 0;
}