const修饰的长变量(不能被改变的属性)
使用 const
关键字可以将变量声明为常量,一旦被赋值后,常量的值将不能被修改。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
const int num = 100;
//int num = 100;
//num = 500;
printf("num=%d\n", num);
return 0;
}
define定义的标识符常量
使用 #define
预处理指令来定义一个宏常量 min
,其值为 250。在编译过程中,预处理器会将代码中的 min
替换为其对应的值 250。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#define min 250
int main()
{
int n = min;
printf("min=%d", min);
return 0;
}
枚举常量
义一个枚举(enum)类型 sex
,并在花括号内列出了其可能的取值,也称为枚举成员。在这个例子中,枚举类型 sex
的可能取值为 male
、female
和 secret
。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
enum sex
{
male, //可赋初值,默认0,female为1,secret为2
female,
secret
};
int main()
{
enum sex w = secret;
printf("w=%d\n", w);
return 0;
}
//字符串
<stdio.h>
头文件包含了标准输入输出函数的声明,例如
printf
和
scanf
。
<string.h>
头文件包含了字符串处理函数的声明,例如
strlen.
arr
、arr1
和 arr3
是以双引号包围的字符串常量,而 arr2
是一个由字符构成的数组。需要注意的是,在定义字符数组时,编译器会自动在数组末尾添加一个空字符 \0
作为字符串的结束标志。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
char arr[] = "hello";
char arr1[] = "abcd";
char arr2[] = { 'a','b','c','d' };
char arr3[] = { 'a','b','c','d','\0'};
printf("%s\n", arr);
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
//求字符串长度
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));
printf("%d\n", strlen(arr3));
return 0;
}
转义字符
需要特别注意字符串 "c:\test\328\test.c"
中的 \328
部分。在C语言中,以反斜杠 \
开头的字符序列被解释为特殊字符的转义序列。但是,\3
并不是一个合法的转义序列。因此,它被解释为一个八进制数,其中 3
是一个三位的八进制数,对应的十进制数是 3
,占一个字符的位置。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
printf("%d\n", strlen("abcdef"));
printf("%d\n", strlen("c:\test\328\test.c"));
return 0;
}
循环语句
while循环
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int x=0;
while (x<100)
{
printf("数量:%d\n",x);
x++;
}
if (x==100)
{
printf("完成目标\n");
}
return 0;
}