编译器(Compiler):将高级语言形式转换为机器人能理解的机器语言的形式
先画好程序流程图再写代码
表达式为0,则为假,非0值(包括负数)则为真
(逻辑表达式中假为0,真为1)
三元条件运算符:eg.i = i <= 0 ? 0 : i - 1
exit(code)(头文件<stdlib.h>)
重要:浮点数有任何幻数
eg. if(fabs(disc - 0) <= EPS)
eg.fabs(a - b) <= EPS(数值比较是否相等时)
EPS为1e-7
switch语句:只能是int, char(必带default:保证程序的健壮性)
eg.都将执行该代码
case 'x':
case '*':
case'X':
printf("......\n");
“除0错误”
求反运算(!A)
存在短路特点:(左边可判断出来后,不进行右边的运算)
逻辑与(&&):需要都为非0,结果才为1
逻辑或(||):任意结果为非0,结果为1
功能测试(黑)与结构测试(白)
边界测试
if(flag)
{
printf("1");
}
flag非0时输出
右移位有符号位时补符号位的值
while(1)
{
;
}
for(int i = 0; i <= 500000; i++)
{
;
}
拖延时间
0~RAND_MAX
0~32767
eg.stdlib.h
rand()
#include<stdio.h>
main()
{
int x;
int find = 0; /*置找到标志变量为假*/
for(x = 1; !find; x++) /*find为假时继续循环*/
{
if(x%5 == 1 && x%6 ==5 && x%7 == 4 && x%11 == 10)
{
printf("x = %d\n", x);
find = 1; /*置找到标志变量为真*/
}
}
}