一、数据类型
- char 字符型
- short 短整型
- int 整型
- long 长整型
- long long 更长整型
- float 单精度浮点数
- double 双精度浮点数
下面是对每个数据类型所占字节的确定:
#include<stdio.h>
int main()
{
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
return 0;
}
二、变量、常量
1.变量的表示
int age = 20;
char ch = ‘A’;
float weight = 95.5f;
2.全局变量和局部变量
- 全局变量:在代码块外部的(也就是{}外的)
- 局部变量:在代码块内部的(也就是{}内的)
注意事项:
局部变量和全局变量最好不要取相同的名字,但是如果名称相同的话,局部变量优先。
int num = 100;
int main()
{
int num = 10;
printf("num = %d\n");
return 0;//结果输出局部变量,num = 10
}
变量的定义必须在代码块的最前面,否则会报错。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
scanf("%d%d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
在vs里出现This function or variable may be unsafe. Consider using scanf_s instead. 这个错误的时候 ,必须在第一行加上#define _CRT_SECURE_NO_WARNINGS 1这行代码才不会报错。
注意:
①必须添在第一行。
②scanf、strcopy、strlen、strcat等都是不安全的,不报错的方法如同上述scanf。
3.常量
c语言中的常量包括以下几种:
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
int main()
{
int num = 4;
printf("%d\n",num);
num = 8;
printf("%d\n",num);//可以执行
3;//字面常量
3.14;//字面常量
}
int main()
{
const int num = 4;
printf("%d\n",num);
num = 8;
printf("%d\n",num) ;//错误,consnt修饰的常变量,不可以被修改
#define MAX 10
int main()
{
int arr[MAX] = {0};
printf("%d\n",MAX);
return 0;
}
#include<stdio.h>
//可以一一列举出来的
//枚举关键字:enum
enum Sex
{
MALE;
FEMALE;
SECRET;
};
int main()
{
//enum Sex s = FEMALE;
printf("%d\n",MALE);
printf("%d\n",FEMALE);
printf("%d\n",SECRET);//输出0.1.2
return 0;
}
三、字符串+转义字符+注释
1、字符串
由双引号引起的一串字符称为字符串。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
char arr1[] = "abc";//数组
//里面包含'a','b','c',还有'\0',它表示的是字符串的结束
char arr2[] = { 'a','b','c',0 };
//ASCII编码
//'\0' - 0
//'a' -97
//'A' - 65
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}
注意:字符串的结束标志是一个\0的转义字符。
2、转义字符
\\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符。 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3个八进制的数字。如:\130X |
\xdd | dd表示2个十六进制的数字。如:\x30 0 |
3、注释
/*xxxxxxx*/
- 代码中有不需要的代码可以直接删除,也可以注释掉
- 代码中有些代码比较难懂,可以加一下文字注释
缺点:不能嵌套,c++可以嵌套
快捷键:全部注释:crtl+k+c
全部取消注释:crtl+k+u