⑴ c語言函數調用
#include<stdio.h>
main()
{ double fun(int,double);
int n;
double s=0.0;
scanf("%d",&n);//有修改
s=fun(n,s);
printf("%lf",s);
}
double fun(int n,double s)
{ int i;
for(i=1; i<=n; i++)
if((i%5==0)||(i%9==0))
s=s+1.0/i;
return s;
}
⑵ c語言關於函數的選擇題,請詳細解釋一下吧
A、main函數是不能被任何函數調用的,所以a錯了
B、函數可以單獨編譯,每個函數都能單獨寫成一個文件,所以B對的
C、函數都要通過main函數的調用才能正確的運行,main函數是一個程序的唯一入口
D、函數是不可以嵌套使用的
⑶ C語言函數-補充可以使函數直接能運行
#include<stdio.h>
typedef int _Bool;
int main()
{
_Bool f(const int *a,int len,int x);
int a[]={100,100,78,60,60,25,10,7,2,2};
int search[]={2,100,60,78,666};
int i,len=sizeof(a)/sizeof(int);
puts("數組的值:");
for(i=0;i<len;i++)
printf("%d%c",a[i],(len-1==i ? '\n' : ' '));
for(i=0;i<sizeof(search)/sizeof(int);i++)
{
if(f(a,len,search[i]))
printf("%d在數組中\n",search[i]);
else
printf("%d不在數組中\n",search[i]);
}
return 0;
}
_Bool f(const int *a,int len,int x)
{
int low=0,high=len-1,mid;
while(low<=high)
{
mid=(low+high)/2;
if(x>a[mid])
high=mid-1;
else if(a[mid]>x)
low=mid+1;
else
return 1;
}
return 0;
}
⑷ C語言總是從什麼函數開始執行
一個c語言程序的執行,從main函數中的指令開始執行。
一個程序,無論復雜或簡單,總體上都是一個「函數」;這個函數就稱為「main()
函數」,也就是「主函數」。比如有個「做菜」程序,那麼「
做菜
」這個過程就是「主函數」。在主函數中,根據情況,你可能還需要調用「買菜,切菜,炒菜」等子函數。
main函數在程序中大多數是必須存在的,但是依然有例外情況,比如windows編程中可以編寫一個動態鏈接庫(dll)模塊,這是其他windows程序可以使用的代碼。由於dll模塊不是獨立的程序,因此不需要main函數。再比如,用於專業環境的程序-----如機器人中的控制晶元--可能不需要main函數。
⑸ C語言中程序是怎麼執行的不是執行主函數里的嗎如果主函數不調用子函數,子函數也能執行嗎
單片機中的中斷程序並不用中主程序中被調用,只要主程序中設好中斷允許。如外部中斷,主程序中設有總中斷和外部中斷開啟,單片機中的into埠給一個低電位,就運行中斷程序。這和c語言有一點出入
⑹ c語言中的函數必須在主程序中調用才能執行嗎
不一定
但是C語言的源程序在執行時,固定都是從全局main函數開始,並從全局main函數結束。因此,自定義的函數如果要被執行,必須有一條能夠從main函數到這個自定義函數的調用路徑。
比如說,你自定義了函數A和函數B,其中函數B在函數A中有調用,但不在全局main函數中調用,那隻需要在全局main函數中調用函數A,函數B就會在執行到函數A調用函數B的部分時執行
示例
#include<stdio.h>
voidB(){
printf("我是函數B ");
}
voidA(){
B();
printf("我是函數A ");
}
main(){
printf("main函數執行開始 ");
A();
printf("main函數執行完畢 ");
}
運行結果:
main函數執行開始
我是函數B
我是函數A
main函數執行完畢
(按任意鍵)
⑺ c語言中的函數可不可以單獨進行編譯
是可以的。
庫函數是把函數放到庫里,供別人使用的一種方式。函數庫是由系統建立的具有一定功能的函數的集合。庫中存放函數的名稱和對應的目標代碼,以及連接過程中所需的重定位信息。用戶也可以根據自己的需要建立自己的用戶函數庫。
使用C語言的語句直接計算sin或cos函數,就需要編寫頗為復雜的程序。因為C語言的語句中沒有提供直接計算sin或cos函數的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數printf。
(7)c語言函數都可以運行嗎擴展閱讀
函數庫的分類
1、字元串、內存和字元函數
需要的包含文件:string.h、mem.h、ctype.h或string.h;
2、數學函數
需要的包含文件:math.h;
3、動態存儲分配
需要的包含文件:alloc.h或stdlib.h ;
⑻ c語言的函數題我將好幾個函數分開來就可以運行但連起來就不能運行這是為什麼
首先,第一個程序里有兩個main函數,在c語言中不論是多麼大的工程都只能有一個main函數,應為main函數是作為整個工程的入口,如果有兩個入口的話該怎麼辦呢?難道用選擇 ?但是還沒有進入要怎麼去選擇呢 ?所以,我們只能有一個main函數
其次,這三個程序沒有任何聯系,為什麼要在一起編譯呢 ?更何況第二個和第三個都有main函數的存在。
最後,如果你是想嘗試多個文件的編譯的話,那麼可以這樣,先定義一個頭文件xxx.h
//xxx.h
#include <stdio.h>
void menjun( int q[10][5] ){
}
void menjun (int r[10][5]){
}
void high (int s[10][5]){
}
void junfangcha (int t[10][5]){
}
//main
#include "xxx.h"
int main(){
……
}
多個文件的編譯就是這個樣子
⑼ C語言的函數的運行的問題,求大神!
首先,編譯器執行的時候先找主函數即main(),然後順序執行,
執行到printf("(1)x=%d
y=%d\n",x,y;時,輸出了(1)
接著執行到swap(x,y);時,調用函數swap();開始進入swap()
在swap中執行到printf("(2)a=%d
b=%d\n",a,b);時輸出(2),
接著往後
執行到printf("(3)a=%d
b=%d\n",a,b);時輸出(3)
然後調用結束
回到主函數
執行printf("(4)x=%d
y=%d\n",x,y);
輸出(4).
⑽ C語言在主函數中可以運行,放到自定義函數里就無法得出正確結果
c語言中自定義函數可以放在main函數後面,但需要在前面進行函數定義。 C語言的函數定義的作用域,只限於後面的函數可見。在main函數中用到的其它函數,一種方法是在main函數的前面定義並實現函數,如 //定義並實現foo函數void foo(int *a){ *a++;}int main(void){ int k foo(&k);//調用foo函數} 另外一種方法是在main函數後實現函數,但需要在之前定義,如 void foo(int *a);//僅聲明foo函數,與函數實現的參數和名稱及返回值相同int main(void){ int k foo(k);//調用foo函數}//實現foo函數void foo(int *a){ *a++;}