先说下今天的心情吧,今天看的课感觉真的是开始上难度了,有一些逻辑复杂的地方要把视频反复看四五遍才能明白,不知道我这种笨蛋能不能学好C语言。。。还是对自己得有点信心,肯定能学好!下面是今天的内容啦!
For循环
之前不是很明白for循环和while循环的区别,这两天在chatgpt刨根问底了一下,总结来说,for循环更适合在已知循环次数时使用,while更适合在未知循环次数下使用;而且,for循环有个好处,就是它初始化、判断、调整的部分都在一起,如for(int i = 0; i
而服务器托管网while的初始化、判断、调整部分可能是分散开的,如果后续需要在循环内添加语句,可能不太好找这三部分的具体位置。
for循环体内不可以修改循环变量,为防止for循环失去控制,比如:
int i = 0;
for (i = 0; i
这段代码运行起来打印的是无数个呵呵和哈哈,for失去控制。
for循环的初始化、判断、调整都是可以省略的,但是,如果判断部分被省略,那么判断的条件就会恒为真,比如:
for ( ; ; ) //省略了判断
{
printf("服务器托管网呵呵n");
}
此时打印出无数个呵呵,因为条件为真就会一直重复进入循环。
一道面试题
这个循环中循环了几次,答案:0次
int main()
{
int i = 0;
int k = 0;
for (i = 0, k = 0; k = 0; i++, k++)//一个“=”是赋值
{
k++;
}
return 0;
}
第五行for循环里的内容,这里反复看了好几遍,一直觉得把0赋值给了K,那K不就是等于0吗,等于0不就是真命题吗,不就该进入循环吗……
后来才弄明白不对,for循环第二部分应该是判断, 但是这里把0赋值给了K,而0表示是假,非0才表示为真,此时0为假,所以不进入循环
二分查找算法
这里看视频觉着不难,但是有点绕,弹幕里有一条说二分查找算法是所有算法里最简单的……妈呀,最简单的都这么复杂,那以后学的得多复杂啊。。。
二分查找算法,就是说,比如我定义了一个数组
char arr[10] = {1,2,3,4,5,6,7,8,9,10};
然后我想找数字7对应的下标是几,此时我们最坏的情况是第十次找到数字7,
而如果我们第一个数找中间的数,也就是5,因为7大于5,所以我们要找的7在5的右边,这时候只需要在6到10之间去找我们要的数,以此类推,我们最坏的情况是第四次就能找到7,这种方法就叫二分查找算法,例如:
#include
int main()
{
char arr[10] = {1,2,3,4,5,6,7,8,9,10};
int k = 7;
int sz = = sizeof(arr)/sizeof(arr[0]); //计算元素个数
int lift = 0;//左下标为0,代表数字1
int right = sz-1;
while(lift k)
{
right = mid-1; //新的右下标变成mid左边的值
}
else if (arr[mid] right)
{
printf("找不到")
}
return 0;
}
计算n的阶乘
#include
int main()
{
int i = 0;
int n = 0;
int ret = 1; //这里不能等于0
scanf("%d",&n);
for (i=1; i
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 长三角生物医药产业加速跑,飞桨螺旋桨为创新药企、医药技术伙伴装上AI大模型引擎
生物医药是国家“十四五”规划中明确的战略性新兴产业之一。长三角地区是中国生物医药产业的排头兵,也是《“十四五”生物经济发展规划》的“生物经济先导区”之一。据《上海市生物医药产业投资指南》显示,2022 年上海市生物医药产业在 I 类国产创新药数量、生物医药领域…