当前位置: 首页 > wzjs >正文

网站开发遇到的难题解决管理课程培训

网站开发遇到的难题解决,管理课程培训,网站如何添加外链,怎么做时光网站循环结构 while语句 while 循环:用于重复执行一段代码,直到条件不满足为止。 语法: while (条件) {// 循环体:条件为真时执行 } 条件:一个布尔表达式,每次循环开始前检查。如果为真(非0&#xf…

循环结构

while语句

while 循环:用于重复执行一段代码,直到条件不满足为止。

语法:
while (条件) {// 循环体:条件为真时执行
}
  • 条件:一个布尔表达式,每次循环开始前检查。如果为真(非0),执行循环体;如果为假(0),退出循环。

  • 循环体:需要重复执行的代码块。

执行流程:
  1. 检查条件是否为真。

  2. 如果为真,执行循环体。

  3. 重复步骤1和2,直到条件为假。

示例:

打印1到5的数字

#include <stdio.h>
#include <stdlib.h>
​
int main(void)
{int i=1;int n=0;printf("请输入n的值\n");if (scanf("%d", &n) != 1)   // 检查scanf返回值是否为1(成功读取一个整数){printf("输入无效,请输入一个整数\n");return 1;  // 返回1表示输入错误}while(i <= n)   // while循环:当i小于等于n时,执行循环体{printf("%d\n",i);i++;   // i自增1,进入下一次循环}system("pause");return 0;    // 程序正常退出,返回0表示执行成功
}

假如输入5,则输出

1
2
3
4
5
关键点:
  1. 条件控制

    • 确保条件最终会变为假,否则会进入死循环

    • 例如:while (1) 会无限循环。

  2. 循环体

    • 必须包含改变条件的代码,否则循环可能无法结束。

    • 例如:i++ 确保 i 最终大于5,退出循环。

  3. 适用场景

    • 不确定循环次数时(如读取用户输入直到满足条件)。

对比 for 循环:

while:适合不确定循环次数的场景。

for:适合已知循环次数的场景。

例如,下述代码用 for 实现:

for (int i = 1; i <= 5; i++) {printf("%d\n", i);
}

do while语句

do while 循环:先执行循环体,再检查条件。即使条件一开始为假,循环体也会至少执行一次。

语法:
do {// 循环体:至少执行一次
} while (条件);
  • 循环体:需要重复执行的代码块。

  • 条件:一个布尔表达式,每次循环结束后检查。如果为真(非0),继续循环;如果为假(0),退出循环。

执行流程
  1. 执行循环体。

  2. 检查条件是否为真。

  3. 如果为真,重复步骤1和2;如果为假,退出循环。

示例
用户输入验证
#include <stdio.h>
#include <stdlib.h>
​
int main(void)
{int num;do{printf("请输入一个正数\n");scanf("%d",&num);}while (num <= 0);printf("你输入的是:%d\n",num);system("pause");return 0;
}

运行示例:

请输入一个正数:-5
请输入一个正数:0
请输入一个正数:10
你输入的是:10
关键点:
  1. 至少执行一次

    • 即使条件一开始为假,循环体也会执行一次。

    • 例如:do { ... } while (0); 仍然会执行一次循环体。

  2. 条件控制

    • 确保条件最终会变为假,否则会进入死循环

  3. 适用场景

    • 需要至少执行一次的场景(如用户输入验证、菜单选择)。

对比 while 循环:
  • while:先检查条件,再执行循环体(可能一次都不执行)。

  • do-while:先执行循环体,再检查条件(至少执行一次)。

例如,用 while 实现上述示例:

int number = -1;  // 初始化为一个无效值
while (number <= 0) {printf("请输入一个正数:");scanf("%d", &number);
}

for语句

for 循环:用于重复执行一段代码,通常用于已知循环次数的场景。

for (初始化; 条件; 更新) {// 循环体:条件为真时执行
}
  • 初始化:在循环开始前执行一次,通常用于初始化计数器。

  • 条件:每次循环开始前检查。如果为真(非0),执行循环体;如果为假(0),退出循环。

  • 更新:每次循环结束后执行,通常用于更新计数器。

  • 循环体:需要重复执行的代码块。

执行流程:
  1. 执行初始化

  2. 检查条件是否为真。

  3. 如果为真,执行循环体,然后执行更新,重复步骤2和3。

  4. 如果为假,退出循环。

示例 1

打印1到5的数字

#include <stdio.h>
#include <stdlib.h>
​
int main() {int i;  // 变量声明在循环外for (i = 1; i <= 5; i++)  //i = 1:初始化循环变量 i,将其值设置为 1。//i <= 5:循环条件。只要 i 的值小于或等于 5,循环就会继续执行。//i++:每次循环结束后,i 的值增加 1。{printf("%d\n", i);}system("pause");return 0;
}
示例1:正三角塔
#include <stdio.h>
#include <stdlib.h>
​
int main()
{int a=5;   // 定义整型变量a并赋值为5,表示三角形的高度int i,j,k;  // 声明循环控制变量i、j、kfor(i = 1;i <= a;i++){     // 外层循环:控制行数,i从1到a(1到5)for (j = 1; j <= a - i;j++){     // 内层循环1:打印空格,空格数 = a - iprintf(" ");     // 打印一个空格}for (k = 1; k <= 2 * i - 1; k++){    // 内层循环2:打印星号,星号数 = 2 * i - 1printf("*");    //打印一个*号}printf("\n");    //每行结束后换行
}
system("pause");
return 0;
}

for循环逐行解释

  1. for (i = 1; i <= a; i++)

    • 外层循环:控制行数,i15

  2. for (j = 1; j <= a - i; j++)

    • 内层循环1:打印空格,空格数 = a - i

    • 例如:

      • 第1行:a - i = 5 - 1 = 4 个空格。

      • 第2行:a - i = 5 - 2 = 3 个空格。

  3. printf(" ");

    • 打印一个空格。

  4. for (k = 1; k <= 2 \* i - 1; k++)

    • 内层循环2:打印星号,星号数 = 2 * i - 1

    • 例如:

      • 第1行:2 * 1 - 1 = 1 个星号。

      • 第2行:2 * 2 - 1 = 3 个星号。

输出:

    ****************
*********
示例2:倒三角塔

某位同学错误写法

int main(void){int a=5;int b,c,d;for(b = 1; b <= a; b++){for(c = 1; c >=a; c++){printf(" ");}for(d = 1; d=b ;d++){printf("*");}printf("\n");}return 0;
}

正确写法

int main(void) {int a = 5;    // 定义整型变量a并初始化为5,表示三角形的高度int b, c, d;// 外层循环:控制行数,b从a(5)递减到1for (b = a; b >= 1; b--) {  for (c = 1; c <= a - b; c++) {    // 内层循环1:打印空格,空格数 = a - bprintf(" ");}for (d = 1; d <= 2 * b - 1; d++) {    // 内层循环2:打印星号,星号数 = 2 * b - 1printf("*");}printf("\n"); }system("pause");return 0;
}

for循环逐句解释

  1. for (b = a; b >= 1; b--)

    • 外层循环:控制行数,ba(5)递减到 1

  2. for (c = 1; c <= a - b; c++)

    • 内层循环1:打印空格,空格数 = a - b

    • 例如:

      • 第1行:a - b = 5 - 5 = 0 个空格。

      • 第2行:a - b = 5 - 4 = 1 个空格。

完美写法

int main(void) {int a; int b, c, d; printf("请输入三角形的高度(正整数):");     // 提示用户输入高度// 输入验证if (scanf("%d", &a) != 1 || a <= 0) {    // 检查输入是否有效printf("输入无效,请输入一个正整数。\n");return 1;   // 输入无效,程序异常退出}for (b = a; b >= 1; b--) {  for (c = 1; c <= a - b; c++) {  printf(" "); }for (d = 1; d <= 2 * b - 1; d++) {  printf("*"); }printf("\n");  }system("pause"); return 0;        
}

输出

*************************
http://www.dtcms.com/wzjs/273037.html

相关文章:

  • 手机和电脑网站分开做前端seo主要优化哪些
  • 聊城有限公司网站建设 中企动力济二分品牌推广和营销推广
  • 织梦可以做视频网站么如何获取永久免费域名
  • 2017网站seo如何做百度舆情
  • 渭南房产网站制作金华百度推广公司
  • 公司制作网站需要磁力天堂
  • 购物网站如何做性能测试百度seo优化策略
  • 精彩网站制作百度sem认证
  • 企业做网站的流程南宁百度seo价格
  • 北京大兴做环保备案网站关键词三年级
  • 怎么优化网站关键词的方法西安核心关键词排名
  • 有哪些网站是封面型媒体软文发布平台
  • 电子商务网站建设项目怎么样推广自己的网站
  • 什么是网络营销的tgi值seo网站关键词
  • 工装设计方案网站招商外包
  • 中小型企业建设一个网站大概需要多少钱举例说明seo
  • 做网站的价网上销售培训课程
  • 昆明做网站找启搜网络南平网站seo
  • 微信公众号如何创建seo关键词外包公司
  • 桂林漓江水位广州百度首页优化
  • 怎样用flash做网站如何建立一个网站
  • 简单手机网站开发软件有哪些免费下载app并安装
  • 广东网站建设开发公司软文小故事200字
  • 网网站制作信息流优化师工作内容
  • wordpress 点击 代码seo广告优化
  • 筹备网站建设上海搜索seo
  • 百色做网站广州seo服务公司
  • 优网营销网站建设seo推广排名
  • 北京门户网站开发网络营销技巧培训班
  • 建设本地网站 配置iis网站统计分析平台