问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中循环语句有哪些?具体怎么用?

发布网友 发布时间:2022-04-23 04:51

我来回答

7个回答

懂视网 时间:2022-05-12 18:23

如何在循环里插入<optgroup>?

$data = array (
 0 => 
 array (
 'id' => '1',
 'name' => 'WEB编程',
 'parentid' => '0',
 ),
 1 => 
 array (
 'id' => '2',
 'name' => 'PHP',
 'parentid' => '1',
 ),
 2 => 
 array (
 'id' => '3',
 'name' => 'Ajax',
 'parentid' => '1',
 ),
 3 => 
 array (
 'id' => '4',
 'name' => 'java',
 'parentid' => '1',
 ),
 4 => 
 array (
 'id' => '5',
 'name' => 'WinForm编程',
 'parentid' => '0',
 ),
 5 => 
 array (
 'id' => '6',
 'name' => 'VB',
 'parentid' => '5',
 ),
 6 => 
 array (
 'id' => '7',
 'name' => 'VC',
 'parentid' => '5',
 ),
);

这么一个数组,想得到下面的效果。

<select name="categorys">
 <optgroup label="WEB编程">
 <option value="2" >PHP</option>
 <option value="3" >Ajax</option>
 <option value="4" >java</option>
 </optgroup>
 
 <optgroup label="WinForm编程">
 <option value="6" >VB</option>
 <option value="7" >VC</option>
 </optgroup>
</select>

难点在于如何在foreach里判断把<option>包含在<optgroup>里,折腾了半天也没出办法。请高手指点如何完成。

$data = array (
 0 => array (
 'id' => '1',
 'name' => 'WEB编程',
 'parentid' => '0',
 ),
 1 => array (
 'id' => '2',
 'name' => 'PHP',
 'parentid' => '1',
 ),
 2 => array (
 'id' => '3',
 'name' => 'Ajax',
 'parentid' => '1',
 ),
 3 => array (
 'id' => '4',
 'name' => 'java',
 'parentid' => '1',
 ),
 4 => array (
 'id' => '5',
 'name' => 'WinForm编程',
 'parentid' => '0',
 ),
 5 => array (
 'id' => '6',
 'name' => 'VB',
 'parentid' => '5',
 ),
 6 => array (
 'id' => '7',
 'name' => 'VC',
 'parentid' => '5',
 ),
);
 
echo '<select name="categorys">';
foreach($data as $v) {
 if($v['parentid'] == 0)
 echo "<optgroup label='$v[name]'>";
 else
 echo "<option value='$v[id]' >$v[name]</option>";
}
echo '</select>';

唠叨大哥,你上面的操作还是缺了结束符啊</optgroup>

我就是在苦闷如何把这个</optgroup>加进去。

echo "<optgroup label='$v[name]'>$v[name]</optgroup>";

稍微改下就行了。

$data = array (
 0 => 
 array (
 'id' => '1',
 'name' => 'WEB编程',
 'parentid' => '0',
 ),
 1 => 
 array (
 'id' => '2',
 'name' => 'PHP',
 'parentid' => '1',
 ),
 2 => 
 array (
 'id' => '3',
 'name' => 'Ajax',
 'parentid' => '1',
 ),
 3 => 
 array (
 'id' => '4',
 'name' => 'java',
 'parentid' => '1',
 ),
 4 => 
 array (
 'id' => '5',
 'name' => 'WinForm编程',
 'parentid' => '0',
 ),
 5 => 
 array (
 'id' => '6',
 'name' => 'VB',
 'parentid' => '5',
 ),
 6 => 
 array (
 'id' => '7',
 'name' => 'VC',
 'parentid' => '5',
 ),
);
$tempArray = array();
foreach($data as $item){
 $tempArray[$item['parentid']][$item['id']] = $item['name'];
}
echo '<select name="categorys">';
foreach($tempArray[0] as $parentid=>$name){
 echo "<optgroup label="$name">";
 foreach($tempArray[$parentid] as $id=>$name){
 echo "<option value="$id" >$name</option>";
 }
 echo '</optgroup>';
}
echo '</select>';

只是foreach了三次怕效率较差,不知还没有有别的方法。

重做数组的话……

$data = array (
 array (
 'id' => '1',
 'name' => 'WEB编程',
 'parentid' => '0',
 'sub'=>
 array(
  array(
  'id' => '2',
  'name' => 'PHP',
  'parentid' => '1',
  ),
  array (
  'id' => '3',
  'name' => 'Ajax',
  'parentid' => '1',
  ),
  array (
  'id' => '4',
  'name' => 'java',
  'parentid' => '1',
  )
 )
 ),
 array (
 'id' => '5',
 'name' => 'WinForm编程',
 'parentid' => '0',
 'sub'=>
 array(
  array (
  'id' => '6',
  'name' => 'VB',
  'parentid' => '5',
  ),
  array (
  'id' => '7',
  'name' => 'VC',
  'parentid' => '5',
  )
 )
 )
);
echo '<select style="width:200px;">';
for($i=0,$il=count($data);$i<$il;$i++){
 echo '<optgroup label="'.$data[$i]['name'].'">';
 for($j=0,$jl=count($data[$i]['sub']);$j<$jl;$j++){
 echo '<option>'.$data[$i]['sub'][$j]['name'].'</option>';
 }
 echo '<optgroup>';
}
echo '</select>';

是吗?
哦,是少了个 </optgroup>
不过我测试代码时并没有感觉出有与没有的差异

一定要有的话,就加个开关变量。要多次循环干什么?

echo '<select name="categorys">';
$k = false;
foreach($data as $v) {
 if($v['parentid'] == 0) {
 echo "<optgroup label='$v[name]'>";
 $k = true;
 }else {
 if($k) echo '</optgroup>';
 echo "<option value='$v[id]' >$v[name]</option>";
 $k = false;
 }
}
echo '</select>';


热心网友 时间:2022-05-12 15:31

C提供三种基本的循环语句: for语句、while语句和do-while语句。

一. for循环
for循环是开界的。它的一般形式为:
for(<初始化>; <条件表过式>; <增量>)
语句;
初始化总是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定什么时候退出循环; 增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用";"分开。
例如:
for(i=1; i<=10; i++)
语句;
上例中先给i赋初值1, 判断i是否小于等于10, 若是则执行语句, 之后值增加1。再重新判断, 直到条件为假, 即i>10时, 结束循环。
注意:
1. for循环中语句可以为语句体, 但要用"{"和"}"将参加循环的语句括起来。
2. for循环中的"初始化"、"条件表达式"和"增量"都是选择项, 即可以缺省, 但";"不能缺省。省略了初始化, 表示不对循环控制变量赋初值。 省略了条件表达式, 则不做其它处理时便成为死循环。省略了增量, 则不对循环控制变量进行操作, 这时可在语句体中加入修改循环控制变量的语句。
3. for循环可以有多层嵌套。
例16:
main()
{
int i, j, k;
printf("i j k\n");
for (i=0; i<2; i++)
for(j=0; j<2; j++)
for(k=0; k<2; k++)
printf(%d %d %d\n", i, j, k);
}
输出结果为:
i j k
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

二、 while循环
while循环的一般形式为:
while(条件)
语句;
while循环表示当条件为真时, 便执行语句。直到条件为假才结束循环。 并继续执行循环程序外的后续语句。
例17:
#include<stdio.h>
main()
{
char c;
c=’\0’; /*初始化c*/
while(c!=’\X0D’) /*回车结束循环*/
c=getche(); /*带回显的从键盘接收字符*/
}
上例中, while循环是以检查c是否为回车符开始, 因其事先被初始化为空, 所以条件为真, 进入循环等待键盘输入字符; 一旦输入回车, 则c=’\X0D’, 条件为假, 循环便告结束。
与for循环一样, while循环总是在循环的头部检验条件, 这就意味着循环可能什么也不执行就退出。
注意:
1. 在while循环体内也允许空语句。
例如:
while((c=getche())!=’\X0D’);
这个循环直到键入回车为止。
2. 可以有多层循环嵌套。
3. 语句可以是语句体, 此时必须用"{"和"}"括起来。
例18:
#include<stdio.h>
main()
{
char c, fname[13];
FILE *fp; /*定义文件指针*/
printf("File name:"); /*提示输入文件名*/
scanf("%s", fname); /*等待输入文件名*/
fp=fopen(fname, "r"); /*打开文件只读*/
while((c=fgetc(fp)!=EOF) /*读取一个字符并判断是否到文件结束*/
putchar(c); /*文件未结束时显示该字符*/
}

三.do-while 循环
do-while 循环的一般格式为:
do
语句;
while(条件);
这个循环与while循环的不同在于: 它先执行循环中的语句, 然后再判断条
件是否为真, 如果为真则继续循环; 如果为假, 则终止循环。因此, do-while循
环至少要执行一次循环语句。
同样当有许多语句参加循环时, 要用"{"和"}"把它们括起来。

热心网友 时间:2022-05-12 16:49

C语言循环语句有三种,while循环,for循环和do...while循环。 

1、while循环。

形式为:

while(expr)
{
    //循环体
}

每次循环先判断expr表达式是否为真,如果为真则执行循环体,否则退出循环。

2、for循环。

形式为:

for(expr1; expr2; expr3)
{
    //循环体
}

在for循环执行时,先执行一次expr1,一般用来初始化循环变量。

然后在每次循环时,先判断expr2, 如果expr2为真,则执行循环体,否则退出循环。

当循环体结束后,会执行expr3, 执行后,再进行下一次循环,即判断expr2。

3、do...while循环。

形式为:

do
{
    //循环体
}while(expr);

先执行循环体,然后再判断expr,如果为真,执行下次循环,否则退出循环。

do...while循环特点是无论判断条件如何,都会至少执行一次循环体。

热心网友 时间:2022-05-12 18:24

C提供三种基本的循环语句: for语句、while语句和do-while语句。 一. for循环 for循环是开界的。它的一般形式为: for(<初始化>; <条件表过式>; <增量>) 语句; 初始化总是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定什么时候退出循环; 增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用";"分开。 例如: for(i=1; i<=10; i++) 语句; 上例中先给i赋初值1, 判断i是否小于等于10, 若是则执行语句, 之后值增加1。再重新判断, 直到条件为假, 即i>10时, 结束循环。 注意: 1. for循环中语句可以为语句体, 但要用"{"和"}"将参加循环的语句括起来。 2. for循环中的"初始化"、"条件表达式"和"增量"都是选择项, 即可以缺省, 但";"不能缺省。省略了初始化, 表示不对循环控制变量赋初值。 省略了条件表达式, 则不做其它处理时便成为死循环。省略了增量, 则不对循环控制变量进行操作, 这时可在语句体中加入修改循环控制变量的语句。 3. for循环可以有多层嵌套。 例16: main() { int i, j, k; printf("i j k\n"); for (i=0; i<2; i++) for(j=0; j<2; j++) for(k=0; k<2; k++) printf(%d %d %d\n", i, j, k); } 输出结果为: i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 二、 while循环 while循环的一般形式为: while(条件) 语句; while循环表示当条件为真时, 便执行语句。直到条件为假才结束循环。 并继续执行循环程序外的后续语句。 例17: #include<stdio.h> main() { char c; c=’\0’; /*初始化c*/ while(c!=’\X0D’) /*回车结束循环*/ c=getche(); /*带回显的从键盘接收字符*/ } 上例中, while循环是以检查c是否为回车符开始, 因其事先被初始化为空, 所以条件为真, 进入循环等待键盘输入字符; 一旦输入回车, 则c=’\X0D’, 条件为假, 循环便告结束。 与for循环一样, while循环总是在循环的头部检验条件, 这就意味着循环可能什么也不执行就退出。 注意: 1. 在while循环体内也允许空语句。 例如: while((c=getche())!=’\X0D’); 这个循环直到键入回车为止。 2. 可以有多层循环嵌套。 3. 语句可以是语句体, 此时必须用"{"和"}"括起来。 例18: #include<stdio.h> main() { char c, fname[13]; FILE *fp; /*定义文件指针*/ printf("File name:"); /*提示输入文件名*/ scanf("%s", fname); /*等待输入文件名*/ fp=fopen(fname, "r"); /*打开文件只读*/ while((c=fgetc(fp)!=EOF) /*读取一个字符并判断是否到文件结束*/ putchar(c); /*文件未结束时显示该字符*/ } 三.do-while 循环 do-while 循环的一般格式为: do 语句; while(条件); 这个循环与while循环的不同在于: 它先执行循环中的语句, 然后再判断条 件是否为真, 如果为真则继续循环; 如果为假, 则终止循环。因此, do-while循 环至少要执行一次循环语句。 同样当有许多语句参加循环时, 要用"{"和"}"把它们括起来。

热心网友 时间:2022-05-12 20:15

3种 for while do——while
举例
for(i=0;i<10;i++)
用i控制循环次数
while(5>0)
用括号内的条件控制 若为真则循环
do{
···
}while(3<0)
括号内的条件控制循环 若为真则循环 此循环无论如何都会运行1次

热心网友 时间:2022-05-12 22:40

while(exp) for(int i=0;i<num; i++) do{ }while(exp) 具体用法见教材。

热心网友 时间:2022-05-13 01:21

C提供三种基本的循环语句: for语句、while语句和do-while语句。 一. for循环 for循环是开界的。它的一般形式为: for(<初始化>; <条件表过式>; <增量>) 语句; 初始化总是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定什么时候退出循环; 增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用";"分开。 例如: for(i
C语言中循环语句有哪些?具体怎么用?

C提供三种基本的循环语句: for语句、while语句和do-while语句。一. for循环 for循环是开界的。它的一般形式为:for(&lt;初始化&gt;; &lt;条件表过式&gt;; &lt;增量&gt;)语句;初始化总是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定什么时候退出循环; 增量定义循环控制变量每循环一...

c语言的循环语句有哪些

C语言的循环语句有三种:for循环、while循环、do-while循环。1. for循环 for循环是一种预先设定好循环次数的循环结构。其基本语法形式为:c for(初始化; 循环条件; 更新表达式) { // 循环体 } 其中,初始化部分用于定义循环控制变量,设置起始值;循环条件是一个表达式,用于判断循环是否继续;更新表...

c语言循环语句

c语言循环语句主要分为while循环、for循环、嵌套循环三种,一般用得比较多的是前俩种。1、while循环语句 一般形式如下:while(表达式)2、for循环语句 for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已知循环次数的情况。一般形式如下:for([表达式1];[表达式2];[表达式3])C语言简介:C...

c语言中for循环和while循环的区别

c语言for循环语句用法为:for(表达式1;表达式2;表达式3),循环体。在for循环语句用法中,for是关键字。for之后的圆括号内一共有3个表达式,以分号隔开。一般情况下,表达式1的作用是赋初值;表达式2的作用是控制循环,即循环条件;表达式3的作用是修改循环变量的值,一般是赋值。循环体语句如果只有一...

c语言循环语句

C语言中常见的循环语句包括for循环、while循环和do-while循环。解释如下:For循环 For循环是一种预设定循环次数的基本循环结构。在循环开始前,需要设定循环变量以及循环的起始值、结束值和步长。语法形式如下:c for { // 循环体语句 } 其中,初始化用于声明循环控制变量并赋予初值;条件表达式是一个布尔...

c语言中for语句是怎么用的

循环体 } 语句1:初值表达式,用于在循环开始前为循环变量赋初值 语句2:循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数 语句3:循环控制变量修改表达式,它使for循环趋向结束 循环体:需要重复执行的语句 例程:include&lt;stdio.h&gt; int main(){ for(int i=0;i&lt;5;i++){ printf("%d\n"...

C语言中的循环控制语句总共有哪几种?

主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。以while循环语句为例:一般形式如下:while(表达式)语句;其中执行过程如下:(1)计算while后面括号里表达式的值,若其结果非0,则转入(2),否则转(3)(2)执行循环体,转(1)(3)退出循环,执行循环体下面的语句。由于是先...

c语言循环语句是什么?

在C语言中循环可分为3中,while循环、do - while循环、for 循环。while即:首先检查启动循环的条件是否满足,当条件满足时,不断地重复循环体内的语句,直到不满足条件就退出。do while即:进入do while前不做检查,而是在执行完一轮循环后再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足...

c语言中循环表达式有哪些形式?

在c语言的循环语句中,循环表达式可缺省的语句是for语句。for语句中的循环是可以全部省略的,比如for( ; ; ){ }。一般形式为 for(表达式1,表达式2,表达式3)。1、表达式1:设置初始条件,仅仅执行一次,可以为0个,一个或多个。第一个表达式缺省代表进入循环体之前无任何操作 2、表达式2:循环...

C语言:for循环语句的几种格式。

尽管C语言提供了for、while和do-while三种基本循环结构,但for语句主要适用于有限循环。这里有八种常见的for循环语句格式:标准格式: for(i=0;i&lt;3;i++) { x=x+1; } 变量初始化在循环体外: i=0; for(;i&lt;3;i++) { x=x+1; } 增值和条件在花括号内: for(i=0;i&lt;3;) { x=x+1;...

简述C语言中有哪些循环语句 C语言程序设计中循环语句有 C语言中的循环语句 C语言中循环语句嵌套 c语言有几种循环语句 循环语句有哪些 不属于C语言循环语句的是 C语言for循环语句 C语言常见的循环语句
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
重本和一本一样吗 永劫无间是第几人称:小说叙事视角分析 名字未定(第三人称双男主 周霖 温宿) 我得了职业病〈轻度苯中毒〉,有职业病诊断证明书.工伤认定期间我没上... ...后来感觉麻烦,就直接去药店买药,他开了很多 这是十年前的功放,求高手看看那几个孔是什么? 车子断保险之后再交是一样的吗 车险断交后再续交 女性查激素六项什么时候检查 有一个素质很低下的室友是一种什么样的体验? 新鲜笋子煮麻辣鱼怎么做 笋子煮麻辣鱼的做法 没有赌博为什么微信支付被限制? 广州公寓抵押贷款的办理? 想问下公寓抵押贷款需要什么? 成都成华区公寓抵押贷款办理条件是什么样的? 成都青羊区公寓抵押贷款的办理条件都有哪些? 买公寓怎么贷款呢? 公寓房可以在在成都办理房屋抵押贷款吗? 有一套公寓,想问下我可以用该房子作抵押办理贷款吗 公寓能抵押吗? 在固始开炒酸奶店能赚钱吗 炒酸奶一天能赚多少钱 没有教师资格证能当老师吗 教师资格证有必要考吗? 不能取得教师资格证的情形 教师证就是教师资格证吗? 教师资格证几年不上岗作废? 教师资格证不能注册的原因 玉米地有狗獾吃玉米怎么办? 玉米地偷吃玉米的是什么动物? 青岛一名男子趁深夜大家熟睡钻进玉米地,他究竟是为了干啥? c语言提供几种循环语句分别是什么? c语言中循环能力最强的语句是什么 1、 C语言三个循环语句分别是 语句, 语句和 语句 c#常用循环语句基本结构是什么 C#循环语句都是有哪几种?怎么用? while语句什么时候可以综合 三种循环语句有什么相同之处和不同之处? c语言的三个循环语句该怎么区别呢 c语言可以用来实现循环的结构化语句是? 什么是循环语句? c语言循环语句是什么? c语言中,循环功能最强的循环语句是 VB中正确的循环语句是( ) 什么是循环语句,请通俗一点 循环语句 是什么 循环语句的具体用法 枸杞炒山药的做法,枸杞炒山药怎么做好吃,枸杞 山药的做法有几种,怎样做营养价值最高? 山药炒肚片枸杞怎么做 羊腰子,枸杞,山药,的做法。顿着吃