热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

南京信息工程大学c语言实验十报告,南京信息工程大学2014年C语言程序设计实验内容(全部)...

《南京信息工程大学2014年C语言程序设计实验内容(全部)》由会员分享,可在线阅读,更多相关《南京信息工程大学2014年C语言程序设计实验内容(全部)(

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

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

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

3、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,a=c,a=b|b=c);printf(%d,%d,%d,%dn,!(a=b)。

4、,!(a=b),!(a=c),!(aint 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%10.5sn%2.5sn%.3sn,a,a,a,a,a);r。

5、eturn 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集成开发环境中输入上述程序,观察调试结果。(2)如果有错误,请修改程序中的错误。3分析与讨论(1)分析程序错误及运行结果。

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

7、。(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)在输出结果中应包括百分制成绩与成绩等级,并要有文字说明。(5)分别输入百分制成绩:-90,100,90,85,70,60,45,101,运行该程序。3.编程找出5个整数中的最大数和最小。

8、数,并输出找到的最大数和最小数。3分析与讨论(1)总结分支程序设计的方法。(2)复合语句的使用。(3)switch语句的注意事项。实验五 循环结构程序设计1实验目的(1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。(2)了解条件型循环结构的基本测试方法。(3)掌握如何正确地控制计数型循环结构的次数。(4)了解对计数型循环结构进行测试的基本方法。(5)了解在嵌套循环结构中,提高程序效率的方法。2实验内容(1)输入一个正整数,并将其颠倒过来。如12345对应为54321。(2)将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t中,高位仍在高位,低位。

9、仍在低位,例如:s=时,t中的数为:8642。(3)判断101200之间有多少个素数。(4)编写程序,输出杨辉三角。3分析与讨论(1)总结条件循环结构的一般方法。(2)如何测试计数型循环结构的控制表达式中的错误?(3)从实验中你得到了哪些提高嵌套循环程序效率的启示?实验六 函数1实验目的(1)掌握C语言函数定义及调用的规则。(2)理解参数传递的过程。(3)掌握函数返回值的大小和类型确定的方法。(4)理解变量的作用范围2实验内容(1)上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。#includeint main()int x,y;printf(“%dn”,sum(x+y);int 。

10、sum(a,b)int a,b;return(a+b);return 0;(2)编写一个程序,输入系数a、b、c,求一元二次方程的根,包括主函数和如下函数。j判断a是否为零。k计算判别式l计算根。m输出根。(3)输入下面程序,分析运行结果#includeint func (int ,int );int main ( ) int k=4,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;retu。

11、rn (m);3分析与讨论(1)针对以上实验内容写出相应的参数传递过程并分析结果。(2)函数在定义时要注意什么?(3)讨论静态局部变量的继承性?实验七 数组及其应用1实验目的(1)掌握数组定义的规则。(2)掌握C语言数组的基本用法。(3)掌握数组名作为函数参数传递的方法2实验内容(1)运行下面的C程序,根据运行结果,可以说明什么?#include int main( ) int num5=1,2,3,4,5;inti i;for(i=0;iint main() int a=5,b=5,*p;p=&a;printf(“%d ,%udn”,a,p);*p=8;printf(“%d ,%udn”,a。

12、,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)你是否初步掌握了通过指针变搔引用数组元素的方法?# include int main() int i,*p,s=0,a5=5,6,7,8,9;p=a;for(i=0;iint main( ) int i,s1=0, s2=0, s3=0, s4=0。

13、,*p,a5=1,2,3,4,5;p=a;for(i=0;istruct student int num;char name20;int score;int main( ) int i;struct student st,stmax,stmin;stmax.score=0; stmin.score=100;printf(n input data);for(i=0;istmax.score) stmax=st;if(st.scorestruct student int num;char name20;int score;int main()int i;struct student st,stma。

14、x,stmin;FILE *fp;stmax.score=0; stmin.score=100;fp=fopen(file1.dat,r);if(!fp) return 1;for(i=0;istmax.score) stmax=st;if(st.scorestruct student int num;char name20;int score;void sort(struct student *,int);int main()int i,n=10;struct student st10;FILE *fp,*fp1,*fp2;fp=fopen(file2.dat,r);if(!fp) retu。

15、rn 1;for(i=0;iscorescore)t=*i;*i=*j;*j=t;请分析程序,上机运行程序,运行结果在哪里?与上一例相比,此例中对读取文件的格式有何不同?(3)某班的学生145人,每人的信息包括:学号、姓名、性别、和成绩。编制一个C程序,完成以下操作:1)定义一个结构体类型数组。2)打开可读写的新文件student.dat。3)使用函数fwrite()将结构体数组内容写入文件student.dat中。4)关闭文件student.dat。5)打开可读写文件student.dat。6)从文件中依次读出各学生情况并按学生成绩进行排序,输出排好序后的数据。7)关闭文件student.dat。3分析与讨论(1)文件有哪些优点?(2)文件常用的读写操作函数有什么不同?(3)调试有关文件的程序要注意什么。



推荐阅读
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • c语言\n不换行,c语言printf不换行
    本文目录一览:1、C语言不换行输入2、c语言的 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • Go语言实现堆排序的详细教程
    本文主要介绍了Go语言实现堆排序的详细教程,包括大根堆的定义和完全二叉树的概念。通过图解和算法描述,详细介绍了堆排序的实现过程。堆排序是一种效率很高的排序算法,时间复杂度为O(nlgn)。阅读本文大约需要15分钟。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 如何在跨函数中使用内存?
    本文介绍了在跨函数中使用内存的方法,包括使用指针变量、动态分配内存和静态分配内存的区别。通过示例代码说明了如何正确地在不同函数中使用内存,并提醒程序员在使用动态分配内存时要手动释放内存,以防止内存泄漏。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
author-avatar
mobiledu2502889415
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有