C语言程序设计实验讲义终稿.doc_第1页
C语言程序设计实验讲义终稿.doc_第2页
C语言程序设计实验讲义终稿.doc_第3页
C语言程序设计实验讲义终稿.doc_第4页
C语言程序设计实验讲义终稿.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计及实验实验教学大纲课程编码:406041123 总学时:64学时 实验学时:16学时 适用专业及层次:电子信息工程 专业本科 实验地点:电子与信息工程 实验中心 第二 实验室 系(教研室):信息工程学院 网络工程教研室执笔人:贾电如 大纲审批人一、教学目的和基本要求目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握C 语言程序设计的基本方法和编程技巧。基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。二、实验软硬件环境要求1、C程序设计题解与上机指导谭浩强主编 清华大学出版社2、微机 ,安装、vc+6.0三、实验项目与学时分配编号实验项目名称学时分配实验类型备注1C程序的运行环境和运行一个C程序的方法、数据类型、运算符和表达式2设计性2顺序结构程序设计2设计性3选择结构程序设计2设计性4循环结构程序设计2设计性5数组2设计性6函数2设计性7指针2设计性8结构体和共用体、链表操作2设计性四、实验项目实验一 C程序的运行环境和运行一个C程序的方法一、实验目的1.了解vc+6.0编译系统的基本操作方法,学会独立使用该系统。2.了解在该系统上如何编辑、编译、连接和运行一个C程序。3.通过运行简单的C程序,初步了解C源程序的特点。4.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。5.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+)和自减(-)运算符的使用。6.进一步熟悉C程序的编辑、编译、连接和运行的过程。二、实验内容1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的?2.编写一个C程序,输出以下信息:* very good!*3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。4.输入并运行以下程序:main( ) char c1,c2; c1=97;c2=98; printf(“%c %cn”,c1,c2);printf(“%d %dn”,c1,c2); 在此基础上将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。将第二行改为: int c1,c2; 再使之运行,分析其运行结果。5、.输入并运行以下程序: main( ) int i=8,j=10,m,n;m=+i;n=j+;printf(“%d,%d,%d,%dn”,i,j,m,n); 分别作以下改动并运行:程序改为:main( ) int i=8,j=10;printf(“%d,%dn”,i+,j+); 在的基础上,将printf语句改为:printf(“%d,%dn”,+i,+j);再将printf语句改为:printf(“%d,%d,%d,%dn”,i,j, i+,j+);程序改为:main( ) int i=8,j=10,m=0,n=0;m+=i+;n-=-j;printf(“i=%d,j=%d,m=%d,n=%dn”,i,j,m,n); 6. 请将下列给出的两个程序段分别输入计算机后,分析其运行结果:main() int num; num=32767; printf(“num=%dn”,+num); main() int a=-2; printf(“%d, %dn”,a, a-); 实验二 最简单的C程序设计一、实验目的1.掌握C语言中使用最多的一种语句赋值语句的使用。2.掌握数据的输入输出的方法,能正确使用各种格式转换符。二、实验内容1.上机输入以下程序:main( )int a,b;float c; scanf(“%d%d%f”,&a,&b,&c); printf(“a=%-4d,b=%4d,c=%f,c=%.2fn”,a,b,c,c);要使a=3,b=4,c=12.3456,在键盘上应如何输入?有几种方式?2.若将输入函数改为scanf(“%d, %d ,%f”,&a,&b,&c);应该如何输入数据?3.上机输入以下程序:main( )int a; float b; char c; scanf(“%4d%5f%3c”,&a,&b,&c); printf(“a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%cn”,a,a,a,b,b,c);要使a=77,b=4.56,c= A,在键盘上应如何输入?4.输入两面整型变量a、b的值,输出下列算式以及运算结果。a+b、a-b、a*b、a/b、(float)a/b、a%b每个算式占一行。如a等于10,b等于6,a+b应输入为:10+6=165.编写程序,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和printf函数输出这两个字符。上机运行程序,比较用printf和putchar函数输出字符的特点。实验三 选择结构程序设计一、实验目的1.了解C语言表示逻辑量的方法(以0代表“假”,以1代表“真”);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握if语句和switch语句。二、实验内容先编程序,解以下问题,然后上机调试运行程序。1.有一个函数用scanf函数输入x的值(分别为x1、110、10三种情况),求y值。2.给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。3.给一个不多于5位的正整数,要求: 求出它是几位数; 分别打印出每一位数字; 按逆序打印出各位数字,例如原数为321,应输出123。实验四 循环控制一、实验目的1.熟悉用while语句,do-while语句和for语句实现循环的方法。2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。二、实验内容编程序并上机调试运行。1.输入两个正整数,求其中最大公约数和最小公倍数。2.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。3.用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。牛顿迭代法的公式是。4.打印出以下图案: * * * * * * *5.编程求1!+2!+3!+20!。实验五 数组一、实验目的1.掌握一维数组和二维数组的定义、赋值和输入输出的方法;2.掌握字符数组和字符串函数的使用。3.掌握与数组有关的算法(特别是排序算法)。二、实验内容 编程序并上机调试运行。1. 编写程序,用scanf函数输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。2.有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数” ,并且可以实现连续查找。15个数用赋初值的方法在程序中给出,要找的数用scanf函数输入。3.将以下二维数组中数按列的顺序存放到一个一维数组中。二维数组的内容是11 22 33 4411 22 33 4411 22 33 44则一维数组中的内容是11 11 11 22 22 22 33 33 33 44 44 44 4.将两个字符串连接起来,不要用strcat函数。5.从键盘输入5个字符串,找出最长的字符串和最大的字符串。实验六 函数一、实验目的1.掌握定义函数的方法;2.掌握函数实参与形参的对应关系,以及“值传递”的方式;3.掌握函数的嵌套调用和递归调用的方法;4.掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。二、实验内容编程序并上机调试运行之。1.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。2.两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。3.已知二阶Fibonacci数列: 0 若n=0Fib(n)= 1 若n=1 Fib(n-1)+Fib(n-2) 其他情况定义递归函数求Fib(n)。4.写一个函数完成下列任务:输入一个表示正整数的字符串,将字符串转换成对应的数字。例如,输入3个字符组成的字符串“123”,将它转换成整型数123。5.设计一个含有多个菜单项的菜单演示程序。程序运行后,给出4个菜单项的内容和输入提示:1.求最大公约数2.求最小公倍数3.判断素数4.退出程序选择1-4:使用数字14来选择菜单项,其他输入则不起作用。实验:(选作)预处理命令一、实验目的1.掌握宏定义的方法;2.掌握文件包含处理方法;3.掌握条件编译的方法。二、实验内容编程序并上机调试运行。1.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个参数。2.设计输出实数的格式,包括:(1)一行输出一个实数;(2)一行内输出两个实数;(3)一行内输出三个实数。实数用“%6.2f”格式输出。用一个文件“format.h”包含以上用#define命令定义的格式。在自己的文件(自己命名)中用#include命令将“format.h”文件包含进来。在程序中用scanf函数读入三个实数给f1,f2,f3。然后用上面定义的三种格式分别输出f1;f1,f2;f1,f2,f3。3.用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下字母(如a变成b,z变成a。其它字符不变)。用#define命令来控制是否要译成密码。例如:#define CHANGE 1则输出密码。若#define CHANGE 0则不译成密码,按原码输出。用条件编译方法来处理。实验七 结构体和共用体一、实验目的1.掌握结构体类型变量的定义和使用;2.掌握结构体类型数组的概念和应用;3.掌握共用体的概念与使用。4.掌握链表的概念,初步学会对链表进行操作二、实验内容编程序,然后上机调试运行。1.有3个学生,每个学生的数据包括学号、三门课的成绩,要求用input函数实现从键盘输入学生数据,用average函数求每个人的平均分,用output函数打印学生数据及平均成绩。2.上机输入如下程序:main( )union bt int k; char c2;a; a.k= -7; printf(“%o,%on”,a.c0,a.c1);分析其运行结果。3.建立一个带有头结点的单链表,每个结点包括:学号、年龄,并输出链表中所有结点的数据。在链表中查找年龄最大的结点,并将链表中等于此年龄的结点删除(年龄最大的结点可能不止一个)。4.将一个链表按逆序排列,即将链头当链尾,链尾当链头。实验八 文件一、实验目的1.掌握文件以及缓冲文件系统、文件指针的概念;2.学会使用文件打开、关闭、读、写等文件操作函数。3.学会用缓冲文件系统对文件进行简单的操作。二、实验内容编写程序并上机调试运行。1.编程序求100以内的素数,分别将它输出到显示器屏幕和x.txt文件中,要求每行5个数。2.从键盘输入几本书的数据,每本书的数据包括条形码、书名和价格,将每项数据分别写入文本文件s.txt和二进制文件s.dat。3.从上题的文本文件s.txt或二进制文件s.dat中读入每本书的数据,计算所有书的平均价格。要求用input函数读入,average函数求平均价格。四、评分依据1、实验预习和表现:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论