EXCEL
成都創新互聯公司2013年開創至今,先為丹江口等服務建站,丹江口等地企業,進行企業商務咨詢服務。為丹江口企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
只能做極其簡單的運算,函數功能很差。與C不通用。EXCEL
是用
VB
寫的。
printf
scanf
getchar
getch
都是基本輸入輸出函數。
-f
是
format
,(格式)
printf
有格式
輸出
scanf
有格式
輸入
getchar
和
getch
都是
輸入
字符的函數。
函數
的參數和
返回值得定義
要查
幫助文件。(用幾次,就熟悉了)
聲明一個和記錄變量s,聲明一個階乘記錄變量t,再聲明一個計數變量n。用一個for循環,計數變量n從1開始步長為1增值至10為止;t初值設置為1,始終記錄它與n的當前值的乘積,就得到了n的當前值的階乘n!;s初值置0,累加每個n當前值時的階乘t,就完成了題設要求。代碼如下:
#include "stdio.h"int main(int argc,char *argv[]){ int s,n,t;
for(s=0,t=n=1;n11;s+=t*=n++);//用t記錄每個n的當前值的階乘并累加到s
printf("1!+2!+3!+...+10! = %d\n",s); return 0;}
擴展資料:
C語言編寫函數技巧:
1、原則上盡量少使用全局變量,因為全局變量的生命周期太長,容易出錯,也會長時間占用空間.各個源文件負責本身文件的全局變量,同時提供一對對外函數,方便其它函數使用該函數來訪問變量。
比如:niSet_ValueName(…);niGet_ValueName(…);不要直接讀寫全局變量,尤其是在多線程編程時,必須使用這種方式,并且對讀寫操作加鎖。
2、參數命名要恰當,順序要合理。
例如編寫字符串拷貝函數str_copy,它有兩個參數。如果把參數名字起為str1 和str2,例如
void str_copy (char *str1, char *str2);
那么很難搞清楚究竟是把str1 拷貝到str2 中,還是剛好倒過來。
可以把參數名字起得更有意義,如叫strSource 和strDestination。這樣從名字上就可以看出應該把strSource 拷貝到strDestination。
還有一個問題,這兩個參數那一個該在前那一個該在后?參數的順序要遵循程序員的習慣。一般地,應將目的參數放在前面,源參數放在后面。如果將函數聲明為:
void str_copy (char *strSource, char *strDestination);
別人在使用時可能會不假思索地寫成如下形式:
char str[20];
str_copy (str, “Hello World”); 參數順序顛倒
3、如果參數是指針,且僅作輸入參數用,則應在類型前加const,以防止該指針在函數體內被意外修改。例如:
void str_copy (char *strDestination,const char *strSource);
4、不要省略返回值的類型,如果函數沒有返回值,那么應聲明為void 類型。
如果沒有返回值,編譯器則默認為函數的返回值是int類型的。
5、在函數體的“入口處”,對參數的有效性進行檢查。尤其是指針參數,盡量使用assert宏做入口校驗,而不使用if語句校驗。
我個人認為函數這部分的重點給你說下哦:
1.函數的返回值類型,也就是你函數return的內容的類型,注意如果有多種結束函數途徑的話一定要有多個return,譬如說
int fun(int x)
{
if(x0)
return 0;
else
return 1;
}
2.函數形參的傳遞關系,有的可以改變值,有的不可以改變值,也是給你個例子:
void fun1(int x,int *y,int z)
{
x=1;
*y=1;
z=1;
}
如果主函數有變量int a=b=c=2;fun(a,b,c);的話,那么b和c的值會改變,而a的值不會改變,那是因為:
a并不對變量a所占用內存空間的內容進行操作。
b是把b變量的內存空間地址傳遞進去了,fun函數直接對b變量所在內存空間進行操作,所以b會改變。
至于c,你暫時不用知道,因為形參int c表示的是一個引用,是c++里面會涉及的,你現在用c所以暫時只要知道有這么種方法就可以了。
3.就是注意函數中變量的存活期,這個說起來有點麻煩,你看下書上關于局部變量和全局變量那部分的內容吧,那個說的比較詳細。
編寫九九乘法表主要是通過循環語句進行控制輸出乘法表中各項。將實現九九乘法表的程序單獨寫成一個函數,就可以在主函數利用函數調用的形式來實現了。
具體實現方法可以參考如下程序:
#includestdio.h
void YangMultiplicationTable() // 實現九九乘法表的函數
{
int i=1,j=1;
for(i=1;i=9;i++) // 控制行數,共9行
for(j=1;j=i;j++) // 控制列數,每列的列數與行號一致
{
printf("%d*%d=%d",j,i,i*j); // 輸出九九乘法表的每一項
if(i!=j) printf("\t"); // 每行中相鄰兩項隔開
if(i==j) printf("\n"); // 每行輸出完畢后進行換行
}
}
void main()
{
YangMultiplicationTable(); // 通過函數調用的方式實現九九乘法表
}