作业帮 > 综合 > 作业

C语言判断题求解1.函数声明中省略返回值类型时,函数体中可以没有return语句2.i=-3;while(i++);执行

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/28 06:42:55
C语言判断题求解
1.函数声明中省略返回值类型时,函数体中可以没有return语句
2.i=-3;while(i++);执行结束后,i的值是0
3.用流程图表达的算法,用NS图都可以表达
4.用NS图只能表达结构化算法,不能表达非结构化算法
C语言判断题求解1.函数声明中省略返回值类型时,函数体中可以没有return语句2.i=-3;while(i++);执行
错.函数声明省略返回值类型是,默认为int.所以要返回一个int型数据.错.先判断i是否为非0,然后i自加1.所以结束后,i的值是1正确错误

再问: 能不能具体说一下第二个,不太明白。还有一个for(i=-3,j=-3;i++;)j++
再答: 第二个主要是要区别i++和++i。i++是先取i的值,然后自加1,++i是i先自加1,然后再取i得值。我给你分析一下循环的过程——
第一次循环:先判断i是否为真(非零),继续下一轮循环。然后i自加1。此时i=-2。
第二次循环:同上。此时i=-1
第三次循环:同上。此时i=0
第四次循环:此时i为假(0),终止下一次循环。然后i自加1,此时i=1。

关于for(i=-3,j=-3;i++;)j++这个,首先看一下for语句的结构。for语句的结构如下:
for(表达式1; 表达式2; 表达式3) 循环体

其中,先求表达式1(只在第一次循环开始时求),然后判断表达式2是否为真(非零),如果为真进入循环体,之后求表达式3;否则退出循环。你说的那个语句里面,表达式1就是“i=-3,j=-3”,表达式2是"i++",表达式3为空,循环体是j++。所以——

第一次循环:
第一步:求表达式1,即i=-3,j=-3
第二步:判断表达式2是否为真。i++先取i的值(-3),为真,i自加1,i=-2。进入循环体:j自加1 (j=-2)
第三部:求表达式3,为空,则省略。
第二次循环:
第一步:判断表达式2是否为真。同理,此时i=-2(真),i自加1,i=-1。进入循环体:j自加1(j=-1)
第二部:求表达式3,省略。
第三次循环:
第一步:同上。此时i=-1(真),i自加1,i=0。进入循环体:j自加1(j=0)
第二部:同上。
第四次循环:
第一步:同上。此时i=0(假),i自加1,i=1。退出循环。

所以最终,i=1,j=0