永发信息网

for语句循环

答案:2  悬赏:40  手机版
解决时间 2021-04-04 20:54
若i和k都是int类型变量,有以下for语句:for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是(  )。

A.
循环体执行两次
B.
循环体执行一次
C.
循环体一次也不执行
D.
构成无限循环

参考答案给的D,为什么,
最佳答案
因为k=1是一个赋值语句,永远为真。应改为k==-1
全部回答
为什么这个循环的作用是5次后退出程序?不要说是因为i<=5之类的,我要的是详解,通俗点的解释。。 好。。我来给您煞笔式的解释。。 for 语句的功能。。 for( i = 1; i <= 5; i++),当执行到这里的时候,系统对 i 赋值,i = 1,不要问为什么会先赋值。。 然后执行中间的逻辑表达式,i <= 5,也就是 1 <= 5,表达式成立。。所以,执行循环体中的代码。。 也就是这一坨。。         printf("[1] select crisps \n");
    printf("[2] select popcorn \n");
    printf("[3] select chocolate \n");
    printf("[4] select cola \n");
    printf("[0] exit \n"); 
    printf("enter choice: ");
    scanf("%d", &choice);
    if(choice == 0) break; 
    switch (choice) {    
    case 1: price=3.0; break;
    case 2: price=2.5; break;
    case 3: price=4.0; break;
    case 4: price=3.5; break;
    default: price=0.0; break;
    }
    printf("price = %0.1f\n", price); 执行完这一坨之后,再执行 for 括号中的 i++ 语句,这时候 i=2。。 这样就执行了1次循环。。 接下来,跳到中间的逻辑表达式再比较。。(赋值语句不用执行了,那只是for循环开始的时候执行的,而且只执行一次),i <= 5,也就是 2 <= 5,表达式成立,所以,执行循环体中的代码。。 也就是这一坨。。         printf("[1] select crisps \n");
    printf("[2] select popcorn \n");
    printf("[3] select chocolate \n");
    printf("[4] select cola \n");
    printf("[0] exit \n"); 
    printf("enter choice: ");
    scanf("%d", &choice);
    if(choice == 0) break; 
    switch (choice) {    
    case 1: price=3.0; break;
    case 2: price=2.5; break;
    case 3: price=4.0; break;
    case 4: price=3.5; break;
    default: price=0.0; break;
    }
    printf("price = %0.1f\n", price); 执行完这一坨之后,再执行 for 括号中的 i++ 语句,这时候 i=3。。 这样就执行了2次循环。。 接下来,跳到中间的逻辑表达式再比较。。(赋值语句不用执行了,那只是for循环开始的时候执行的,而且只执行一次),i <= 5,也就是 3 <= 5,表达式成立,所以,执行循环体中的代码。。 也就是这一坨。。         printf("[1] select crisps \n");
    printf("[2] select popcorn \n");
    printf("[3] select chocolate \n");
    printf("[4] select cola \n");
    printf("[0] exit \n"); 
    printf("enter choice: ");
    scanf("%d", &choice);
    if(choice == 0) break; 
    switch (choice) {    
    case 1: price=3.0; break;
    case 2: price=2.5; break;
    case 3: price=4.0; break;
    case 4: price=3.5; break;
    default: price=0.0; break;
    }
    printf("price = %0.1f\n", price); 执行完这一坨之后,再执行 for 括号中的 i++ 语句,这时候 i=4。。 这样就执行了3次循环。。 接下来,跳到中间的逻辑表达式再比较。。(赋值语句不用执行了,那只是for循环开始的时候执行的,而且只执行一次),i <= 5,也就是 4 <= 5,表达式成立,所以,执行循环体中的代码。。 也就是这一坨。。         printf("[1] select crisps \n");
    printf("[2] select popcorn \n");
    printf("[3] select chocolate \n");
    printf("[4] select cola \n");
    printf("[0] exit \n"); 
    printf("enter choice: ");
    scanf("%d", &choice);
    if(choice == 0) break; 
    switch (choice) {    
    case 1: price=3.0; break;
    case 2: price=2.5; break;
    case 3: price=4.0; break;
    case 4: price=3.5; break;
    default: price=0.0; break;
    }
    printf("price = %0.1f\n", price); 执行完这一坨之后,再执行 for 括号中的 i++ 语句,这时候 i=5。。 这样就执行了4次循环。。 接下来,跳到中间的逻辑表达式再比较。。(赋值语句不用执行了,那只是for循环开始的时候执行的,而且只执行一次),i <= 5,也就是 5 <= 5,表达式成立,所以,执行循环体中的代码。。 也就是这一坨。。         printf("[1] select crisps \n");
    printf("[2] select popcorn \n");
    printf("[3] select chocolate \n");
    printf("[4] select cola \n");
    printf("[0] exit \n"); 
    printf("enter choice: ");
    scanf("%d", &choice);
    if(choice == 0) break; 
    switch (choice) {    
    case 1: price=3.0; break;
    case 2: price=2.5; break;
    case 3: price=4.0; break;
    case 4: price=3.5; break;
    default: price=0.0; break;
    }
    printf("price = %0.1f\n", price); 执行完这一坨之后,再执行 for 括号中的 i++ 语句,这时候 i=6。。 这样就执行了5次循环。。 接下来,跳到中间的逻辑表达式再比较。。(赋值语句不用执行了,那只是for循环开始的时候执行的,而且只执行一次),i <= 5,也就是 6 <= 5,表达式不成立,所以,for 循环结束。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我用大众的DOT4制动液,能更换雪铁龙的制动液
句型转换。(每小题1分,共5分)【小题1】The
前天喝啤酒今天能不能输头孢液体
亚瑟·叔本华的名言
如何烧香葱炒泥螺啊
下陆区黄石颐茶团城山店我想知道这个在什么地
橡皮筋卡在喉咙里不取出来有什么危险,?如何取
11.61除2.7的验算2255525
windows 10需要安装杀毒软件吗
日本的电压为什么是100伏?
下列物质的用途既利用物质的物理性质又利用其
搞笑相册描述语句,尽心尽力为别人着想,最后反
口算.2.5÷0.5=0.42÷0.6=3.5÷0.01=0.25×4
两个月大的宝宝10天不大便正常吗
儿媳把公公夹的紧紧的正常吗?
推荐资讯
材料阅读:“炀帝巡幸,乘龙舟而往江都。自扬
最近想入手2K18,不知道哪个平台好,求推荐
快递怎么搜到
电子瓦罉LOW是什么?
宁波中凯润贸易有限公司怎么样?
老美圆纸币价格
下列地区与主要土地利用类型的连线,正确的是
单选题实部为5,模与复数4-3i的模相等的复数
高二了,喜欢上一个女生,现在满脑子都是她,
我的淘宝生意不好怎么办
写迂腐陈旧的思想的作文
(三)课内现代文阅读(13分)1954年10月2日
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?