重点知识
一、C语言组成
1.1 关键字
C语言中规定具有特别意义的字符串称为关键字,亦称保留字。C语言的关键字共有37个
1.2 标识符
(1) 标识符只能由字母、下划线、数字组成,且第一个字符必须是字母或下划线,不能是数字。如str,_str1,str_2都是合法的标识符,但2str,2_str,&123,%lsso,M.Jack,-L2都是错误的标识符。 (2) 标识符区分英文字母大小写,如score和Score是两个不同的标识符。 (3) 标识符不能是C语言中的关键字。
二、常量
2.1 整型常量和实型常量
- 十进制、八进制、十六进制分别是以什么开头?
- 十进制的指数形式是如何输入? 例如:1234、0.00013 分别转换成指数形式,
2.2 字符型常量
- 字符必须用单引号包裹。
- 字符型常量在C语言中以ASCII码的形式存储。
- 字符型常量可以与整数进行四则运算。
2.3 字符串常量
> 字符串常量用双引号包裹
"abc" // 这里的abc是一个字符串
> c语言会自动在字符串的末尾加 '\0'
符号
2.4 转义字符
> 转义字符:有些特殊的符号需要显示或者使用特殊按键的时候,无法通过键盘直接使用(例如回车换行功能)。那么在屏幕上要输出类似换行这类动作的时候就需要使用转义字符。
注意:\ddd 表示3位8进制的数字
三、变量
3.1 整型变量
> 编写程序时,可以指明变量是长整型或短整型,有符号整型或无符号整型,还可以把说明符组合起来。因此,整型变量可以分为有符号基本整型、无符号基本整型、有符号短整型、无符号短整型、有符号长整型和无符号长整型这6
种类型。具体的关键字表示和各类型的取值范围如表所示。
3.2 实型变量
>整数类型并不适用于所有应用。有时需要变量能够存储带小数点的数,或者能够存储极大数或极小数。这类数可以用实型变量进行存储,实型变量也称为浮点型变量。实型变量根据精度可以分为单精度类型、双精度类型和长双精度类型等3
种类型。具体的关键字表示和各类型的取值范围如表所示。
默认状态下,实型常量为double双精度类型,如果要赋值给单精度类型的变量,可在常量后面加上符号F或者f。
对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.
#include<stdio.h>
void main() {
float f; /*定义单精度型变量f*/
f = 1234567.45789; /*将值1234567.95789赋给变量f*/
printf("f=%f\n", f); /*输出变量f的值*/
}
代码运行结果:
<div style="border: 1px solid #ccc;padding: 10px;display: inline-block;"> <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=4696f2e83199c3799588f69a23f38d3e&file=file.png" alt="example image" /> </div>
注意:书上说的float单精度的有效数字是6位,下面是书上的案例代码。这个代码让人产生了误解,以为float是6位有效数字。
<div style="border: 1px solid #ccc;padding: 10px;display: inline-block;"> <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=d1dedda95cba66bf65b57cba63712cb1&file=file.png" alt="example image" /> </div>
四、运算符和表达式
4.1 算术运算符与算术表达式
4.1.1 基本的算术运算符
4.1.2 自增自减运算符
++ -- 叫做自增和自减运算符 当++或者--放在变量后面的时候,会延迟自增或者自减,请看下面的代码运行结果: <div style="border: 1px solid #ccc;padding: 10px;display: inline-block;"> <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=774725ea746d1ee454fa2c8a3bd10b57&file=file.png" alt="example image" /> </div>
4.2 逗号运算符
> C语言中逗号可作间隔符,例如,定义变量时用的逗号“int a,b,c;”;亦可作为运算符,用于连接多个表达式,其一般形式为: 表达式1,表达式2,……表达式n
>逗号表达式在运算时将从左至右依次求取各个表达式的值(先求表达式1,然后求表达式2……直至求解完表达式n),而整个逗号表达式的值为最后一个表达式的值。例如:
>a=3,b=2; /给变量a和b进行赋值/ c=(a+b,a-b); /依次计算表达式a+b和a-b的值,将a-b的值赋给变量c,所以c的值为1/
>逗号运算符在全部运算符里优先级最低,因此最好将整个逗号表达式用圆括号括起来,否则意义可能会不同。例如: a=3,b=2; /给变量a和b进行赋值/ c=a+b,a-b; /c的值为5/ 这里是将c=a+b作为表达式1,a-b为表达式2,构成逗号表达式,因此表达式1即c=a+b执行后,c等于5。 逗号运算符结合律为自左向右。因此如果前后表达式用到相同的变量,则前面表达式中变量值如果发生了变化,将会影响后面的表达式。例如: a=2; x=(a=3,a+12); /x的值为18,先计算a=a3等于6,然后再计算a+12等于18/