您的位置:

有没有纯c语言版本,c语言有没有中文版

本文目录一览:

什么才是最纯的C语言?C语言的精华又是什么呢?

学习了一段时间的c语言,没有听过你说的问题--什么才是最纯的C语言?

你的意思是纯纯的c语言吗,c语言很少有不纯的呵!

他的精华吗!下面是书上说的!

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。

C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

“纯C”是指什么样的C语言?

如果非常较真的说,纯C指的是标准C,也就是没经过扩展的C语言。因为各个编译器都对C语言进行了扩展,有的扩展是约定俗成的(也就是说各种编译器都用同一个函数扩展了同一个功能),这种扩展不影响C的移植,并且我们通常学到的都是标准C以及约定俗成的扩展;另外还有些扩展是我有你没有,或者你有我没有的,这种通常都是很不常用的功能,这种扩展影响了移植性

但是,我们在平常生活中所说的那种纯C编程并非仅仅指标准C,而是连带着那些约定俗成的扩展的,也就是说不影响移植性的C语言。

那为什么还要说“纯”C呢,因为要强调代码里不能有C++语言,因为现在多数编译器C++和C语言都可以编译并运行(也就是可以无缝的混合编程),前一行写printf后一行写cout是没问题的,但如果要求是纯C,那么就要注意只能用printf

有没有纯c语言版本的 打印任意一年的日历程序代码

我刚自己做了一个 你拿去用把,包含文件,可保存!

新建一个richenganpai.txt文件,保存你所记录的日程安排

#includestdio.h

#includeconio.h

#includestdlib.h

//闰年

//每个月天数

//星期

//输入查询

//显示某个月

//添加文件 记录日程  有 TRUE 没有 FALSE

//删除 添加 修改日程安排

//修改判断有无记录

#define TRUE 1

#define FALSE 0

typedef struct richenganpai

{

int year;

char month;

char day;

char t[80];

struct richenganpai *next;

}RCAP;

int runnian(int year);  //是否为闰年

void show(int start, int day);  //显示日历

void showstar(); //输出*

int dingwei(int year, int month, int day); //定位需要查询日期与参照日期的时间差

int monthtm(int i, int flag);  //某年某月的天数

void searchday(RCAP *p);   //查询某一天

void showmonth(RCAP *p); //显示某个月

RCAP * open_file();   //打开文件,查询多少条信息

int save_file(RCAP *p);   //保存文件

void showall(RCAP *p);         //显示所有日程安排

void addinfo(RCAP *p);

void delinfo(RCAP *p);

void modifyinfo(RCAP *p);

void addinfo(RCAP *p)

{

int year, month, day;

int f = 0,k = 0;

RCAP *p2 , *p1, *r = p; ;

loop:printf("需要添加的信息的日期。--年--月--日\n");

scanf("%d%d%d", year, month, day);

for(p1 = p -next ; p1; p1 = p1-next)

{

if((year == p1 - year)  (month == p1 -month)  (day == p1 - day))

{

printf("%d年%d月%d有记录,信息:%s\n",  year, month, day,  p2-t);

printf("是否修改?1为修改,0为否\n");

scanf("%d", f);

if(f == 1)

{

k = 1;

modifyinfo(p);

break;

}

}

r = p1;

}

if(k == 0 )

{

p2 = (RCAP *)malloc(sizeof(RCAP));

r - next = p2;

r = p2;

printf("需要添加的信息:\n");

scanf("%s", p2-t);

p2-year = year;

p2-month = month;

p2-day = day;

p2 -next =NULL;

printf("添加完毕,添加的信息为:\n");

printf("%d年%d月%d日,信息:%s\n",  p2-year, p2-month, p2-day,  p2-t);

}

printf("\n是否继续添加?1为继续,0为否\n");

scanf("%d", f);

if(f == 1)

{

k = 0;

goto loop;

}

getch();

}

void delinfo(RCAP *p)

{

int year, month, day;

int flag = 0, f = 0;

RCAP *r = p, *p1;

loop:printf("需要删除的信息的日期。--年--月--日\n");

scanf("%d%d%d", year, month, day);

for(p1 = p -next ; p1; p1 = p1-next)

{

if((year == p1 - year)  (month == p1 - month)  (day == p1 - day))

{

r-next = p1-next;

flag = 1;

printf("删除成功\n");

break;

}

r = p1;

}

if(flag == 0)

printf("所要删除的日期无信息!\n");

printf("\n是否继续删除?1为继续,0为否\n");

scanf("%d", f);

if(f == 1)

{

r = p;

goto loop;

}

getch();

}

void modifyinfo(RCAP *p)

{

int  flag = 0, c, f = 0;

int year, month, day;

RCAP *p1 = p;

loop: printf("输入要修改的日期,--年--月--日\n");

scanf("%d%d%d", year, month, day);

for(p1 = p-next ; p1; p1 = p1-next)

{

if((year == p1 - year)  (month == p1 -month)  (day == p1 - day))

{

printf("%d年%d月%d有记录,信息:%s\n",  year, month, day,  p1-t);

printf("将%s修改为:", p1 - t);

scanf("%s", p1-t);

printf("修改后的信息为:%d年%d月%d信息:%s\n", year, month, day, p1 - t);

flag = 1;

break;

}

}

printf("\n");

if(flag == 0)

{

printf("本日无信息,无法修改,是否添加?1为添加,0为不添加!\n");

scanf("%d", c);

if(c == 1)

addinfo(p);

}

printf("是否继续查找?1为继续,0为否\n");

scanf("%d", f);

if(f == 1)

goto loop;

getch();

}

void showall(RCAP *p)

{

int n = 0;

RCAP *p1;

for(p1 = p -next; p1; p1 = p1-next)

{

n++;

printf("第%d个信息%d年%d月%d日:%s\n", n, p1 - year, p1 - month, p1 - day,  p1-t);

}

printf("\n");

if(n == 0)

printf("无信息!\n");

printf("\n");

getch();

}

int save_file(RCAP *p)

{

FILE *fp;

RCAP *p1;

int n = 0;

if((fp = fopen("richenganpai.txt","wb")) == NULL)

{

printf("读文件错误\n");

exit(0);

}

for(p1 = p -next; p1 != NULL; p1 = p1-next)

{

fwrite(p1,sizeof(RCAP),1,fp);

n++;

}

fclose(fp);

return n;

}

RCAP * open_file()

{

FILE *fp;

int n = 0;

RCAP *p1, *p2, *head, *r ;

if((fp=fopen("richenganpai.txt","rb")) == NULL)

{

printf("\n\n*****文件不存在!系统将自动创建,并返回目录\n");

exit(0);

}

head = (RCAP *)malloc(sizeof(RCAP));

head -next = NULL;

p1 = head;

while(!feof(fp))

{

p2 = (RCAP *)malloc(sizeof(RCAP));

fread(p2, sizeof(RCAP), 1, fp);

p1 - next = p2;

r = p1;

p1 = p2;

}

r -next = NULL;

free(p2);

fclose(fp);

return head;

}

void showmonth(RCAP *p)

{

int time, year, month;

int t, D_t, flag, CX = 0, f = 0;

RCAP *p1 ;

loop: printf("输入查询日期--年--月,显示当月日期,并显示当月是否有日程安排\n\n");  //并显示是否有日程安排

scanf("%d%d", year, month);

if(year32767||year-32768||month12||month1)

{

printf("输入有误!\n");

exit(0);

}

printf("你所查的是%d年%d月\n\n", year, month);

time = dingwei(year, month, 1);

t = time%7;

t = (t + 6)%7;

if(year = 2011)

t = t;

else

{

if(t = 6)

t = 6;

else

t = 5 - t;

}

flag = runnian(year);

D_t = monthtm(month, flag);

show(t, D_t);

for(p1 = p -next ; p1; p1 = p1-next)

{

if((year == p1 - year)  (month == p1 -month))

{

CX++;

printf("本月第%d个信息%d年%d月%d日:%s\n", CX, year, month, p1 - day,  p1-t);

}

}

printf("\n");

if(CX == 0)

printf("本月无信息!\n");

printf("\n");

printf("是否继续查找?1为继续,0为否\n");

scanf("%d", f);

if(f == 1)

goto loop;

getch();

}

void searchday(RCAP *p)

{

int time, year, month, day;

int t, CX = 0, flag = 0;

RCAP *p1;

loop:printf("输入查询日期--年--月--日,显示星期几,并显示是否有日程安排\n");  //并显示是否有日程安排

scanf("%d%d%d", year, month, day);

if(year32767||year-32768||month12||month1||day31||day1)

{

printf("输入有误!\n");

exit(0);

}

printf("你所查的是%d年%d月%d日\n", year, month, day);

time = dingwei(year, month, day);

t = time%7;

t = (t + 6)%7;

if(year = 2011)

{

switch(t)

{

case 0: printf("你查询的是星期天\n\n");break;

case 1: printf("你查询的是星期一\n\n");break;

case 2: printf("你查询的是星期二\n\n");break;

case 3: printf("你查询的是星期三\n\n");break;

case 4: printf("你查询的是星期四\n\n");break;

case 5: printf("你查询的是星期五\n\n");break;

case 6: printf("你查询的是星期六\n\n");break;

}

}

else

{

switch(t)

{

case 0: printf("你查询的是星期五\n\n");break;

case 1: printf("你查询的是星期四\n\n");break;

case 2: printf("你查询的是星期三\n\n");break;

case 3: printf("你查询的是星期二\n\n");break;

case 4: printf("你查询的是星期一\n\n");break;

case 5: printf("你查询的是星期天\n\n");break;

case 6: printf("你查询的是星期六n\n");break;

}

}

printf("\n");

for(p1 = p -next ; p1; p1 = p1-next)

{

if((p1 - year == year)  (p1 -month == month)  (p1 - day == day))

{

CX++;

printf("%d年%d月%d有记录,信息:%s\n",  year, month, day,  p1-t);

}

}

if(CX == 0)

printf("本日无信息!\n");

printf("\n是否继续查找?1为继续,0为否\n");

scanf("%d", flag);

if(flag == 1)

goto loop;

getch();

}

int monthtm(int i, int flag)

{

int t;

switch(i)

{

case 1: t = 31;break;

case 2:

if(flag == FALSE)

t = 28;

else

t = 29;

break;

case 3: t = 31;break;

case 4: t = 30;break;

case 5: t = 31;break;

case 6: t = 30;break;

case 7: t = 31;break;

case 8: t = 31;break;

case 9: t = 30;break;

case 10: t = 31;break;

case 11: t = 30;break;

case 12: t = 31;break;

}

return t;

}

int dingwei(int year, int month, int day)

{

int DC = 0, T_y, T_m, T_year = 2011, T_month = 1, T_day = 1;   //2011年01月01日  星期六

int flag = FALSE; //FALSE非闰年  TRUE闰年

int i, j, m, n, k;

if(T_year = year)

i = 1;

else

i = -1;

for(T_y =  yearT_year ? T_year : year; T_y  (yearT_year ? year : T_year); T_y++)

{

flag = runnian(T_y);

if(flag == TRUE)

DC += 366;

else

DC += 365;

}

if( i 0 )

for(T_m = T_month; T_m  month ; T_m++)

{

flag = runnian(T_y);

DC += i*monthtm(T_m,flag);

}

else

{

{

if(runnian(year))

k = TRUE;

else

k = FALSE;

}

for(T_m = T_month; T_m  month ; T_m++)

DC += i*monthtm(T_m,k);

}

if(T_year  year)

j = -1;

if(T_year = year)

j = 1;

m = day;

n = T_day;

DC = DC + j*(m - n);

return DC;

}

void showstar()

{

int i;

for(i = 0; i  55; i++)

printf("*");

printf("\n");

}

int runnian(int year)

{

if(year%4 == 0  year%100 != 0 || year%400 == 0)

return TRUE;

else

return FALSE;

}

void show(int start, int day)

{

int i;

showstar();

printf("Sun\tMon\tTue\tWen\tThu\tFri\tSat\t\n");

for(i = 1; i = start; i++)

printf("\t");

for(i = 1; i = day; i++)

{

printf("%d\t", i);

if((start + i)%7 == 0)

printf("\n");

}

printf("\n");

showstar();

printf("\n");

printf("按任意键返回菜单!\n");

getch();

}

void main(void)

{

int i, n = 0;

RCAP *head;

head = open_file();

do

{

system("cls");

printf("选择使用功能:\n");

printf("1:查询指定时间为星期几和相关信息\n");

printf("2:显示指定月份的所有时间信息\n");

printf("3:显示所有日程安排\n");

printf("4:添加某天信息\n");

printf("5:删除某天信息\n");

printf("6:修改信息\n");

printf("0:退出\n");

printf("请选择!\n");

scanf("%d", i);

switch(i)

{

case 0: break;

case 1: searchday(head);break;

case 2: showmonth(head);break;

case 3:showall(head); break;

case 4:addinfo(head); break;

case 5:delinfo(head); break;

case 6:modifyinfo(head); break;

}

}while(i  0 );

n = save_file(head);

printf("文件功有%d个信息\n", n);

free(head);

getch();

}