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(); /*返回主界面*/
}