南京信息工程大学2014年C语言程序设计实验内容

上传人:cl****1 文档编号:432979535 上传时间:2022-08-25 格式:DOCX 页数:12 大小:28.22KB
返回 下载 相关 举报
南京信息工程大学2014年C语言程序设计实验内容_第1页
第1页 / 共12页
南京信息工程大学2014年C语言程序设计实验内容_第2页
第2页 / 共12页
南京信息工程大学2014年C语言程序设计实验内容_第3页
第3页 / 共12页
南京信息工程大学2014年C语言程序设计实验内容_第4页
第4页 / 共12页
南京信息工程大学2014年C语言程序设计实验内容_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《南京信息工程大学2014年C语言程序设计实验内容》由会员分享,可在线阅读,更多相关《南京信息工程大学2014年C语言程序设计实验内容(12页珍藏版)》请在金锄头文库上搜索。

1、实验指导实验一 Visual C+6.0开发环境使用1 .实验目的(1) 熟悉Visual C+6.0集成开发环境。(2) 掌握C语言程序的书写格式和C语言程序的结构。(3) 掌握C语言上机步骤,了解C程序的运行方法。(4 )能够熟练地掌握C语言程序的调试方法和步骤2.实验内容输入如下程序,实现两个数的乘积。 #include (stdio.h);int main()x=10, y=2 0 p=prodct(x,t) printf(“The product is :,p) int prodct(int a ,int b ) int c c=a*b return c(1) 在编辑状态下照原样键入

2、上述程序。(2) 编译并运行上述程序,记下所给出的出错信息。(3) 再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3 .分析与讨论(1) 记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败 的原因。(2) 总结C程序的结构和书写规则。实验二数据类型、运算符和表达式1 .实验目的(1) 理解常用运行符的功能、优先级和结合性。(2) 熟练掌握算术表达式的求值规则。(3) 熟练使用赋值表达式。(4) 理解自加、自减运算符和逗号运算符(5) 掌握关系表达式和逻辑表达式的求值2 .实验内容(1) 整数相除#include int main()int a=

3、5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/b;f=c/b*a;printf(d=%d , e=%d ,f=%dn”,d,e,f);return 0;(2) 自加、自减运算#includeint main()int a=5,b=8;printf(a+=%dn”,a+);printf(a=%dn”,a);printf(+b=%dn”,+b);printf(b=%dn”,b);return 0;(3) 关系运算和逻辑运算#includeint main()int a=5,b=8,c=8;printf(%d,%d,%d,%dn”,a=b&a=c,a!=b&a!=c,a=b&a=c

4、,a=b& a=c);printf(%d,%dn”,a=c,a=b|b=c);printf(%d,%d,%d,%dn”,!(a=b),!(a=b),!(a=c),!(a=b); return 0;(1) 在编辑状态下输入上述程序。(2) 编译并运行上述程序。3 .分析与讨论(1) 整数相除有什么危险?应如何避免这种危险?(2) 分析a+和+a的区别。(3) 条件表达式和逻辑表达式的意义是什么,它们取值如何?(4) 如何比较两个浮点数相等?为什么?实验三格式化输入输出函数的使用1 .实验目的(1) 掌握格式字符使用的方法。(2) 掌握printf()进行格式化输出的方法。(3) 掌握scanf(

5、)进行格式化输入的方法。2 .实验内容(1) 输入如下程序,观察运行结果#includeint main()int x=1234;float f=123.456;double m=123.456;char ch=a;char a=Hello,world!”;int y=3,z=4;printf(%d %dn”,y,z);printf(y=%d , z=%dn”,y,z);printf(%8d,%2dn”,x,x);printf(%f,%8f,%8.1f,%.2f,%.2en”,f,f,f,f,f);printf(%lfn,m);printf(%3cn”,ch);printf(%sn%15sn%

6、10.5sn%2.5sn%.3sn”,a,a,a,a,a);return 0;(2) 输入下面程序,观察调试信息#includeint main()double x,y;char c1,c2,c3;int a1,a2,a3;scanf(%d%d%d”,a1,a2,a3);printf(%d,%d,%dn”,a1,a2,a3);scanf(%c%c%c”,&c1,&c2,&c3);printf(%c%c%cn”,c1,c2,c3);scanf(%f,%lf”,&x,&y);printf(%f,%lfn”,x,y);return 0;(1) 在VC+6.0集成开发环境中输入上述程序,观察调试结果。

7、(2) 如果有错误,请修改程序中的错误。3 .分析与讨论(1) 分析程序错误及运行结果错误的原因。(2) 总结printf()中可使用的各种格式字符。(3) 总结转移字符的使用和功能。实验四分支结构程序设计1 .实验目的(1) 了解条件与程序流程的关系(2) 了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。(3) 掌握if语句和if else语句的用法(4) 掌握switch语句的用法2 .实验内容1.从键盘上输入三个数,让它们代表三条线段的长度,请写一个判断这三条线段所组成的 三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序。请分别设计下列 数据对自己的程序进行测试:(

8、1) 找出各条语句中的错误。(2) 找出各分支中的错误。(3) 找出各条件中的错误。(4) 找出各种条件组合中的错误。(5) 找出各条路径中的错误。2 .用scanf函数输入一个百分制成绩(整型量),要求输出成绩等级A,B,C,D,E。 其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。具 体要求如下:(1) 用if语句实现分支或switch分支。(2) 在输入百分制成绩前要有提示。(3) 在输入百分制成绩后,要判断该成绩的合理性,对于不合理的成绩(即大于100 分或小于0分)应输出出错信息。(4) 在输出结果中应包括百分制成绩与成绩等级,并要有文字

9、说明。(5) 分别输入百分制成绩:-90,100,90,85,70,60,45,101,运行该程序。3.编程找出5个整数中的最大数和最小数,并输出找到的最大数和最小数。3 .分析与讨论(1) 总结分支程序设计的方法。(2) 复合语句的使用。(3) switch语句的注意事项。实验五循环结构程序设计1 .实验目的(1) 掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的 次数。(2 )了解条件型循环结构的基本测试方法。(3) 掌握如何正确地控制计数型循环结构的次数。(4 )了解对计数型循环结构进行测试的基本方法。(5 )了解在嵌套循环结构中,提高程序效率的方法。2 .实验

10、内容(1) 输入一个正整数,并将其颠倒过来。如12345对应为54321。(2) 将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t中,高位仍 在高位,低位仍在低位,例如:s = 87653142时,t中的数为:8642。(3) 判断101200之间有多少个素数。(4) 编写程序,输出杨辉三角。3 .分析与讨论(1) 总结条件循环结构的一般方法。(2) 如何测试计数型循环结构的控制表达式中的错误?(3) 从实验中你得到了哪些提高嵌套循环程序效率的启示?实验六函数1 .实验目的(1) 掌握C语言函数定义及调用的规则。(2) 理解参数传递的过程。(3) 掌握函数返回值的大小和类型确定

11、的方法。(4) 理解变量的作用范围2 .实验内容(1) 上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。#includeint main()int x,y;printf(%dn”,sum(x+y)int sum(a,b)int a,b;return(a+b);return 0;(2) 编写一个程序,输入系数a、b、c,求一元二次方程ax2+ bx + c = 0的根,包括主函数和如下函数。 判断a是否为零。 计算判别式b2 - 4ac 计算根。 输出根。(3) 输入下面程序,分析运行结果#includeint func (int ,int );int main () int k=4

12、,m=1,p1,p2;p1=func(k,m);p2=func(k,m);printf(%d,%dn”,p1,p2);return 0;int func (int a,int b) static int m=0,i=2;i+=m+1;m=i+a+b;return (m);3 .分析与讨论(1) 针对以上实验内容写出相应的参数传递过程并分析结果。(2) 函数在定义时要注意什么?(3) 讨论静态局部变量的继承性?实验七数组及其应用1 .实验目的(1) 掌握数组定义的规则。(2) 掌握C语言数组的基本用法。(3) 掌握数组名作为函数参数传递的方法2 .实验内容(1) 运行下面的C程序,根据运行结果,

13、可以说明什么?#include int main()int num5=1,2,3,4,5;inti i;for(i=0;i=5;i+)printf(%d ”,numi)return 0;(2) 为一个冒泡排序程序设计测试用例,并测试之。(3) 操作符&用以求一个变量的地址,这在函数scanf中已经使用过了。现在要你设计一 个程序,返回一个3 x5的二维数组各元素的地址,并由此说明二维数组中各元素是按什 么顺序存储的。3 .分析与讨论(1) 通过实验,分析定义与引用数组的区别。(2) 数组的作用是什么?(3) 数组名作为参数有什么特点?实验八指针及其应用1 .实验目的(1) 掌握变量的指针及其基

14、本用法。(2) 掌握一维数组的指针及其基本用法。(3) 掌握指针变量作为函数的参数时,参数的传递过程及其用法。2 .实验内容(1) 对以下程序进行运行,并从中了解变量的指针和指针变量的概念。# include int main()int a=5,b=5,*p;p=&a;printf(%d ,%udn”,a,p);*p=8;printf(、d ,%udn”,a,p);p=&b;printf(、d ,%udn”,a,p);b=10;printf(、d ,%udn”,a,p);return 0;(2) 运行以下程序,观察&a0, &ai)和p的变化,然后回答以下问题:1) 序的功能是什么?2) 在开始进入循环体之前,p指向谁?3) 循环每增加一次,p的值(地址)增加多少?它指向谁?4) 退出循环后,p指向谁?5) 你是否初步掌握了通过指针变搔引用数组元素的方法?#

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号