我自學(xué)C語(yǔ)言的時(shí)候的筆記只記程序,然后在程序旁邊寫(xiě)下程序中新學(xué)的知識(shí),比如
成都創(chuàng)新互聯(lián)是一家專業(yè)提供鲅魚(yú)圈企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為鲅魚(yú)圈眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
剛學(xué)的時(shí)候
#include stdio.h
main()
{
printf("Hello!");
}
每個(gè)C程序的基本格式是:
#include stdio.h
main()
{
printf("Hello!");
}
后來(lái)學(xué)到
#include stdio.h
main()
{
int x;-----要用的變量,先聲明,
x=1;
printf("x=%d",x);----^.....
}
如此類推了,這樣不了解就可以運(yùn)行程序式式,我自己感覺(jué)還不錯(cuò),就是有時(shí)候,要寫(xiě)太多了.
1.算數(shù)函數(shù)
1.1產(chǎn)生隨機(jī)數(shù)
rand()
1.2取絕對(duì)值
fabs()
1.3取復(fù)數(shù)的絕對(duì)值
cabs(struct complex i)
1.4浮點(diǎn)數(shù)的絕對(duì)值
fabs()/fabsf()/fabsl()
1.5取余
fmod(double, double)
1.6向上取整
ceil()/ceilf()/ceill()
1.7向下取整
floor()/floorf()/floorl()
1.8求最大值
fmax()/fmaxf()/fmaxl()
1.9求最小值
fmin()/fminf()/fminl()
1.10四舍五入
round()/roundf()/roundl()
2.指數(shù)與對(duì)數(shù)
2.1求 n 的 m 次方的值
pow(n, m)/powf(n, m)/powl(n, m)
2.2求 e 的 x 次方
exp(x)/expf(x)/expl(x)
2.3以 e 為底的對(duì)數(shù)值
log()/logf()/logl()
2.4以10為底的對(duì)數(shù)
log10()/log10f()/log10l()
2.5開(kāi)平方(根號(hào))
sqrt()
3.三角函數(shù)
3.1正弦值
sin()/sinf()/sinl()
3.2余弦值
cons()/cosf()/cosl()
3.3正切值
tan()/tanf()/tanl()
3.4雙曲線正弦值
sinh()/sinhf()/sinhl()
3.5雙曲線余弦值
cosh()/coshf()/coshl()
3.4雙曲線正切值
tanh()/tanhf()/tanhl()
4.反三角函數(shù)
4.1反正弦值
asin()/asinf()/asinl()
4.2反余弦值
acos()/acosf()/acosl()
4.3反正切值
atan()/atanf()/atanl()
4.4反雙曲線正弦值
asinh()/asinhf()/asinhl()
4.5反雙曲線余弦值
acosh()/acoshf()/acoshl()
4.6反雙曲線正切值
atanh()/atanhf()/atanhl()
#includestdio.h
int Input(long num[], float score[]);
void Total1(long num[], float score[], int n);
void Total2(long num[],float score[],int n);
int main(){
long num[30];
float score[30];
int n;
n=Input(num, score);
Total1(num, score,n);
Total2(num, score,n);
return 0;
}
int Input(long num[], float score[]){
int i=0;
while(i30){
scanf("%ld%f",num[i],score[i]);
if(score[i]0)
break;
i++;
}
return i;
}
void Total1(long num[], float score[], int n){
int i,c=0;
for(i=0; in; i++){
if(score[i]60){
c++;
printf("%ld\n",num[i]);
}
}
printf("The score60 is:%d\n",c);
}
void Total2(long num[],float score[],int n){
int i,c=0;
float a=0;
for(i=0; in; i++)
a+=score[i];
a/=n;
for(i=0; in; i++){
if(score[i]=a){
c++;
printf("%ld\n",num[i]);
}
}
printf("The score=averge is:%d\n",c);
}
1、數(shù)組傳遞給函數(shù),模擬傳引用調(diào)用的方式自動(dòng)把數(shù)組傳遞給函數(shù),意味著被調(diào)用的函數(shù)能夠修改原是數(shù)組的元素值,
e.g.int
hourly[24];//數(shù)組定義
void modify(int [],int
);//函數(shù)原型
modify(hourly,24);//函數(shù)調(diào)用,數(shù)組名即數(shù)組第一個(gè)元素的地址
注意:為了防止函數(shù)中修改數(shù)組的值,采用類型限定符const做前綴,數(shù)組元素成為函數(shù)體中的常量,函數(shù)體中任何修改數(shù)組元素的企圖都會(huì)導(dǎo)致編譯錯(cuò)誤,
e.g.void modify(const int [],int);
2、字符數(shù)組
字符串讀取:scanf("%s",string1);//不用地址符號(hào),因?yàn)閿?shù)組名是數(shù)組的起始地址
字符串顯示:printf("%s",string1);
e.g.char string1[]="good
girl";//字符串
charstring1[]={'g','o','o','d','\0','g','i','r','l','\0'};//上下聲明等價(jià)
注意:'空字符'='\0',終止符,用printf("%s",string1)輸出,得到good girl。
3、多維數(shù)組
e.g.int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
假設(shè)數(shù)組起始地址2000,則
表示形式含義地址
a指向a[0],即0行首地址。2000
a[0],*(a+0),*a第0行第0列元素地址2000
a+1,a[1]第1行首地址2008
a[1],*(a+1)第1行第0列元素地址2008
a[1]+2,*(a+1)+2,a[1][2]第1行第2列元素地址2012
*(a[1]+2),*(*(a+1)+2),a[1][2]第1行第2列元素的值7
在二維數(shù)組中,a+i=a[i]=*(a+i)=a[i]=a[i][0],即他們的的地址值是想等的。