当前位置:首页 » 编程语言 » c语言中的源程序清单是什么
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中的源程序清单是什么

发布时间: 2022-04-13 03:38:36

A. c语言程序设计

#include<stdio.h>
struct student /*定义一个学生类型结构体*/
{
long num;
char name[20];
float score1;
float score2;
float score3;
float total;
float aver;
};
main()
{
void input(struct student t[3]);/*定义input函数,输入学生信息*/
void average(struct student v[3]);/*定义average函数,求每个学生总成绩、平均成绩和所有学生的总平均成绩*/
void maximum(struct student r[3]);/*定义maximum函数,找出最高分的学生的数据*/
struct student s[3];
int i;
input(s);
printf("the information of student is:\n");
printf("num name score1 score2 score3 total aver\n");
for(i=0;i<3;i++)
printf("%ld %s %f %f %f %f %f\n",s[i].num,s[i].name,s[i].score1,s[i].score2,s[i].score3,s[i].total,s[i].aver);
average(s);
maximum(s);
printf("the information of student with the highest total score is:\n");
printf("%s %f\n",s[0].name,s[0].total);
}
void input(struct student t[3])
{
int i;
printf("please input student's information:\n");
for(i=0;i<3;i++)
{t[i].total=0;
t[i].aver=0;
scanf("%ld%s%f%f%f",&t[i].num,&t[i].name,&t[i].score1,&t[i].score2,&t[i].score3);
t[i].total=t[i].score1+t[i].score2+t[i].score3;
t[i].aver=t[i].total/3;
}
}
void average(struct student v[3])
{
int i;
float sum=0,average=0;
for(i=0;i<3;i++)
{v[i].total=v[i].score1+v[i].score2+v[i].score3;
v[i].aver=v[i].total/3;
sum+=v[i].aver;}
average=sum/3;
printf("the average score of all the students is :average=%f\n",average);
}
void maximum(struct student r[3])
{
int i;
float t;
for(i=0;i<3;i++)
if(r[i].total>r[0].total)
{t=r[0].total;
r[0].total=r[i].total;
r[i].total=t;
strcpy(r[0].name,r[i].name);
r[0].num=r[i].num;r[0].score1=r[i].score1;r[0].score2=r[i].score2;r[0].score3=r[i].score3;
r[0].aver=r[i].aver;
}/*将所有学生信息进行排序,总分高的放在第一组,输出时只需输出第一组学生信息*/
}
程序中限定了学生个数为3,要改成10,则需将3替换为10。运行结果如下:
please input student's information:
1061 lili 80 78 98
1062 liujun 85 80 92
1063 guowei 82 83 93
the information of student is:
num name score1 score2 score3 total aver
1061 lili 80.000000 78.000000 98.000000 256.000000 85.333336
1062 liujun 85.000000 80.000000 92.000000 257.000000 85.666664
1063 guowei 82.000000 83.000000 93.000000 258.000000 86.000000
the average score of all the students is :average=85.666664
the information of student with the highest total score is:
guowei 258.000000
第二题不会。

B. 学习C语言应遵循哪些步骤

第1步:定义程序的目标

在动手写程序之前,要在脑中有清晰的思路。想要程序去做什么首先自己要明确自己想做什么,思考程序需要哪些信息,要进行哪些计算和控制,以及程序应该要报告什么信息。在这一步骤中,不涉及具体的计算机语言,应该用一般术语来描述问题。

第2步:设计程序

对程序应该完成什么任务有概念性的认识后,就应该考虑如何用程序来完成它。除此之外,还要决定在程序(还可能是辅助文件)中如何表示数据,以及用什么方法处理数据。

学习C语言之初,遇到的问题都很简单,没什么可选的。

第3步:编写代码

设计好程序后,就可以编写代码来实现。也就是说,把设计的程序翻译成C语言。这里是真正需要使用C语言的地方。可以把思路写在纸上,但是最终还是要把代码输入计算机。

程序清单1.1C源代码示例

#include <stdio.h>

int main(void)

{

int dogs;

printf("How many dogs do you have? ");

scanf("%d", &dogs);

printf("So you have %d dog(s)! ", dogs);

return 0;

}

在这一步骤中,应该给自己编写的程序添加文字注释。最简单的方式是使用C的注释工具在源代码中加入对代码的解释。

第4步:编译

接下来的这一步是编译源代码。再次提醒读者注意,编译的细节取决于编程的环境,稍后马上介绍一些常见的编程环境。现在,先从概念的角度讲解编译发生了什么事情。

编译器是把源代码转换成可执行代码的程序。可执行代码是用计算机的机器语言表示的代码。这种语言由数字码表示的指令组成。如前所述,不同的计算机使用不同的机器语言方案。C编译器负责把C代码翻译成特定的机器语言。

此外,C编译器还将源代码与C库(库中包含大量的标准函数供用户使用,如printf()和scanf())的代码合并成最终的程序(更精确地说,

编译器还会检查C语言程序是否有效。如果C编译器发现错误,就不生成可执行文件并报错。理解特定编译器报告的错误或警告信息是程序员要掌握的另一项技能。

第5步:运行程序

传统上,可执行文件是可运行的程序。在常见环境(包括Windows命令提示符模式、UNIX终端模式和Linux终端模式)中运行程序要输入可执行文件的文件名,而其他环境可能要运行命令(如,在VAX中的VMS[2])或一些其他机制。

例如,在Windows和Macintosh提供的集成开发环境(IDE)中,用户可以在IDE中通过选择菜单中的选项或按下特殊键来编辑和执行C程序。最终生成的程序可通过单击或双击文件名或图标直接在操作系统中运行。

第6步:测试和调试程序

程序能运行是个好迹象,但有时也可能会出现运行错误。查找并修复程序错误的过程叫调试。学习的过程中不可避免会犯错,学习编程也是如此。因此,把所学的知识应用于编程时,最好为自己会犯错做好心理准备。

第7步:维护和修改代码

创建完程序后,发现程序有错,或者想扩展程序的用途,这时就要修改程序。例如,用户输入以Zz开头的姓名时程序出现错误、想到了一个更好的解决方案、想添加一个更好的新特性,或者要修改程序使其能在不同的计算机系统中运行,等等。

C. C语言 小型文件管理系统的编写 要具体源程序

看样子你也是四川理工的吧、、、、我也是为咯这道题而来的、、、、做不来、、、

D. c语言中源程序清单什么意思

就是用C语言写的可以运行的程序全文。

E. C语言程序设计模块化程序设计

printf("%c",a);
or printf("%c",*name);

F. 求C语言中数制转换代码

四、源程序清单
/* 用 途: 2~36之间的各种数制的数任意转换 */
/********************************************************/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

/* 显示帮助信息 */
void help()
{
printf("\nUsage : Translate the number between two number systems\n");
printf("Syntex: TNS <number> <radix1> <radix2>\n");
exit(0);
}

/* 显示错误信息 */
void printerror(errno,num,base1)
char errno,*num,*base1;
{
switch (errno) {
case 1 : printf("\nError : Origin number %s(%s) is valid !!!\n",num,base1);
break;
case 2 : printf("\nError : radix (%s) is invalid !!!\n%s\n",base1,
"Correct : radix>=2 and radix <=36");
break;
}
help();
}

/* 数制转换函数 */
void transnum(num,base1,base2)
char *num,*base1,*base2;
{
int i,k,l,m,j,ibase1,ibase2;
long inum=0;
char temp[20];
double r=0;
i = strlen(num); /* 数值的长度 */
ibase1 = atoi(base1); /* 数基1 */
if ((ibase1<2) || (ibase1>36)) printerror(2,"",base1); /* 有效吗? */
ibase2 = atoi(base2); /* 数基2 */
if ((ibase2<2) || (ibase2>36)) printerror(2,"",base2); /* 有效吗? */
for (j=0;j<i;j++) {
r = pow(ibase1,i-j-1); /* 计算数基的幂指数 */
if (ibase1<=10) l = '9' - (10 - ibase1); /* 计算有效的数范围 */
else {
m = 'a' + (ibase1 - 11);
l = '9';
}
if ((num[j]>=48) && (num[j]<=l)) /* 求每位数字的十进制值 */
k = num[j]-48;
else if (ibase1>10) {
/* 求每个字母所代表的十进制值 */
if ((num[j]>='A') && (num[j]<=m - 32))
k = num[j] - 'A'+10;
else if ((num[j]>='a') && (num[j]<=m))
k = num[j] - 'a'+10;
else printerror(1,num,base1);
}
else printerror(1,num,base1);
inum += k * (int) r; /* 累加计算结果 */
}
/* 输出转换结果 */
printf("%s(%d) = %s(%d)\n",num,ibase1,ltoa(inum,temp,ibase2),ibase2);
}

/* 主程序 */
main(argc,argv)
int argc;
char *argv[];
{
static char num[10],base1[10],base2[10];
printf("(TNS)Translator of Number System 1.0 Copyright (c) 1995 Dong Zhanshan\n");
switch (argc) {
case 1:
case 2:
case 3: help();
break;
case 4: strcpy(num,argv[1]);
strcpy(base1,argv[2]);
strcpy(base2,argv[3]);
transnum(num,base1,base2);
}
}

G. 急急急!!!会C语言编程的朋友 帮个忙啊

案例一 C++
#include <iostream>
using namespace std;

char num[16] = {
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
};
int ToInt(char &n){
if (n<='9') return (int )(n-48);
else return (int )(n-'A'+10);
}
int main(){
int P = 10, Q; \\Q是要输入的2 8 16进制
string N = "";
while (cin >> Q >> N){
if (N == "0"){
cout << 0 << endl;
return 0;
}
string OUT = "";
long long sum = 0, p = 1;
for (int i = 0; i<N.size(); i++){
sum += ToInt(N[N.size()-1-i])*p;
p*=P;
}
while (sum>0) OUT.insert(0, 1, num[sum%Q]), sum/=Q;
cout << OUT << endl;
}
return 0;
}

H. c语言程序填空求助大神

if(argc< 3 ) //补上 3,命令行参数个数
f2=fopen(argv[2], "w"); // 把h 改成 g
while(!feof(f1)) fputc( fgetc(f1),f2 ); //用 fputc,读一个字符写一个字符,加上文件结束EOF判断 .
循环读写结束后关闭文件:
fclose(f1);
fclose(f2);

I. 程序是什么

1.什么是程序?什么是程序设计语言?
答:程序是可以连续执行,并能够完成一定任务的一条条指令的集合。
它是人与机器之间进行交流的语言。
2.( A )是构成C语言的基本单位。
(A)函数(B)过程(C)子程序(D)子函数
3.C语言的程序一行写不下时,可以( B )。
(A)用逗号换行
(B)在任意一空格处换行
(C)用回车符换行
(D)用分号换行
4.以下说法正确的是( C )。
(A)C语言程序中是从第一个定义的函数开始执行
(B)在C程序中,要调用的函数必须在main()函数中定义
(C)C程序是从main()函数开始执行
(D)C程序中的main()函数必须放在程序的开始部分
5.结构化程序的三种基本控制结构是(顺序)、(选择)、(循环)。
6.C语言源程序的扩展名是( .c )。
7.请参照本章例题,编写一个C程序,输出以下字符串。
######################
You are Welcome!
######################
源程序清单:
main()
{
printf("######################\n");
printf("You are Welcome!\n");
printf("######################\n");
}
或者:
main()
{
printf("####################\n You are Welcome!\n ##################\n");
}

8.开发一个C程序,一般要经过哪些步骤?
答:编辑、编译、连接、调试、运行。
9.归纳C程序的构成。
答:
(1)一个C程序由一个或多个函数构成,其中必须有main()主函数。
(2)每个函数由头部和函数体两部分组成,并以“{”、“}”作为函数的开始和结束标志。
函数头部说明返回值的类型、函数名和形式参数等;
函数体由若干条C语句组成;
(3)每条C语句以分号结尾,分号是组成C语句的重要部分。
(4)可以在程序的任何位置用“/* …… */。”对程序中的任何部分注释。

J. c语言编程

程序中定义了几个特殊键:
"V”:画笔提起
"W”:开始画图
"R”:开始擦图
"S”:当前图形存入文件
"E”:调出已有文件
"C”:画圆
程序一运行,屏幕上出现一个黄色的边框来设定画图的区域,区域中间出现提起的画笔符号 ,当按下”W“键时,画笔符号变为,此时可移动方向键(上、下、左、右、左上、左下、右上、右下)来画图;当按下”R“键时,画笔符号变为,此时可移动方向键来擦图;在画图过程中,按下“C”键,可画出一个半径为20个象素点的圆;当结束画图时,按下“S”键,将画好的图形存盘;按下“E” 键可调出已有的图形进行编辑。

3.源程序清单

# include "graphics.h"
# include "stdio.h"
# include "fcntl.h"
# include "stdlib.h"
main()

void save(),load();
void *wg,*rg,*vg,*fy;
int driver,mode;
int c=RED;
int x=320,y=225;
int x1,y1,x2,y2;
int k,k1,k2;
/* initialize grapher */
detectgraph(&driver,&mode);
initgraph(&driver,&mode,"c:\tc");

/* write the pen */
bar(200,10,206,16);
line(203,7,200,10);
line(203,7,206,10);
line(243,7,240,16);
line(243,7,246,16);
line(283,7,280,10);
line(283,7,286,10);
line(283,7,283,16);

/* save the pen */
wg=malloc(imagesize(200,7,206,16));
rg=malloc(imagesize(240,7,246,16));
vg=malloc(imagesize(280,7,286,16));
fy=malloc(imagesize(200,7,206,16));

getimage(200,7,206,16,wg);
getimage(240,7,246,16,rg);
getimage(280,7,286,16,vg);
cleardevice();

/* write the box */
setcolor(YELLOW);
rectangle(4,19,637,447);

x1=x-3;
y1=y+1;
x2=x+3;
y2=y+10;
getimage(x1,y1,x2,y2,fy);
putimage(x1,y1,vg,XOR_PUT);

/* receive the command */
for (;;)
while (bioskey(1)==0);
k=bioskey(0);
putimage(x1,y1,fy,AND_PUT);
if (((k&0x00ff)|0x00)==0)
k1=k&0xff?0:k>>8; /* k1 is the specialkey value */
else
k2=k&0x00ff; /* k2 is the non-specialkey value */
if (((k&0x00ff)|0x00)==0) /* Special key */
switch(k1)
case 45:
restorecrtmode();
exit(0);
case 72:
if (y>20)
y=y-1;
break;
case 75:
if (x>5)
x=x-1;
break;
case 77:
if (x<636)
x=x+1;
break;
case 80:
if (y<446)
y=y+1;
break;
case 71:
if ((x>5)&&(y>20))
x=x-1;
y=y-1;
break;
case 79:
if ((x>5)&&(y<446))
x=x-1;
y=y+1;
break;
case 73:
if ((x<636)&&(y>20))
x=x+1;
y=y-1;
break;
case 81:
if ((x<636)&&(y<446))
x=x+1;
y=y+1;
break;

x1=x-3;
y1=y+1;
x2=x+3;
y2=y+10;
getimage(x1,y1,x2,y2,fy);
/* non-special key */
switch(k2)
case 118: /* 'v' */
case 86: /* 'V' */
putimage(x1,y1,vg,OR_PUT);
break;
case 119: /* 'w' */
case 87: /* 'W' */
putimage(x1,y1,wg,OR_PUT);
putpixel(x,y,c);
break;
case 114: /* 'r' */
case 82: /* 'R' */
putimage(x1,y1,rg,OR_PUT);
putpixel(x,y,BLACK);
break;
case 115: /* 's' */
case 83: /* 'S' */
save("pic.dat");
break;
case 101: /* 'e' */
case 69: /* 'E' */
load("pic.dat");
break;
case 99: /*'c'*/
case 67: /*'C'*/
setcolor(RED);
circle(x,y,20);
break;
default:continue;

/* function for screen picture save
*/
void save(char *fname)

FILE *fp;
int i;
register long j;
char far *ptr;

fp=fopen(fname,"wb");
for(i=0;i<4;i++)

outportb(0x3CE,4);
outportb(0x3CF,i);
ptr=(char far *) 0xA0000000L;
for (j=0;j<38400L;j++)
putc(*ptr,fp);
ptr++;

fclose(fp);
outportb(0x3CF,0);

/* function for screen picture display
*/
void load(char *fname)

FILE *fp;
register int i;
int k4=1;
register long j;
char far *ptr;

fp=fopen(fname,"rb");
for (i=0;i<4;i++)

outportb(0x3C4,2);
outportb(0x3C5,k4);
ptr=(char far *)0xA0000000L;
for (j=0;j<38400L;j++)

*ptr=getc(fp);
ptr++;

k4*=2;

fclose(fp);
outportb(0x3C5,0xF);

4.结束语

该程序在Turbo C 2.0环境下运行通过,使用效果良好。可以根据具体需要,对该程序进行扩充,以增加绘图功能。