C语言课程设计实践报告
- 格式:doc
- 大小:437.50 KB
- 文档页数:15
C语⾔见习报告6篇C语⾔是⼀种计算机程序设计语⾔,属⾼级语⾔范畴。
它既具有⾼级语⾔的特点,⼜具有汇编语⾔的特点。
通过见习做⼀报告,本⽂是C语⾔见习的报告,仅供参考。
C语⾔见习报告⼀:班级:姓名:实验名称:电话订餐信息处理实验⽬的:题⽬要求:⼀个⼩饭馆的⽣意⾮常红⽕,要想⽤餐必须提前⼀天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?⾸先,需要准备⼀张⼤⼩适当的⽩纸,等待顾客的电话。
李红最先打进了电话,她预约第2天中午12点⽤餐,⽤餐⼈数5⼈,服务员在纸上做了如下记录:“李红 12点 5⼈”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是:李红 12点 5⼈刘娜 11点 2⼈汪涵 11点20分 3⼈孙杰 10点30分 5⼈赵君 13点20分 6⼈孙杰随后⼜来电话,将⽤餐时间推后⼀个⼩时,那么记录的内容也应该做相应的修改。
刘娜来⽤餐以后,可以将其信息从纸上划去编写程序处理电话订餐的情况实验步骤:⾸先建⽴结构体类型,然后函数声明,编写主函数,定义函数,调⽤函数。
完成后,对程序进⾏调试,确定所编写的程序是否能够运⾏。
实验内容:#include#include#define max 30struct guest{ intnum;char name[40];char time[20];int sum;}guestlink[max];void insert(int _p);void inquire(int);void change(int);void dele(int _p);void show(int);void main(){ inti;int count=0;do{0printf("1.......插⼊\n");printf("2.......查询\n");printf("3.......修改\n");printf("4.......删除\n");printf("5.......显⽰\n");printf("6.......退出\n");scanf("%d",&i);switch(i){case 1: insert(&count);break; case 2: inquire(count);break; case 3: change(count);break; case 4: dele(&count);break; case 5: show(count);break; case 6:break;default:printf("输⼊错误!");break; }}while(i!=6);}void insert(int _p){ inti,number;if(_p==max){ printf("⽤餐已满\n");return;} printf("请输⼊编号:");scanf("%d",&number);for(i=0;i<_p;i++)if(guestlink[i].num==number) { printf("已有相同的编号");return;} guestlink[i].num=number;printf("请输⼊姓名:");scanf("%s",guestlink[i].name); printf("请输⼊⼈数:");scanf("%d",&guestlink[i].sum); printf("请输⼊⽤餐时间:");scanf("%s",guestlink[i].time); (_p)++;}void inquire(int p){ inti,number,flag=1;printf("请输⼊要查询的编号");scanf("%d",&number);for(i=0;iif(guestlink[i].num==number){ printf("姓名:%s",guestlink[i].name);printf("⽤餐时间:%s",guestlink[i].time);printf("⼈数:%d\n",guestlink[i].sum);flag=0;}if(i>=p&&flag==1) printf("所查询的编号不存在"); }void change(int p){ inti,number,flag=1;printf("请输⼊要修改的编号");scanf("%d",&number);for(i=0;iif(guestlink[i].num==number){ printf("请输⼊姓名:");scanf("%s",guestlink[i].name);printf("请输⼊⽤餐时间:");scanf("%s",guestlink[i].time);printf("请输⼊⼈数:");scanf("%d",&guestlink[i].sum);flag=0;}if(i>=p&&flag==1) printf("所查询的编号不存在"); }void dele(int _p){ inti,j,number,flag=1;printf("请输⼊要删除的编号");scanf("%d",&number);for(i=0;i<_p&&flag;i++)if(guestlink[i].num==number){for(j=i;j<_p-1;j++)guestlink[j]=guestlink[j+1];flag=0;(_p)--;}if(i>=_p&&flag==1) printf("输⼊的编号不存在");}void show(int p){ inti;printf("编号姓名⽤餐时间⼈数\n ");for(i=0;i{ printf("%d",guestlink[i].num);printf("%8s",guestlink[i].name);printf("%8s",guestlink[i].time);printf("%8d\n",guestlink[i].sum);}}实验结果:实验体会:通过这次实践让我觉得⽤C语⾔在⽣活中的应⽤占有很⼤的⽐重,这次编程,让我体会到了学习C语⾔的乐趣,以及运⽤c语⾔给⼈们带来的⽅便。
c 课程设计实践报告1500字一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构及算法,培养学生运用C语言进行程序设计的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法,包括数据类型、运算符、表达式、语句等;–理解函数的定义和调用,掌握函数的参数传递和返回值;–学习常用的数据结构,如数组、链表、栈和队列;–掌握基本的算法思想,如排序、查找、递归等。
2.技能目标:–能够使用C语言编写简单的程序,解决实际问题;–熟练使用C语言的调试工具,分析程序的正确性和性能;–掌握常用的编程规范和技巧,提高代码的可读性和可维护性。
3.情感态度价值观目标:–培养学生的团队合作精神,能够与他人合作完成编程任务;–培养学生的问题解决能力,面对编程难题时能够积极寻找解决方案;–培养学生的创新意识,鼓励学生进行程序设计和创新实践。
二、教学内容根据课程目标,教学内容主要包括C语言的基本语法、数据结构、算法和编程实践。
具体安排如下:1.C语言的基本语法:–数据类型、运算符和表达式;–控制语句,包括条件语句和循环语句;–函数的定义和调用,参数传递和返回值。
2.数据结构:–数组的声明和使用;–链表的创建和操作;–栈和队列的实现和应用。
–排序算法,包括冒泡排序、选择排序和插入排序;–查找算法,包括线性查找和二分查找;–递归算法的概念和应用。
3.编程实践:–简单的数学计算程序;–数据结构的实现和应用;–解决实际问题的编程案例。
三、教学方法为了达到课程目标,将采用以下教学方法:1.讲授法:通过讲解和示范,使学生掌握C语言的基本语法和数据结构;2.讨论法:学生进行小组讨论,促进学生之间的交流和合作;3.案例分析法:通过分析实际的编程案例,使学生理解算法的应用和程序设计的方法;4.实验法:安排编程实验,让学生亲自动手编写程序,培养学生的实践能力。
四、教学资源为了支持教学内容和教学方法的实施,将选择和准备以下教学资源:1.教材:选用《C程序设计语言》作为主要教材,引导学生深入学习C语言的基本语法;2.参考书:提供《C Primer Plus》等参考书籍,供学生自主学习和拓展;3.多媒体资料:制作课件和教学视频,生动展示C语言的编程方法和技巧;4.实验设备:提供计算机实验室,让学生进行编程实验和实践。
C语言课程实习(优秀范文5篇)第一篇:C语言课程实习课程实习一、C程序上机操作方法及运行环境编写一个C程序,输入a, b, c,d四个值,输出其中最小者。
#includemain(){int a,b,c,d,t;printf(“Please input numbers:”);scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);t=min(min(min(a,b),c),d);printf(“min number is:%dn”,t);}int min(int x,int y){int z;if(xz=x;elsez=y;return(z);}运行结果:Please input numbers:4,6,3,9min number is:3课程实习二、C程序上机操作方法及运行环境从键盘输入三个字符,要求输出这三个字符,并输出它们的ASCII 码及其ASCII码的平方根和的平方。
#include#includevoid main(){char ch1,ch2,ch3;float t;scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);t=sqrt(ch1)+sqrt(ch2)+sqrt(ch3);printf(“%c,%dn”,ch1,ch1);printf(“%c,%dn”,ch2,ch2);printf(“%c,%dn”,ch3,ch3);printf(“%fn”,t*t);}运行结果:a,b,ca,97b,98c,99881.984683课程实习三、循环结构程序设计1)输入两个正整数m和n;2)如果m=n输出最大公约数m程序结束;3)若m>n则m=m-n否则n=n-m;4)返回到2)(循环)。
#includevoid main(){int m,n;scanf(“%d%d”,&m,&n);while(m!=n){if(m>n)m=m-n; else n=n-m;}printf(“%dn”,m); }运行结果:34,24课程实习四、循环结构程序设计打印下面的图案# # # # ## # # ## # ## ##includevoid main(){int i,j;for(i=1;i<=4;i++) {for(j=1;jprintf(“ ”);for(j=5;j>=i;j--) printf(“*”); putchar('n');}}课程实习五、数组的应用输入一个0到150之间的十进制整数,要求把此数转化为二进制形式。
C语言程序设计实习报告一、实习目的1. 巩固和加深对C语言程序设计的理解。
2. 掌握C语言编程的基本技巧和方法。
3. 提高分析问题、解决问题的能力。
4. 学会将理论知识应用于实际编程中。
二、实习内容XXX语言基础语法练习变量、数据类型、运算符、表达式等基础语法练习。
控制结构(顺序、分支、循环)的实现。
函数的定义和调用方式练习。
2. 模块化程序设计将一个大的程序分解成多个模块,每个模块完成特定的功能。
通过模块间的调用和传递数据来实现整个程序的功能。
3. 文件操作与文件读写文件的打开、关闭、读写操作练习。
文件格式的转换和数据统计处理。
4. 预处理指令与宏定义使用预处理指令进行条件编译和宏定义替换。
练习使用常见的预处理指令如include、define、ifdef等。
5. 结构体、链表与指针结构体的定义和使用。
链表的创建、插入、删除、遍历等操作。
指针的概念和指针运算。
深入理解指针与数组、结构体等数据结构的关系。
6. 位运算与嵌入式系统编程学习位运算符的使用和位段操作的实现。
嵌入式系统的基本概念和编程方法。
7. 综合项目实践参与或独立完成一个综合性C语言程序设计项目。
项目可以包括基于命令行参数的程序设计、基于文件操作的程序设计、基于网络编程的程序设计等。
三、实习过程1. 理论学习:通过教材、网络资源等途径学习C语言的基础知识和编程技巧。
2. 上机实践:在计算机上编写和调试C语言程序,不断巩固所学知识。
3. 问题解决:遇到问题时,通过查阅资料、请教老师或同学等方式解决问题。
4. 团队合作:在小组项目中与他人协作,共同完成任务。
四、实习收获1. 知识技能方面:深入理解了C语言的基本概念和编程技巧,掌握了模块化程序设计和文件操作等常用算法。
2. 解决问题能力方面:学会了如何分析问题、寻找解决方案并通过实践验证解决方案的正确性。
3. 团队协作能力方面:学会了与他人合作,共同完成任务,提高了团队协作能力。
4. 职业素养方面:培养了耐心、细致的工作态度和勇于尝试、敢于创新的探索精神。
c语言实习报告3篇c语言实习报告1在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的.学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
c语言课程设计设计报告c语言课程设计设计报告「篇一」c语言课程设计实验报告第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main{printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
第二章数据类型2.1 实验目的(1)掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
()(2)通过编程进一步理解和掌握运算符的确切含义和功能。
2.2 实验要求(1)在报告中记录建立、保存C程序实习过程。
(2)完成典型题目,分析遇到的困难和实验中的收获。
2.3 实验基本内容输入程序,观察输出结果 1>./*test2.1c*/1)编译如下程序: #includevoid main{char ch; int k;ch='a',k='b';printf("%d,%x,%c",ch,ch,ch,ch,k); printf("k=%%d ",k) }2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
2>./*test2.2c*/1)编译如下程序: #includevoid main{float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001;printf("%f,%l f ",a1+a2,b1+b2);}2)链接。
c 课程设计实验报告C 课程设计实验报告一、引言计算机科学与技术领域的学习和实践是现代社会中不可或缺的一部分。
在计算机科学专业的学习过程中,课程设计实验是培养学生实际动手能力和解决问题能力的重要环节。
本文将对我在C 课程设计实验中的学习和实践进行报告和总结。
二、实验目的C 课程设计实验的主要目的是让学生掌握C语言的基本语法和程序设计方法,培养学生独立设计和实现小型程序的能力。
通过实验,学生能够理解并应用C语言的各种数据类型、运算符、控制语句和函数等基础知识,进一步提高编程能力和解决实际问题的能力。
三、实验内容及过程1. 实验一:C语言基本语法的学习和应用在实验一中,我通过学习C语言的基本语法,掌握了变量的声明与定义、数据类型的使用、输入输出函数的运用等基础知识。
通过编写简单的程序,如计算两个数的和、差、积和商等,我逐渐熟悉了C语言的语法和编程风格。
2. 实验二:C语言的控制语句和循环结构实验二主要涉及C语言的控制语句和循环结构的学习和应用。
通过编写程序,如判断一个数的正负性、计算一个数的阶乘、求两个数的最大公约数等,我深入理解了C语言中的条件语句和循环结构,并能够熟练运用它们解决实际问题。
3. 实验三:C语言的函数和数组实验三主要介绍C语言中函数和数组的使用。
我通过编写程序,如计算一个数列的和、找出一个数组中的最大值和最小值等,加深了对函数和数组的理解和应用。
同时,我也学会了如何使用函数和数组提高程序的模块化和代码的重用性。
四、实验结果与分析通过完成以上三个实验,我对C语言的基本语法和程序设计方法有了更深入的了解。
我能够独立设计和实现简单的C程序,并能够解决一些实际问题。
在实验中,我遇到了一些困难和挑战,如程序逻辑的设计、语法错误的排查等,但通过不断的实践和调试,我逐渐克服了这些问题。
实验结果的分析表明,我在C语言的学习和实践中取得了一定的进步。
我能够熟练运用C语言的各种语法和编程技巧,具备了一定的程序设计能力。
C语言实验报告C语言实验报告9篇随着个人素质的提升,报告的适用范围越来越广泛,我们在写报告的时候要注意语言要准确、简洁。
写起报告来就毫无头绪?以下是小编为大家整理的C语言实验报告,仅供参考,欢迎大家阅读。
C语言实验报告1一、实习目的1.掌握在集成环境中编辑、编译、连接和运行C程序的方法。
(1)运行TC(2)启动TC集成环境,输入一个源程序,编译并运行。
2.掌握单步执行、设置/去除断点,观察变量或表达式的值。
(3)在该程序中按CTRL+F7单步招待并在观察窗口中查看变量和表达式的值。
(4)设置/去除断点,继续调试。
1、熟练掌握if.switch分支语句的使用。
2、熟练掌握for.while.do.while循环语句的使用。
3、熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。
4、熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。
熟练掌握结构体和指针的综合应用链表的操作二、实习地点北京交通干部管理学院计算机系机房十三号.三、实习成果熟练掌握TC集成环境的使用方法。
认真编写实习报告和实习总结,描述实习操作和心得体会,总结在这次实习中的业务收获,作出自我评价。
熟练掌握并应用TC程序设计的各个知识点。
掌握结构体和指针的联合使用,学会链表的构造和常用操作方法,认真编写实习日志和实习体会。
并通过各种途径查找所需资料,拓宽视野,培养自学能力。
四、实习心得在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。
我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。
老师安排我们有具有的分工:首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。
老师把我们分为几组,每一组十一个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。
c语言课程设计实训报告一、教学目标本课程旨在通过C语言的实训,使学生掌握C语言的基本语法、数据结构、算法以及编程技巧,培养学生独立编程和解决问题的能力。
具体的教学目标如下:1.理解C语言的基本语法和编程规范。
2.掌握基本数据类型、运算符和表达式。
3.熟悉控制结构、函数、数组和指针的概念及应用。
4.理解面向对象编程的基本概念。
5.能够使用C语言编写简单的程序,解决实际问题。
6.掌握程序调试和运行的基本方法。
7.学会查阅相关资料,具备一定的自主学习能力。
情感态度价值观目标:1.培养学生的团队合作精神和良好的编程习惯。
2.激发学生对计算机科学和程序设计的兴趣。
3.培养学生的创新思维和问题解决能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程技巧。
具体的教学大纲如下:1.C语言概述:介绍C语言的发展历程、特点和基本语法。
2.基本数据类型和运算符:整型、浮点型、字符型数据及其运算符。
3.控制结构:顺序结构、选择结构和循环结构。
4.函数:函数的定义、声明和调用,递归函数。
5.数组和指针:一维、二维数组,指针的概念和应用。
6.面向对象编程:类、对象、封装、继承和多态。
7.编程技巧:代码规范、调试方法、算法分析和优化。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:通过讲解C语言的基本概念和语法,使学生掌握知识要点。
2.讨论法:学生进行小组讨论,培养学生的团队合作精神和问题解决能力。
3.案例分析法:分析实际案例,让学生了解C语言在实际应用中的重要作用。
4.实验法:让学生动手编写程序,培养学生的实际编程能力和创新思维。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《C程序设计语言》(K&R著)或《C Primer Plus》(Stephen Prata著)。
2.参考书:《C语言程序设计》(谭浩强著)、《C++ Primer》(Stanley B. Lippman著)。
c语言程序设计课程设计总结一、什么是总结总结,汉语词语,读音为zǒng jié,意思是总地归结。
二、c语言程序设计课程设计总结(通用6篇)总结是在一段时间内对学习和工作生活等表现加以总结和概括的一种书面材料,写总结有利于我们学习和工作能力的提高,为此要我们写一份总结。
但是总结有什么要求呢?以下是小编为大家整理的c语言程序设计课程设计总结(通用6篇),仅供参考,大家一起来看看吧。
c语言程序设计课程设计总结1课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。
同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!c语言程序设计课程设计总结2经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。
北京理工大学珠海学院C语言程序设计实践报告2014—2015学年第1学期学院:计算机学院专业班级:计算机科学与技术(1)班学号:学生姓名:骆庆东指导老师:代俊雅成绩:时间:2014年12月26日目录一、实践目的与内容 (1)二、任务内容分析 (3)三、程序设计 (4)四、运行分析 (7)六、实践总结 (12)一、实践目的与内容实践目的《C 语言程序设计实践02180044》是面向计算机学院各专业开设的专业基础课,主要目的在于培养学生的分析问题能力,以及如何利用计算机解决问题的能力。
通过将课本上的理论知识和应用案例进行结合,提高学生程序设计、程序调试及解决问题能力。
为后续课程:面向对象程序设计、数据结构、软件工程等专业教育课程奠定基础。
本课程分为理论和实践两部分:理论课程重点学习结构体和指针的定义和引用等,及其作为函数参数和返回的用法;实践部分通过布置具有一定难度、一定编程量的应用案例,使学生通过编程练习深入理解C 语言的程序设计思想,掌握C 语言程序设计方法和编程技术,培养学生的利用计算机求解实际问题的能力,强化学生的计算思维和计算机思维。
实践内容实践练习1:循环结构编程(猜数游戏)1. 编程先由计算机“想”一个1~100 之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10 次,如果猜了10 次仍未猜中的话,结束游戏。
2. 编程先由计算机“想”一个1~100 之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10 次,如果猜了10 次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。
每次运行程序可以反复猜多个数,直到操作者想停止时才结束。
实践练习2:数组与结构体编程(成绩统计)1.学生成绩统计(一维数组)从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:(1)统计不及格人数并打印不及格学生名单;(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;(3)以直方图方式统计各分数段的学生人数及所占的百分比。
形式如下:分段人数图形<60 3(10%) ***60‐69 8(…) ********70‐79 7(…) *******80‐89 8(…) ********>=90 4(…) ****2. 成绩排名次(结构体数组)某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30 人参加考试,学号可以用输入的序号代替。
考试后要求:(1)计算每个学生的总分和平均分;(2)按总分成绩由高到低排出成绩的名次;(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
实践练习3:函数编程(函数调用与参数传递)将实践练习2 中的第2题利用函数的思想进行修改,并将学生的成绩等信息输出到文件中。
要求函数参数中包含结构体数组或指针。
输出到ASCII 文件的信息包括每个学生的学号、三门成绩和名次,每人一行。
实践练习4:数组/结构体/函数/文件编程(成绩统计与分析)学生信息统计和查询每位学生信息包括:学号、姓名、性别、学院、10 门成绩。
共有不超过100 位同学的信息存放在ASCII 文件中;不超过10 个学院的信息存放在中,性别代码存放在中,均为代码和其对应的名称。
要求:1. 定义至少包含以上学生信息和学院代码的结构体类型和指针(或数组)变量。
2. 函数实现从文件中输入信息到定义的数据中。
3. 函数实现排序(1):学生平均成绩的降序排序,并输出所有信息到显示屏。
4. 函数实现排序(2):学生姓名的升序排序,并输出所有信息到显示器。
5. 函数实现查询(1):根据学号查询学生信息,并输出该生信息,并输出所有信息到显示器。
6. 函数实现查询(2):根据姓名查询学生信息,并输出该姓名的学生信息,并输出所有信息到显示器。
7. 函数实现查询(3):根据学院代号列出该学院的所有学生信息,并输出到显示器。
8. 函数实现统计:根据学生平均成绩统计各分数段的人数级所占的百分比,并以直方图方式输出,形式如下:分段人数图形<60 3(10%)***60‐69 8(…) ********70‐79 7(…) *******80‐89 8(…) ********>=90 4(…) ****进入程序后,无条件执行从指定文件名中读入数据;数据读入后,以菜单的形式选择后续的执行:1. 平均成绩降序排序2. 姓名升序排序3. 学号查询4. 姓名查询5. 学院学生列表6. 平均成绩统计7. 退出其中的查询模块中,须为循环结构,用户可以选择继续查询,当输入的为0时,结束当前查询,返回主菜单。
提高模块**:1. 函数执行需有密码(密码在文件中不得以明文出现);2. 密码修改模块二、任务内容分析实践练习1先编写第1 个程序,然后试着在第1 个程序的基础上编写第2 个程序,……程序1 编程先由计算机“想”一个1~100 之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并告诉人所猜的数是大还是小,然后结束游戏。
要求每次运行程序时机器所“想”的数不能都一样。
程序2 编程先由计算机“想”一个1~100 之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。
程序3 编程先由计算机“想”一个1~100 之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10 次,如果猜了10 次仍未猜中的话,结束游戏。
程序4 编程先由计算机“想”一个1~100 之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10 次,如果猜了10 次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。
每次运行程序可以反复猜多个数,直到操作者想停止时才结束。
实践练习2(1)使用一维数组来存放学号,再用一维数组来记录输入成绩的学生变量,计算总分、平均分,调用函数比较学生成绩,得出排名,再根据数组定义对应存放各变量的位置,最后得到名次表和直方图。
(2)使用结构体数组来实现,该结构体中包括学生学号和成绩,用二维数组存放每个学生各门课程的成绩,用一维数组存放每个学生的学号,用一维数组存放每个学生的总分,用一维数组存放每个学生的平均分。
实践练习3用函数编程实现计算每个学生的总分。
用函数编程实现按总分由高到低对学生成绩排序。
实践练习4题目要求完成一个学生信息统计和查询系统,要求能进行对学生的信息统计和查询,同时可以对学生的信息进行排序。
系统的使用,有用户的存在,即需要用户登录才能使用。
本课程实验环境由任课教师自行决定:VC++、Visual Studio 2010 或以上版本(建议采用Visual Studio 2012)。
编程语言为C。
系统有以下几个功能性要求:1.学生的信息查询:输入学号/用户名,查询对应学生的信息。
2.学生的信息排序:对学生的信息按指定的要求进行排序。
3.学生的信息统计:对学生的成绩按平均分进行统计。
4.用户验证:用户使用该系统,首先进行验证,验证成功,才能登入系统。
三、程序设计实践练习1主要代码实现:while(1){srand(time(NULL));k=rand()%100+1;for(Num=1;Num<11;Num++){printf("请输入一个1~100之间的数:");scanf("%d",&i);if(k==i){printf("Right!\n");printf("Num=%d\n",Num);break;}else{printf("Wrong!\n");if(k>i) printf("Too small\n");else printf("Too large\n");}}if(k==i) break;printf("是否继续游戏? \n");scanf("%d",&x);if(x==2)break;}实践练习2主要代码实现:for(i=0;i<N-1;i++){for(j=i+1;j<N;j++){if(stu[i].sum<stu[j].sum){t=stu[i];stu[i]=stu[j];stu[j]=t;}}}printf("按总成绩高低排序\n");printf("名次\t学号\t姓名\t数学\t英语\t物理\t总成绩\t平均分\n");for(i=0;i<N;i++)printf("%d\t%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",i+1,stu[i].number ,stu[i].name,stu[i].MT,stu[i].EN,stu[i].PH,stu[i].sum,stu[i].ave);printf("请输入要查询学生的学号:");scanf("%d",&k);for(i=0;i<N;i++){if(stu[i].number==k){printf("名次\t学号\t姓名\t数学\t英语\t物理\t总成绩\t平均分\n");printf("%d\t%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",i+1,stu[i].nu mber,stu[i].name,stu[i].MT,stu[i].EN,stu[i].PH,stu[i].sum,stu[i].ave) ;break;}if(i==N-1){printf("输入错误!\n");printf("请重新输入要查询学生的学号:");scanf("%d",&k);i=0;}}实践练习3主要代码实现:struct student stu[30];do {printf("请输入学生的总人数(不超过30人):");scanf("%d",&N);}while(N>30);for(i=0;i<N;i++){printf("请输入第%d个学生的学号:",i+1);scanf("%d",&stu[i].number);printf("请输入学生的姓名:");scanf("%s",stu[i].name);printf("请输入数学的成绩:");scanf("%f",&stu[i].MT);printf("请输入英语的成绩:");scanf("%f",&stu[i].EN);printf("请输入物理的成绩:");scanf("%f",&stu[i].PH);stu[i].sum=stu[i].MT+stu[i].EN+stu[i].PH;stu[i].ave=stu[i].sum/3;}Sort(stu,N);Query(stu,N);save(stu,N);实践练习4程序一共有两个界面,分别是用户登录界面、学生信息操作界面。