(1)c语言 s+=i++是什么意思?
(3)
#include <stdio.h>
void main()
{ int i=1,s=3;
do
{ s+=i++;
if(s%7==0)
continue;
else
i++;
}
while (s<15);
printf("%d\n",i);
}
这个代码怎么运算的? 展开
1、s+=i++是s=s+i;i=i+1;
2、void是空的意思,math()是个名为math的函数,void math()是这个函数的返回值为空
3、do while循环s<15时退出循环 %为取余数 continue是继续循环 结果是8
扩展资料:
do...while 和 while循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了。
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
参考资料来源:百度百科-void (计算机语言关键字)
参考资料来源:百度百科-do while
s+=i++的意思是:
s=s+(i++)将s的值加上i的值赋给s,i的值再自增1;
S=S+I;
就是s=s+i;
+=是一个复合运算符,再比如x%=(y+1)相当于x=x%(y+1)
s=s+i;
就是s=s+i;
s等于s加i
即是s=s+i;
扩展资料
一、C语言复合赋值运算符
+=加赋值
-=减赋值
*=乘赋值
/=除赋值
%=求余赋值
&=按位与赋值
|=按位或赋值
^=按位异或赋值
<<=左移位赋值
>>=右移位赋值
二、字符串
+ 运算符用于把文本值或字符串变量加起来(连接起来)。
如需把两个或多个字符串变量连接起来,请使用 + 运算符。
txt1 = "What a very"; txt2 = "nice day"; txt3 = txt1 + txt2;
txt1 = "What a very"; txt2 = "nice day"; txt3 = txt1 + txt2;
在以上语句执行后,变量 txt3 包含的值是 "What a verynice day"。
第二题:这题呢·····小弟我也就略知一二,大虾可指教,我的理解是:math()是一个子函数名。而void math()是指空类型的函数。void实际上也就是空类型,可没有返回值。
第三题:下面注释看得懂吧?不懂可以追问!!
#include <stdio.h>
void main()
{ int i=1,s=3;//i的初始值为1,s的初始值为3
do
{ s+=i++;//进行s=s+(i++)运算
if(s%7==0)//判断s对7求余是否为0
continue;//若s对7求余为0,则跳出do ```while循环
else
i++;//若s对7求余不为0,则i自增1
}
while (s<15);
printf("%d\n",i);//输出i的值
}
返回,空类型是什么意思?书上经常看到返回,但我不知道是指什么。还有为什么我运行第3题代码的时候,无法编译“[Error] C:\Users\hp\Documents\C-Free\Temp\未命名1.cpp:3: error: `main' must return `int'”,可是我用main()代替void main()后又可以运行?
不对啊!你这代码可以运行啊!!答案是8
可能你那编译器出问题了吧?或者你检查一下代码有没错误?
空类型嘛·····我举个例子好了。
例如你常常需要在main函数中作输入输出,而在子函数中作算法处理:
#include<stdio.h>
int main()
{
int i,j;
int math(int);
scanf("%d",&i);
j=math(i);
printf("%d\n",j);
return 0;
}
int math(int k)
{
k++;
return k;
}
在这个程序中,因为main函数中经子函数math()处理过的i需要赋值给j,即j=math(i);所以子函数math()需要一个int类型的返回值(因为j是int类型,子函数返回值必须是int类型)。
若我把上面的代码改成这样,在子函数math中就输出结果,而不需要赋值到主函数中再输出:
#include<stdio.h>
int main()
{
int i;
void math(int);
scanf("%d",&i);
math(i);
return 0;
}
void math(int k)
{
k++;
printf("%d\n",k);
}
与上一个程序相比,这个程序的子函数math就不需要return返回子函数运行结果给主函数main,因为void类型是返回值为空。
好好研究下这两个代码吧!运行结果都一样的!
void是空的意思,math()是个名为math的函数,void math()是这个函数的返回值为空
do while循环s<15时退出循环 %为取余数 continue是继续循环 结果是8
返回,空类型是什么意思?书上经常看到返回,但我不知道是指什么。还有为什么我运行第3题代码的时候,无法编译“[Error] C:\Users\hp\Documents\C-Free\Temp\未命名1.cpp:3: error: `main' must return `int'”,可是我用main()代替void main()后又可以运行?
第三题代码是没问题的,你的编译器可能不太好
每个函数执行之后都必须返回一个东西,一个你指定让它返回的东西,就是return语句;如果没有return语句,它默认返回一个空值----NULL, 而你想让它返回什么类型的值 就必须在定义函数的时候告诉编译器
比如int main() int说明的是main()函数执行结束后要返回一个整形的东西,这时你函数代码里面必须要有个return语句来指定返回一个整形值,void就是返回NULL,一个无意义的东西
返回值的用法就是,比如你定义了一个int swap()函数,然后return 0;这个函数执行结束后
int a=swap(); a就等于0 了
2. void main() 申明一个函数,函数返回类型void,即不会返回什么了
3. s=3~14时运行循环
s= 4 i=3
s=11 i=6
s=17 i=8
所以最后输出
8
#include <stdio.h>
void main()
{
int i=1,s=3;
do{
s+=i++;
if(s%7==0)
continue;
else
i++;
printf("s=%d\ti=%d\n", s, i);
}while (s<15);
printf("%d\n",i);
}
返回,空类型是什么意思?书上经常看到返回,但我不知道是指什么。还有为什么我运行第3题代码的时候,无法编译“[Error] C:\Users\hp\Documents\C-Free\Temp\未命名1.cpp:3: error: `main' must return `int'”,可是我用main()代替void main()后又可以运行?