前言
c语言是一门结构化的程序设计语言
支持三种结构:1.顺序结构 2.选择结构 3.循环结构
if语句
if
目的:实现选择结构(分支结构)
格式:if(表达式)//如果表达式为真
语句
else
if (表达式)
语句1
else
语句2
注:if,else语句只能控制一条语句,如果要控制多条,则应当用{}括起来
嵌套else if
构成多重判断
if()
else
{
if()
else
}
上面else中嵌套的if else可以写成下面形式
if()
else if()
else()
关系操作符
c语言中用于比较的表达式称为关系表达式,里面使用的运算符称为关系运算符
> < >= <= == !=
注:两个字符串的比较不能使用==,而应该使用strcmp函数
strcmp如果判断两个字符串内容相同,则返回0
if(strcmp(input,"") == 0)
逻辑操作符
!:逻辑取反运算符(改变单个表达式真假)
&&:与运算符,并且(两个表达式都为真时结果才为1)
||:或运算符,或者(两个表达式都为假时结果才为0)
注:全局变量不初始化,它的值为0;局部变量不初始化,它的值是随机值,因此一般建议变量要初始化。
短路:如果左边的表达式满足逻辑运算符的条件,就不再对右边表达式求值。
&&左边为0,右边不执行;||左边为1,右边不执行。
switch语句
目的:switch语句是一种特殊形式的if...else结构,用于判断条件有多个结果的情况
格式:switch(){
case value1:
break;
case value2:
break;
default:
break;
}
while循环
while()
{
执行部分
调整部分
}
for循环
for(exp1;exp2;exp3)
语句;
注:1.for循环的初始化、判断、调整三个部分是可以省略的;
2.for循环的判断部分如果省略的话,意味着判断恒成立
do-while循环
break和continue语句
循环的嵌套
goto语句
goto语句尽量不使用,但在多层代码中如果想快速跳出可以使用
eg:
for()
{
for()
{
if(disaster)
goto error;
}
}
error;
随机数的生成
rand:伪随机,对一个叫“种子”的基准值进行运算生成的随机数,种子的初始值默认为1
srand:用于初始化随机数的生成器
原型是void srand(unsigned int seed);
int main()
{
srand(time(NULL));
printf("%d\n",rand());
printf("%d\n",rand());
return 0;
}
时间戳:现在时间与计算机起始时间的差值,单位是s
time函数可以返回时间戳,返回的类型是time_t,返回值是一个32位或64位无符号整型
time函数需要包含头文件time.h