#define定义的标识符常量
#define定义的标识符常量性质#include<stdio.h> #define MAX 100 int main() { //MAX = 101;//err define定义常量是不能改的 int m = MAX; printf(“%d\n”, m); printf(“%d\n”, MAX); return 0; }
枚举常量
枚举的基本用法
#include<stdio.h> //枚举就是一一列举 //枚举是C语言提供的一种自定义类型的方法 //性别:男,女,保密 //三原色:red green blue enum Sex { MALE,//0 FEMALE,//1 是可以表示整数的 SECRET//2 }; //enum COLOR{ // RED, // GREEN, // BLUE //}; int main() { //MALE = 5;//err enum Sex s = MALE; printf(“%d\n”, MALE);//0 printf(“%d\n”, FEMALE);//1 printf(“%d\n”, SECRET);//2 return 0; }
字符串+转义字符+注释 ☄️
字符串
字符串 “hehehehehe.\n"
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符 串。 注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容
字符串打印时的性质#include<stdio.h>
int main(){
char arr1[] = “hjc”;
char arr2[] = { ‘h’, ‘j’, ‘c’ }; char arr3[] = { ‘h’, ‘j’, ‘c’, ‘\0’ }; printf(“%s\n”, arr1); printf(“%s\n”, arr2); printf(“%s\n”, arr3); return 0; }
转义字符🐽1️⃣
转义字符 - 转义就是转变它的意思#include<stdio.h>
int main() { printf(“c:\test\test.c”); printf(“abcndef”); printf(“abc\ndef”); return 0;
转义字符表
** 转义字符** | 释义 |
> \? |
| 在书写连续多个问号时使用,防止他们被解析成三字母词 |
| > \’
| 用于表示字符常量 |
| > \“
| 用于表示一个字符串内部的双引号 |
| > \\
| 用于表示一个反斜杠,防止它被解释为一个转义序列符 |
| > \a
| 警告字符,蜂鸣 |
| > \b
| 退格符 |
| > \f
| 进纸符 |
| > \n
| 换行 |
| > \r
| 回车 |
| > \t
| 水平制表符 |
| > \v
| 垂直制表符 |
| > \ddd
| ddd表示1~3个八进制的数字。 如: \130 X |
| > \xdd
| dd表示2个十六进制数字。 如: \x30 0 |
用法解析
1. ? int main(){ //三字母词 - 三个符号组成的 // eg: ??) -> ] printf(“(are you ok??)”); //不加\变成就会(are you ok] } 2. ’ 和\“ int main(){ printf(“%c\n”, ’ ’ '); 这样才能打印单引号 printf(“%s\n”, " " "); 这样才能打印双引号 } 3. \ int main(){ printf(“c:\test\test.c”);这样才能打印路径 } 4. \t就相当于按一下tab键 5. \ddd int main(){ printf(“%c\n”, ‘\130’); //1*82+3*81+0=64+24=88 在ASCII码表中88就代表X } 6. \xdd x表示十六进制 dd代表两个数字 int main(){ printf(“%c\n”, ‘\x42’); // 4*16^1+2=66 在ASCII码表中表示B return 0; } 一个转义字符的题目int main(){ printf(“%d\n”, strlen(“c:\test\628\test.c”)); //8进制里面没有8所以这个8不算 \62也算一个字符 //结果就是14 return 0; }
注释
- 代码中有不需要的代码可以直接删除,也可以注释掉
- 代码中有些代码比较难懂,可以加一下注释文字
/*C语言风格注释 int Sub(int x, int y) { return x-y; } */
//C++注释风格 //int a = 10 ;
但是C语言的注释风格是有缺陷的:
C语言注释的缺陷
选择语句🐾
选择语句的初步了解
int main(){
int input = 0;
printf(“你要好好学习吗?(1/0):”);
scanf(“%d”, &input);//1
if (1 == input)
{
printf(“好offer( ’ v ’ )\n”);
}
else
{
printf(“回家种地\n”);
}
return 0;
}
函数
函数的初运用(求两个数的和)#include<stdio.h>
int Add(int x, int y){ int z = x + y; return z; } int main(){ int num1 = 0; int num2 = 0; int sum = 0; printf(“输入两个操作数:>”); scanf(“%d %d”, &num1, &num2); sum = Add(num1, num2); printf(“sum = %d\n”, sum); return 0; }
函数的特点就是简化代码,代码复用。
数组😼
要存储1-10的数字,怎么存储? C语言中给了数组的定义:一组相同类型元素的集合
数组的定义
int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
C语言是可以用变量来初始化数组的,但是有些编译器不支持例如VS 但是gcc是支持的
数组不完全初始化会把没有初始化的空间置成0
数组的下标
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。 数组可以通过下标来访问的。
比如:
int arr[10] = {0};
//如果数组10个元素,下标的范围是0-9
数组的使用
#include
int main() {
int i = 0;
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
for(i=0; i<10; i++)
{
printf(“%d “, arr[i]);
}
printf(”\n”);
return 0;
}