程序设计基础实验指导书_第1页
程序设计基础实验指导书_第2页
程序设计基础实验指导书_第3页
程序设计基础实验指导书_第4页
程序设计基础实验指导书_第5页
已阅读5页,还剩12页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

程序设计基础实验指导书PAGE4《程序设计基础》实验指导书内蒙古工业大学信息工程学院计算机系2009年8月

《程序设计基础》实验指导书一、课程基本信息课程名称中文:程序设计基础英文:FoundationOfProgramming课程编号020212001课程类别必修实验类别专业基础适用专业计算机科学与技术、软件工程开课学期第一学期总学时64学分4实验学时20开课单位计算机系实验课性质实验室名称编写/修订者安兴亚单位计算机系职务/职称讲师审核单位职务/职称批准单位职务/职称二、实验题目与安排序号实验项目名称学时分配实验性质实验类型每组人数设备台套指导教师人数开设情况1程序设计的上机过程22选择结构程序设计23循环结构程序设计24数组与字符串的应用25函数的应用46指针的应用47结构体、共用体及位运算的应用28文件的应用2三、实验基本要求实验前的准备工作非常重要:上机前应认真把实验题目做一做,完成预习报告。实验过程:遵守实验室纪律,认真编辑、编译、调试程序,运行程序测试结果。每次实验后应及时进行总结,把没有搞清楚的问题记录下来,请教老师或同学。每次实验完成后认真撰写一份实验报告(具体格式见学院或系文件)。实验一程序设计的上机过程一、实验目的1.熟悉VisualC++集成环境的使用;2.了解在VisualC++环境下,如何编辑、编译、连接和运行一个C程序;3.通过运行简单的C程序,初步了解C程序的特点。二、实验要求1.调试上机范例程序要记录调试过程中出现的问题及解决办法;2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;3.做完实验后,写出本实验的实验报告。三、实验设备和环境奔腾以上计算机,装有VisualC++软件。四、实验步骤和内容1.熟悉VisualC++集成环境。①了解和熟悉编辑、保存、运行程序的方法。②分别选中各个菜单项,观察它们的菜单,大致了解它们的作用。③选择File菜单中的New并按回车键,在编辑窗口中随意输入几行字符,观察有何变化。④选择File菜单中的Save并按回车键,在磁盘上找一下,把文件保存到了哪里。2.输入并运行一个简单的C程序。①启动VisualC++集成环境,选择File菜单中的New并按回车键,使编辑窗口变成空白。②输入下面的程序。#include<stdio.h>voidmain(){printf(”Youarewelcome!\n”);}③按功能键编译、连接进行编译和连接,观察屏幕上显示的编译信息。如果出现“出错信息”,则应找出原因并改正之,再进行编译。④如果编译无错误,按运行键使程序运行,观察分析运行结果。3.输入并编辑一个简单的C程序。①启动VisualC++集成环境,选择File菜单中的New并按回车键,使编辑窗口变成空白。②输入下面的程序(故意错打或漏打几个字符)。#include<stdio.h>voidmain(){inta,b,sum;a=342;b=755;sum=a+b;printf(”%d+%d=%d\n”,a,b,sum);}③按菜单项编译、连接进行编译和连接,观察屏幕上显示的编译信息。如果出现“出错信息”,则应找出原因并改正之,再进行编译。④运行程序,分析运行结果。4.输入并运行一个需要在运行时输入数据的C程序。①启动VisualC++集成环境,选择File菜单中的New并按回车键,使编辑窗口变成空白。②输入下面的程序。#include<stdio.h>intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;}voidmain(){inta,b,c;printf(”Inputaandb:”);scanf(“%d%d”,&a,&b);c=max(a,b);printf(”%disbiggerof%dand%d\n”,c,a,b);}③编译并运行,在运行时从键盘输入两个不同的整数(用空格分隔),然后按回车键,观察运行结果。④将main函数第2行改为inta;b;c;再进行编译,观察其结果。⑤将maqx函数第3、4两行合并为一行,即if(x>y)z=x;elsez=y;再进行编译和运行,分析结果。5.运行一个自己编写的程序。①自己编写并运行一个C程序,从键盘输入3个整数,计算并输入其和。②自己按照前面练习的步骤进行编辑、编译、连接运行,直至运行出正确结果。6.编程实现输入三个整数,输出其中最大者。7.编写一个程序,输出以下信息。*************************************************************WelcometoInnerMongoliaUniversityofTechnology!*************************************************************实验二选择结构程序设计一、实验目的1.了解C语言表示逻辑量的的方法(以0代表“假”,以非0代表“真″);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握各种选择结构的使用,包括if、if-else和switch形式以及嵌套if的多重选择结构;4.结合程序掌握一些简单的算法;5.学习调试程序。二、实验要求1.调试上机范例程序要记录调试过程中出现的问题及解决办法;2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;3.做完实验后,写出本实验的实验报告。三、实验设备和环境奔腾以上计算机,装有VisualC++软件。四、实验步骤和内容本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。1.有一个函数:x(x<1)y=2x–1(1≤x<10)3x–11(x≥10)用scanf函数输入x的值,求y值。运行程序,输入x的值,(分别为x<1、1≤x<10和x≥10三种情况),检查输出的y值是否正确。2.给编一个程序,输入一个整数,输出其符号(若x>0,输出1,若x=0,输出0,若x<0,输出-1)。3.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。①事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。4.输入4个整数,要求按由小到大顺序输出。得到正确的结果后,修改程序使之按由大到小顺序输出。实验三循环结构程序设计一、实验目的1.熟练掌握用while语句,do-while语句和for语句实现循环的方法;2.掌握循环嵌套以及从循环体内退出循环的方法;3.掌握循环语句的执行过程及用法;4.掌握在程序设计中用循环方法实现一些常用算法(如穷举、迭代、递推等);5.进一步学习程序调试方法。二、实验要求1.调试上机范例程序要记录调试过程中出现的问题及解决办法;2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;3.做完实验后,写出本实验的实验报告。三、实验设备和环境奔腾以上计算机,装有VisualC++软件。四、实验步骤和内容编程并上机调试运行。1.从键盘输入正整数n的值,计算并输出1+2+3+4+…+n的值。2.编程按公式e=1+1/1!+1/2!+1/3!+…+1/n!计算e的值(精度为1×10-6)。3.用牛顿迭代法求x=a1/2,迭代公式为:xn+1=(xn+a/xn)/2要求满足|xn+1–xn|≤10-5,如果计算到20次仍达不到精度要求,就结束迭代。编写程序,计算5的平方根,x的初值为3。4.输入任意个学生的单科成绩,求出其中最高分、最低分及平均分。5.编写程序,输出如下图所示的图案。*************************实验四数组与字符串的应用一、实验目的1.掌握一维数组和二维数组的定义、赋值和输入输出方法;2.掌握字符数组和字符串函数的使用;3.掌握与数组有关的算法(特别是排序算法)。二、实验要求1.调试上机范例程序要记录调试过程中出现的问题及解决办法;2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;3.做完实验后,写出本实验的实验报告。三、实验设备和环境奔腾以上计算机,装有VisualC++软件。四、实验步骤和内容编程并上机调试运行。1.将一个数插入到一个有序的数组中,要求插入后数组仍有序。2.输入一个4行4列的矩阵,分别求出主对角元素之和以及上三角元素之和。3.输入一行字符串,将该字符串中所有的大写字母改为小写字母后输出。4.编写一个程序,输入每个学生的学号和平均成绩,将平均成绩按递减顺序排序,输出排序后的学号和平均成绩。5.编写一个程序,把从键盘输入内容中所包含的每个字母(忽略大小写)出现的次数进行统计,统计结果存放在一个长度为27的一维数组中,前26个数组元素顺序存放Aa~Zz的出现次数,最后一个数组元素存放非字母字符出现的次数。实验五函数的应用一、实验目的1.掌握定义函数的方法;2.掌握函数实参与形参的对应关系以及“值传递”的方式;3.掌握函数的嵌套调用和递归调用的方法;4.掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法;5.学习对多文件程序的编译和运行。二、实验要求1.调试上机范例程序要记录调试过程中出现的问题及解决办法;2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;3.做完实验后给出本实验的实验报告。三、实验设备和环境奔腾以上计算机,装有VisualC++软件。四、实验步骤和内容编程并上机调试运行。1.编写一个程序,将1至500之间的所有素数都打印输出。要求:①将判断一个整数是否为素数的过程写成一个函数,然后在主函数中输入数值,通过调用函数来判断其是否为素数,通过返回值将是否是素数的结果带回主函数,如果是素数,则返回1,否则返回0。②用循环语句提供1至500的数据。③在主函数中打印输出素数。2.使用递归方法,编写一个求解S=1+2+3+…+n的函数。要求:在主函数中输入n的值,并且输出最后结果S;而在子函数中只求解1到n之和。3.求两个整数的最大公约数和最小公倍数。用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数。①不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,再返回到主函数输出最大公约数和最小公倍数。②用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数都设为全局变量,在主函数中输出它们的值。4.写一个函数,使给定的一个3×3的二维整型数组转置,即行列互换。5.求方程ax2+bx+c=0的根,用三个函数分别求当b2–4ac大于0、等于和小于0时的根并输出结果。从主函数输入a、b、c的值。6.用递归方法求n阶勒让德多项式的值,递归公式为:1(n=0)Pn(x)=x(n=1)((2n-1)x-Pn-1(x)-(n-1)Pn-2(x))/n(n>1)7.写一个函数,输入一个十六进制数,输出相应的十进制数。实验六指针的应用一、实验目的1.理解C语言中指针的本质;区分指针与指针变量;掌握有关指针的应用;2.掌握指针的定义;3.掌握指向普通变量的指针的使用;4.掌握如何用指针来处理与数组有关的问题。二、实验要求1.调试上机范例程序要记录调试过程中出现的问题及解决办法;2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;3.做完实验后,写出本实验的实验报告。三、实验设备和环境奔腾以上计算机,装有VisualC++软件。四、实验步骤和内容编程并上机调试运行(都要求用指针处理)。1.输入三个整数,按由小到大的顺序输出,然后将程序改为输入三个字符串,按由小到大的顺序输出。2.将一个3×3的矩阵转置,用一函数实现之。在主函数中用scanf函数输入以下矩阵元素:1357911131519将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。3.用指针实现两个字符串首尾连接的函数strcat(char*s,char*t)。4.用选择法对10个整数按升序排序。5.将数组中的最大值与最后一个数交换,最小值与第一个数交换。要求:1)用指针来引用数组中的每个元素实现查找最大值;2)数组名做函数参数3)本程序包括三个子函数:①输入10个数②处理③输出10个数。6.有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。7.用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入,最后在主函数中输出。实验七结构体、共用体及位运算的应用一、实验目的1.熟悉结构体和共同体的概念;2.熟悉结构体变量和共同体变量的定义、赋值与使用;3.掌握结构体变量和共同体变量对存储空间占用情况;4.掌握链表的概念,初步学会对链表进行操作;5.掌握按位运算的概念和方法,学会使用位运算符;6.学会通过位运算实现对某些位的操作。二、实验要求1.调试上机范例程序要记录调试过程中出现的问题及解决办法;2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;3.做完实验后,写出本实验的实验报告。三、实验设备和环境奔腾以上计算机,装有VisualC++软件。四、实验步骤和内容编程并上机调试运行。1.输入10个学生的学号、姓名、性别及成绩,分别找出其中的男状元及女状元。2.建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。3.若干个人围成一圈,从第1个人开始顺序报数1、2、3。凡报到“3”4.输入和运行以下程序uniondata{inti[2];floata;longb;charc[4];}u;voidmain(){scanf(“%d%d”,&u.i[0],&u.i[1]);printf(“i[0]=%d,i[1]=%d,a=%f,b=%ld,c[0]=%c,c[1]=%c,c[2]=%c,c[3]=%c”,u.i[0],u.i[1],u.a,u.b,u.c[0],u.c[1],u.c[2],u.c[3]);}输入两个整数10000、20000给u.i[0]和u

温馨提示

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

评论

0/150

提交评论