一个网站建设流程濮阳市建站公司
web/
2025/10/9 9:05:36/
文章来源:
一个网站建设流程,濮阳市建站公司,简洁物流网站模板免费下载,外贸企业网络营销目录
do...while()循环
do语句的语法 do语句的特点
do while循环中的break和continue
练习
goto语句 do...while()循环
do语句的语法 do 循环语句; while(表达式); do语句的特点 循环至少执行一次#xff0c;使用的场景有限#xff0c;所以不是经常使用。 #inc…目录
do...while()循环
do语句的语法 do语句的特点
do while循环中的break和continue
练习
goto语句 do...while()循环
do语句的语法 do 循环语句; while(表达式); do语句的特点 循环至少执行一次使用的场景有限所以不是经常使用。 #include stdio.h
int main()
{int i 10;do{printf(%d\n, i);} while (i 10);return 0;
}
do while循环中的break和continue
int main()
{int i 0;do{if (i 5)break;printf(%d ,i);i;} while (i 10);return 0;
}
int main()
{int i 0;do{if (i 5)continue;printf(%d ,i);i;} while (i 10);return 0;
} do while循环中break和continue和在while循环中一模一样。 break都是用于终止循环continue是跳过本次循环后边的代码直接去判断部分。 练习
1. 计算 n的阶乘。
#includestdio.h
int main()
{int n 0;scanf(%d,n);int i 0;int ret 1;//得到1-n的数字累乘for (i 1; i n; i){ret * i;}printf(%d\n,ret);return 0;
}
.2.计算 1!2!3!……10!
效率太低循环次数多
#includestdio.h
int main()
{int n 0;int i 0;int ret 1;int sum 0;//让n变起来从1-10for (n 1; n 10; n){//得到1-n的数字累乘for (i 1; i n; i){ret * i;}sum ret;ret 1;}printf(%d\n,sum);return 0;
}
对上述代码改进提升效率 ↓
#includestdio.h
int main()
{int n 0;int i 0;int ret 1;int sum 0;//让n变起来从1-10for (n 1; n 10; n){ret * n;//直接用上次得到的结果乘新的nsum ret;}printf(%d\n, sum);return 0;
}
3. 在一个有序数组中查找具体的某个数字n。
此题用到了二分查找折半查找
这种方法效率很高但条件苛刻需要数组有序。
思路 #include stdio.h
int main()
{int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int k 0;scanf(%d,k);int sz sizeof(arr) / sizeof(arr[0]);int left 0;int right sz - 1;int flag 0;while (left right){int mid (left right) / 2;if (arr[mid] k)left mid 1;//右下标不变else if (arr[mid] k)right mid - 1;//左下标不变else{printf(找到了下标是%d\n, mid);flag 1;break;}}if (flag 0){printf(找不到了\n);}return 0;
}
4. 编写代码演示多个字符从两端移动向中间汇聚。
#includestdio.h
#include windows.h
int main()
{char arr1[] **********************;char arr2[] welcome to bit!!!!!!!!;int sz sizeof(arr2) / sizeof(arr2[0]);int left 0;int right sz - 2;//减去/0,求出的是下标// int right strlen(arr2)-1;//包含string.hwhile (left right){arr1[left] arr2[left];arr1[right] arr2[right];left;right--;printf(%s\n,arr1);Sleep(500);//休眠0.5s需要包含windows.hsystem(cls);//清空屏幕}printf(%s,arr2);return 0;
}
5. 编写代码实现模拟用户登录情景并且只能登录三次。只允许输入三次密码如果密码正确则提示登录成如果三次均输入错误则退出程序。 补充比较字符串时不能直接用 比较strcmp函数是比较字符串的大小的头文件是string.h 如果返回 0 如果返回0 如果 返回0 #include stdio.h
#include string.h
int main()
{int i 0;for (i 0; i 3; i){char password[20] { 0 };scanf(%s, password);if (strcmp(password, 123456) 0){printf(登陆成功\n);break;}else{printf(密码错误\n);}if (i 3){printf(三次密码错误退出程序\n);}}return 0;
}
goto语句 C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。 从理论上 goto语句是没有必要的实践中没有goto语句也可以很容易的写出代码。 但是某些场合下goto语句还是用得着的最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。 goto语言真正适合的场景如下 for(...) for(...) { for(...) { if(disaster) goto error; } } … error: if(disaster) // 处理错误情况 下面是使用goto语句的一个例子然后使用循环的实现方式替换goto语句
#include stdio.h
int main()
{char input[10] { 0 };system(shutdown -s -t 60);
again:printf(电脑将在1分钟内关机如果输入我是猪就取消关机\n);scanf(%s,input);if (strcmp(input, 我是猪) 0){system(shutdown -a);printf(你很配合已取消关机\n);}else{goto again;}return 0;
}
而如果不使用goto语句则可以使用循环
#include stdio.h
int main()
{char input[10] { 0 };system(shutdown -s -t 60);while (1){printf(电脑将在1分钟内关机如果输入我是猪就取消关机\n);scanf(%s, input);if (strcmp(input, 我是猪) 0){system(shutdown -a);printf(你很配合已取消关机\n);break;}}return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89550.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!