c語言註解
Ⅰ c語言注釋語句
// 是C++的 注釋語句, 有的C編譯器支持,有的不支持。
/* */ 是ANSI C的 注釋語句形式,所有的C編譯器都支持。
Ⅱ c語言中注釋的位置
1、可以使用/*和*/分隔符來標注一行內的注釋,也可以標注多行的注釋。例如,在下列的函數原型中,省略號的意思是 open() 函數有第三個參數,它是可選參數。注釋解釋了這個可選參數的用法:
int open( const char *name, int mode, … /* int permissions */ );
2、可以使用//插入整行的注釋,或者將源代碼寫成兩列分欄的格式,程序在左列,注釋在右列:
const double pi = 3.1415926536; // pi是—個常量
(2)c語言註解擴展閱讀
在 C99 標准中,單行注釋正式加入C語言,但是大部分編譯器在 C99 之前就已經開始支持這種用法。有時候,其被稱作「C++風格」的注釋,但實際上,其源自於C的前身 BCPL。
1、在引號中,如果採用/*或//分隔一個字元常量或字元串字面量(string literal),它們都不會被視為注釋的開始。例如,下面語句就沒有注釋:
printf("Comments in C begin with /* or //. " );
2、預處理器僅通過檢查注釋的結束符來檢測注釋中的字元,因此,不能嵌套塊注釋。然而,可以使用/*和*/注釋包含單行注釋的源代碼:
/* 暫時注釋掉這兩行:
const double pi = 3.1415926536; // pi是一個常量
area = pi * r * r; // 計算面積
暫時注釋到此 */
Ⅲ c語言注釋怎麼寫
C語言有兩種注釋格式,分別是:
單行注釋
intx;//這是一條行注釋信息
多行注釋
intx;
/*這是一個
多行
注釋
*/
Ⅳ 求C語言編程註解
#include"stdio.h"//聲明包含文件
main()//主函數開頭
{intfz,fm,n,i;//定義int類型變數fz,fm,n,i
floats,t;//定義float類型變數s,t
fz=2;fm=1;s=0;//把2賦值給fz,1賦值給fm,0賦值給s
scanf("%d",&n);//獲取輸入值n
for(i=1;i<=n;i++)//for循環,i=1,如果i小於等於n,i加1
{t=(1.0*fz)/fm;//t等於(1.0*fz)/fm
s=s+t;//計算s
fz=fz+fm;//計算fz
fm=fz-fm;//計算fm,,,個人覺得這個的語句不管怎麼弄,fz肯定和fm相等
}
printf("s=%f ",s);//列印出s的值
}
Ⅳ C語言注釋
if函數的意思是選擇較大的數保存在m1中,較小的數保存在n1中。
do循環的意思是求m1和n1的余數,並將原較小的數存在m1中,同時將求出的余數作為下一次的n1,重新循環,直到m1和n1的余數等於0.
此時求出的m1即最大公約數,
m*n/m1為最小公倍數
Ⅵ c語言注釋是什麼
注釋是語句這句話不全面,應該說注釋是注釋語句。
1、可以使用/*和*/分隔符來標注一行內的注釋,也可以標注多行的注釋。例如,在下列的函數原型中,省略號的意思是 open() 函數有第三個參數,它是可選參數。注釋解釋了這個可選參數的用法:
int open( const char *name, int mode, … /* int permissions */ )。
2、可以使用//插入整行的注釋,或者將源代碼寫成兩列分欄的格式,程序在左列,注釋在右列:
const double pi = 3.1415926536// pi是—個常量。
C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%-20%。因此,C語言可以編寫系統軟體。
Ⅶ 給c語言加註釋
)
在編寫C語言源代碼時,應該多使用注釋,這樣有助於對代碼的理解。在C語言中有兩種注釋方式:
一種是以/*開始、以*/結束的塊注釋(block comment);
另一種是以//開始、以換行符結束的單行注釋(line comment)。
可以使用/*和*/分隔符來標注一行內的注釋,也可以標注多行的注釋。例如,在下列的函數原型中,省略號的意思是 open() 函數有第三個參數,它是可選參數。注釋解釋了這個可選參數的用法:
int open( const char *name, int mode, … /* int permissions */ );
可以使用//插入整行的注釋,或者將源代碼寫成兩列分欄的格式,程序在左列,注釋在右列:
const double pi = 3.1415926536; // pi是—個常量
在 C99 標准中,單行注釋正式加入C語言,但是大部分編譯器在 C99 之前就已經開始支持這種用法。有時候,其被稱作「C++風格」的注釋,但實際上,其源自於C的前身 BCPL。
在引號中,如果採用/*或//分隔一個字元常量或字元串字面量(string literal),它們都不會被視為注釋的開始。例如,下面語句就沒有注釋:
printf("Comments in C begin with /* or //.\n" );
預處理器僅通過檢查注釋的結束符來檢測注釋中的字元,因此,不能嵌套塊注釋。然而,可以使用/*和*/注釋包含單行注釋的源代碼:
/* 暫時注釋掉這兩行:
const double pi = 3.1415926536; // pi是一個常量
area = pi * r * r; // 計算面積
暫時注釋到此 */
如果想要注釋掉包含塊注釋的部分程序,可以使用條件預處理命令:
#if 0
const double pi = 3.1415926536; /* pi是一個常量 */
area = pi * r * r ; /* 計算面積 */
#endif
預處理器會把每個注釋都替換成一個空格。因此,min/*max*/Value變成兩個標記min Value。
所有教程
Ⅷ C語言里有哪些注釋方法
答:在用C語言編程時,常用的注釋方式有如下幾種:
(1)單行注釋 //…
(2)多行注釋 /*…*/
(3)條件編譯注釋 #if 0…#endif
拓展資料:
對於(1),注釋只能顯示在一行內,通常出現在一條語句的右邊或者上方,對於注釋符」//」,一個注釋里只要有多餘2個』/』都可以。
對於(2),」/*…*/」不能嵌套使用,正如」if…else」中的」else」總是和隔它最近的」if」配對一樣,」/*」總是和離它最近的」*/」相配對。
針對(1)和(2)各自的缺陷,資深的程序員提出如(3)所示的注釋,該注釋的好處是能注釋大塊的程序,並且沒有嵌套的限制,也就是說在」#if 0…#endif」的」…」處可以有」//」或」/*…*/」這樣的注釋。
Ⅸ c語言注釋
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "string.h"
struct student /*學生結構體*/
{
int num; /*序號*/
char name[20]; /*姓名*/
float score1; /*分數1*/
float score2; /*分數2*/
float average; /*平均分*/
};
struct student stu[50]; /*定義student類型數組stu,長度50個*/
struct student avg; /*定義student類型數組avg*/
/*變數初始化*/
int count=0,passwd=123;
int k=0;
/*函數聲明*/
void input(); /*輸入*/
void display(); /*顯示*/
void sort(); /*排序*/
void sort_name(); /*按姓名排序*/
void sort_score1(); /*按分數1排序*/
void sort_score2(); /*按分數2排序*/
void sort_average(); /*按平均分排序?*/
void query(); /*查詢*/
void query_num(); /*查詢數字*/
void query_name(); /*查詢名字*/
void update(); /*修改數據*/
void update_num(); /*修改學號*/
void update_name(); /*修改名字*/
void re(); /*刪除*/
void re_num(); /*刪除學號*/
void re_name(); /*刪除姓名*/
void renew(); /*恢復刪除*/
void renew_num(); /*恢復被刪除的學號*/
void renew_name(); /*恢復被刪除的姓名*/
void pa();
void s(); /*密碼驗證通過後的主界面*/
/*主函數*/
void main()
{
int p;
system("cls"); /*清屏*/
printf("\n\n\n\n\n\n\n\t\t\t請輸入密碼: "); /*提示輸入*/
scanf("%d",&p); /*獲得密碼*/
if (p==passwd) /*判斷密碼是否正確*/
s(); /*正確*/
else /*錯誤*/
{
printf("\n\n\n\n密碼輸入錯誤!任意鍵重新輸入!");
getch();
main();
}
}
void s()
{
/*密碼正確後執行此處*/
int select;
system("cls");
/*顯示菜單*/
printf(" |+++++++++++++++++++++++~~~~~~~~~~+++++++++++++++++++++++|\n");
printf(" ***************************學生成績管理系統***************************\n");
printf(" |+++++++++++++++++++++++~~~~~~~~~~+++++++++++++++++++++++|\n\n");
printf(" —— 08計網 李紅衛\n\n\n");
printf("1.錄入\n2.顯示\n3.排序\n4.查詢\n5.修改\n6.刪除\n7.恢復\n8.退出\n\n");
printf("請選擇: ");
scanf("%d",&select);
/*獲得用戶選擇的項目*/
switch(select)
{
case 1:
input();
break;
case 2:
display();
break;
case 3:
sort();
break;
case 4:
query();
break;
case 5:
update();
break;
case 6:
re();
break;
case 7:
renew();
break;
case 8:
break;
default:
printf("選擇錯誤!");
break;
}
}
void input() /*錄入成績函數*/
{
char select;
system("cls");
printf("學生成績錄入\n\n");
do /*循環,直到用戶完成輸入*/
{
printf("\n請輸入第%d個學生信息\n\n",count+1);
printf("學號: ");
scanf("%d",&stu[count].num);
printf("姓名: ");
scanf("%s",stu[count].name);
printf("成績一:");
scanf("%f",&stu[count].score1);
printf("成績二:");
scanf("%f",&stu[count].score2);
stu[count].average=(stu[count].score1+stu[count].score2)/2;
printf("是否繼續輸入(y/n): ");
fflush(stdin); /*清除文件緩沖區,文件以寫方式打開時將緩沖區內容寫入文件*/
select=getchar();
count++;
}while(select=='y'||select=='Y'); /*輸入完成*/
if (select=='n'||select=='N')
{
s();
}
}
void display() /*顯示信息*/
{
int i;
system("cls");
printf("學生成績顯示:\n\n");
printf("%-8s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","平均成績");
printf("%-8s%-12s%-12s%-12s%s\n","====","========","=======","========","========");
for (i=0;i<count;i++) /*遍歷所有學生的信息,輸出在屏幕上*/
{
printf("%-8d%-12s%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].average);
}
printf("任意鍵返回主菜單......");
getch();
s();
}
void sort() /*排序函數*/
{
int select;
system("cls");
printf("學生成績排序:\n\n\n");
printf("\n\t\t\t1.按姓名排序\n\t\t\t2.按成績一排序\n\t\t\t3.按成績二排序\n\t\t\t4.按平均分排序\n\t\t\t5.返回\n\n");
printf("請選擇: ");
scanf("%d",&select);
/*判斷排序方式*/
switch(select)
{
case 1:
sort_name(); /*按姓名*/
break;
case 2:
sort_score1(); /*按成績1*/
break;
case 3:
sort_score2(); /*按成績2*/
break;
case 4:
sort_average(); /*按平均分*/
break;
case 5:
s();
break;
default:
printf("輸入錯誤!任意鍵返回主菜單!");
getch();
s();
break;
}
}
void sort_name() /*按姓名排序*/
{
int i;
struct student temp;
system("cls");
printf("按姓名排序: \n\n");
printf("%-8s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","平均成績");
printf("%-8s%-12s%-12s%-12s%s\n","====","========","=======","========","========");
for (i=0;i<count;i++)
{
if (strlen(stu[i].name)<strlen(stu[i+1].name)) /*按姓名長度排序*/
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++) /*遍歷排序後的學生信息,輸出*/
{
printf("%-8d%-12s%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort(); /*返回排序界面*/
}
void sort_score1() /*按成績1排序*/
{
int i;
struct student temp;
system("cls");
printf("按成績一排序: \n\n");
printf("%-8s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","平均成績");
printf("%-8s%-12s%-12s%-12s%s\n","====","========","=======","========","========");
for (i=0;i<count;i++)
{
if (stu[i].score1<stu[i+1].score1) /*按照成績1高低排序*/
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++) /*遍歷排序後的學生信息,輸出*/
{
printf("%-8d%-12s%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort();
}
void sort_score2() /*按成績2排序*/
{
int i;
struct student temp;
system("cls");
printf("按成績一排序: \n\n");
printf("%-8s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","平均成績");
printf("%-8s%-12s%-12s%-12s%s\n","====","========","=======","========","========");
for (i=0;i<count;i++)
{
if (stu[i].score2<stu[i+1].score2) /*按照成績2高低排序*/
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++) /*遍歷排序後的學生信息,輸出*/
{
printf("%-8d%-12s%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort();
}
void sort_average() /*按平均分排序*/
{
int i;
struct student temp;
system("cls");
printf("按平均分排序: \n\n");
printf("%-8s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","平均成績");
printf("%-8s%-12s%-12s%-12s%s\n","====","========","=======","========","========");
for (i=0;i<count;i++)
{
if (stu[i].average<stu[i+1].average) /*按照平均分高低排序*/
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++) /*遍歷排序後的學生信息,輸出*/
{
printf("%-8d%-12s%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort();
}
void query() /*查詢界面*/
{
int select;
system("cls");
printf("學生成績查詢:");
printf("\n\n\n\t\t\t1.按學號查詢\n\n\t\t\t2.按姓名查詢\n\n\t\t\t3.返回");
printf("\n\n請選擇: ");
scanf("%d",&select);
switch(select)
{
case 1:
query_num(); /*按學號查詢*/
break;
case 2:
query_name(); /*按姓名查詢*/
break;
case 3:
s();
break;
default:
printf("輸入錯誤!任意鍵返回主菜單!");
getch();
s(); /*返回主界面*/
}
}
void query_num() /*按學號查詢*/
{
int q,i;
system("cls");
printf("按學生學號查詢:\n\n");
printf("請輸入要查詢學生的學號:");
scanf("%d",&q);
for (i=0;i<count;i++) /*遍歷學生信息,查找指定學號*/
{
if (stu[i].num==q)
{
printf("\n%-8s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","平均成績");
printf("%-8s%-12s%-12s%-12s%s\n","====","========","=======","========","========");
printf("%-8d%-12s%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].average);
printf("查詢完畢,任意鍵返回!");
getch();
query(); /*返回查詢菜單*/
break;
}
else
continue;
}
printf("對不起,您所查詢的學生不存在!任意鍵返回!");
getch();
query(); /*返回查詢菜單*/
}
void query_name() /*按姓名查找*/
{
int i,j;
char find[20];
system("cls");
printf("按學生姓名查詢\n\n\n");
printf("輸入要查詢的學生的姓名: ");
scanf("%s",find);
for (i=0;i<count;i++) /*遍歷學生信息,查找指定姓名*/
{
j=strcmp(find,stu[i].name); /*判斷是否與查找的姓名相等*/
if (j==0) /*找到了*/
{
/*顯示信息*/
printf("\n%-8s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","平均成績");
printf("%-8s%-12s%-12s%-12s%s\n","====","========","=======","========","========");
printf("%-8d%-12s%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].average);
printf("\n\n查詢完畢,任意鍵返回!");
getch();
query(); /*返回查詢界面*/
break;
}
else
continue;
}
printf("對不起,您所查詢的學生不存在!任意鍵返回!");
getch();
query(); /*返回查詢界面*/
}
void update() /*更新信息*/
{
int select;
system("cls");
printf("修改學生信息:\n\n\n");
printf("\t\t\t1.按學號修改\n\n\t\t\t2.按姓名修改\n\n\t\t\t3.返回");
printf("\n\n請選擇:");
scanf("%d",&select);
switch(select)
{
case 1:
update_num(); /*修改學號*/
break;
case 2:
update_name(); /*修改姓名*/
break;
case 3:
s(); /*返回主界面*/
break;
default:
printf("輸入錯誤!任意鍵返回!");
getch();
s(); /*返回主界面*/
break;
}
}
void update_num() /*修改學號*/
{
int i,find;
system("cls");
printf("按學生學號修改: \n\n");
printf("請輸入要修改的學生的學號: ");
scanf("%d",&find);
for (i=0;i<count;i++) /*查找需要修改的學生的學號數據*/
{
if (stu[i].num==find)
{
printf("\n\n學號: ");
scanf("%d",&stu[i].num);
printf("姓名: ");
scanf("%s",stu[i].name);
printf("成績一: ");
scanf("%f",&stu[i].score1);
printf("成績二: ");
scanf("%f",&stu[i].score2);
printf("修改成功!任意鍵返回主菜單!");
getch();
s(); /*返回主界面*/
break;
}
else
continue;
}
printf("您所要修改的學生不存在,任意鍵返回主菜單!");
getch();
s(); /*返回主界面*/
}
void update_name()
{
int i,j=0;
char find[20];
system("cls");
printf("按學生姓名修改: \n\n");
printf("請輸入要修改的學生的姓名: ");
scanf("%s",find);
for (i=0;i<count;i++)
{
j=strcmp(find,stu[i].name);
if (j==0)
{
printf("\n\n學號: ");
scanf("%d",&stu[i].num);
printf("姓名: ");
scanf("%s",stu[i].name);
printf("成績一: ");
scanf("%f",&stu[i].score1);
printf("成績二: ");
scanf("%f",&stu[i].score2);
printf("修改成功!任意鍵返回主菜單!");
getch();
s(); /*返回主界面*/
break;
}
else
continue;
}
printf("您所要修改的學生不存在,任意鍵返回主菜單!");
getch();
s(); /*返回主界面*/
}
void re() /*刪除信息*/
{
int select;
system("cls");
printf("刪除學生信息: \n\n\n");
printf("\t\t\t1.按學號刪除\n\n\t\t\t2.按姓名刪除\n\n\t\t\t3.返回\n\n");
printf("請選擇: ");
scanf("%d",&select);
/*判斷要刪除的信息*/
switch(select)
{
case 1:
re_num(); /*按學號刪除*/
break;
case 2:
re_name(); /*按姓名刪除*/
break;
case 3:
s();
break;
default:
printf("輸入錯誤!任意鍵返回!");
getch();
s();
}
}
void re_num() /*按學號刪除*/
{
int i,find,j;
system("cls");
printf("按學號刪除學生信息: \n\n");
printf("請輸入要刪除的學生的學號: ");
scanf("%d",&find);
for (i=0;i<count;i++) /*查找要刪除的學號*/
{
if (stu[i].num==find) /*找到了*/
{
j=1;
k=i;
avg=stu[i];
break;
}
else
continue;
}
if (j!=1)
{
printf("您所刪除的學生不存在!任意鍵返回主菜單!");
getch();
s(); /*返回主界面*/
}
else
for (i=k;i<count-1;i++) /*執行刪除*/
{
stu[i]=stu[i+1];
}
printf("刪除成功!任意鍵返回主菜單!");
count--;
getch();
s();
}
void re_name() /*刪除姓名*/
{
int i,j,m;
char find[20];
system("cls");
printf("按姓名刪除學生信息: \n\n");
printf("請輸入要刪除的學生的姓名: ");
scanf("%s",find);
for (i=0;i<count;i++) /*查找要刪除的學生姓名*/
{
m=strcmp(find,stu[i].name); /*比較是否是要尋找的姓名*/
if (m==0)
{
j=1;
k=i;
avg=stu[i];
break;
}
else
continue;
}
if (j!=1) /*未找到*/
{
printf("您所刪除的學生不存在!任意鍵返回主菜單!");
getch();
s();
}
else
for (i=k;i<count-1;i++) /*執行刪除*/
{
stu[i]=stu[i+1];
}
printf("刪除成功!任意鍵返回主菜單!");
count--;
getch();
s();
}
void renew() /*恢復學生信息*/
{
int select;
system("cls");
printf("恢復學生信息: \n\n\n");
printf("\t\t\t1.按學號恢復\n\n\t\t\t2.按姓名恢復\n\n\t\t\t3.返回\n\n");
printf("請選擇: ");
scanf("%d",&select);
switch(select)
{
case 1:
renew_num(); /*按學號恢復*/
break;
case 2:
renew_name(); /*按姓名恢復*/
break;
case 3:
s(); /*返回主界面*/
break;
default:
printf("輸入錯誤!任意鍵返回!");
getch();
s();
}
}
void renew_num() /*按學號恢復*/
{
int i,del;
system("cls");
printf("請輸入要恢復的學生的學號: ");
scanf("%d",&del);
if (del==avg.num)
{
for (i=k;i<count;i++) /*恢復*/
{
stu[i+1]=stu[i];
stu[i]=avg;
break;
}
}
else
{
printf("您要恢復的學生不存在,任意鍵返回主菜單!");
getch();
s();
}
count++;
printf("恢復成功!");
getch();
s();
}
void renew_name() /*按姓名恢復*/
{
int i,j;
char del[20];
system("cls");
printf("請輸入要恢復的學生的姓名: ");
scanf("%s",del);
j=strcmp(del,avg.name);
if (j==0)
{
for (i=k;i<count;i++) /*恢復*/
{
stu[i+1]=stu[i];
stu[i]=avg;
break;
}
}
else
{
printf("您要恢復的學生不存在,任意鍵返回主菜單!");
getch();
s();
}
count++;
printf("恢復成功!");
getch();
s(); /*返回主界面*/
}