这里只是列举一些知识点,针对哪个点不熟悉可以再去进一步复习
一、分支与循环
1.if和else
这里知识点很简单,格外注意几点
①if后面要加表达式(穿插知识点运算符)
关系运算符,条件操作符(a>b?a:b),逗号表达式(会从左向右依次计算但是整个表达式的结果是最后一个表达式的结果),逻辑操作符(! || &&)
int main()
{
int a = 0;
int b = 3;
int c = 4;
a = (a + 3, c = a + 3, b = c * a + 4);
printf("%d",a);
}
(逗号表达式图示)
②if后面多条语句的情况,要加大括号
③嵌套if的用法
2.switch
①Switch(整型表达式!)
int main()
{
int num = 0;
scanf("%d", &num);
switch (num % 3)//整形表达式
{
case 0://整形常量(可以是字符)
printf("余数为0\n");
break;
case 1:
printf("余数为1\n");
break;
case 2:
printf("余数为2\n");
break;
default:
printf("error\n");
}
return 0;
}
②要加break跳出
3.while语句
①基本模版回忆(输出奇数偶数)
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d", i);
i += 2;
}
return 0;
}
②注意i的范围,不要死循环
4.for循环
①通常作为第一使用,初始化,判断,调整
int main()
{
for (int i = 1; i <= 10; i++)
{
printf("%d", i);
}
return 0;
}
②i++和++i效果上没有区别,但是有些说法说c++在自定义类型上++i比i++的效率高
5.do while循环
循环体至少被循环一次
int main()
{
int i = 1;
do
{
printf("%d", i);
i++;
} while (i <= 10);
return 0;
}
6.break和continue
break用于永久的终止循环
continue用于跳出本次的循环
int main()
{
int i,d;
int count = 0;
scanf("%d", &i);
while (i)
{
d = i % 10;
if (d == 0)
{
printf("0");
i /= 10;
continue;
}
else {
printf("%d", d);
}
i /= 10;
}
return 0;
}
如实现整数倒序输出代码所示,我加入了continue,他就会跳出我本次的while循环,从而解决掉有0出现的情况
break则跳出整个循环,理解较为简单,此处未做代码演示
7.goto语句
①goto语句只能在本函数内部使用
②尽量少用goto语句,但多层循环语句中可以快速跳出(比break好用)
int main()
{
again:
printf("xiix");
goto again;
return 0;
}
二、随机数生成
1.rand函数
rand函数伪随机,生成随机数结果可能会相同,因为默认种子为1
如何改种子呢?
则引入srand函数
2.srand函数
int main()
{
srand(2);
printf("%d", rand());
return 0;
}
所以要想每次随机数运行出来结果不同,就要调整种子seed。
3.time函数
c语言中,time函数可以返回一个时间戳(当前时间和计算机启动时间的所经过的秒数)
int main()
{
srand((unsigned int)time(NULL));
printf("%d", rand());
return 0;
}
4.设置随机数的范围
%100得到的余数是0-99,所以%100+1得到的是1-100
同理,要想得到100-200,那就加上100再%101(%101得到的是0-100)
int main()
{
srand((unsigned int)time(NULL));
printf("%d", 100+rand()%101);
return 0;
}
今天还会更新c语言复习内容,等我整理!