C语言程序设计课程是高等院校计算机专业基础课程之一,其教学效果直接影响学生在计算机方面的应用。
第一章 基础掌握
1.1 实验目的
掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。(]
1.2 实验要求
在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容
编写程序,在屏幕上显示一个短句“Hello World”
(1) 程序:
1) 编译如下程序:
#include
Void 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)编译如下程序:includevoidmain() {
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)编译如下程序:includevoidmain() {
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)链接。执行Build-命令。
3)运行。执行Build Execute 命令。显示结果。
4)关闭程序工作区。
实验结果:
97.61,141,ak=xd
实验结果:
扩展:c语言程序实验报告/ c语言实验报告 / c语言程序设计报告
1234.120089,1234.120001
总结:
学会C语言的运算符和表达式的正确使用
第三章 选择结构程序设计
3.1 实验目的
学会改正程序中的错误
3.2 实验要求
(1) 在报告中记录建立、保存C程序实习过程。(]
(2) 完成典型题目,分析遇到的困难和实验中的收获。
3.3 实验基本内容
输入实验程序,程序有错,改正程序中的错误
1)输入如下程序:
#include
#include
void main()
{
double a,b,c,d;
printf("输入一元二次方程a=,b=,c=");
scanf("a=%l f,b=%l f",&a,&b,&c); if(a==0) { if(b=0) } { } else Print f("x=%0.2f",-c/b); if(c==0) Print f("0==0参数对方程无意义!”); else Print f("c!=0方程不成立"); else if(d>=0) { printf("x1=%0.2f",(-b+sq rt(d))/(2*a)); printf("x1=%0.2f",(-b-sq rt(d))/(2*a)); } else {
printf("x1=%0.2f+%0.2fi",-b/(2*a),s q rt(-d)/(2*a)); printf("x1=%0.2f-%0.2fi",-b/(2*a),s q rt(-d)/(2*a));
}
}
2)链接。()执行Build-命令。
3)运行。执行Build Execute 命令。显示结果。
4)关闭程序工作区。
实验结果:
运行不了程序 ,做以下修改:
#include
#include
void main()
{
//
//
double a,b,c,d; printf("输入一元二次方程a=,b=,c="); scanf("a=%l f,b=%l f",&a,&b,&c); c=5; if(a==0) //{ /*if(b=0) { } else printf("x=%0.2f",-c/b); if(c==0) printf("0==0参数对方程无意义!”); else printf("c!=0方程不成立"); }*/ else if(d>=0) { } else { } printf("x1=%0.2f",(-b+sq rt(d))/(2*a)); printf("x1=%0.2f",(-b-sq rt(d))/(2*a)); printf("x1=%0.2f+%0.2fi",-b/(2*a),sq rt(-d)/(2*a)); printf("x1=%0.2f-%0.2fi",-b/(2*a),sq rt(-d)/(2*a));
}
这样就可以输出程序了。
总结: 学会使用逻辑运算符和逻辑表达式,掌握简单的查错方法,并改错。
第四章 循环程序设计
4.1 实验目的
熟练使用whiledo…while语句实现循环程序设计。[)
4.2 实验要求
(1) 在报告中记录建立、保存C程序实习过程。
(2) 完成典型题目,分析遇到的困难和实验中的收获。
4.3 实验基本内容
1) 编译如下程序:
#include
void main()
{
int m,n,j,k; printf("input m n"); while(scan f ("%d",&m,&n),m<0&&n<0); j=m; while(j/n!=0) j=j+m; k=(m*n)/j; printf("最小公倍数是%d最大公约数是%d",j,k); }
2)链接。执行build-命令。
3)运行。执行build execute 命令。显示结果。
4)关闭程序工作区。
实验结果:
Input m n
5 2
然后运算出来结果:
最大公倍数是5
最大公约数是0
总结:
学使用for,while,do...while语句实现循环程序,
第五章 程序设计
5.1 实验目的
检验最近学习成果,进一步巩固C语言的学习
5.2 实验要求
1)输入任意四位数,写出个,十,百,千位上的数 2)连接任意两个字符串
5.3 实验基本内容
1)编译如下程序:includevoidmain() {
int a,b,c,d,x; scanf("%d",&x); if(999 a=x/1000; b=x/100-a*10; c=x/10-a*100-b*10; d=x-a*1000-b*100-c*10; printf("%d",x); 1)编译如下程序: #includemain() { char s1[10],s2[5]; int i,j; scanf("%s",s1); scanf("%s",s2); i=j=0; while(s1[i]!='') i++; printf("a=%d,b=%d,c=%d,d=%d",a, b,c,d); } } while((s1[i++]=s2[j++])!=''); printf("string no.1. %s",s1); } 2)链接。(]执行build-命令。 3)运行。执行build execute 命令。显示结果。 4)关闭程序工作区。 2)链接。执行build-命令。 3)运行。执行build execute 命令。显示结果。 4)关闭程序工作区。 实验结果: abcd adsg string no.1.abcdadsf 实验结果: 2678 2678 a=2,b=6,c=7,d=8 总结:通过对程序的设计提高编程能力 一、传统C语言课程设计教学模式 C语言是最基本的计算机编程,是计算机、电子信息类等相关专业学生的专业入门课,在其学习过程中,要求必须掌握编程的技能。但是C语言的学习有其特点,规则比较多、知识点多,涉及到的编程程序等也比较难懂,在运行上代码的要求较高,程序执行效率高,因此更讲究教学和学习的方式方法,但是在我们的教学中,目前教学方法比较单一,随着信息化的发展,传统的教学模式已经无法适应,亟需**。 1、传统型 这种教学模式,也是最常用的,课堂上以老师为主,学生只能被动的接受知识的传授。通过最直接“填鸭”式照本宣科,不管学生接受与否,最后的考核也是以知识点的记住与否,造成学生死记硬背,不能真正掌握知识。其基本模式为:学习——回答——纠错——总结。这种模式下,使得教师在教材以外的发挥余地极小,基本是“照本宣科”,强行灌输C语言的概念、特点、编程程序、基本的方法等,整个教学过程缺乏灵活机动、具有启发性的内容,学生被动的接受知识、被动的记忆、被检查、被考试、被批评等,日复一日的教条式训练,不能有效地激发学生的主观能动性与创造热情。 2、任务型 C语言教学区别于其他学科,在理论知识的传授之外,还需要培养学生的实际动手能力,因此,很多学校也采用“任务型”教学模式,基本模式为:根据具体要求提出任务—鼓励学生设计方案—实际操作—解决任务。在日常的教学中,学校大多会利用电脑等锻炼学生的实际动手能力,利用实际操作,锻炼编程、逻辑等能力,从而掌握C语言的基本知识。例如翻转课堂模式,教师将知识传授环节制作成教学微课,课前提供给学生预习,通过预习使课堂的实践性练习目的性更明确,教师随堂对学生遇到问题进行指导分析,从而培养学生**思考能力和实际操作能力。这种模式的采用,相对于传统模式,有其进步性,这也是C语言等专业性、操作性学科区别于其他学科的特点决定的,在这种模式下更取决于教师自身的素质、知识、能力等,是整个课程的掌控者、引导者,他们的能力直接关系着教学成果。 二、信息化背景下面临的挑战 随着科技的发展,信息化在教学领域的应用越来越普遍,信息技术的日新月异,也使得其在课堂上,已经不仅仅是局限于简单地计算机和多**运用,移动技术、智能化与虚拟技术等为我们的教学提供了新的思路和方法,如何能使我们的教学与高速发展的信息化相结合,是教育领域不断探索的课题。C语言程序设计等课程具有很强的专业性要求,主要是建立在计算机信息技术的基础上,对于信息化的反应更为灵敏,传统的课堂上,以教师为中心的“面对面”的教育模式面临着挑战和冲击,用技术**的灵活性与便利性来增强课程学习的兴趣和接受能力。随着新技术的广泛应用,会促使传统的教学模式发生变革,以教师为中心的教学模式逐渐转化为互动式教学模式,达到更好的教育效果。在C语言课程设计教学领域,进行信息化教学**的尝试,充分利用信息技术,变革教学**和模式,是信息化发展的必然要求。只有实现C语言课程的信息化教学**,使得教育信息化能够普遍运用,才能展现出信息技术在推动C语言教学中的强大威力和广阔前景。 三、教学模式**的基本对策 教学模式直接反映出一定的教学理念,也直接决定着教学成果。随着信息化的发展,教育信息化逐渐打破传统的教学模式,在这样的背景下,C语言教学模式的**任务艰巨,如何构建新型的`信息化教学模式也是我们在实践中不断摸索的问题。 1、充分利用信息化的科技** 信息化的科技**,给我们的教育领域带来变革,尤其是计算机领域的学习,其主要是建立在信息化发展的基础上,因此在教学中,更要与时俱进,与信息化的发展程度相互依存,相互辅助,C语言课程设计教学中,可以充分利用信息化的科技**,如计算机技术、云计算技术、多**技术、网络技术、虚拟现实技术、通信技术、移动学习技术、人工智能、传感器技术等,这些技术的发展,带来C语言教育领域的变革。为提高C语言教学质量,激发学生学习C语言的积极性,我们可以在课程建设过程中充分利用现代技术带来的便利与多样性,以及趣味性。如在教学课件设计上,利用多**技术,图、文、动画并茂,减少其枯燥的理论传授,增加趣味性;利用网络技术,实现在线教育,建立“C语言程序设计”网站,分组进行网站维护,运用编程能力进行更新;应用现代的通信技术,建立微信学习群,让学生分享自己的学习经验,共享学习资源。 2、案例引导式教学模式 **C语言教学模式,另一探索的模式为案例引导式教学模式,C语言的教学,是为了培养学生读程序、调试程序、写(仿照)程序的能力以及规范性编程的能力,学习最主要的目的是为了应用,对于编程的应用,只有具体的应用场景,即案例,才能更容易被接受,更易懂。案例引导式教学模式,在别的专业课教授中,常被使用,主要特点就是用案例去引导知识点的掌握,对案例进行分析,通过分析启发学生的思路,将学生带入到具体的案例中,让学生有一种“身临其境”的代入感,从而掌握具体的知识,学会在这种场景下解决问题的方法,这种模式的教学更有针对性、系统性。案例引导式教学模式在C语言课程设计教学中的运用是指针对C语言课程的每一个核心知识点,建立配套的案例,通过这些案例的学习和掌握,使得学生在例子的佐证下,更加了解C语言的应用,这种案例的设计,和我们的书本知识相结合,把理论知识融入到具体的案例中,进行综合性的阐述,如具体的计算机程序的编写,设计游戏环节,运用所学的C语言知识设计网站,并使之运行,可以在班吉内分组进行维护等,并加以各种领域成功案例或者失败经验的案例,让学生能够更进一步了解其应用范围、能力、领域等。 3、实践教学模式 C语言课程设计的学习,所需的能力不再是死记硬背,而是更注重实践和应用,因此我们在教学过程中,不能只传授书本知识,还要锻炼学生的动手能力和编程能力,实践教学模式应运而生,依靠大量的实践,将所学的知识转化为实际操作,得到进一步的应用。信息化技术为这种教学模式提供支撑服务,我们可以在课堂上设计各种实践环节,也可以在课堂后与各种软件公司、游戏公司、网络公司等合作,增加实践机会,让学生在具体的实践环节中,真正了解C语言的知识,并主动内化这些知识,变为实际操作能力。在这种教学模式**中,如何能够更好的提高实践能力需要通过各个环节的相互配合,如课程设计上,增强实验、实训环节,让学生在熟练掌握C语言语法、程序结构的基本理论的同时,通过大量的实践操作,进一步掌握C语言的知识,学会编码;同是,积极与各软件、互联网、网络公司签订实践基地,让学生可以在实际应用中,边做边学,提高学生逻辑思维、实际操作能力,真正实现教学目的,熟练掌握计算机编程能力。 1、题目要求 ◆ 建立通讯录信息,信息至少包含编号、姓名、年龄、电话、居住街道、省份、城市、电子邮箱等; ◆ 能够提供添加、删除和修改通讯录信息的功能; ◆ 能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆ 将通讯录保存在文件中; ◆ 能够按表格方式输出通讯录信息。 2、需求分析 本程序将用到文件系统,其中单行内容**一张纸条。程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。 3、总体设计 根据项目的任务要求及以上分析,在设计方法上,采用模块化的程序设计思想,即将通讯录管理系统划分为数据输入模块,数据查询模块,数据修改模块,数据插入模块,数据删除模块,,并对每个模块按照其功能分别**完成对应的程序设计。在数据处理上,各模块中的数据处理(如数据读/写操作)均用文件形式来实施,并在主程序中完成操作界面的设计功能,设计思路如下: 1、采用模块设计思想; 2、将通讯录信息定义成结构体类型,并通过文件实施数据操作; 3、通过设计一菜单界面完成具体操作。 4、详细设计c语言课程设计报告 2
c语言课程设计报告 3