编程注意事项(重要)
- 注意中英文符号
- 注意符号是否遗漏
- 变量命名应体现其含义
1.变量类型(熟记)
- int:整数型,代表所有整数,例如:1,2,10,20,-20,-10;
- char:字符型,代表一系列符号,字母,数字等,例如:'a','b','c','d'等;
- float:单精度小数型,代表小数(小数点后面位数比double少),例如:1.2300,2.3300;
- double:双精度小数型,代表小数(小数点后面位数比float多),例如:1.230000,2.330000;
- bool:布尔型,代表真或假,只有true和false两个值;
- string (前面暂时用不到):字符串,代表一串字符,例如:"Hello world";
2.库函数
库函数具有明确的功能 、入口调用函数和返回值。
包含库函数文件用#include <库名.h>来实现,例如:要求数学中的绝对值,需要用到abs(x)来实现,那么就需要导入math库,#include <math.h>
格式化输入输出函数(熟记,需要熟练掌握):
需要#include <stdio.h>
- printf("格式控制字符串",输出列表)
%d:代表int型数据
%f:代表float型数据
%lf:代表double型数据
%c:代表char型数据
%s:代表字符串型数据
设置输出数据的宽度与精度,格式:%[输出最小的宽度][.精度] 类型 ,例如:%6.2f,%2.1f
- scanf("格式控制字符串",输出列表)
后面的变量需要加入&符号,例如:
int i; scanf("%d",&i);
%d:代表int型数据
%f:代表float型数据
%lf:代表double型数据
%c:代表char型数据
%s:代表字符串型数据
scanf可以设置输入数据的宽度但无法设置精度,格式:%[输出最小的宽度] 类型 ,例如:%6f,%2f
常用的数学函数(了解):
需要#include <math.h>
- 三角函数:sin、cos、tan
double sin(doubue x);
double cos(double x);
double tan(double x);
- 绝对值函数:abs、fabs、labs
int abs(int x); 求整数的绝对值
double fabs(double x); 求小数的绝对值
long labs(long x); 求长整数的绝对值
- 幂函数exp、pow
double exp(double x); 求以e为底,参数x为幂的指数值
double pow(double x,double y); 求x的y次幂
- 对数函数log、log10
double log(double x); 求以e为底,参数为x的自然对数值lnx
double log10(double x); 求以10为底,参数为x的自然对数lgx
- 平方根函数sqrt
double sqrt(double x); 求参数x的平方根
- 随机函数rand、srand
int rand(void); 求一个随机整数
void srand(unsigned int seed); 以一个seed为参数,求一个随机数
3.运算符
(1)算数运算符(熟记)
运算符 | 描述 | 实例 |
---|---|---|
+ | 把两个操作数相加 | A + B 将得到 30 |
- | 从第一个操作数中减去第二个操作数 | A - B 将得到 -10 |
* | 把两个操作数相乘 | A * B 将得到 200 |
/ | 分子除以分母 | B / A 将得到 2 |
% | 取模运算符,整除后的余数 | B % A 将得到 0 |
++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
-- | 自减运算符,整数值减少 1 | A-- 将得到 9 |
(2)关系运算符(熟记)
运算符 | 描述 | 实例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果相等则条件为真。 | (A == B) 不为真。 |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真。 | (A != B) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | (A > B) 不为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | (A < B) 为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 | (A >= B) 不为真。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 | (A <= B) 为真。 |
(3)逻辑运算符(熟记)
运算符 | 描述 | 实例 |
---|---|---|
&& | 称为逻辑与运算符。如果两个操作数都 true,则条件为 true。 | (A && B) 为 false。 |
|| | 称为逻辑或运算符。如果两个操作数中有任意一个 true,则条件为 true。 | (A || B) 为 true。 |
! | 称为逻辑非运算符。用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false。 | !(A && B) 为 true。 |
(4)赋值运算符(尽量熟记)
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符,把右边操作数的值赋给左边操作数 | C = A + B 将把 A + B 的值赋给 C |
+= | 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 | C += A 相当于 C = C + A |
-= | 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 | C -= A 相当于 C = C - A |
*= | 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 | C *= A 相当于 C = C * A |
/= | 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 | C /= A 相当于 C = C / A |
%= | 求模且赋值运算符,求两个操作数的模赋值给左边操作数 | C %= A 相当于 C = C % A |
<<= | 左移且赋值运算符 | C <<= 2 等同于 C = C << 2 |
>>= | 右移且赋值运算符 | C >>= 2 等同于 C = C >> 2 |
&= | 按位与且赋值运算符 | C &= 2 等同于 C = C & 2 |
^= | 按位异或且赋值运算符 | C ^= 2 等同于 C = C ^ 2 |
|= | 按位或且赋值运算符 | C |= 2 等同于 C = C | 2 |
(5)位运算符(了解)
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与操作,按二进制位进行"与"运算。运算规则: 0&0=0; 0&1=0; 1&0=0; 1&1=1; |
(A & B) 将得到 12,即为 0000 1100 |
| | 按位或运算符,按二进制位进行"或"运算。运算规则: 0|0=0; 0|1=1; 1|0=1; 1|1=1; |
(A | B) 将得到 61,即为 0011 1101 |
^ | 异或运算符,按二进制位进行"异或"运算。运算规则: 0^0=0; 0^1=1; 1^0=1; 1^1=0; |
(A ^ B) 将得到 49,即为 0011 0001 |
~ | 取反运算符,按二进制位进行"取反"运算。运算规则: ~1=-2; ~0=-1; |
(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。 |
<< | 二进制左移运算符。将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。 | A << 2 将得到 240,即为 1111 0000 |
>> | 二进制右移运算符。将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。 | A >> 2 将得到 15,即为 0000 1111 |
4.循环语句(熟记)
(1) for语句
格式:
for(第一次循环执行的语句;条件判断;循环执行一次后执行的语句){ 循环内部代码 }
(2) while语句
格式:
while(条件判断){ 循环内部代码 }
当条件判断为假时,循环停止
(3) do……while语句
格式:
do{ 循环内部代码 }while(条件判断);
该语句会先执行一次循环内部代码,再进行条件判断;循环内部代码至少会执行一次