c程序设计实验报告3

2024-08-17

c程序设计实验报告3(12篇)

1.c程序设计实验报告3 篇一

C语言程序设计实验报告

实验二 循环结构程序设计

班级 2012196 学号 201219628 姓名 李明月

一、实验目的

(1)掌握用while语句,do-while语句和for语句实现循环的方法;(2)掌握循环结构的嵌套;

(3)掌握break语句和continue语句的使用方法。

二、实验内容及步骤

1.相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。国王能兑现他的许诺吗?

程序1:试编程计算舍罕王共要多少粒麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒)总粒数为:sum=1+2+22+23+„+263 程序代码:

#include int main()//定义一个主函数 { int i;double t=1,sum=1,v;//定义变量

for(i=1;i<=63;i++)//用for循环语句实现循环运算 { t=t*2;sum+=t;//循环表达式 } printf(“总麦粒数为:%fn”,sum);v=sum/1.42e8;printf(“折合体积为: %f立方米n”,v);//对结果进行输出

return 0;} 运行结果:

2.求完数。

程序2:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数,输出所有的完数(要求:一行显示6个数);

程序代码:

#include int main(){ int i,j,sum,n=0;printf(“ 1000以内的完数有:n”);for(i=1;i<=1000;i++){

sum=0;for(j=1;j

if(i%j==0)

{

sum=sum+j;

} } if(sum==i)

{ printf(“ %d”,i);

n=n+1;

if(n%2==0)

printf(“n”);

} } printf(“n”);return 0;} 运行结果:

3.打印九九乘法表

程序3:编程输出如下上三角形式的九九乘法表。2 3 4 5 6 7 8 9-------n“);for(i=1;i<10;i++)//i { for(j=1;j<=i;j++)// printf(” “);for(j=i;j<10;j++)//j printf(”%-2d “,i*j);// printf(”n“);}

代表行 输出空格达到来使得向右对齐代表列

输出行与列的乘积 3 1 2 3 4 5 6 7 8 9

运行结果:

三、问题讨论

break语句和continue语句在循环结构中使用时有何区别?举例说明。

break语句是跳出整个循环过程,不再判断执行循环的田间是否成立,并且break语句不能用于循环语句和switch语句之外的任何其他语句中。而continue语句则只是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

例子:

#include int main(){ int i;for(i=100;i<=200;i++){ if(i%3==0)continue;

printf(”%d“,i);} printf(”n");return 0;} 输出:

但是换成break之后:

四、实验心得

个人感觉对于这几个循环语句还是for循环最为灵活,不进可以用于循环次数一句in个确定的情况,还可用于不确定的情况下,它也完全可以代替while语句。并且是程序看起来更为简洁明了。

2.c程序设计实验报告3 篇二

C语言程序设计作为一门重要的程序设计语言入门语言, 在课程体系中的地位不言而喻。盐城师范学院将C语言程序设计作为计算机专业本科生程序设计课程的基础核心课程, 已有多年历史。该课程对培养学生计算思维、编程能力、自学能力和分析解决计算机问题的能力有着至关重要的作用, 并对后续课程, 譬如算法与数据结构、数据库原理、操作系统等核心课程的学习有非常大的支撑作用。但是, C语言中概念多、难点多、语法复杂、设计到的硬件知识多、使用灵活、不易调试等特点, 容易导致学生出现畏难情绪, 极大地遏制了学生的学习兴趣。本文针对以上问题就该课程对应的实验课程做几点思考, 从课程内容、教学方法、教学手段等几个方面进行大胆改革, 积极投身教学实践, 结果显示我们的改革能取得较好的效果。

2 传统教学模式存在的问题 (Defects of traditionalteaching model)

C语言程序设计实验课程是计算机专业进入大学后要学习的第一门程序设计实践课程, 它对提高学生编程兴趣和动手能力有着至关重要的作用。或者说, 该课程是热爱编程和害怕编程的两种学生的分水岭。传统教学模式在实际教学过程会存在以下问题[1]。

(1) 生源的计算机基础参差不齐, 有些学生进入大学前就已经通过计算一级考试, 有些学生还没有接触过计算机。进入大学后同一平台学习程序设计, 后者明显感觉到有压力, 自信心受打击从而出现厌学的情绪。

(2) 传统教学模式的过程以教师为主体, 学生被动的学, 对于实践性很强的课程, 学生逐渐丧失兴趣, 缺乏学习的动力。C语言程序设计实验课程上, 如果只是简单的做些验证性实验, 则不能培养学生独立编程解决问题的能力, 极大地扼杀了学生的创造力。

(3) 由于被动的学习, 造成只是照本宣科, 缺乏钻研精神, 导致学生在后续专业课程或参加设计性、综合性实验课程时, 往往力不从心, 达不到预期的教学效果。

(4) 教师对课程教学目标不明确, 认为将该课程的语法知识传授给学生就达到教学目的, 这样就背离了通过学习C语言应该培养学生能够用编程语言去分析和解决实际问题的能力的宗旨。

3 改革方案 (Project of innovation)

C语言程序设计是一门实践应用性较强的学科, 在日常的教学过程中需要不断强化实验环节, 让学生在操作实践过程中不断地发现、分析和解决新问题。为了实现上述目标, 教师在教学过程中必须要结合有效教学理论的要求, 努力改进教学方法。

3.1 精心设计好教学内容

案例教学教学法的理论依据是构建主义学习理论[2]。构建主义者认为, 教学设计要发挥学习者在学习过程中的主动性和构建, 教师的职责在于使学习者置身于探索知识之中, 为他们提供适当的“情境”[3]。在设计案例时, 要兼顾不同基础的学生, 不能让实验课变成少数人的实验课。因此, 我们将教学内容按层次组织。第一个层次为基本知识, 所有的学生都必须能够通过自身的努力顺利完成, 这样可以极大提高学生的学习积极性。第二个层次为对所学知识简单的应用, 这个层次对基本概念和方法加深理解, 需要学生通过自己的钻研、参考课外资料, 发挥自己的学习能力。通过这一层的学习, 所有的学生应该能够学会主动积极地查阅文献, 切实提高自己的钻研和自学能力, 同时也能鼓舞学生的斗志。第三个层次是用所学知识去解决实际问题, 真正做到培养学生的创造力。这个层次需要通过大量的思考和联系才能达到, 同时也能选拔出具有一定天分的学生。

3.2 激发学生的学习兴趣

兴趣是最好的老师, 同时兴趣也是学好程序设计的关键, 而培养学生对C语言程序设计课程的兴趣关键在于实验课。激发学生的学习兴趣的关键莫过于让学生有解决实验中碰到问题的能力, 不会因为C语言本身的问题丧失学习的信心。比如, 让学生掌握调试手段。首先我们使用一个有趣的现象引出为何要使用调试工具, 以及调试工具使用方法。例如, 我们给出如下所示代码, 请学生写出运行结果。绝大部分学生会给出从246到255的十个数。运行的结果告诉他们结果应该是一个死循环, 这样会激发学生的想知道原因的兴趣。

#include

int main ()

{

unsigned char a;

for (a=246;a<256;a++)

printf (“%dt”, a) ;return 0;

}

我们用VC++ 6.0的调试工具, 在循环体语句前设置一个断点, 执行debug, 并执行单步调试, 发现当a为255后for循环并没有能停止, a的值变成了0, 如图1和图2所示。这时学生会回忆起unsigned char类型的变量取值范围为0—255。当变量a值为255时再加1就回头变成了0。这样学生会对调试工具的使用有一个非常深刻的印象, 同时也会明白掌握调试工具的重要性。更重要的是, 极大地激发了学生的学习兴趣。

3.3 设计考核体系

目前许多高等院校C语言程序设计课程学习成绩的评定, 仅以期末一张考试卷的完成情况而定, 这使得很多学生不重视实验课, 认为实验课学得好与不好对成绩影响不大, 很多学生重理论、轻实验[4]。我们将考核贯穿整个学习过程中, 每学完一个知识点进行一次考核。考核的方式灵活多样, 可以通过诸如答辩、课后撰写小论文、完成实验报告等方式。考核过程中发现的问题决定教师教的过程, 可以通过集中讲授、设计思考题、提供参考资料等方式解决学习过程发现的问题。

4 结论 (Conclusion)

多年来, 我校在C语言程序设计实验课上进行了改革的尝试, 许多老师积极参与教学改革, 取得了辉煌的成果。我们一直在努力寻找提高学生对C语言程序设计实验课程的兴趣、最有效的教学手段, 为计算机专业学生提高动手能力、编程思维能力做出自己的努力。

参考文献

[1]王创伟, 汤克明, 蔡长安.“C语言程序设计”教学改革方案与实践[J].现代计算机, 2010 (10) :23-25.

[2]温彭年, 贾国英.建构主义理论与教学改革:建构主义学习理论综述[J].教育理论与实践, 2002, 23 (5) :17-22.

[3]储岳中, 秦锋, 刘哄申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育, 2012 (12) :22-25.

3.C语言实验课教学设计 篇三

关键词:C语言实验教学;教学改革;教学设计;教学流程

中图分类号:G642.0 文献标识码:A

一、引言

C程序编写能力是要靠大量的练习学会的,只有让学生多多动手,他们才会对程序设计语言感兴趣。因此在C语言课程教学中应该重视实验课。但是,目前C语言实验课的教学存在着以下弊端:第一,在教学理念上重视理论教学,轻视实验课的练习。第二,在实验课教学过程中教师往往放任学生自由上机,学生只能被动地编写教师提供的程序清单对编程知识缺少深入思考。第三,在实验课的教学过程中,学生之间缺少交流。而在实际的程序开发行业中所有开发人员是需要相互合作的。基于以上因素需要对C语言实验课的教学过程进行改进。

二、C语言实验课教学目标的确定

教学目标就是教学的一个标准,教学目标规定了教学要达到的程度,它是教师教学和学生学习的依据,教学目标的制定可以克服教学的盲目性,在教学过程中占有重要的地位。因此,C语言实验课教学首先要确定教学目标。

C语言实验课教学目标的制订要从认知领域、动作技能领域和情感领域这三个方面来确定。例如对于C语言课程中的“控制结构”这部分的实验内容其实验目标确定如下:在认知领域方面,学生要理解基本的解决问题的技巧,理解计数控制循环和标记控制循环;在动作技能领域方面,学生能够熟练掌握自顶向下逐步求精算法设计,能够熟练应用if语句,if/else语句和switch语句来实现选择结构,能够应用while语句,do/while语句和for语句实现程序循环结构,学生可以使用++、--、赋值和逻辑运算操作符,在循环语句中能够应用break语句和continue语句来控制程序的结构;在情感領域方面,要培养学生认真学习、严谨求实、实事求是和勇于探索的科学精神和态度。

三、确定C语言实验课的操作流程

为了上好C语言实验课,并且能够完成制订好的教学目标,需要根据C语言实验课的具体题目可以将实验课教学过程分为三大部分进行:课前部分、课中部分和课后部分。其具体的操作流程如下图所示:

C语言实验课操作流程图

在上图中,课前教学部分、课中教学部分和课后教学部分都要按照实验教学目标来制定。课前教学部分是在课堂讲授课程完毕之后并且在实验课进行之前进行的,在这部分中主要是要对所讲授课程的知识点进行巩固,并对实验课涉及的知识进行预习。教师在设计实验题目时要设计好学习环境,利用良好的环境调动学生学习的积极性。在实验课学生现场自主编程中,可以发现C语言的语法错误和逻辑错误,提高学生自己分析和解决问题的能力。在这个过程中,教师要给予学生必要的指导和帮助。在协助学习实验题目过程中,教师要确定协作小组让学生共同完成学习目标并将个人习得成果转化为大家习得成果,并且教师要对不同的学习任务进行选择,要设计好实验课程的协作环境,保证实验课程的顺利实施,最后要对实验教学效果进行评价,以此来刺激教学的进行。

四、结论

在C语言实验课的教学中,要充分尊重学生学习活动的主体性地位。所以在大学C语言程序设计这门课程的实验教学中采用了以学为主的教学设计方案,这样可以促进学生独立分析问题的能力,充分调动学生学习的兴趣和主动参与意识。

参考文献:

[1]吴文虎.计算机程序设计基础课程改革[J].中国大学教学,2004(02).

[2]乌美娜.教学设计[M].北京:高等教育出版社,1994.

[3]孙可平.现代教学设计纲要[M].西安:陕西人民教育出版社,1998.

4.C程序设计上机实验报告10 篇四

实验名称:指针与数组学时安排:2课时 实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

一、实验目的1.理解指针、地址和数组间的关系;

2.掌握通过指针操作数组元素的方法;

3.掌握数组名作为参数的编程方式。

二、实验设备介绍

软件需求: Visual C++ 6.0或CFree3.5以上版本

硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。

三、实验内容

1.定义函数void sort(int a[],int n)amain函数,并在其中调用sort函数。示例如下: After sorted the array is:-9-6 1 2 4 5

2.输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。参数n代表数组list中元素的数量。

3.改正程序error08_1.cpp中的错误。该程序实现功能,有n个整数,使前面各数顺序循环移动m个位置(m

要求先读该源程序,并理解其中的算法。然后把正确的代码(按规范缩进)写入报告,并以注释的方式说明错误原因。

注释示例如下:

int i;/*循环控制变量不能定义为double类型*/

提示:这是一个双重循环问题,内循环进行循环移位,外循环确定后移的位置。

4.有n个人围成一圈,按顺序从1到n编号。从

Last No.is: 4

提示:可以把编号存在一个数组中,报到3的人赋值为0表示退出。可以另外定义两个变量,一个用来记录退出的人数,到n-1即结束,另外一个用来报数。

四、程序清单

第一题

#include

void swap(int *,int*);

void sort(int a[],int n);

void main()

{

int i,n,a[8];

printf(“Input n:”);

scanf(“%d”,&n);

printf(“Input array of %d integers: ”,n);

for(i=0;i

scanf(“%d”,&a[i]);

sort(a,n);

printf(“After sorted the array is:”);

for(i=0;i

printf(“%3d”,a[i]);

printf(“n”);

}

void sort(int a[],int n)

{

int i,j,index;

for(i=0;i

{

index=i;

for(j=i+1;j

if(a[j]

index=j;

swap(&a[i],&a[index]);

}

}

void swap(int *px,int *py)

{

int t;

t=*px;

*px=*py;

*py=t;

}

第二题

#include

int search(int list[],int n,int x);

void main()

{

int i,x,result,a[10];

printf(“Enter a[0]-a[9]:”);

for(i=0;i<10;i++)

scanf(“%d”,&a[i]);

printf(“Enter x:”);

scanf(“%d”,&x);

result=search(a,10,x);

if(result==-1)

printf(“Not found!n”);

else

printf(“The position is %dn”,result);

return 0;

}

int search(int list[],int n,int x)

{

int i,result=-1;

for(i=0;i

if(list[i]==x)

{

result=i;

break;

}

return result;

}

第三题

#include

void mov(int *, int, int);

int main()

{

int m, n, i, a[80], *p;

printf(“Input n, m:”);

scanf(“%d%d”,&n,&m);

printf(“Input array of 5 int55egers:”);

for(p=a,i=0;i

scanf(“%d”,p++);// p本身可取地址

mov(a,n,m);

printf(“After moved the array is:”);

for(i=0;i

printf(“%5d”,a[i]);

printf(“n”);

return 0;

}

void mov(int *x, int n, int m)

{

int i,j,t;

for(i=0;i

{

t=x[n-1];/*保存最后位置的元素值*/

for(j=n-1;j>0;j--)/*从倒数第二个元素开始,每个元素向后一个位置 */

x[j]=x[j-1];/* 调试时设置断点 */

x[0]=t;/*将保存的最后元素值放在最前面*/

}

}

第四题

#include

int main()

{

int i,j,n,t,count,a[10000];

printf(“Input n:”);

scanf(“%d”,&n);

for(i=0;i<=n;i++)

a[i]=i;

count=0;

i=1;

j=0;

while(count

{

if(i>n)

i=1;

if(a[i]!=0)

j++;

if(j==3)

{

t=i;

a[i]=0;

j=0;

count++;

}

i++;

}

printf(“Last No.is:%dn”,t);

return 0;

}

五、运行结果

六、实验心得

1、C中数组名即是数组中首元素(下标为0的元素)的地址。注意:这不包括形参数组名,因为形参数组名并不占据实际的内存单元。它只是指向其它数组首地址的指针。

2、数组名(比如a)代表数组首元素的地址,它是一个指针常量,在程序中不能改变它的值。例如:a++是非法的。

3、实参数实参数组名代表一个固定的地址,或者说是指针常量。但形参数组并不是一个固定的地址,而是作为指针变量,它的值是可以改变的。在函数调用开始时,它的值等于实参数组首元素的地址,在函数执行期间,它可以再被赋值。

4、指向数组的指针变量也可以带下标,如:p[i]与*(p+i)等价。*(p+i)与*(a+i)等价。

5.c程序设计实验报告3 篇五

《C语言程序设计》实验报告

年级:2009级(必修)

学号:姓名:专业:

实验题目:

输入一个班N个学生(N为符号常量,自定人数)的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩。编程计算出每个学生的总分和平均分,并按学生成绩优劣排序,最后打印一张按高分到低分名次排序的成绩单。要求:

1)排序用一个函数实现。

2)打印的成绩单表项包括:序号,学号、数学、英语、计算机、总分、平均分。

3)按实验报告电子模板格式填写实验内容。

可用多个函数或多个源文件实现

可以用数组法、指针法、结构体法编写程序。

源程序清单:

主要标识符说明:(说明变量、函数、指针、结构体等)

实验结果贴图:

实验环境:

intel Pentium 4 计算机,windowsXP操作系统,Microsoft Visual C++ 6编译环境。

教师评语:

6.实验报告C ++ 篇六

实验一

C++基础

开课实验室:数学实验室 指导老师:韩逢庆 时间:2009.3 学院:理学院

专业:信息与计算科学

班级:2007级1

姓名:

学号:

一、实验目的

1、进一步了解和熟悉 VC++6.0 开发环境,学会在 VC++6.0 环境下调试程序;

2、熟悉 C++ 中简单的标准输入输出函数的实用;

3、理解 const 修饰符的作用,并学会应用 const 修饰符;

4、理解内置(内联)函数的优缺点并学会使用内置函数;

5、理解和使用函数重载以及带默认参数的函数;

6、使用 new 和 delete 进行动态内存管理;

7、理解和使用引用。

二、实验内容

程序理解、程序设计

三、实验要求

1、使用函数重载的方法定义两个重名函数,分别求出整形数平面间两点间距离和双精度平面间两点间距离,如果没有输入第二点的坐标则默认为圆点(0,0)。

2、设计一个函数:exchange(float x, float y, float z),当调用 exchange(a,b,c)时,将 a 的内容赋值给 b,b 的内容赋值给 c,c 的内容赋值给 a,要求采用引用的方式来实现。

3、设计一个程序,测试 const 的三种用法:指向常量的指针,常指

2008-2009学年 第2学期

C++程序设计实验报告

针,指向常量的常指针。

4、编写一个函数,实现两个字符串变量的交换,要求参数用引用。

5、设计一个程序,比较内联函数和普通函数在时间开销和目标文件大小等方面的区别。

四、实验过程设计

略。

五、实验结果分析

(一)、程序理解

(二)、程序设计

六、实验体会

七、附录:(源代码)

7.c程序设计实验报告3 篇七

近年来, 随着科技的进步, 各行各业对计算机技术的应用越来越普及, 为适应社会对高层次人才的需求, 各高校也在非计算机专业的学生中加强了计算机知识的教学, 在一些理工科专业中开设了计算机公共基础课程, 并进一步提升了程序设计课程的重要性。《C语言程序设计》是一门实践性很强的课程, 从应用和实践的角度出发, 学生可以通过上机操作掌握本课程的程序设计思想, 通过上机操作锻炼自己的独立编写应用程序能力。因而它是高等学校全面素质教育中极为重要的一部分[1]。

1 实验课现状分析

通过《C语言程序设计》实验课教学环节来看, 该课程实践环节表现为学生实验课效果不好, 存在的主要问题是没有充分调动学生的积极性和主动性[2]。现在, 我校 (或一些其它高校) 实验课选用带有题解的《程序设计题解与上机指导》实验教程, 实验上机环境采用Turb C上机实验环境。在我校2006年这一年的教学实践中发现了如下问题:因为所有的实验内容都是运行结果和编写程序题, 至少有近半数的学生普遍不自己分析或编写程序, 每次实验都照着实验指导书上的答案抄, 实验课下来, 学生成了程序录入员, 而不是编程员, 没有达到预期的实验效果。学生编程能力方面, 普遍处于一个较低的水平。

2 实验内容的改革

基于上面实验课的研究与分析, 经过两年的实践, 构建出《C语言程序设计》实验环节的改革模型, 具体如下所述。

2.1 运行环境

几乎所有《C语言程序设计》教材所介绍的C语言的运行环境都是Turb C, 所以我校 (其他学校) 现在还是用这个环境。但是, 由于国家计算机等级考试二级C等的考试环境已经使用VC运行环境, 所以应该顺应形势, 将VC作为C语言的运行环境。

2.2 实验内容

程序设计课程的上机操作时必不可少的重要教学环节, 所以要精心设计上机课的教学内容。[3]实验内容不仅能够涵盖《C语言程序设计》这门课程的知识点, 而且在内容组织上, 应该依逻辑思维方式进行归类, 重点突出、难点分散、语言形象、较易理解。

另外, 由于至少有近半数的学生普遍不自己编程序, 每次实验都照着实验指导书上的答案抄, 根据需要, 重新编排了实验指导书作为校内实验指导书, 书中除了有上机内容 (不含题解) 之外, 还有作业与习题, 另外书后还附有历届高校非计算机专业计算机二级考试试题, 供学生选用。并采取循序渐进的方法。即把每一次实验内容分成4种题型:

2.2.1 程序填空题

把这一章节所学的语法点空出来, 让同学把程序段补充完整。目的是巩固所学的语法点, 让学生了解熟悉程序, 自己动脑筋把程序补充完整, 培养学生分析问题的能力。

2.2.2 程序功能描述题

这一部分将会给同学们一些完整地程序段, 学生根据自己所学的知识把该程序的功能描述出来。主要是进一步考察和增强学生分析问题的能力。

2.2.3 程序改错题

找出给定程序的错误, 这个过程可以让学生运用所学的知识, 来解决程序调试过程中出现的一些问题, 培养学生解决问题的能力。

2.2.4 编程题

根据给定的题目学生自己编制程序, 培养设计程序的能力, 即培养学生综合的能力。采取这样方法, 既增强了学生学习这门课的自信心, 又培养了学生分析, 解决问题的能力, 实践证明效果是明显的。

2.3 实验类型

在实验设置上, 设置必做实验、选做实验和综合设计实验。设计相应于教学大纲的必做实验, 可以使学生掌握本门课程的基本知识。同时, 设计一定数量的选做实验, 以供学生进一步思考以及一些学有余力的学生做进一步的研究分析。这样, 调动了各个层次的学生学习的积极性和主动性。“C语言”是一门工程应用性较强的课程, 培养学生的综合编成能力非常重要[4]。所以应该在课程最后进行至少一次综合性设计实验, 目的是把所学的知识综合应用, 培养学生运用所学知识独立分析问题和解决问题的能力。

2.4 实验报告

根据实验内容完成实验报告, 不得抄袭, 一经定期答辩考核 (见下面的答辩方式) 发现抄袭, 抄袭者和被抄袭者均不及格, 教师给出实验成绩。而且实验成绩按20%记入考试总成绩。

3 实验形式改革

3.1 分组方案

由于学生计算机能力参差不齐, 所以在教学中采用分组教学的方案, 将学生按照每5人为一组, 不做强行分配, 由学生自由组合。这样既可以模拟公司项目开发过程, 同时又可以注重培养学生的团队合作能力。所以每组设负责人1名, 其他4人为组员。

3.2 分组考核方式

定期对负责人和组员进行答辩考核, 前期可采用5人最低成绩的方式, 作为该组所有组员的成绩, 促使该组成员逐步形成团结协作风气, 强化集体荣誉感;后期则采用个人技能成绩由该组的最高分和最低成绩取平均值决定的方式。

3.3 实验进度

不控制每个组的具体进度, 而是在学生遇到问题时, 与学生共同探讨或给予指点。这样, 学生的学习从原来的“老师要我学”, 变成了“我自己要学”。在这种轻松的学习环境下, 学生的创造性得到了很大限度的发挥。

4 综合考核

当实验结束后, 安排学生上机考试, 对所有个体学生进行综合考核, 检验他们所学知识。考试可以使用国二上机模拟软件, 不仅在一定程度上检验了学生的学习情况, 而且也使学生对二级考试的环境有所了解。

总结

上述实验课教学改革是根据实际教学过程中学生存在的问题提出的, 当然, 同样的教学模型面对不同的学生, 在实施过程时, 还要求学生的配合才行, 也就是说教的方法与学的方法要有机统一。这需要继续努力探索, 使《C语言程序设计》课程的实验教学日趋完善。希望本文能对C语言基础教学有一定的借鉴作用。

摘要:《C语言程序设计》是非计算机专业公共基础课程的重要课程之一, 也是一门实践性非常强的课程。就《C语言程序设计》课程的改革建设提出一些观点和措施。

关键词:C语言,程序设计,实验

参考文献

[1]柳文清.C语言课程教学改革与实践[J].中国科技信息.2008 (2) :238-239.

[2]林立新, 蒋新华.《C语言程序设计》教学模式创新探析[J].福建电脑, 2008 (2) :205-206.

[3]廖秋香.C语言课程教学改革的几点建议[J].梧州学院学报, 2008, 18 (3) :95-96.

8.c语言实验报告 篇八

(注意:红字不用抄写,其它必须抄写。实验纸不够用写反面。)

一、实验内容

if语句、ifelse语句、ifelse if语句的练习

二、重点难点

分析题目,正确应用相应的选择语句

三、实验目的掌握if语句、ifelse语句、ifelse if语句的简单用法

四、实验要求

根据题目,编写程序并在vc6.0开发平台运行,查看运行结果是否与期望一致

五、实验题目

输入三角形的三边边长,判断并输出,说明三角形是等边、等腰、直角、一般三角形。

六、实验过程

1.画流程图

2.编写完整的程序

3.写出实验程序运行结果

七、实验总结:(模仿着写三行文字即可)

9.C语言实验报告(一) 篇九

一、实验题目:顺序结构

二、实验目的:(略)

三、实验内容

1.程序验证(略)

2.程序设计

1)编写程序,已知圆半径radius=1.25,求圆周长和面积。

源代码:运行结果:

2)编写程序完成单个字母的大小写转换。

源代码:运行结果:

3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。

10.c程序设计实验报告3 篇十

关键词:有效教学理论,C语言程序设计,实验课程,教学方法

1 引言

C程序设计实验教学传统教学模式一般分为如下三部分:布置实验内容、学生自主实验、教师剖析讲解。教师的讲解一般占课堂时间的三分之一, 学生在教师学生在教师有目的、有计划的指导下, 积极、主动的掌握学科相关知识[1]。近年来, 随着时代和教育的发展, 传统教学过程中许多教学理念已经不能完全适应时代的要求[2], 譬如以知识的灌输为教的主要过程, 学生模仿实验为主要学的过程, 扼杀了学生的主观能动性, 教师成了实验课程的主角, 学生被动接受知识, 这种模式不利于培养学生的创造力, 也不利于培养学生的学习主动性和积极性, 因此有必要对传统的教学过程进行改革[3]。本文针对切实提高学生的自主学习能力和兴趣培养的目标, 将“有效教学理论”引入到C语言实验教学过程中去, 对教学过程做了改进, 针对有效教学做了详细的设计。实践结果表明, 该方法能够达到预期目的。

2 有效教学理论基础

有效教学理论要求教师遵循教学活动的客观规律[4], 以促进学生的学习与发展为目的, 以尽可能少的时间、精力和物力取得尽可能多地教学效果, 从而实现特定的教学目标[5]。根据有效教学理论的精髓, 我们在教学过程中, 着重考虑如下几点内容。

(1) 精心设计实验项目, 用案例驱动教学。当前实验教学的改革都侧重于工程化教学, 该教学方法能极大提高学生的积极性, 变被动为主动。项目的选择要切合实际, 注重理解和有助于提高学生的主观能动性, 同时要求涵盖授课计划中的所有知识点。

(2) 设计出教者与学者均能安心的人际关系和学习环境, 营造出人性化的理解和相互信赖的班级气氛, 培养学生团队合作的精神, 团队中的同学之间彼此信任, 彼此依赖, 为团队而战, 不再是单打独斗;

(3) 在活动性的学习过程中, 学生能够积极主动地参与, 但也可能会出现消极怠工的状态。为了杜绝学生的惰性, 提高积极性, 课程中必须对学生实践提出要求, 对学生施加必要的压力, 有压力才有动力。

(4) 教学过程中要做到定期考核, 考核的方式灵活多样。这样可以及时掌握学生学习的成果和不足, 另外也能激发学生的竞争意识, 更加自主、积极地去掌握计划中的学习内容。

3 C语言实验课程中的有效教学设计

C语言程序设计是一门实践应用性较强的学科, 在日常的教学过程中需要不断强化实验环节, 让学生在操作实践过程中不断地发现、分析和解决新问题。为了实现上述目标, 教师在教学过程中必须要结合有效教学理论的要求, 努力改进教学方法。

3.1 设计实验项目

教师在课前预先设计好一个项目, 该项目应包含C语言程序设计中绝对大部分知识点。上第一节实验课时向学生展示该项目, 从而激发学生的学习兴趣。边学边做, 可以克服学生的畏难情绪, 极大提高学生的自信心。在设计项目时, 尽量做到浅显但功能强大、常见但涵盖所学内容。项目尽量不要涉及到行业背景和其他相关知识, 例如, 不要设计网络开发和数据库开发这样的包含交叉学科的项目, 而应设计学生都能理解且常见的项目, 例如学生管理系统。

3.2 团队分工

为了激发学生的学习兴趣, 实验课堂我们模拟真实的软件开发公司环境, 我们分组开发, 每个项目组中设有项目经理、技术经理、客户关系经理、质量保证经理以及测试经理等角色。在项目开发和运营中相互协作, 各司其职, 在项目开发中根据各自的特长分别承担相应角色。角色分工有助于激发学生的团队合作精神、排除困难, 目标一致, 坚定完成教师分配的任务。

3.3 适当施压

学校提供给学生的学习环境相对比较轻松, 因此很多学生学习中并无动力, 得过且过的习惯逐渐养成。我们模仿公司管理方式, 每天对自己的学习和完成学习情况做日报, 周报和月报, 让学生每天自觉检查自己的学习成果以及完成任务的情况, 从而让学生感觉到压力, 将这种压力转化为动力。

从某种意义上说, 压力是人成功的源泉。压力会让人产生责任感、上进心, 和不断前进的动力。学习中感觉不到压力的学生会安于现状, 不肯加速赛跑。学习的过程中如果没有足够的压力, 惰性会战胜理性, 消极会取代积极。当然压力不是越大越好, 应该适可而止。在给予学生压力时, 作为教师, 我们应当把握住一个“度”。要从实际出发, 运用符合心理健康原则的方法因人施教。不要过度增加学生的心理负担, 对遭受了挫折的学生要及时给予关系和爱护, 使他们身心健康, 茁壮成长。

3.4 分阶段考核一、考核的作用

学生对本课程知识的掌握可以通过考核体现出来。制定严格考核体系可以准确对学生的学业状况进行评价, 同时, 准确反映出学生在学习中的任务完成情况。为教师修改教学过程、重点讲解提供参考依据。课程考核作为对学生的综合素质和水平的评判标准, 可以督促学生树立正确的学习目标, 培养良好的思维能力, 增强对课堂知识的掌握能力, 促进综合素质的提高。通过对学生的考核, 可以有效反映出上一阶段的学习情况和教训, 分析得出的数据可以帮助教师更加准确的确定教学目标, 总结经验教训, 改进教学方案, 进而帮助学生树立正确的学习目标, 积极发挥主观能动性, 提高学习效果。

二、考核的方式

考核贯穿整个学习过程中, 每完成一个项目的模块进行一次考核。考核的方式灵活多样, 可以通过诸如项目展示答辩、课后撰写小论文、完成实验报告等方式。考核过程中发现的问题决定教师教的过程, 可以通过集中讲授、设计思考题、提供参考资料等方式解决学习过程发现的问题。

4 结束语

立足于有效教学理论, 本文从设计实验项目、团队分工、适当施压、分阶段考核四个方面对C语言程序设计实验课程进行改革。实践证明上述改革措施对加深课程理解、培养学生兴趣和提高教学质量有着显著的效果。

参考文献

[1]王希杰, 王瑞庆.C语言教学改革的几点建议[J].中国科技信息, 2006 (24) :213-214.

[2]宋楚平, 李少芹.C语言教学改革的思考[J].职业教育研究, 2005 (2) :84-85.

[3]李丽萍, 王冬梅C语言教学改革的探索与实践[J].辽宁工业大学学报, 2009 (58) :114-115.

[4]余文森.论有效教学的三大理论基础[J].课程教材教法.2012 (32) :15-21.

11.C语言实验报告(四) 篇十一

(四)一、实验目的

1.掌握C语言中函数和模块

2.掌握怎样定义函数,如何调用或使用函数,如何声明函数 3.掌握函数的参数,了解在函数调用时,参数是如何传递的 4.在使用函数的过程中怎样确定函数的参数 5.如何使用局部变量和全局变量

二、实验内容

1.偶数判断

描述: 编写一个用户自定义函数,该函数有一个整型参数,函数的功能是:当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时,返回值为1。编写一个程序,从键盘输入m个整数,分别调用用户自定义函数来判断这m个整数的奇偶性。

输入: 第一行为一个整数m,表示要判断m个整数的奇偶性;紧接着是m行,每行一个整数。

输出:有m行,分别对应输入的第2到第m+1行的整数的奇偶性 样例输入: 2 1 6 样例输出: 奇数

偶数 ·程序代码:

#include“stdio.h” int isEven(int a){ if(a%2==0)

return 1;else

return 0;} int main(){ int m,i,b;scanf(“%d”,&m);

for(i=1;i<=m;i++)

{

scanf(“%d”,&b);

if(isEven(b)==1)

printf(“偶数n”);

else printf(“奇数n”);

}

return 0;}

2.温度转换

描述: 编写一个用户自定义函数,函数的功能是:将华氏温度转F换为摄氏温度C。转换公式为:C=5*(F-32)/9。编写一个程序,输出指定范围的华氏温度与摄氏温度的对照表,其中华氏温度步长为4。

输入: 两个空格隔开的整数n,m(且0

#include “stdio.h” float conver(int f){ return 5*(f-32)/9.0;} int main(){ int n,m,i;scanf(“%d%d”,&n,&m);for(i=n;i<=m;i+=4)

printf(“%d%10.2fn”,i,conver(i));return 0;}

3.最大值函数

描述:编写一个用户自定义函数,该函数有三个整数参数,函数的功能是:求解这三个整数的最大值,函数的返回值为三个参数的最大值。编写一个程序,从键盘输入任意5个整数,分别两次调用用户自定义函数来求出这5个整数中的最大值。

输入:第一行为N,表示有N组数据,接下来是N行,每行是5个用空格隔开的整数(在VC++6.0 int范围)。输出:有N行,每行是对应输入的5个整数的最大值。样例输入: 3 1 2 3 4 5 5 4 3 2 1 1 2 5 3 4 样例输出: 5 5 5 ·程序代码:

#include “stdio.h” int max(int a, int b, int c){ int t;t=a;if(b>t)

t=b;if(c>t)

t=c;return t;} int main(){ int n,a,b,c,d,e,i;scanf(“%d”,&n);for(i=1;i<=n;i++){

scanf(“%d%d%d%d%d”,&a,&b,&c,&d,&e);

printf(“%dn”,max(a,b,max(c,d,e)));} return 0;}

4.三位数数字排序

描述: 对于给定的若干个三位正整数,将它们的各位上的数字按由小到大的顺序输出。要求,写一个函数,能将其整型参数的各位数字按照由小到大进行输出。主函数完成对输入的若干个三位数,分别调用该函数,完成指定的输出。输入: 若干行,每行有一个三位正整数,输入为0结束。输出: 有若干行,依次对应于非0的整数,将相应三位正整数的数字由小到大输出,数字间没有空格。

样例输入: 123 987 670 0 样例输出: 123 789 067 ·程序代码:

#include “stdio.h” int main(void){ int n,a[4],xx,sum;scanf(“%d”,&n);while(n!=0){

int i,j;

for(i=1;i<=3;i++)

{

a[i]=n%10;

n/=10;

}

for(i=1;i<=3;i++)

{

for(j=i;j<=3;j++)

{

if(a[i]>a[j])

{

xx=a[j];

a[j]=a[i];

a[i]=xx;

}

}

}

for(i=1;i<=3;i++)

} {

printf(“%d”,a[i]);}

printf(“n”);

scanf(“%d”,&n);} return 0;5.排列数计算

描述: 表示从m个元素中抽出n个元素的排列的个数。

计算公式为:编写一个用户自定义函数,该函数有一个整数参数,函数的功能是求解这个整数的阶乘,函数的返回值为这个整数的阶乘。编写一个程序,从键盘输入m、n值,分别两次调用用户自定义函数来求解

: 多行测试数据,每行两个用空格隔开的整数,0 0 表示结束。

输出: 有多行,对应于非0 0行的排列值。

样例输入: 5 3 8 2 0 0 样例输出: 60 56 ·程序代码:

#include “stdio.h” int main(void){ double n,m,t;double x1,x2,i,k,kk;scanf(“%lf%lf”,&m,&n);while(n!=0&&m!=0){

x1=1;

/*if(m

{

t=m;

m=n;

n=t;

}

*/

for(i=1;i<=m;i++)

{

x1*=i;

}

k=m-n;

x2=1;

for(i=1;i<=k;i++)

{

x2*=i;

}

kk=x1/x2;

printf(“%.0lfn”,kk);

scanf(“%lf%lf”,&m,&n);} return 0;}

6.素数对

描述: 哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数.做好了这件实事,就能说明这个猜想是成立的.由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的,而且素数对中的第一个数不大于第二个数.输入:输入中是一些偶整数M(6

#include “stdio.h” int prime(int n){ int i;for(i=2;i

if(n%i==0)

return 0;

return 1;} int main(){ int m,i;while(scanf(“%d”,&m)==1)for(i=m/2;i>=2;i--)

if(prime(i)&&prime(m-i)&&i!=m-i)

{

printf(“%d %dn”,i,m-i);

break;

}

return 0;}

7.函数表达式计算

描述:计算下列表达式的值:

输入:输入x和n的值,其中x为非负实数,n为正整数。输出:输出f(x,n),保留2位小数。样例输入: 3 2 样例输出: 2.00 ·程序代码:

#include “math.h” #include “stdio.h” /* f(x,1)=sqrt(1+x);f(x,2)=sqrt(2+sqrt(1+x))=sqrt(2+f(x,1));f(3,x)=sqrt(3+sqrt(2+qrt(1+x)))=sqrt(3+f(x,2));......f(x,n)=sqrt(n+f(x,n-1));*/ double f(double x,int n){ if(n>1)

return sqrt(n+f(x,n-1));else

return sqrt(1+x);} int main(){ int n;double x;scanf(“%lf%d”,&x,&n);printf(“%.2fn”,f(x,n));return 0;}

8.递归公约数

描述:递归形式的公约数定义如下:

使用此定义求两个整数的最大公约数。

输入: 有多行,每行为两个用空格隔开的整数。

输出: 对应的有多行,每行为对应输入的两个整数的最大公约数。

样例输入: 12 6 9 5 11 3 样例输出: 6 1 1 ·程序代码:

# include “stdio.h” int gcd(int m, int n){ if(m%n==0)

return n;else

gcd(n,m%n);} int main(void){ int a,b;while(scanf(“%d%d”,&a,&b)==2){

12.c程序设计实验报告3 篇十二

共27分)1.(3分)用一张边长是20厘米的正方形纸,围成一个圆柱形纸筒,这个圆柱的侧面积是_______平方厘米。

2.(2分)求下面各比的比值.(1)11∶9=_______(2)2.4∶0.8=_______(3)8∶14=_______ 3.(2分)一个圆柱和一个圆锥等底等高,它们的体积和是48cm3,圆柱的体积是_______cm3。

4.(1分)某市在2018年4月1日最高气温为零上11℃,记作_______℃,最低气温为零下2℃,记作_______℃,这天的温差是_______℃。

5.(2分)圆柱体的高扩大4倍,体积就扩大4倍。()6.(2分)等底等体积的圆柱和圆锥,如果圆锥的高是9厘米,那么圆柱的高是_______厘米. 7.(1分)果园今年种果树200棵,活了192棵,成活率是_______%。未成活率是_______%。

8.(2分)把一段圆柱形钢材削成一个最大的圆锥,削掉的部分重12千克,这段圆柱形钢材重_______千克,削成的圆锥重_______千克。

9.(4分)某市2005年只有5天扬沙天气,2006年仅4月份的扬沙天气,就比上年全年多60%.2006年4月份有      天是扬沙天气? 10.(2分)20÷_______=_______(填小数)= _______= _______=50%= _______ 11.(6分)_______÷20= =30:_______=_______折=_______%. 二、选一选.(共5题;

共5分)12.(1分)一个高30厘米的圆锥形容器,盛满水倒入和它等底等高的圆柱形容器内,容器口到水面距离是()。

A.10厘米    B.15厘米    C.20厘米    D.30厘米    13.(1分)一个底面直径是8cm,高是6cm的容器,小明将这个容器装满水,再把一个底面积是3.14cm2、高3cm的圆锥体铁块浸入容器的水中.会溢出()cm3的水. A.301.44    B.9.42    C.3.14    D.6.28    14.(1分)2018年,小军的爸爸每月工资6000元,按规定收入超过5000元的部分按3%的税率缴纳个人所得税,小军的爸爸每月应缴纳个人所得税的算式为()。

A.6000×3%    B.5000×3%    C.(6000-5000)×3%    15.(1分)等底等高的圆柱和圆锥体积之和是24立方厘米,圆锥的体积是()立方厘米。

A.6    B.8    C.12    D.18    16.(1分)商店有30箱苹果,已卖出了18箱,还有百分之几没有卖出?列式()。

A.30 ÷ 18    B.(30 – 18)÷ 30    C.(30-18)÷ 18    三、判断(共5题;

共5分)17.(1分)圆柱和圆锥都有1条高.()18.(1分)一种商品降价30%就是打7折出售。()19.(1分)圆柱的体积比圆锥的体积多2倍。()20.(1分)甲数比乙数多20%,乙数比甲数少20%.()21.(1分)5个十和6个一是56,再添一个十是57。

四、计算(共33分)(共3题;

共33分)22.(9分)计算下面各题,能简算的要简算。

(1)(2)(3)23.(9分)解下列方程.(1)x-5%x=17.5(2)x:

=4:

24.(15分)计算下列各题,能简算的要简算。

①391-98-102 ②50×-×41 ③611-124×3 ④0.403÷(0.12+0.19)⑤ ⑥ ⑦[(6.64-5.14)×0.12]÷6 ⑧ 五、解决问题.(共30分)(共6题;

共30分)25.(3分)只列式不计算。

(1)一套运动服打八五折后便宜了30元,这套运动服原价多少元?(2)张老师在银行存款25000元,存期三年,年利率2.75%,到期后,张老师可取回本息共多少元?(3)一片橘子园,今年收橘子6 t,比去年增产了二成,去年收橘子多少吨? 26.(4分)下表是银行定期存款利率。

存期(整存整取)年利率/% 一年 1.75 两年 2.25 三年 2.75 五年 2.75 27.(6分)王师傅这个月应领取4500元的工资,其中3000元是免税的,其余部分要按10%的税率缴税.王师傅这个月实际领了多少元的工资? 28.(5分)一个底面直径是20厘米的圆柱形容器中装有水,水中浸没着一底面直径为12厘米,高为10厘米的圆锥形铅锤,将铅锤取出后,容器中的水面下降多少厘米? 29.(6分)一块长方形铁皮利用图中阴影部分刚好能做成一个圆柱形油桶,(如图)(接头处忽略不计),这个桶的容量是多少? 30.(6分)张叔叔想买一台空调,去了下面的三个商场,发现这台空调的原价都是7200元,但是优惠方式不同。

三联商场:全场八五折。

万家福商场:满1000元返100元现金。

和美商场:降价10%。

在哪个商场买更省钱? 参考答案 一、填空.(共11题;

共27分)1-1、2-1、2-2、2-3、3-1、4-1、5-1、6-1、7-1、8-1、9-1、10-1、11-1、二、选一选.(共5题;

共5分)12-1、13-1、14-1、15-1、16-1、三、判断(共5题;

共5分)17-1、18-1、19-1、20-1、21-1、四、计算(共33分)(共3题;

共33分)22-1、22-2、22-3、23-1、23-2、24-1、五、解决问题.(共30分)(共6题;

上一篇:高中诗歌鉴赏教案下一篇:六年级下数学教学实录-打折与策略-人教新课标