有沒有純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();

}

原創文章,作者:QPRZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147688.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QPRZ的頭像QPRZ
上一篇 2024-11-02 13:11
下一篇 2024-11-02 13:11

相關推薦

  • Python官網中文版:解決你的編程問題

    Python是一種高級編程語言,它可以用於Web開發、科學計算、人工智能等領域。Python官網中文版提供了全面的資源和教程,可以幫助你入門學習和進一步提高編程技能。 一、Pyth…

    編程 2025-04-29
  • Git secbit:一種新型的安全Git版本

    Git secbit是一種新型的安全Git版本,它在保持Git原有功能的同時,針對Git存在的安全漏洞做出了很大的改進。下面我們將從多個方面對Git secbit做詳細地闡述。 一…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python中文版下載官網的完整指南

    Python是一種廣泛使用的編程語言,具有簡潔、易讀易寫等特點。Python中文版下載官網是Python學習和使用過程中的重要資源,本文將從多個方面對Python中文版下載官網進行…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • 如何將Java項目分成Modules並使用Git進行版本控制

    本文將向您展示如何將Java項目分成模塊,並使用Git對它們進行版本控制。分割Java項目可以使其更容易維護和拓展。Git版本控制還可以讓您跟蹤項目的發展並協作開發。 一、為什麼要…

    編程 2025-04-28
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28

發表回復

登錄後才能評論