1、常量
2、字符串+转义字符+注释
3、选择语句、循环语句
4、函数
5、数组
6、操作符
1、常量
字面常量
#include<stdio.h>
int main()
{
int a=10;
3;
return 0;
}
10是常量,a是变量
3是字面常量
const修饰的常变量
将const需放置在变量所在行的最前面,为变量增加了常属性,从而无法改变变量
#include<stdio.h>
int main()
{
const int num=10;
num=20;
printf("%d\n",num);
}
//输出结果为:无法改变num的值
define定义的标识符常量
使用define为标识符添加了常属性,从而变成了常量。
#include<stdio.h>
#define AAA 10;
int main()
{
int arr[AAA]={0};
printf("%d\n",AAA);
return 0;
}
枚举常量
枚举是指一一列举
枚举关键词:enum
#include<stdio.h>
enum color
{
red,//此处的代表0
yellow,//此处的代表1
blue,//此处的代表2,往下以此类推
};
int main()
{
enum color r=red;
printf("%d\n",red);//如需将颜色输出,需要直接打印颜色。
return 0;
}
2、字符串+转义字符+注释
字符串
字符串是指将多个字符放在一个双引号中。
%s打印字符串
#include<stdio.h>
int main()
{
int arr[]='abc';
printf("%s\n",arr);
return 0;
}
将‘abc’拆分,则变为了‘a’,‘b’,‘c’,‘\0’。
\0是一个转义字符,代表这一组字符串的结束。但并不能作为字符串内容。
strlen 计算字符串长度
#include<stdio.h>
#include<string.h>
int main()
{
int arr[]="abc";
printf("%s\n",strlen(arr));
return 0;
}
注:在使用strlen时,需要搭配头文件<string.h>使用。
\ddd
\ddd是指3个八进制数字
int main()
{
printf("%d\n",strlen("c\test\32\tes"));//此处输出的结果为数字
printf("%c\n",strlen("c\test\32\tes"t));//此处输出的结果为计算的字符数
return 0;
}
注:在计算字符的长度时,出现\时后面所跟的字母时,会被认为是转义字符。出现\时后面所跟的是数字,则会被认为是8进制的数字。
这里的\32则被认为是两个8进制的数字,3和2需要分别进行八进制转十进制,所得结果相加,然后进入ANSII表中查询相应字符。
\xdd
\xdd是指两个十六进制
出现字母时于上面相同,但出现\x后跟着数字时,会被认为是两个十六进制的数字,计算方法也于上面基本相同。只是变成十六进制转十进制。
标准ANSII表👇
常见的转义字符👇
注释
注释有两种风格
·C语言风格的注释/*……*/
缺陷:不能嵌套注释
·C++语言风格的注释//
可以注释单行或多行
3、选择语句、循环语句
选择语句
if() else
#include<stdio.h>
int main()
{
int sr=0;
printf("你要加入吗?(1/0)");
scanf("%d\n",&sr);
if(sr==1)
printf("恭喜你");
else
printf("很遗憾");
return 0;
}
循环语句
while(){}
#include<stdio.h>
int main()
{
int sz=0;
printf("请输入一个数字\n");
while(sz<20000;)
{
printf("输入一个数字\n");
sz++;
};
if(sz>=20000)
printf("输入完成\n");
return 0;
}
4、函数
add() 自定义函数-自己拟定
函数的特点是简化代码,代码复用
#include<stdio.h>
int add(int x,int y){
int z=0;
z=x+y;
return z;
};
int main()
{
int a=10;
int b=20;
int jg=0;
jg=add(a,b);
printf("%d\n",jg);
return 0;
}
5、数组
arr[]
int arr[10]={1,2,3,4,5,6,7,8,9,10};//定义了一个10个数的数组
//下标:0 1 2 3 4 5 6 7 8 9
printf("%d\n",arr[9])//使用下标访问元素。
6、操作符
算术运算符
+ - * / %
移(二进制)位操作符
>> <<
#include<stdio.h>
int main()
{
int a=1;
int b=a<<1;
printf("%d\n",d);
returm 0;
}
(二进制)位操作符
&按位与
计算方法0遇到0结果为0,1遇到0结果为0,1遇到1结果为1
二进制的011或101计算过程👇
011
101
结果为001,转换为十进制是1
|按位或
计算方法是0遇到1结果为1,0遇到0结果为0,1遇到1结果为1
二进制的011或101计算过程👇
011
101
结果为111,转换为十进制是7
^按位异或
注:^在这里的意思不是次方-是异或
计算方法是0遇到1结果为1,0遇到0结果为0,1遇到1结果为0
二进制的011或101计算过程👇
011
101
结果为110,转换为十进制是6
赋值操作符
= += -= *= /= &= ^= |= >>= <<=
这些赋值符叫做复合赋值符
单目运算符
意思是只有一个操作数
在C语言中0代表假,非0代表真
!逻辑反操作
int a=10;
printf("%d\n",!a);
-负值
+正值
一般情况下正值都会省略
& 取地址
sizeof 操作数的类型长度
sizeof计算的是变量/类型所占空间的大小,单位是字节
int a=10;
printf("%d\n",sizeof(a));//第一种写法
printf("%d\n",sizeof(int));//第二种写法
printf("%d\n",sizeof a);//第三种写法,注:去掉括号仅限于变量名。、
//三种写法所输出的结果都一样。
~ 对一个数的二进制按位取反
--前置、后置--
++前置、后置++
*间接访问操作符
双目运算符
三目运算符