C语言程序设计报告
C语言程序设计

C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。
(2). 设计程序,对给定的两个数求和。
(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。
四、源程序代码:代码1:#include<stdio.h>int main(){printf("hello world!\n");return 0;}运行结果1:程序分析1:代码2:#include<stdio.h> int main(){int a=5,b=6,c;c=a+b;printf("c=%d\n",c);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){int a=5,b=6,c;if(a>b){c=a;}else{c=b;}printf("%d\n",c);return 0;}运行结果3:程序分析3:五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。
三、实验内容:(1). 编写程序,实现小写字母转大写。
(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。
(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。
(4). 编写程序,实现单字符getchar和putchar输入输出。
(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。
四、源程序代码代码1:#include<stdio.h>int main(){char c1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1-32;printf("%c,%d\n",c2,c2);return 0;}运行结果1:程序分析1:代码2:#include<stdio.h>int main(){int a=5,c1,c2;double b=3.141592653,c3,c4;c1=a/b;c3=a/b;c2=a+b;c4=a+b;printf("%d,%d,%lf,%lf\n",c1,c2,c3,c4);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){here: printf("计算三角形的面积请输入‘1’,立方体的体积和表面积请输入‘2’,圆的面积和周长请输入‘3’.\n");int a;scanf("%d",&a);if(a==1){double l,h,s;printf("请输入三角形的底边长和所在底边的高.");scanf("%lf%lf",&l,&h);s=l*h/2;printf("三角形的面积为%.16f\n",s);}else if(a==2){printf("请输入立方体的长宽高.");double b,c,d,v,s;scanf("%lf%lf%lf",&b,&c,&d);v=b*c*d;s=b*c+b*d+c*d;printf("立方体的体积为%.16f,表面积为%.16f\n",v,s);}else{double r,s,c,m;printf("请输入圆的半径");scanf("%lf",&r);m=3.141592653;s=m*r*r;c=2*m*r;printf("圆的面积为%.16f,圆的周长为%.16f\n",s,c);}goto here;}运行结果3:程序分析3:代码4:#include<stdio.h> int main(){getchar();putchar('b');return 0;}运行结果4:程序分析4:代码5:#include<stdio.h>int main(){int a;printf("请输入任意十进制整数:");scanf("%d",&a);printf("转换为八进制数为:%o\n转化为十六进制数为:%x\n",a,a); return 0;}运行结果5:程序分析5:五、实验总结C语言程序设计上机实验报告实验三一、实验名称:选择结构程序设计二、实验目的:正确使用逻辑运算符和逻辑表达式,熟练掌握if 语句和switch 语句,学习调试程序。
大学生c语言程序设计实训报告总结

最新大学生c语言程序设计实训报告总结大学生c语言程序设计实训报告总结C语言是在国内外广泛使用的一种计算机语言。
其语言功能丰富、表达能力强、使用灵活方便,,小编整理了大学生c语言程序设计实训报告总结,希望能帮助到您。
大学生c语言程序设计实训报告总结一C语言是在国内外广泛使用的一种计算机语言。
其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。
其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言。
掌握了C语言,可以说你就掌握了很多门语言。
学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。
所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。
同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。
在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,并总结了一点经验:要了解C语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。
在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。
这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。
C语言程序设计实验实验报告

C语⾔程序设计实验实验报告《C语⾔程序设计实验》实验报告实验九⽂件编程(⼀)班级:_07某某专业1班_学号:______姓名:___实验样例_____⽇期:___2008.6.10_____台州学院数信学院计算机系制作⼀、实验⽬的和要求综合使⽤基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。
⼆、实验指导1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制⼀个⼩型应⽤程序。
需要复习课本以前所学内容,浏览上课讲解的相关内容。
2、实验时间安排:准备实验⽅案,上课时上机编程,课余完成整个设计并完成实验报告。
3、实验具体要求:以⼀张假想的学⽣期中成绩表为实验对象,编制⼀个⼩型应⽤程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计;(4)成绩输⼊。
也可以实现其他⾃定义的功能。
界⾯采⽤简易菜单形式,可以分级显⽰。
实验需要进⾏以下步骤:需求分析、程序设计、程序调试、程序运⾏,并对程序运⾏效果进⾏分析,提出改进⽅案。
初步锻炼学⽣的程序设计能⼒、程序调试能⼒、对实验结果进⾏综合分析的能⼒。
4、实验成绩评价标准:参见成绩评定表。
四、实验报告内容(参见样本,请另附页)实验报告必须包含以下内容:1、对你设计的程序功能进⾏的较详细描述。
2、画出程序测试⽤的学⽣期中成绩表(包含:表头、若⼲⾏包含学⽣成绩等信息的数据⾏)。
3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。
注:如果程序过长,可以不⽤给出所有的函数定义,只给出主要的函数定义)。
4、运⾏结果(写出运⾏时的主界⾯、各模块的实现界⾯等,不作具体要求,但要求能清晰地体现出程序的功能)。
5、对你的设计作⼀个评价(可以包含你所花的时间、精⼒,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进⽅案)。
1、程序功能描述:(略)2、成绩表样表:3、程序清单:(红⾊部分是和上⼀个程序的区别之处)#includestruct student /*期中成绩表的结构声明*/{int num;char name[20];char sex;float YuWen;float ShuXue;float YingYu;float totle;};#define MAX_STU_NUMBER 100 /*宏定义最⼤学⽣数为100⼈*/struct student Stu[MAX_STU_NUMBER]; /*⼀次性定义100个学⽣的存储空间*/int STU_NUMBER; /*存放学⽣数*/char *FileName = "chengji.txt"; /*成绩存放的⽂件*//*所有的函数声明:*/int SelectMainMenu(); /*显⽰并选择主菜单。
c语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。
3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。
4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。
程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。
《C语言程序设计》实验报告

《C语言程序设计》实验报告学院:专业:学号:姓名:成绩:课程代码: 2001301指导教师:实验中心:电气信息专业试验中心日期:目录实验总体要求实验一………………………………………………C语言的运行环境和运行过程实验二………………………………………………数据类型、运算符与表达式实验三………………………………………………程序结构(顺序、选择和循环) 实验四………………………………………………数组实验五………………………………………………函数实验六………………………………………………指针实验七………………………………………………结构体实验八………………………………………………类和对象实验总体要求C语言程序设计课程是一门实践性很强的课程,为了培养学生的计算机应用能力,除了课堂理论教学外,必须加强程序设计课程实验的教学环节。
1、课程实验教学目的通过C语言程序设计的课程实验教学,学生应具有使用计算机解决相关问题的能力,同时为学生今后学习其他计算机应用课程打下良好的程序设计基础。
⑴分析问题和解决问题能力的训练课程实验教学将课本上的理论知识和实际应用有机地结合起来,达到训练学生分析问题解决实际问题的能力,提高学生应用计算机知识开发应用系统的综合能力。
⑵逻辑思维能力的训练通过课程实验教学,使学生正确地掌握C语言的基本知识,较好掌握基本的程序算法,以及描述方法。
培养学生在程序设计解题思路、算法的描述、编程构思等方面的计算机逻辑思维能力。
⑶程序设计技能的训练通过C语言环境下的应用实例,训练学生编写程序的能力,掌握编程的思路和方法,掌握结构化程序设计的基本概念和基本技能。
通过课程实验教学,使学生掌握C程序设计语言的语法规则,数据结构的应用,掌握算法描述及相应代码描述,掌握结构化程序设计的基本方法,能熟练编写一般的应用程序。
2、课程实验教学要求⑴要求通过解题、程序设计和上机实践,加深对所学概念的理解,提倡理论与实践相结合的学习方法。
C语言程序设计课程设计报告

C语言程序设计课程设计实验报告一、设计名称:学生成绩治理查询系统实验项目性质:综合性所涉及课程:C语言程序设计打算学时:实验学时12二、设计目的:1.通过本课程设计,培育上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力,闯过编程关;2.为后续各门运算机课程的学习打下坚实基础。
3.明白得程序设计的思路,把握结构化程序设计的方式,综合利用C语言进行程序编写,巩固常常利用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培育。
提高编写程序解决实际问题的能力、调试程序的技术。
三、设计环境(软件、硬件及条件)1.硬件:PC机2.软件:Turbo C++四、设计说明:程序系统的结构:用一系列图表列出本程序系统内的每一个程序(包括每一个模块和子程序)的名称、标识符和它们之间的层次结构关系。
主程序:新建:输入记录(遇#号时停止输入)。
插入:在指定位置插入记录。
显示:列出所有记录。
查询:一、按学号查询;二、按名字排序。
删除:一、按学号删除;二、按名字删除;3、删除所有记录。
排序:一、按语文成绩排序;二、按英语成绩排序;3、按数学成绩排序。
保留:保留为任意名字,系统自动加后缀名为.txt。
读取:读取程序目录下的后缀名为.txt的文件。
退出:退出程序。
五、各功能模块的具体实现,用图表表示。
输入记录显示开始:输入学号输入的学号是否为#Y N 结束,返回主菜单输入记录循环输入结束开始p=hp!=NULL输出学生信息;p=p->next结束按学号(姓名)查询信息Y N读取文件六、各模块(函数)的功能介绍,数据结构设计描述,参数说明等。
STUDENT *init(); /*初始化链表*/STUDENT *create(); /*新建链表*/STUDENT *del_no(STUDENT *h);/*按学号删除信息*/STUDENT *del_name(STUDENT *h); /*按姓名删除信息*/void print(STUDENT *h); /*显示信息函数*/void search_no(STUDENT *h); /*按学号搜索*/void search_name(STUDENT *h); /*按姓名搜索*/STUDENT *insert(STUDENT *h); /*插入信息函数*/void sort(STUDENT *h);/* 排序函数*/void save(STUDENT *h);/*保留数据到文件*/void load(STUDENT *h); /*从文件读取数据*/int menu_main(); /*菜单函数*/void inputs(char *prompt,char *s,int count);/*输出信息*/七、程序代码:Enter records\n");printf(" 2. Add records\n");printf(" 3. List records\n");printf(" 4. Search records\n");printf(" 5. Delete records\n");printf(" 6. Sort records\n");printf(" 9. Quit\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~9):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>9); /*选择项不在1~9之间重输*/return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Search records on number\n");printf(" 2. Search records on name\n");printf(" 3. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~3):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>3);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Chinese\n");printf(" 2. English\n");printf(" 3. Math\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Delete records on number\n");printf(" 2. Delete records on name\n");printf(" 3. Delete all records\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}.");/*提示*/getch(); /*读入任意字符*/}.\n");getch(); /*读入任意字符*/if(p==h)h=p->next;elseq->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s); }printf("\nPress any key to continue..."); getch(); /*读入任意字符*/return h;}.\n");getch();if(p==h)h=p->next;else q->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s);}printf("\nPress any key to continue...");getch(); /*读入任意字符*/return h;}.");getch(); /*读入任意字符*/}.");getch(); /*读入任意字符*/}xt"};STUDENT *p;FILE *fp; /*指向文件的指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判定打开是不是正常*/ {printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;while(p!=NULL){if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1){printf("Error!\n");exit(1);} /*写入*/p=p->next;}fclose(fp); /*关闭文件*/printf("\n------OK------\n");printf("Press any key to continue...");getch(); /*读入任意字符*/}xt"};STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/*概念文件指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/{printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;a1=a2=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)){n++;if(n==1)h=a1;else a2->next=a1;a1=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);}a2->next=NULL;printf("\n------OK------\n");printf("Press any key to continue...");getch(p); /*读入任意字符*/}///////////////////////////////////////////void sort(STUDENT *h) /*排序函数*/{int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /*清屏*/printf("Enter you choice :\n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;q=h;while(t->score[--j]<p->score[--j]&&p!=NULL){q=p;p=p->next;}if(p==q){t->next=p;h=t;}else{t->next=p;q->next=t;}}p=h;while(p!=NULL){i++;p=p->next;}h=z;printf("------OK------\n");}//////////////////////////////////////////////////九、体会、总结本课程设计完成了设计一个学生成绩治理系统,学生的学习成绩进行治理,具有查询和检索功能,而且能够对指定文件操作。
C语言程序设计实验报告
实验二数据类型、运算符和表达式实验时间:2机时一、实验目的1. 掌握C语言数据类型,熟悉各种类型变量的定义和含义。
2. 掌握C语言标准输入、输出函数的使用方法3. 进一步熟悉C程序的上机过程,积累调试经验。
二、实验意义通过上机实验,巩固本章所学基本知识-C语言的数据类型、变量的定义和使用、结合数据类型更深入地理解标准输入函数scanf()和标准输出函数printf ()的格式控制符的意义和使用。
通过简单程序设计的练习加深对运算符优先级和结合方向的理解,并正确求解表达式的值,这些必要的基础知识是后面深入学习C语言所必须的知识储备。
三、实验重点1. 数据类型、变量的定义和使用;2. 运算符、表达式的求解3. 简单顺序结构的C程序设计四、实验难点数据类型的转换、自增自减运算五、实验方式提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。
六、实验内容(一).完善程序题1.用scanf函数输入数据,使得x=1.23,y=67.1234。
#include <math.h>#include <stdio.h>int main(){double x,y,z;scanf ("%lf%lf",&x,&y);z=2*x+y/sin(3.1415/4);printf("z=%6.2f",z);return 0;}输入1.23 67.1234输出z= 97.392. #include <stdio.h>int main(){int str;str=getchar();putchar(str);return 0;}输入a输出a3.根据下面的输出结果,完善程序s1=C,ASCII is 67x=655.35,y=765.43#include <stdio.h>int main(){double x=655.3524,y=765.4271;char s1='C';printf("s1=%c,ASCII is %d\nx=%6.2f,y=%6.2f",s1,s1,x,y);return 0;}输出s1=C,ASCII is 67x=655.35,y=765.434.用scanf函数输入数据,使得程序运行结果为a=2,b=’x’,c=’z’。
C语言程序设计课程设计报告
《C语言程序设计》课程设计报告(2011— 2012学年第 1 学期)专业:计算机科学与技术班级:姓名学号:指导教师:成绩:计算机科学与技术系2011 年12月31日目录一、课程设计的目的与要求 (3)二、方案实现与调试 (3)2.1 掷骰子游戏 (3)2.2 汽车加油 (6)2.3 大优惠 (8)2.4 金币 (9)2.5小型通讯录设计 (12)三、课程设计分析与总结 (14)附录程序清单 (14)一、课程设计的目的与要求(含设计指标)(1)实验目的C语言是一种编程灵活,特色鲜明的程序设计语言。
C语言除了学习必须的基本知识,如概念,方法和语法规则之外,更重要的是进行实训,以提高学习者的动手和编程能力,这是学习语言的最终目的。
结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。
达到如下目的:1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;2.让学生扎实掌握C程序设计语言的相关知识;3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。
(2)设计要求根据实验内容的要求自由选定题目。
编写程序要求遵循如下基本要求:●模块化程序设计●锯齿型书写格式●必须上机调试通过二、方案实现与调试2.1掷骰子游戏•2.1.1 题目内容的描述两人玩骰子,游戏规则如下:1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。
2) 将每人每次的分值累加计分3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。
4) 结束条件:当双方都掷10次或经过5次后一方累计分数为另一方的两倍。
最后显示双方分数并判定优胜者。
•2.1.2输入数据类型、格式和内容限制和输出数据的说明输入数据类型:整型数格式:srand(time(0));输入数=rand()%6+1;内容限制:产生最多十次随机数输出数据说明:掷骰子的获胜者•2.1.3主要模块的算法描述2.1.4调试过程及实验结果出现的问题:每次循环产生的随机数相同。
《C语言程序设计》实验报告(实验1-12)
《C语言程序设计》实验报告(实验1-12)《C语言程序设计》实验报告20XX~20XX学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 一、实验目的:1.了解在Visual C++ 环境下如何xx、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C 源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 环境下输入并运行下面的程序:#include int main( ) {printf("This is a C program.\\n"); return 0; }2. 在Visual C++ 环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include int main( ) {int a,b,sum a=3; b=4; sun=a+b;print(“%d+%d=%d\\n”,a,b,sum); return 0; }四、实验结果:1. 运行结果(或截图):This is a C program.Press any key to continue- 1 -2. (1) 改正后的源程序:#include int main( ) {int a,b,sum; a=3; b=4; sum=a+b;printf(\ return 0; }(2) 运行结果(或截图):3+4=7五、思考题:1. 一个C程序上机的步骤有哪些?答:上级输入与xx源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。
2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:一个函数包括两部分:分别为函数头或函数首部和函数体。
成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
c语言程序设计课程设计总结(通用6篇)
c语言程序设计课程设计总结一、什么是总结总结,汉语词语,读音为zǒng jié,意思是总地归结。
二、c语言程序设计课程设计总结(通用6篇)总结是在一段时间内对学习和工作生活等表现加以总结和概括的一种书面材料,写总结有利于我们学习和工作能力的提高,为此要我们写一份总结。
但是总结有什么要求呢?以下是小编为大家整理的c语言程序设计课程设计总结(通用6篇),仅供参考,大家一起来看看吧。
c语言程序设计课程设计总结1课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。
同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!c语言程序设计课程设计总结2经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学C语言程序设计实践报告题目学生信息管理系统学生姓名指导教师学院专业班级完成时间目录一、系统功能介绍 (3)二、系统功能模块 (4)2.1系统功能结构图 (4)2.2模块功能介绍 (5)三、数据结构设计 (6)四、主要模块算法说明 (7)六、问题,解决方法及注意事项 (13)七、课程设计总结 (14)八、部分源程序代码 (15)一、系统功能介绍1.录入学生信息:录入学生的基本信息,如年龄,性别学号,班级;以及该学生选修课程的基本信息,如课程编号,学分。
2.数据查询:按照姓名或者按照学号查询,查询学生基本信息,或者学生的成绩信息。
3.输出统计信息:按照平均成绩由高到低的顺序,输出学生名单;输出不及格的学生不及格的课程以及该门课程的平时、考试,综合成绩4.删除信息:删除指定的学好的学生的所有信息。
5.修改数据:修改指定学号的学生信息,修改其基本信息或者课程信息。
6.插入数据:插入一个学生的完整信息到已有的学生信息库中。
7.退出系统:退出系统,关闭程序。
二、系统功能模块2.1系统功能结构图主菜单录入学生数据查询学生数据统计信息输出删除学生信息修改学生信息插入学生信息退出系统按学号查询按姓名查询平均成绩输出不及格学生名单2.2模块功能介绍录入数据模块:录入学生的基本信息,如年龄,性别学号,班级;以及该学生选修课程的基本信息,如课程编号,学分。
同时可以自动计算每门课程的综合成绩,每个学生的平均成绩。
查询数据模块:输入一个学号,或者输入一个姓名,输出该学号的基本信息以及选修课程的各种信息。
统计信息模块:输出学生平均成绩排名表,输出不及格学生列表以及不及格学生的不及格课程的考试、平时及综合成绩。
删除模块:根据输入的学号,将该学号的所有信息从学生信息库中删除。
修改模块:修改输入学号的学生的制定信息,其他信息不修改。
插入模块:插入一个学生的信息到学生信息库中。
排序模块:对所有学生爱平均成绩排序。
三、数据结构设计1.变量类型由于某个学生的各种信息是一个整体,不不能分别定义再引用,而且每个学生的选修课程含有编号、学分等信息,也属于一个整体,因此我采用了学生信息结构体中嵌套课程信息结构体的方式定义数据。
struct course//定义课程结构体{int num;/*课程编号,定义为整型数据*/float credit; /*课程学分,定义为浮点型数据*/float usual;//以下为成绩信息,均为浮点型数据float exam;float final;};struct student//定义学生结构体{int ID; /*学生编号,整形数据*/char name[20];/*学生姓名,字符数组,大小20*/int cla;/*班级信息,整型数据*/char sex[2];/*性别信息,字符数组,大小2*/int age;/*年龄,整型数据*/struct course clanguage;//以下为三个struct course类型的课程struct course math;struct course pe;float average;}stu[30];/*定义学生结构体的大小*/2.关于变量的作用域问题。
由于各个函数均要使用结构体数组中的所有成员或者部分成员,若采用参数传递方式对结构体成员进行调用,不简洁而且返回值容易出错,所以结构体变量及学生人数都定义为全局变量,便于使用。
四、主要模块算法说明1.主函数 void main()先调用主界面函数,打印出主界面,在调用菜单函数。
2.菜单函数 void menu()先打印出各个功能以及对应的数字选项,然后利用scanf语句输入选项,利用switch语句的多选择性,设置不同的case,进入相应的分功能函数。
3.输入数据函数 void enter()函数开始利用scanf语句确定输入的人数p,接着使用循环控制语句,分别录入学生的所有基本信息。
对于学生课程信息,由于课程编号以及学分固定,因此采用直接赋值方式在循环体中初始化;每个学生的每个课程的综合成绩、每个学生的平均成绩通过在循环体中调用calculate(int i)函数实现。
最后调用sort函数,对所有学生按平均成绩排序。
4.查询信息函数 void inquire ()此模块包含两个小的模块,一为inquire_ID()函数模块,一为inquire_name()函数模块。
通过if语句,根据输入的数字进入不同查询函数。
查询过程的具体实现:先输入一个学号或者姓名,是这一个变量flag,初值为0。
如果找到了该学号,flag的值变为1,同时将此时的i值赋给变量k,起到标记变量的作用。
接着判断flag的值,if(flag)输出查找学生的信息,否则通过scanf语句输入选项,执行返回主菜单或者重新输入两个语句之一。
5.信息统计函数 void census_output()通过输入选项1、2,进入平均成绩查询或者不及格学生名单查询。
输出平均成绩:利用循环语句,依次从高到低输出各个学生的信息。
输出不及格学生名单:利用循环语句,在循环语句中判断每个学生每门课程的综合成绩是否小于60,小于60,则输出学生该门课程的平时、考试、综合成绩。
并且还设置了flag变量,在循环外赋值为0,开始循环以后,每找到一门不及格成绩,flag++,循环结束以后,判断flag 的值,如果不为零,不运行任何指令,否则输出“无成绩不及格学生”的提示信息。
6.删除信息函数 void dele()输入一个学号,然后利用循环语句,找到删除位置,与查询类似,设置flag变量,初始值为0,找到学号后,flag的值变为1,利用变量k=i 标记该位置。
紧接着,判断flag的值,if(flag),利用循环语句for(i=k;i<p;i++) stu[i]=stu[i+1];即,将后一个学生信息全部赋给前一个学生,覆盖掉前一个学生原来的信息,删删除成功后,全局变量p的值减1;如过flag值为0,则提示所要删除的学号不存在,返回主菜单。
7.修改信息函数 void modify()输入一个学号,然后利用循环语句,找到修改位置,与查询类似,设置flag变量,初始值为0,找到学号后,flag的值变为1,利用变量k=i标记该位置。
接着判断flag的值,if(flag),通过scanf语句输入选项,利用if else 语句进入相应的修改项,修改信息;如果flag为0,则返回主菜单。
8.插入信息函数void insert()将要插入的学生的各种信息赋值给结构体数组中的stu[p]元素的各个成员,同样,各门课的综合、平均成绩通过将p作为实参传递给calculate(int i)函数中的形参i来计算。
最后在函数末尾加上sort()函数,将由于插入数据而被打乱的结构体数组重新排序。
9.排序函数 void sort()利用选择法排序,设置一个struct student类型的临时变量temp,for(i=0;i<p-1;i++){ for(j=i+1;j<p;j++)if(stu[i].average<stu[j].average){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}}通过对平均成绩的比较,交换两个学生所有信息,实现由高到低排序。
10.防输错模块(分散于各个函数中)由于在录入数据时可能未按要求录入选项,为了防止在此种情况下程序突然关闭,必须利用if else语句来修补这种漏洞。
试举一例,在输出统计数据函数中void census_output(){int option;system("cls");printf("\n查询平均成绩排序>>>>>>>>>>>>请按1\n");printf("\n查询不及格学生名单>>>>>>>>>>请按2.\n");scanf("%d",&option);if(option==1){…………}else if(option==2){…………}else else{printf("您的输入有误,请选择1或2!");system("pause");getchar();census_output();}五、运行过程截图程序运行主菜单界面录入信息界面查找到信息输出后的界面平均成绩输出界面删除信息成功后的界面修改信息成功后的界面六、问题,解决方法及注意事项1)怎样在输出文字后产生停顿?刚开始一直不懂,后来通过查询网络,使用system(“pause ”)产生停顿效果。
2)由于录入及插入数据后,都需要计算课程综合成绩,学生平均成绩,直接写重复,不简洁,通过设置calculate()函数来统一计算。
3)由于删除及插入数据操作使学生人数p发生了变化,因此在函数结尾时要对p进行相应的变化。
4)经查询学号与查询姓名放在一个查询函数中,显得冗长且括号配对容易弄错,而且学号或者姓名输入错误要重新输入显得不方便,分别定义了两个分函数来执行,就避免了上面的问题。
5)性别sex最好设置为含两个字符的字符数组,否则就可能遇到姓名及紧跟姓名的成员信息无法录入的问题。
6)Sort()函数中,临时储存学生信息的变量必须为struct student类型,不能为整型或者其他数据类型。
7)引用结构体数组中某一元素的成员时,一定要写完整,不能只写成员名来引用,初学者容易犯此类错误。
8)注意if else语句的括号配对关系。
每条语句都必须以分号“;”结尾。
字符数组输入不用取地址符。
9)If语句后面如果要连续执行一些的指令,必须用大括号括起来,否则只能执行第一条语句。
七、课程设计总结为两周的课程设计接近尾声,我相信每一个认真去做的人都会体会到其中的困难,已经成功后的喜悦。
课程设计主要从两方面提升了我。
一方面,通过此次课程设计,我们必须要把书上的只是综合起来,for循环,if else语句的使用,还有switch语句已经选择法排序的算法,还有结构体数组的使用等等,都必须有机地融合到程序之中,构成大程序的砖瓦。
在两周时间里,我仔细思考了一个大程序如何运行,大程序中各个小的模块如何进行衔接,函数之间如何调用,函数的递归调用等问题,想的时间久了,这些问题我也逐渐搞清了,自己的程序也编写了出来。
通过实践,对书上的内容做到了会使用,而不是仅仅表面上的理解。
另一方面,由于刚开始对程序编写毫无头绪,因此有一定的畏难情绪,不愿意开始编写这个程序,想要蒙混过关。