十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
其实你说的有很多的地方不对。
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都网站设计、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的白河网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
首先来说,你的第一个函数max前面需要一个int因为你在后面有return z;在c++中return是需要相应的类型和他匹配的。在DEV4.992 和VC6.0中上面的程序是会报错的。我会截图给你看。以此第二个程序也是不可行的,不能讲一个void类型向int类型的变量进行赋值,他们的类型不同,是不匹配的(比如你用一个string类型向int类型赋值一样)。这样说不知道你能不能理解。
至于是不是只有加return的才有返回值,还是有返回值的必须加return。。这个问题你可以这么理解,当你需要函数给你一个返回值的时候你就得在函数的前面给出相应的返回类型,在函数里面使用return返回你想要的值,语法的规定是有返回值就要使用return,不过在现在的一下C++版本中有的时候有返回值,但是你没写return他也不会报错,c++内部可以处理这个问。但是作为一个严格的程序来说,不报错不等于没错。
#includeiostream
using namespace std;
int main(){
int x = 4;
int y = 8;
coutkendl;
}
例如上面的程序函数mian要求的是有一个int类型的返回值,但是你不写return 0;这一句编译也可以通过。
自动以形参的那里max(int x,int y ) 不可否以成max(int x,y ),参数的传递不同于变量的定义,如果你写成了int x,y那么编译器就不知道你要传入得y纠结是什么,那么就会说你没有定义y。
在你定义变量的时候倒是可以写成int x,y;这样编译器就知道你定义了2个int类型的变量x,y。
在你定义max函数的时候要写成max(int x,int y ) 的形式,而当你定义好函数,调用函数的时候就只要写max(x,y)就可以了;当然前提还是你定义了x,y。
这两个函数也基本上是等效的。但是如果你将第2个函数定义成void max(){
}那么这个程序会出错的。因为一个void类型不能向一个int类型赋值,类型不匹配。
简单的说,有返回值的函数和没返回值的区别在于:
当你在别的地方需要用到这个函数的返回值的时候你就将函数定义成有返回值的,当你不需要这个函数的返回值的时候就将函数定义成没有返回值的函数,根据你的代码的需求来定。不要片面的将其等同,没必要,也没意义。这样解释不知道你懂了没,没懂的话给我留言,我可以帮你解释不懂的。
最后祝你学习进步!
第一题的知识点是,逗号表达式,逗号表达式的值是最右边的那个值,这个要记住了。比如说,z=(2,3,4);z是被赋予4的。那又比如说,z=((2,3),4);z还是被赋予4的。顺便说一下,因为逗号运算符是C中优先级最低的一个,所以括号一定要写的。比如说z=2,3,4;这样的话z是被赋值为2,而3和4在编译的时候就会出现warnings,说它们没有no efforts。
所以说r=func ((x--,y++,x+y),z--);实际上是r=func ((6,7,13),8);即是r=func (13,8); 所以答案应该是21.
第二题的知识点是实参传递。我想说,如果这道题有正确的编译结果的话就是奇异的。因为,书上说得很明确,实参在进行函数调用的时候,必须有确定的值,这样才能把这些值传递给形参。所以这道题编译时不成功的,因为c的值不确定。并且,这里并没有return语句,所以就算c能够算出来也输出不了。(这是因为这里是传值,形参的改变时改变不了实参的。)如果要成功,我认为要这么写。#include stdio.h
int fun(int a,int b,int c)
{c=a*b;
return c;}
main()
{int c;
c=fun (2,3);printf("%d\n",c);
} 结果为6。
第三题,首先,主函数i=0时,i=0传递给子函数n,这时s=1.0不变;接着,主函数i=1时,i=1传递给子函数n,这时s=1.0+1.0+1.0/1=3.0;接着,主函数i=2时,i=2传递给子函数n,这时s=3.0+1.0+1.0/1+1.0/2=5.5,输出的时候输出%f,没有精度控制的话就默认保留6到7位数字。 结果是5.500000
第四题,嗯,我觉得你应该先自己想想,unsigned是无符号整数的意思,就是没有负数的。k*=num%10是k=k*(num%10),(num%10)是取余数的意思。do-while语句,while(num)num为0时候才跳出循环。首先,实参26传递过去,num为26,k=1*(26%10)=1*6=6;然后num=26/10=2.6,自动取2.(因为num为unsigned型);然后循环,继续,k=6*(2%10)=12;num=2/10=0.5,自动取0;这时候跳出循环,返回值为k=12,即是主函数显示12. 结果是12
A、main函数是不能被任何函数调用的,所以a错了
B、函数可以单独编译,每个函数都能单独写成一个文件,所以B对的
C、函数都要通过main函数的调用才能正确的运行,main函数是一个程序的唯一入口
D、函数是不可以嵌套使用的
#includestdio.h
#includemath.h
void zero(float a,float b);
void left();
void right(float a,float b,float c);
void main()
{
float a,b,c,d;
printf("请输入a,b,c的值:\n");
scanf("%f %f %f",a,b,c);
d=b*b-4*a*c;
if(d==0)zero(a,b);
if(d0)left();
if(d0)right(a,b,c);
}
void zero(float a,float b)
{
printf("%f",-b/2*a);
}
void left()
{
printf("no roots!\n");
}
void right(float a,float b,float c)
{
float x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("%f %f \n",x1,x2);
}
# includestdio.h
int main()
{
int x=1,y=2;
printf(" %d+ %d= %d\n",x,y,x+y) ;
printf("10 Squared is: %d\n" ,10*10) ;
}
乘方可以使用x*y,也可以使用math.h文件中含有乘方(包括开方)的库函数,是pow(x,y)。
《【1】复习视频》百度网盘资源免费下载
链接:
提取码:5yu2
【1】复习视频|全国计算机等级考试:二级公共基础知识|全国计算机等级考试:二级Visual FoxPro数据库程序设计|全国计算机等级考试:二级Visual Basic语言程序设计|全国计算机等级考试:二级MS Office|全国计算机等级考试:二级Java语言程序设计|全国计算机等级考试:二级C语言程序设计|全国计算机等级考试:二级C++|全国计算机等级考试:二级Access数据库程序设计|全国计算机等级考试:二级公共基础知识.rar|全国计算机等级考试:二级MS Office.rar|数据库和表_维护表-操作表.flv|数据库和表_考点分析-建立表01.flv|数据库和表_建立表02.flv|数据访问页_考点分析-数据访问页视图-创建数据访问页.flv