其實(shí)你說的有很多的地方不對(duì)。
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的白河網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
首先來說,你的第一個(gè)函數(shù)max前面需要一個(gè)int因?yàn)槟阍诤竺嬗衦eturn z;在c++中return是需要相應(yīng)的類型和他匹配的。在DEV4.992 和VC6.0中上面的程序是會(huì)報(bào)錯(cuò)的。我會(huì)截圖給你看。以此第二個(gè)程序也是不可行的,不能講一個(gè)void類型向int類型的變量進(jìn)行賦值,他們的類型不同,是不匹配的(比如你用一個(gè)string類型向int類型賦值一樣)。這樣說不知道你能不能理解。
至于是不是只有加return的才有返回值,還是有返回值的必須加return。。這個(gè)問題你可以這么理解,當(dāng)你需要函數(shù)給你一個(gè)返回值的時(shí)候你就得在函數(shù)的前面給出相應(yīng)的返回類型,在函數(shù)里面使用return返回你想要的值,語法的規(guī)定是有返回值就要使用return,不過在現(xiàn)在的一下C++版本中有的時(shí)候有返回值,但是你沒寫return他也不會(huì)報(bào)錯(cuò),c++內(nèi)部可以處理這個(gè)問。但是作為一個(gè)嚴(yán)格的程序來說,不報(bào)錯(cuò)不等于沒錯(cuò)。
#includeiostream
using namespace std;
int main(){
int x = 4;
int y = 8;
coutkendl;
}
例如上面的程序函數(shù)mian要求的是有一個(gè)int類型的返回值,但是你不寫return 0;這一句編譯也可以通過。
自動(dòng)以形參的那里max(int x,int y ) 不可否以成max(int x,y ),參數(shù)的傳遞不同于變量的定義,如果你寫成了int x,y那么編譯器就不知道你要傳入得y糾結(jié)是什么,那么就會(huì)說你沒有定義y。
在你定義變量的時(shí)候倒是可以寫成int x,y;這樣編譯器就知道你定義了2個(gè)int類型的變量x,y。
在你定義max函數(shù)的時(shí)候要寫成max(int x,int y ) 的形式,而當(dāng)你定義好函數(shù),調(diào)用函數(shù)的時(shí)候就只要寫max(x,y)就可以了;當(dāng)然前提還是你定義了x,y。
這兩個(gè)函數(shù)也基本上是等效的。但是如果你將第2個(gè)函數(shù)定義成void max(){
}那么這個(gè)程序會(huì)出錯(cuò)的。因?yàn)橐粋€(gè)void類型不能向一個(gè)int類型賦值,類型不匹配。
簡(jiǎn)單的說,有返回值的函數(shù)和沒返回值的區(qū)別在于:
當(dāng)你在別的地方需要用到這個(gè)函數(shù)的返回值的時(shí)候你就將函數(shù)定義成有返回值的,當(dāng)你不需要這個(gè)函數(shù)的返回值的時(shí)候就將函數(shù)定義成沒有返回值的函數(shù),根據(jù)你的代碼的需求來定。不要片面的將其等同,沒必要,也沒意義。這樣解釋不知道你懂了沒,沒懂的話給我留言,我可以幫你解釋不懂的。
最后祝你學(xué)習(xí)進(jìn)步!
第一題的知識(shí)點(diǎn)是,逗號(hào)表達(dá)式,逗號(hào)表達(dá)式的值是最右邊的那個(gè)值,這個(gè)要記住了。比如說,z=(2,3,4);z是被賦予4的。那又比如說,z=((2,3),4);z還是被賦予4的。順便說一下,因?yàn)槎禾?hào)運(yùn)算符是C中優(yōu)先級(jí)最低的一個(gè),所以括號(hào)一定要寫的。比如說z=2,3,4;這樣的話z是被賦值為2,而3和4在編譯的時(shí)候就會(huì)出現(xiàn)warnings,說它們沒有no efforts。
所以說r=func ((x--,y++,x+y),z--);實(shí)際上是r=func ((6,7,13),8);即是r=func (13,8); 所以答案應(yīng)該是21.
第二題的知識(shí)點(diǎn)是實(shí)參傳遞。我想說,如果這道題有正確的編譯結(jié)果的話就是奇異的。因?yàn)椋瑫险f得很明確,實(shí)參在進(jìn)行函數(shù)調(diào)用的時(shí)候,必須有確定的值,這樣才能把這些值傳遞給形參。所以這道題編譯時(shí)不成功的,因?yàn)閏的值不確定。并且,這里并沒有return語句,所以就算c能夠算出來也輸出不了。(這是因?yàn)檫@里是傳值,形參的改變時(shí)改變不了實(shí)參的。)如果要成功,我認(rèn)為要這么寫。#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);
} 結(jié)果為6。
第三題,首先,主函數(shù)i=0時(shí),i=0傳遞給子函數(shù)n,這時(shí)s=1.0不變;接著,主函數(shù)i=1時(shí),i=1傳遞給子函數(shù)n,這時(shí)s=1.0+1.0+1.0/1=3.0;接著,主函數(shù)i=2時(shí),i=2傳遞給子函數(shù)n,這時(shí)s=3.0+1.0+1.0/1+1.0/2=5.5,輸出的時(shí)候輸出%f,沒有精度控制的話就默認(rèn)保留6到7位數(shù)字。 結(jié)果是5.500000
第四題,嗯,我覺得你應(yīng)該先自己想想,unsigned是無符號(hào)整數(shù)的意思,就是沒有負(fù)數(shù)的。k*=num%10是k=k*(num%10),(num%10)是取余數(shù)的意思。do-while語句,while(num)num為0時(shí)候才跳出循環(huán)。首先,實(shí)參26傳遞過去,num為26,k=1*(26%10)=1*6=6;然后num=26/10=2.6,自動(dòng)取2.(因?yàn)閚um為unsigned型);然后循環(huán),繼續(xù),k=6*(2%10)=12;num=2/10=0.5,自動(dòng)取0;這時(shí)候跳出循環(huán),返回值為k=12,即是主函數(shù)顯示12. 結(jié)果是12
A、main函數(shù)是不能被任何函數(shù)調(diào)用的,所以a錯(cuò)了
B、函數(shù)可以單獨(dú)編譯,每個(gè)函數(shù)都能單獨(dú)寫成一個(gè)文件,所以B對(duì)的
C、函數(shù)都要通過main函數(shù)的調(diào)用才能正確的運(yùn)行,main函數(shù)是一個(gè)程序的唯一入口
D、函數(shù)是不可以嵌套使用的
#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("請(qǐng)輸入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文件中含有乘方(包括開方)的庫函數(shù),是pow(x,y)。
《【1】復(fù)習(xí)視頻》百度網(wǎng)盤資源免費(fèi)下載
鏈接:
提取碼:5yu2
【1】復(fù)習(xí)視頻|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)公共基礎(chǔ)知識(shí)|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)Visual Basic語言程序設(shè)計(jì)|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)MS Office|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)Java語言程序設(shè)計(jì)|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)C語言程序設(shè)計(jì)|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)C++|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)Access數(shù)據(jù)庫程序設(shè)計(jì)|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)公共基礎(chǔ)知識(shí).rar|全國(guó)計(jì)算機(jī)等級(jí)考試:二級(jí)MS Office.rar|數(shù)據(jù)庫和表_維護(hù)表-操作表.flv|數(shù)據(jù)庫和表_考點(diǎn)分析-建立表01.flv|數(shù)據(jù)庫和表_建立表02.flv|數(shù)據(jù)訪問頁_考點(diǎn)分析-數(shù)據(jù)訪問頁視圖-創(chuàng)建數(shù)據(jù)訪問頁.flv ?