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语言(二)_操作符


常见的转义字符👇C语言#初始C语言(二)_C语言_02

注释

注释有两种风格

·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);//第三种写法,注:去掉括号仅限于变量名。、
//三种写法所输出的结果都一样。

~ 对一个数的二进制按位取反

--前置、后置-- 

++前置、后置++

*间接访问操作符

双目运算符

三目运算符