C语言符号
总览图
C语言符号概述
C语言程序=常用符号+语法+关键字
符号 | 名称 | 符号 | 名称 |
---|---|---|---|
, | 逗号 | > | 右尖括号 |
. | 圆点 | ! | 感叹号 |
; | 分号 | | | 竖线 |
: | 冒号 | / | 斜杆 |
? | 问号 | \ | 反斜杠 |
' | 单引号 | ~ | 波折号 |
" | 双引号 | # | 井号 |
( | 左圆括号 | ) | 右圆括号 |
[ | 左方括号 | ] | 右方括号 |
{ | 左大括号 | } | 右大括号 |
% | 百分号 | & | and(与) |
^ | xor(异或) | * | 乘号 |
- | 减号 | = | 等号 |
< | 左尖括号 | + | 加号 |
注释
C语言注释分两种:单行注释和多行注释。
注意:
1.注释是程序里不可或缺的一部分,是程序员间沟通的桥梁之一(代码、文档、注释);
2.注释在程序编译阶段将会被空格替代;
3.注释的标准规范,必须简洁明了,准确易懂,不可喧宾夺主,代码是核心,注释是辅助阅读代码,而非描述代码,不可过多冗长。
/*
多行注释符不可嵌套
*/
int main()
{
//这是一条单行注释
/*/*int num_1 = 10;
int num_2 = 20;*/
int num_3 = 30; */ // /*只会与第一个*/匹配,不管其是否已有匹配项
int/**/num_4=40;//编译后/**/替换为空格,为int num_4;
return 0;
}
接续字符
表现形式:\
作用:连接在程序中跨行的字符串。
int main()
{
char* str = "C语言是一门通用计算机编程语言,广泛应用于底层开发。\
C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、\
产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。\
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,\
以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,\
甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。";
printf("%s", str);
return 0;
}
转义字符
转义字符表:略。
单引号
表示的是一个字符常量,代表的是一个数值。
双引号
表示的是一个字符串常量,代表的是一个地址值。
//系统会将0之后的靠前的内存区域设定为保留。以此来判断是否是有效指针
//有效指针:不为NULL,不小于一定值(根据当前操作系统决定,比如1kb)
int main()
{
//char* p1 = 1;//无意义,该数值是永远不可能成为有效地址的,
//因为该数值所表示的地址是被系统所保留的
//char* p2 = '1';//无意义,同上错误
char* p3 = "1";
printf("%s", p3);
return 0;
}
逻辑运算符
&&
int main()
{
int i = 0, j = 0;
if (++i&&++j)//一假则假,若++i为假则表达式为假,++j不会执行
{
printf("i:%d,j:%d", i, j);
}
return 0;
}
||
int main()
{
int i = 0, j = 0;
if (++i||++j)//一真则真,若++i为真则表达式为真,++j不会执行
{
printf("i:%d,j:%d", i, j);
}
return 0;
}
!
//输出结果只有0和1
int main()
{
printf("%d\n", !0);//输出1
printf("%d\n", !1);//输出0
printf("%d\n", !-1);//输出0
printf("%d\n", !100);//输出0
printf("%d\n", !10000);//输出0
return 0;
}
三目运算符
别名:条件运算符
表现形式:表达式1>表达式2?表达式1:表达式2;
解析:为真则结果为表达式1的值,否则为表达式2的值。
int main()
{
int i = 10, j = 20;
*(i<j?&i:&j) = (i>j ? i : j);//i=j;
printf("i:%d,j:%d\n", i,j);//输出i:20,j:20
int k = 30, l = 40;
printf("max:%d", k>l?k:l);//输出max:40
return 0;
}
自增自减运算符
贪心算法:最大化地读取符号以及变量的值。
int main()
{
int i = 0;
int j = (++i) + (++i) + (++i);//未定义的行为 不同编译器有不同计算 编译器语法解析为贪心算法
//vs编译器下是先计算i的值再相加 不加括号下根据贪心算法 j值也为9
int y = 0;
int x = (++y, y++, ++y);//x值为3 先算i的值再根据逗号表达式算出x
return 0;
}
优先级
优先级表:略。