C语言基础知识回顾 %超适用于计算机二级%
第一章 基本概念
1.1 标识符
-
合法的标识符: 字母、数字和下划线组成,且第一个字符必须是字母或下划线.
-
在C语言的标识符中,大写字母和小写字母被认为是两种不同的字符.
-
标识符分为三类: 关键字、预定义标识符和用户标识符. 当用户标识符与关键字相同时,编译报错;如果用户标识符和预定义标识符相同时,预定义标识符失去原定含义.
1.2 数据类型
数据类型 | 所占字节 |
---|---|
int | 2(16位)/4(32或64位) |
short (int) | 2 |
long (int) | 4 |
unsigned int | 2(16位)/4(32或64位) |
float | 4 |
double | 8 |
char | 1 |
unsigned long | 4 |
指针变量 | 与所指数据无关,与编译器位数有关,2(16位)/4(32位)/8(64位) |
数组 | 数组维度*变量类型 |
结构体 | Σ(每个成员*变量类型) |
- 值得注意:1字节(Byte)=8位(bit). 2字节int型数值范围:-2-15 ~215-1;4字节则为-2-31 ~231-1.
1.3 字符常量
-
C语言中的转义字符:== ‘\n’表示回车==;‘\101’表示一个八进制数101;‘\x6d’表示一个十六进制数6d.
-
几个常用的ASCII码: 000→NULL;065→-‘A’;097→‘a’;048→‘0’;095箭头‘_’.
-
在C程序中,字符量可以参与任何整数运算.
1.4 字符变量
-
putchar(ch); 输出字符函数
-
ch=getchar(); 输入字符函数
-
e.g.把输入的小写字母输出成对应的大写字母
#include<stdio.h>
void main()
{char c;
while ((c=getchar( ))!=’\n’)
{if(c>’a’&&c<’z’)
c=c+’A’-‘a’; putchar(c);}
}
1.5 运算符
优先级 | 运算符 | 名称或含义 | 使用形式 | 结合方向 |
---|---|---|---|---|
1 | [] | 数组下标 | 数组名[常量表达式] | 左到右 |
1 | () | 圆括号 | (表达式)、函数名(形参表) | 左到右 |
1 | . | 结构体成员选择 | 结构体变量名.成员名 | 左到右 |
1 | -> | 结构体成员选择 | 结构体指针变量名->成员名 | 左到右 |
1 | ++、– | 后置自增、减运算符 | 左到右 | |
2 | - | 负号运算符 | 右到左 | |
2 | (类型) | 强制类型转换 | (数据类型)表达式 | 右到左 |
2 | ++、– | 前置自增、减运算符 | 右到左 | |
2 | * | 取值运算符 | *指针变量 | 右到左 |
2 | & | 取地址运算符 | &变量名 | 右到左 |
2 | ! | 逻辑非运算符 | !表达式 | 右到左 |
2 | ~ | 按位取反运算符 | ~表达式 | 右到左 |
2 | sizeof | 长度运算符 | sizeof(表达式) | 右到左 |
3 | *、/ | 乘除 | 左到右 | |
3 | % | 余数 | 整型变量%整型变量 | 左到右 |
4 | +、- | 加减 | 左到右 | |
5 | <<、>> | 位运算左移、右移 | 变量<<表达式、变量>>表达式 | 左到右 |
6 | >、>=、<、<= | 不等号 | 左到右 | |
7 | ==、~= | 等于、不等于 | 左到右 | |
8 | & | 按位与 | 左到右 | |
9 | ^ | 按位异或(同符号为0) | 左到右 | |
10 | ∣ | 按位或 | 左到右 | |
11 | && | 逻辑与 | 左到右 | |
12 | ∣∣ | 逻辑或 | 左到右 | |
13 | ? : | 条件运算符 | 表达式1?表达式2:表达式3 | 右到左 |
14 | = | 赋值运算符 | 右到左 | |
14 | *=、/= | 乘、除后赋值 | 右到左 | |
14 | %= | 取余后赋值 | 右到左 | |
14 | +=、-= | 加、减后赋值 | 右到左 | |
14 | <<=、>>= | 左、右移后赋值 | 右到左 | |
14 | &=、^=、∣= | 按位与、异或、或后赋值 | 右到左 | |
15 | , | 逗号运算符 | 左到右 |