一、常量分为
1.字面常量()不可更改
14;// 整形int
3.14;//浮点型float
'a';//字符]
2.const修饰的常变量
const int a = 10;
const修饰的a,本质是变量,被赋予了常量的性质,且不能被更改
const float pai = 3.14f;//此处的pai是const修饰的常变量
pai = 5.14;//不可更改
3.#define 定义的标识符常量,是一种常量,可以定义整形,字符串
#define定义之后的值之后没有';'
定义的值是不可以被修改的
#define MAX 100
#define STR "abcdef"
str就是字符串的头指针,不过它是不能被修改的。相当于一个基址指针。
%s 是打印字符串的
#include<stdio.h>
#define STR "abcdef"
int main()
{
printf("%s\n",STR);
return0;
}
4.枚举常量(作用类似于#define),不使用则不占用空间,枚举的常量不可更改
enum//枚举的关键字
int main()
{
enum Color
{
//枚举常量不可更改
RED,//此处符号不可改为';'
GREEN,//此处符号不可改为';'
BLUE
};//此三者为Color的可能取值
int num = 10;
enum Color c = RED;//将红色赋予c(感觉有点像局部变量)
return 0;
}
二、字符串
单个字符''
字符串用""
//}
//字符串
#include <stdio.h>
#include<string.h>
int main()
{
const float pai = 3.14f;//此处的pai是const修饰的常变量
//char字符类型
//'a'字符常量,单个字符
//char ch = 'w';
//字符串"abc",c语言中没有字符串类型
//char arr[10]="abcdef";//[]中无值则根据""中的字符来确定有几个字符;有值则有几个字符,如图则是10个字符
字符串""的结束标志为:\0
char arr1[] = "abcdef";//后面有\0
char arr2[] = { 'a','b','c','d','e','f','\0'};//后面手动填了一个\0
char arr3[] = { 'a','b','c','d','e','f', };//后面无\0
//printf("%s\n",arr1);
//printf("%s\n", arr2);
//strlen;//求字符串长度的一个函数//string length
//该函数使用时需要加上头文件string。h #inclode<string.h>
int len = strlen("abc");
printf("%d\n",len);
printf("%d\n",(strlen(arr1)));//6个字符
printf("%d\n", strlen(arr2));//6个字符
printf("%d\n", strlen(arr3));//22个字符,因为前面没有手动添加\0则会一直数下去直到有\0为止
return 0;
}
三、转义字符
转变原来字符的意思
//转义字符(转变原来字符的意思)
//早期有三字母词
//??)-->]
//??(-->[
//%d-打印整形
//%c-打印字符
//%s-打印字符串
//%f-打印float类型的数据
//%lf-打印double类型的数据
printf("%s\n","(are you ok??)");
printf("%s\n",("are you ok\?\?"));
// "/"斜杠的作用
//printf("%c\n", ''');这种情况下,三个'''符号,
//会导致系统认为前两个''为一对,将第三个'符号孤立,因此我们用/将第二个变成一个普通的'符号
printf("%c\n",'\'');
printf("\"");//同理,\" 将"便成为一个普通的字符
printf("abcd\0ef");//可以用 \符号来使得 \和0不在一起关联形成空字符\0 将\和0分开,变成普通的字符\和ab一样
printf("abcdef\n");
printf("c:\test\test.c");//想打印文件test.c的文件路径,但是由于\t形成了转义字符因此我们需要在\前加个\
printf("c:\\test\\test.c");
printf("\a");//警报
printf("\t");//水平制表符
printf("\r");//回车
// 特殊转义字符(\ddd)
printf("%c\n",'\130');//打印出来的是X,
//8进制的130,,转换为10进制:0*8的0次方+3*8的一次放+1*8的平方=88 在ASC II编码中88为大写X
//需要记得值为: 97=a 65=A A到a差32 0为48 0到A差17
printf("%c\n",'\62');
printf("%d\n",strlen("qwer t"));
printf("%d\n",strlen("c:\test\628\test.c"));//答案为14 (c : \t e s t \62为一个符号 8 /t e s t . c)一共14位
\0 是一个转义字符
转义字符(转变原来字符的意思)
早期有三字母词
??)-->]
??(-->[
%d-打印整形
%c-打印字符
%s-打印字符串
%f-打印float类型的数据
%lf-打印double类型的数据
printf("%s\n","(are you ok??)");
printf("%s\n",("are you ok\?\?"));
// "/"斜杠的作用
//printf("%c\n", ''');这种情况下,三个'''符号,
//会导致系统认为前两个''为一对,将第三个'符号孤立,因此我们用/将第二个变成一个普通的'符号
printf("%c\n",'\'');
printf("\"");//同理,\" 将"便成为一个普通的字符
printf("abcd\0ef");//可以用 \符号来使得 \和0不在一起关联形成空字符\0 将\和0分开,变成普通的字符\和ab一样
printf("abcdef\n");
printf("c:\test\test.c");//想打印文件test.c的文件路径,但是由于\t形成了转义字符因此我们需要在\前加个\
printf("c:\\test\\test.c");
printf("\a");//警报
printf("\t");//水平制表符
printf("\r");//回车
// 特殊转义字符(\ddd)
printf("%c\n",'\130');//打印出来的是X,
8进制的130,,转换为10进制:0*8的0次方+3*8的一次放+1*8的平方=88 在ASC II编码中88为大写X
需要记得值为: 97=a 65=A A到a差32 0为48 0到A差32
printf("%c\n",'\62');
printf("%d\n",strlen("qwer t"));
printf("%d\n",strlen("c:\test\628\test.c"));//答案为14 (c : \t e s t \62为一个符号 8 /t e s t . c)一共14位
ASCⅡ码表
0为48 A为65 a为97
0到A差17 A到a差32
四、选择语句
选择语句if() 括号中的内容为选择条件,既满足条件了1进入一种结果,不满足进入另一种结果。
例如,当我选择我所学代码的行数为2w行以上则,我就满足了拥有好offer的条件,就能够拥有“好工作”的结果,else(反之)则失业。
首先,修要用到函数scanf
功 能: 执行格式化输入
用 法: int scanf(char *format[,argument,...]);
scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。
其调用格式为: scanf("<格式化字符串>",<地址表>);
因此,在下例中我输入了scanf("%d",&t)
scanf()函数返回成功赋值的数据项数,出错时则返回EOF。
其控制串由三类字符构成:
1。格式化说明符;
2。空白符;
3。非空白符;
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int t = 0;
printf("你要好offer吗?(0/20000)\n");
printf("请输入你已经所练代码的的数量:(随意值)\n");
scanf("%d", &t);
if(t>=20000)
{
printf("好工作");
}
else
{
printf("失业");
}
return 0;
}
/选择语句
int input = 0;
printf("加入比特\n");
printf("要好好学习吗(1/0)?\n");
scanf("%d", &input);//
if (input == 1)
{
printf("好offer");
}
else
{
printf("回家卖红薯");
}
五、循环语句
#include<stdio.h>
int line = 0;
printf("加入比特\n");
while (line < 20000)
{
printf("写代码\n");
line++;
}
if (line >= 20000)
{
printf("好offer");
}
else
{
printf("继续加油");
}
return 0;
//循环语句
//三个语句
//while语句
//for语句
//do...while语句
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
printf("请说出你学习的时间:");
int h = 0;
scanf("%d", &h);
while(h > 100000)
{
printf("每日坚持学习10小时\n");
h++;
}
if (h >= 100000)
{
printf("成为一个脱离了低级趣味的人");
}
else
{
printf("成为废物");
}
return 0;
}
六、函数的引用,
在下例中,
初始化x1,x2,将x1,x2给进add
定义add为一个函数(函数函数,含着的数),因此()括号中的数是盛放 x1和x2的
将x1给x,x2给y,之后,在{}大括号中,写入所需的函数表达式,最后用return z;返还结果
结果给到 int F 最后打印出F即结果
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int add(int x, int y)
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int x1 = 0;
int x2 = 0;
scanf("%d,%d", &x1,&x2);
//表达式
//int sum = x1 + x2;
//打印结果
//printf("%d", sum);//表达式
int F = add(x1, x2);
printf("%d\n",F);
return 0;
}
七、数组
int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };
//数字都是有序号的 0 1 2 3 4 5 6 7 8 9这些序号叫做数组的下标
//下标从0开始
//printf("%d, arr[8]");
int i = 0;
while (i < 10)
{
printf("%d",arr[i]);
i=i+1;
}