【C语法学习】while循环语句 | 您所在的位置:网站首页 › c语言程序while语句 › 【C语法学习】while循环语句 |
文章目录
1 语法结构2 示例2.1 示例12.2 示例22.3 示例32.4 示例42.5 示例5
1 语法结构
while语句的语法结构如下图所示: while(循环条件表达式) 循环语句;循环执行流程图: 希望打印数字1-10,代码如下图所示: int main() { int i = 1; while (i int i = 1; while (i break; } printf("i = %d\n", i); i++; } return 0; }代码执行结果如下图所示: 如果希望跳过打印数字5,在循环语句中加入continue,代码如下图所示: int main() { int i = 1; while (i continue; } printf("i = %d\n", i); i++; } return 0; }代码执行结果如下图所示: 修改上面的代码,挪动i++语句的位置,如下图所示: int main() { int i = 1; while (i continue; } printf("i = %d\n", i); } return 0; }代码执行结果如下图所示: 继续修改代码,i++语句位置保持不动,在continue语句前面增加一条i++语句,如下图所示: int main() { int i = 1; while (i i++; continue; } printf("i = %d\n", i); i++; } return 0; }代码执行后,跳过打印数字5,符合预期,打印结果如下图所示: while循环用于清空stdin缓冲区,代码如下图所示: int main() { char password[20] = { 0 }; // 输入abcde+空格+fgh+空格+回车 printf("请输入密码 : "); scanf("%s", password); //清空stdin缓冲区 int ch = 0; while ((ch = getchar()) != '\n') { ; } // printf("请确认密码(Y/N) : "); int ret = getchar(); if('Y' == ret) { printf("Yes\n"); } else { printf("No\n"); } return 0; }代码执行结果如下图所示: 需求:只打印数字字符,跳过其他字符,代码如下图所示: int main() { int ch = '\0'; //输入a1+空格+b2+空格+c3+空格+d4+空格+e5+空格+回车 while ((ch = getchar()) != '\n') { if (ch '9') continue; putchar(ch); } printf("\n"); return 0; }代码执行结果如下图所示: 需求:在一个有序数组中查找某个具体的数字n; 方法:二分法; 实现:代码如下图所示: int main() { int arr[] = {1,2,3,4,5,6,7,8,9,10}; int k = 0; int sz = sizeof(arr) / sizeof(arr[0]); int l_index = 0; int r_index = 0; int m_index = 0; for (k = 1; k m_index = (l_index + r_index) / 2; if (arr[m_index] r_index = m_index - 1; } else { printf("Number is found, index is %d\n", m_index); break; } } if (l_index > r_index) { printf("Number is not found.\n"); } } return 0; }代码运行结果如下图所示: 需求:编写代码,演示多个字符从两端移动,向中间汇聚; 实现:代码如下图所示: int main() { char arr1[] = "welcome to bit!!!!"; char arr2[] = "##################"; int left = 0; int right = strlen(arr1) - 1;//注意字符串结束符'\0'的存在 while (left |
CopyRight 2018-2019 实验室设备网 版权所有 |