十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
以前寫了一個簡單的:
創(chuàng)新互聯(lián)主營蘇仙網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都app軟件開發(fā)公司,蘇仙h5微信平臺小程序開發(fā)搭建,蘇仙網(wǎng)站營銷推廣歡迎蘇仙等地區(qū)企業(yè)咨詢
#include stdio.h
#include stdlib.h /*與malloc.h差不多*/
#include string.h
#include iostream
using namespace std;
#define maxlen 15
struct persons
{int num; /*定義結構體數(shù)組用于緩存數(shù)據(jù)*/
char name[20];
char e_addr[20];
char tel_no[15];
char sim_no;
char arch;
}persons[maxlen];
typedef struct lnode
{ /*通訊錄結構中結點的定義*/
int num;
char name[20];
char e_addr[20];
char tel_no[15];
char sim_no;
char arch;
struct lnode *next;
}listnode,*linklist;
linklist head=NULL,r=NULL; /*定義頭指針和尾指針*/
listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7,*p8,*p9;
int i;
char name1[10],ch;
char tel_no1[15];
char arch1;
char sim_no1;
char e_addr1[20];
char s1[20];
FILE *fp; /*定義文件指針*/
void creat() /*將文件的信息讀入結構體數(shù)組在轉(zhuǎn)存入鏈表中*/
{ int j;
long k;
fp=fopen("數(shù)據(jù)文件.txt","r t"); /*打開文件*/
if(fp!=NULL)
{for(i=0;i=maxlen;i++ )
{ j=fgetc(fp);
if(j==EOF)
return;
k=i;
fseek(fp,k*sizeof(struct persons),0); /*讀取一個人的信息*/
fread(persons[i],sizeof(struct persons),1,fp);
s=(linklist)malloc(sizeof(listnode)); /*裝存入鏈表中*/
s-num=persons[i].num;
strcpy(s-name,persons[i].name);
strcpy(s-e_addr,persons[i].e_addr);
strcpy(s-tel_no,persons[i].tel_no);
s-sim_no=persons[i].sim_no;
s-arch=persons[i].arch;
if(head==NULL) /*用尾插法將其插入鏈表中*/
{head=s;r=head;head-next=NULL;}
else
{r-next=s;
r=s;r-next=NULL;
}
}fclose(fp);
}
else
{ fp=fopen("數(shù)據(jù)文件.txt","w"); /*不能打開另開辟一個文件*/
i=1;
}
}
void Show()
{printf("成功調(diào)用該函數(shù)\n");}
void Delete()
{printf("成功調(diào)用該函數(shù)\n");}
void Input() /*向.通訊錄中輸入一個人的信息*/
{ s=(linklist)malloc(sizeof(listnode));
printf("\n\n\t請輸入該用戶的信息:");
printf("姓名:");
scanf("%s",s-name);
printf("電話號碼:");
scanf("%s",s-tel_no);
printf("單鍵撥號:");
scanf("%s",s-sim_no);
printf("E-mail地址:");
scanf("%s",s-e_addr);
printf("類別:");
scanf("%s",s-arch);
if(head==NULL)printf("\n\n");
else
{p8=head;
while(p8!=NULLstrcmp(s-name,p8-name)!=0strcmp(s-tel_no,p8-tel_no)!=0)
p8=p8-next;
if(p8!=NULL)
{printf("您添加的用戶已存在!");
free(s);}}
if(head==NULL)
{
s-next = 0;
head=s;
r = s;
}
else
{
s-next = 0;
r-next = s;
r = s;
}
}
void Alter()
{ printf("success!\n");}
int main()
{
system("color a");
creat();
do
{
printf("\n\n\t\t請選擇操作:");
printf("\n\t\t1.顯示通訊錄");
printf("\n\t\t2.刪除通訊錄");
printf("\n\t\t3.添加通訊錄");
printf("\n\t\t4.編輯通訊錄");
printf("\n\n\n");
printf("\t請選擇:");
cinch;
switch(ch)
{ case '1': Show(); /*用單條件多選擇語句實現(xiàn)調(diào)用與循環(huán)*/
break;
case '2': Delete();
break;
case '3': Input();
break;
case '4': Alter();
break;
fclose(fp);
exit(0);
break;
default:
printf("\n\t The num should 1-6!!! \n");
break;
}
}
while(1);
}
準確的說,叫“聲明”。在c中,可以“聲明-使用-定義”的方法,也可以用定義代替聲明,但是必須在使用它之前。如 191462264舉的例子,可以這樣寫:
#includestdio.h
int fun(int x,int y) /*函數(shù)定義*/
{
int z;
z=x+y;
return z;
}
main()
{
int a,b,c;
scanf("%d%d",a,b);
c=fun(a,b);
printf("%d",c);
}
如果是先聲明,需要注意格式:
【返回類型】 函數(shù)名(參數(shù)1類型 參數(shù)1,【參數(shù)2類型 參數(shù)2,……】);
注意最后的分號,因為這是一個語句。但是如果是定義的話,如上,int fun(int x,int y) ,最后并沒有分號,因為緊接著是函數(shù)體,函數(shù)頭和函數(shù)體合起來算是一個程序段,在{ }最后也不需要分號。
C語言中的標準寫法
是將main()函數(shù)寫成int型的,即int main()
然后結束的時候
只需return 0;
代表程序正常結束
樓上的也是一種寫法
但要#includestdlib.h
# includestdio.h
int main()
{
int i,m=0;
for(i=2;i=100;i+=2) m=m+i;
printf("%d\n",m);
return 0;
}
或
#include
int
main()
{
int
i,sum=0;
for(i=1;i=50;i++)
{
sum=sum+2*i;
}
printf("2+4+6+…+98+100=%d\n",sum);
return
0;
}
擴展資料:
C程序是由一組變量或是函數(shù)的外部對象組成的。 函數(shù)是一個自我包含的完成一定相關功能的執(zhí)行代碼段。我們可以把函數(shù)看成一個“黑盒子”,只要將數(shù)據(jù)送進去就能得到結果,而函數(shù)內(nèi)部究竟是如何工作的,外部程序是不知道的。外部程序所知道的僅限于輸入給函數(shù)什么以及函數(shù)輸出什么。函數(shù)提供了編制程序的手段,使之容易讀、寫、理解、排除錯誤、修改和維護。
C程序中函數(shù)的數(shù)目實際上是不限的,如果說有什么限制的話,那就是,一個C程序中必須至少有一個函數(shù),而且其中必須有一個并且僅有一個以main為名的函數(shù),這個函數(shù)稱為主函數(shù),整個程序從這個主函數(shù)開始執(zhí)行。
參考資料來源:百度百科-C語言
C語言編寫一個通訊錄管理系統(tǒng)的源代碼如下:
#includestdio.h
#includestring.h
#includestdlib.h
/*定義保存通迅錄的信息*/
structfriends
{
charname[20];/*名字*/
charprovince[20];/*省份*/
charcity[20];/*所在城市*/
charnation[20];/*民族*/
charsex[2];/*性別M/F*/
intage;/*年齡*/
}
擴展資料
1、在C++中應該使用inline內(nèi)連函數(shù)替代宏調(diào)用,這樣既可達到宏調(diào)用的目的,又避免了宏調(diào)用的弊端。
2、在C語言兩個函數(shù)的名稱不能相同,否則會導致編譯錯誤。在C++中,函數(shù)名相同而參數(shù)不同的兩個函數(shù)被解釋為重載。
3、在大型程序中,使函數(shù)名易于管理和使用,不必絞盡腦汁地去處理函數(shù)名。
在開始加上#include math.h;
程序中就可以調(diào)用pow(x,y)。
main()
{
double z;
z=pow(10,5);
printf("%lf/n",z);
}
輸出結果:
285.000000
擴展資料
c語言求自然對數(shù)的底e的指數(shù),可以使用函數(shù)exp().
exp()的頭文件:#include
exp()的函數(shù)原型:double exp(double x);
exp()函數(shù)的作用:返回e的x次方。
exp()的相關函數(shù):float expf(float x);
long double expl(long double x);
注:自然對數(shù)的底e叫做: 歐拉數(shù)(eula's number)