c語言設計文檔,c語言設計文檔在哪裡

本文目錄一覽:

急求!!!C語言:文檔編輯器的設計與實現。。。

#include “stdio.h”

#include “string.h”

#define Q 200

void main()

{int k,m;

char str[Q];

printf(” 英文句子管理程序\n”);

printf(“請輸入您要處理的英文句子(注意標點符號與單詞之間至少有一個空格):\n”);

gets(str);

printf(“您要進行處理的英文句子為:\n”);

puts(str);

do{printf(” \n 英文句子處理主菜單\n”);

printf(“********************************************************\n”);

printf(“| 1.刪除該句子的前導空格、後導空格。 |\n”);

printf(“| 2.刪除該句子中多餘的空格(單詞之間只留一個空格)。|\n”);

printf(“| 3.統計該句子中某個單詞出現的頻率 。 |\n”);

printf(“| 4.查找並替換某個單詞。 |\n”);

printf(“| 5.安全安全退出管理。 |\n”);

printf(“********************************************************\n”);

printf(“請選擇您要執行的操作(1–5):”);

scanf(“%d”,k);

switch(k)

{case 1:{ int i,h,num=0;

i=strlen(str);

do{i–;

}while(str[i]==’ ‘);

str[i+1]=’\0′;

i=0;

while(str[i]==’ ‘) i++;

if(str[i]!=’\0′) num=1; h=i;m=i;

while(str[i]!=’\0′)

{if(i0 str[i]==’ ‘ str[i-1]!=’ ‘)

num++;i++;}

printf(“經過功能1處理後的英文句子為:\n”);

for(;str[h]!=’\0′;h++)

printf(“%c”,str[h]);printf(“\n”);

};break;

case 2:{int a,q;

printf(“經過功能2處理後的英文句子為:\n”);

for(a=m;str[a]!=’\0′;)

{if(str[a]!=’ ‘) {printf(“%c”,str[a]);a++;q=0;}

while(str[a]==’ ‘) {q=1;a++;}

if(q==1) printf(” “);

}

};printf(“\n”); break;

case 3:{ int k1,k2,i=0,k=0,m;

char str2[Q],str1[Q],*p,*q;

printf(“請輸入您要統計的單詞:”);

scanf(“%s”,str1);

do

{while(str[i]==’ ‘i=strlen(str)) i++;k1=i;

while(1)

{if(str[i]==’ ‘ str[i+1]!=’ ‘) break;

i++;

if(str[i]==’ ‘ str[i-1]!=’ ‘) k2=i-1;

if(i=strlen(str)) break;

};

p=str;

q=str2;

p+=k1;

for(m=k1;m=k2;m++)

{*q=*p;p++;q++;}

*q=’\0′;

if(strcmp(str2,str1)==0) k++;

}while(str[i]!=’\0′ i=strlen(str));

printf(“您要統計的單詞%s出現了%d次.\n”,str1,k);

};break;

case 4:{int k1,k2,i=0,k,m,x;

char str3[Q],str4[Q];

char str2[Q],str5[Q];

char *p,*q;

printf(“請輸入您要查找的單詞:\n”);

scanf(“%s”,str3);

printf(“請輸入您要替換的單詞:\n”);

scanf(“%s”,str4);

printf(“經過單詞替換後的英文句子為:\n”);

i=0;

do

{while(str[i]==’ ‘i=strlen(str)) i++;k1=i;

while(1)

{if(str[i]==’ ‘ str[i+1]!=’ ‘) break;

i++;

if(str[i]==’ ‘ str[i-1]!=’ ‘) k2=i-1;

if(i=strlen(str)) break;

};

p=str;

q=str2;

p+=k1;

for(m=k1;m=k2;m++)

{*q=*p;p++;q++;}

*q=’\0′;

if(strcmp(str2,str3)==0) printf(“%s “,str4);

else printf(“%s “,str2);

}while(str[i]!=’\0′ i=strlen(str));

}; break;

default:break;}

}while(k!=5);

}

用C語言設計一個文件加密與解密程序

c語言文件加密和解密方法如下:

1、首先打開VC++6.0;

2、選擇文件,新建;

3、選擇C++ source file 新建一個空白文檔;

4、聲明頭文件

#includestdio.h

#includestdlib.h

#includestring.h

首先寫個加密函數,演算法就是簡介里說的;

void EncryptFile(FILE *sfp,FILE *dfp,char pwd)

{

char ch;

if(sfp==0||dfp==0)

{

printf(“ERROR!\n”);

return;

}

while((ch=fgetc(sfp))!=EOF)

{

if((ch=’a’)(ch=’z’))

{

ch=(ch-‘a’+1)%26+’a’;

ch=ch^pwd;

}

if((ch=’A’)(ch=’Z’))

{

ch=(ch-‘A’+1)%26+’A’;

ch=ch^pwd;

}

fputc(ch,dfp);

}

}

寫解密子函數:與加密的過程相反;

void DecryptFile(FILE *sfp,FILE *dfp,char pwd)

{

char ch;

while((ch=fgetc(sfp))!=EOF)

{

if((ch=’a’)(ch=’z’))

{

ch=ch^pwd;

ch=(ch-‘a’+25)%26+’a’;

}

if((ch=’A’)(ch=’Z’))

{

ch=ch^pwd;

ch=(ch-‘A’+25)%26+’A’;

}

fputc(ch,dfp);

}

}

輸出函數,輸出文件內容

void OutputFile(FILE *fp)

{

char ch;

while((ch=fgetc(fp))!=EOF)

putchar(ch);

}

 主函數,主要調用這幾個函數

int main()

{

/*用戶輸入的要加密的文件名*/

char sfilename[20];

/*用戶輸入加密後保存的文件名*/

char dfilename[20];

/*用來保存密碼字元*/

char pwd;

FILE *sfp,*dfp;

printf(“\nPlease input filename to be encrypted:\n”);

/*得到要加密的文件名*/

gets(sfilename);

/*得到加密後你要的文件名*/

printf(“input filename to save the encrypted file:\n”);

gets(dfilename);

/*得到加密字元*/

printf(“Please input your Password:\n”);

//scanf(“%c”,pwd);

pwd=getch();

/*屏幕以*來表示輸入的加密字元*/

printf(“*\n”);

/*以只讀方式打開要加密的文件*/

if((sfp=fopen(sfilename,”r”))==0)

{

printf(“Can’t open the file :%s\n”,sfilename);

exit(0);

}

/*輸出要加密的文件*/

printf(“\nThe the text of file to be encrypted is:\n”);

OutputFile(sfp);

/*建立加密後的文件*/

if((dfp=fopen(dfilename,”w+”))==0)

{

printf(“Can’t open or create the file :%s\n”,dfilename);

//exit(0);

}

/*文件加密*/

fseek(sfp,0L,SEEK_SET);

EncryptFile(sfp,dfp,pwd);

printf(“\n\nEncrypted the file successfully!\n”);

/*輸出加密後的文件*/

printf(“\nAfter encrypting the text of file is:\n”);

fseek(dfp,0L,SEEK_SET);

OutputFile(dfp);

fclose(sfp);

fclose(dfp);

getch();

return 0;

}

c語言代碼編寫的格式?

C語言 程序代碼編寫規範

(初級程序員 討論版)

前言

一個好的程序編寫規範是編寫高質量程序的保證。清晰、規範的源程序不僅僅是方便閱讀,更重要的是能夠便於檢查錯誤,提高調試效率,從而最終保證軟體的質量和可維護性。

說明

l 本文檔主要適用於剛剛開始接觸編程的初學者。

l 對於具有一定工程項目開發經驗的程序員,建議學習C語言程序代碼編寫規範—高級版。

目錄

1 代碼書寫規範

2 注釋書寫規範

3 命名規範

4 其它一些小技巧和要求

1 代碼書寫規範

1.1函數定義

花括弧: { }

每個函數的定義和說明應該從第1列開始書寫。函數名(包括參數表)和函數體的花括弧應該各佔一行。在函數體結尾的括弧後面可以加上注釋,注釋中應該包括函數名,這樣比較方便進行括弧配對檢查,也可以清晰地看出來函數是否結束。

範例1:函數的聲明

void matMyFunction(int n)

{

……

} /* matMyFunction*/

1.2空格與空行的使用

要加空格的場合

l 在逗號後面和語句中間的分號後面加空格,如:

int i, j, k;

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

result = func(a, b, c);

l 在二目運算符的兩邊各留一個空格,如

a b a = b i = 0

l 關鍵字兩側,如if () …, 不要寫成if() …

l 類型與指針說明符之間一定要加空格:

char *szName;

不加空格的場合

l 在結構成員引用符號.和-左右兩加不加空格:

pStud-szName, Student.nID

l 不在行尾添加空格或Tab

l 函數名與左括弧之間不加空格:

func(…)

l 指針說明符號*與變數名間不要加空格:

int *pInt; 不要寫成: int * pInt;

l 複合運算符中間不能加空格,否則會產生語法錯誤,如:

a + = b a = b 都是錯誤的

空行與換行

l 函數的變數說明與執行語句之間加上空行;

l 每個函數內的主要功能塊之間加空行表示區隔;

l 不要在一行中寫多條語句.

範例2:空行與換行

int main()

{

int i, j, nSum = 0; //變數說明

for (i = 0; i 10; i++) //執行代碼

{

for (j = 0; j 10; j++)

{

nSum += i;

}

}

}

1.3縮進的設置

根據語句間的層次關係採用縮進格式書寫程序,每進一層,往後縮進一層

有兩種縮進方式:1,使用Tab鍵;2,採用4個空格。

整個文件內部應該統一,不要混用Tab鍵和4個空格,因為不同的編輯器對Tab鍵的處理方法不同。

1.4折行的使用

· 每行的長度不要超過80個字元,當程序行太長時,應該分行書寫。

· 當需要把一個程序行的內容分成幾行寫時,操作符號應該放在行末。

· 分行時應該按照自然的邏輯關係進行,例如:不要把一個簡單的邏輯判斷寫在兩行上。

· 分行後的縮進應該按照程序的邏輯關係進行對齊。例如:參數表折行後,下面的行應該在參數表左括弧的下方。

範例2:折行的格式

dwNewShape = matAffineTransform(coords, translation,

rotation);

if (((new_shape.x left_border)

(new_shape.x right_border))

((new_shape.y bottom_border)

(new_shape.y top_border)))

{

draw(new_shape);

}

1.5嵌套語句(語句塊)的格式

對於嵌套式的語句–即語句塊(如,if、while、for、switch等)應該包括在花括弧中。花括弧的左括弧應該單獨佔一行,並與關鍵字對齊。建議即使語句塊中只有一條語句,也應該使用花括弧包括,這樣可以使程序結構更清晰,也可以避免出錯。建議對比較長的塊,在末尾的花括弧後加上注釋以表明該語言塊結束。

範例3:嵌套語句格式

if (value max)

{

if (value != 0)

{

func(value);

}

}

} else {

error(“The value is too big.”);

} /* if (value max) */

2 注釋書寫規範

注釋必須做到清晰,準確地描述內容。對於程序中複雜的部分必須有注釋加以說明。注釋量要適中,過多或過少都易導致閱讀困難。

2.1注釋風格

· C語言中使用一組(/* … */)作為注釋界定符。

· 注釋內容盡量用英語方式表述。

· 注釋的基本樣式參考範例4。

· 注釋應該出現在要說明的內容之前,而不應該出現在其後。

· 除了說明變數的用途和語言塊末尾使用的注釋,盡量不使用行末的注釋方式。

範例4:幾種注釋樣式

/*

* ************************************************

* 強調注釋

* ************************************************

*/

/*

* 塊注釋

*/

/* 單行注釋 */

//單行注釋

int i; /*行末注釋*/

2.2何時需要注釋

· 如果變數的名字不能完全說明其用途,應該使用注釋加以說明。

· 如果為了提高性能而使某些代碼變得難懂,應該使用注釋加以說明。

· 對於一個比較長的程序段落,應該加註釋予以說明。如果設計文檔中有流程圖,則程序中對應的位置應該加註釋予以說明。

· 如果程序中使用了某個複雜的演算法,建議註明其出處。

· 如果在調試中發現某段落容易出現錯誤,應該註明。

3 命名規範

3.1常量、變數命名

l 符號常量的命名用大寫字母表示。如:

#define LENGTH 10

l 如果符號常量由多個單詞構成,兩個不同的單詞之間可以用下劃線連接。如:

#define MAX_LEN 50

變數命名的基本原則:

l 可以選擇有意義的英文(小寫字母)組成變數名,使人看到該變數就能大致清楚其含義。

l 不要使用人名、地名和漢語拼音。

l 如果使用縮寫,應該使用那些約定俗成的,而不是自己編造的。

l 多個單片語成的變數名,除第一個單詞外的其他單詞首字母應該大寫。如:

dwUserInputValue。

3.2函數命名

函數命名原則與變數命名原則基本相同。對於初學者,函數命名可以採用「FunctionName」的形式。

4 其它一些小技巧和要求

l 函數一般情況下應該少於100行

l 函數定義一定要包含返回類型,沒有返回類型加void

l 寫比較表達式時,將常量放在左邊

10 == n

NULL != pInt

l 指針變數總是要初始或重置為NULL

l 使用{}包含複合語句,即使是只有一行,如:

if (1 == a)

{

x = 5;

}

寫c語言的說明文檔時,「程序的設計」需要寫些什麼?

程序設計就是說你這個程序是怎麼設計出來的~

你可以將你所寫的函數一一列出來 然後做個詳細的函數分析就OK了

比如說 這個函數實現了怎麼樣的功能啊 是怎麼實現的啊

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/181518.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-23 06:40
下一篇 2024-11-23 06:40

相關推薦

  • AES加密解密演算法的C語言實現

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

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

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

    編程 2025-04-29
  • 使用Spire.PDF進行PDF文檔處理

    Spire.PDF是一款C#的PDF庫,它可以幫助開發者快速、簡便地處理PDF文檔。本篇文章將會介紹Spire.PDF庫的一些基本用法和常見功能。 一、PDF文檔創建 創建PDF文…

    編程 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
  • Python語言由荷蘭人為中心的全能編程開發工程師

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

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python爬蟲文檔報告

    本文將從多個方面介紹Python爬蟲文檔的相關內容,包括:爬蟲基礎知識、爬蟲框架及常用庫、爬蟲實戰等。 一、爬蟲基礎知識 1、爬蟲的定義: 爬蟲是一種自動化程序,通過模擬人的行為在…

    編程 2025-04-28

發表回復

登錄後才能評論