程序设计基础实验指导书

时间:2024.3.31

《程序设计基础》

实验指导书

内蒙古工业大学信息工程学院计算机系

20##年8月


《程序设计基础》实验指导书

一、课程基本信息

二、实验题目与安排

三、实验基本要求

1、 实验前的准备工作非常重要:上机前应认真把实验题目做一做,完成预习报告。

2、 实验过程:遵守实验室纪律,认真编辑、编译、调试程序,运行程序测试结果。

3、 每次实验后应及时进行总结,把没有搞清楚的问题记录下来,请教老师或同学。

4、 每次实验完成后认真撰写一份实验报告(具体格式见学院或系文件)。

实验一 程序设计的上机过程

一、实验目的

1.熟悉Visual C++集成环境的使用;

2.了解在Visual C++环境下,如何编辑、编译、连接和运行一个C程序;

3.通过运行简单的C程序,初步了解C程序的特点。

二、实验要求

1.调试上机范例程序要记录调试过程中出现的问题及解决办法;

2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;

3.做完实验后,写出本实验的实验报告。

三、实验设备和环境

奔腾以上计算机,装有Visual C++软件。

四、实验步骤和内容

1.熟悉Visual C++集成环境。

①了解和熟悉编辑、保存、运行程序的方法。

②分别选中各个菜单项,观察它们的菜单,大致了解它们的作用。

③选择File菜单中的New并按回车键,在编辑窗口中随意输入几行字符,观察有何变化。

④选择File菜单中的Save并按回车键,在磁盘上找一下,把文件保存到了哪里。

2.输入并运行一个简单的C程序。

①启动Visual C++集成环境,选择File菜单中的New并按回车键,使编辑窗口变成空白。

②输入下面的程序。

#include <stdio.h>

void main()

{ printf (”You are welcome!\n”);

}

③按功能键编译、连接进行编译和连接,观察屏幕上显示的编译信息。如果出现“出错信息”,则应找出原因并改正之,再进行编译。

④如果编译无错误,按运行键使程序运行,观察分析运行结果。

3.输入并编辑一个简单的C程序。

①启动Visual C++集成环境,选择File菜单中的New并按回车键,使编辑窗口变成空白。

②输入下面的程序(故意错打或漏打几个字符)。

#include <stdio.h>

void main()

{ int a,b,sum;

  a = 342;

  b = 755;

  sum = a +b;

printf (”%d + %d = %d\n”,a,b,sum);

}

③按菜单项编译、连接进行编译和连接,观察屏幕上显示的编译信息。如果出现“出错信息”,则应找出原因并改正之,再进行编译。

④运行程序,分析运行结果。

4.输入并运行一个需要在运行时输入数据的C程序。

①启动Visual C++集成环境,选择File菜单中的New并按回车键,使编辑窗口变成空白。

②输入下面的程序。

#include <stdio.h>

int max(int x,int y)

{ int z;

  if(x>y) z = x;

  else z = y;

  return z;

}

void main()

{ int a,b,c;

  printf (”Input a and b :”);

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

c = max(a, b);

  printf (”%d is bigger of %d and %d\n”,c, a,b);

}

③编译并运行,在运行时从键盘输入两个不同的整数(用空格分隔),然后按回车键,观察运行结果。

④将main函数第2行改为int a;b;c;再进行编译,观察其结果。

⑤将maqx函数第3、4两行合并为一行,即  if(x>y) z = x;else z = y;再进行编译和运行,分析结果。

5.运行一个自己编写的程序。

①自己编写并运行一个C程序,从键盘输入3个整数,计算并输入其和。

②自己按照前面练习的步骤进行编辑、编译、连接运行,直至运行出正确结果。

6.编程实现输入三个整数,输出其中最大者。

7.编写一个程序,输出以下信息。

***********************************************************

**  Welcome to Inner Mongolia University of Technology! **

***********************************************************

实验二选择结构程序设计

一、实验目的

1.了解C语言表示逻辑量的的方法(以0代表“假”,以非0代表“真″);

2.学会正确使用逻辑运算符和逻辑表达式;

3.熟练掌握各种选择结构的使用,包括if、if-else和switch形式以及嵌套if的多重选择结构;

4.结合程序掌握一些简单的算法;

5.学习调试程序。

二、实验要求

1.调试上机范例程序要记录调试过程中出现的问题及解决办法;

2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;

3.做完实验后,写出本实验的实验报告。

三、实验设备和环境

奔腾以上计算机,装有Visual C++软件。

四、实验步骤和内容

本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。

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.做完实验后,写出本实验的实验报告。

三、实验设备和环境

奔腾以上计算机,装有Visual C++软件。

四、实验步骤和内容

编程并上机调试运行。

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.做完实验后,写出本实验的实验报告。

三、实验设备和环境

奔腾以上计算机,装有Visual C++软件。

四、实验步骤和内容

编程并上机调试运行。

1.将一个数插入到一个有序的数组中,要求插入后数组仍有序。

2.输入一个4行4列的矩阵,分别求出主对角元素之和以及上三角元素之和。

3.输入一行字符串,将该字符串中所有的大写字母改为小写字母后输出。

4.编写一个程序,输入每个学生的学号和平均成绩,将平均成绩按递减顺序排序,输出排序后的学号和平均成绩。

5.编写一个程序,把从键盘输入内容中所包含的每个字母(忽略大小写)出现的次数进行统计,统计结果存放在一个长度为27的一维数组中,前26个数组元素顺序存放Aa~Zz的出现次数,最后一个数组元素存放非字母字符出现的次数。

实验五函数的应用

一、实验目的

1.掌握定义函数的方法;

2.掌握函数实参与形参的对应关系以及“值传递”的方式;

3.掌握函数的嵌套调用和递归调用的方法;

4.掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法;

5.学习对多文件程序的编译和运行。

二、实验要求

1.调试上机范例程序要记录调试过程中出现的问题及解决办法;

2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;

3.做完实验后给出本实验的实验报告。

三、实验设备和环境

奔腾以上计算机,装有Visual C++软件。

四、实验步骤和内容

编程并上机调试运行。

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.做完实验后,写出本实验的实验报告。

三、实验设备和环境

奔腾以上计算机,装有Visual C++软件。

四、实验步骤和内容

编程并上机调试运行(都要求用指针处理)。

1.输入三个整数,按由小到大的顺序输出,然后将程序改为输入三个字符串,按由小到大的顺序输出。

2.将一个3×3的矩阵转置,用一函数实现之。

在主函数中用scanf函数输入以下矩阵元素:

1   3   5

7   9  11

13  15  19

将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。

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.做完实验后,写出本实验的实验报告。

三、实验设备和环境

奔腾以上计算机,装有Visual C++软件。

四、实验步骤和内容

编程并上机调试运行。

1.输入10个学生的学号、姓名、性别及成绩,分别找出其中的男状元及女状元。

2.建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。

3.若干个人围成一圈,从第1个人开始顺序报数1、2、3。凡报到“3”者退出圈子,找出最后留在圈子中的人原来的序号。(本题要求用链表实现)

4.输入和运行以下程序

union data

{ int i[2];

  float a;

  long b;

  char c[4];

} u;

void main()

{ 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.i[1],分析运行结果。然后将scanf语句改为:scanf(“%ld”,&u.b);输入60000给b,分析运行结果。

5.编一个函数getbits,从一个整数中取出某几位(即该几位保留原值,其余位为0)。函数调用形式为:

   getbits(value,n1,n2)

value为该整数,n1为欲取出的起始位,n2为欲取出的结束位。
实验八文件的应用

一、实验目的

1.掌握文件以及缓冲文件系统、文件指针的概念;

2.学会使用文件打开、关闭、读写等文件操作函数;

3.学会用缓冲文件系统对文件进行简单的操作。

二、实验要求

1.调试上机范例程序要记录调试过程中出现的问题及解决办法;

2.自编程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;

3.做完实验后,写出本实验的实验报告。

三、实验设备和环境

奔腾以上计算机,装有Visual C++软件。

四、实验步骤和内容

编程并上机调试运行。

1.编写一个程序,从键盘上输入一个字符串,将其输出到磁盘文件store.txt中保存,输入的字符串以“!”结束。然后再统计该文件中所包含的字母、数字、空白字符的个数,并显示在屏幕上。

2.编写一个程序,要求:①将上一题store.txt文件复制到另一个文件copy.txt中。②将store.txt文件显示在屏幕上。

3.有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud.txt中。设学生的学号、姓名和3门课成绩格式如下:

200801   Wang    89,98 69

200802   Li      84,67,95

……

更多相关推荐:
C++程序设计实验报告

C++程序设计实验报告学号:姓名:班级:指导老师:实验一、字符和格式的输出实验一,实验目的1、重点把握各种内部数据类型、数值和逻辑运算,各种表达式、函数声明、定义和调用。2、掌握过程控制编程方法,正确编制多重循…

程序设计实验报告模板

C语言程序设计实验报告1实验目的(1)掌握函数的定义方法、调用方法、参数说明以及返回值;(2)掌握实参与形参的对应关系,以及参数之间的值传递的方式;(3)掌握函数的嵌套调用及递归调用的设计方法;(4)在编程过程…

Java程序设计实验报告

学生实验报告册(理工类)课程名称:JAVA程序设计实验专业班级:M11计算机科学与技术II学生学号:学生姓名:所属院部:XX学院指导教师:20XX20XX学年第二学期金陵科技学院教务处制实验报告书写要求实验报告…

程序设计综合实验报告册

西南交通大学程序设计综合实验实验地点实验学期学生班级学生学号学生姓名任课教师龚勋信息科学与技术学院20xx年4月实验一ATM机用户操作界面业务逻辑编写实验目的及内容1根据ATM的工作流程编写用户界面掌握文本用户...

C程序设计实验报告

C语言程序设计实验报告学号不告诉你哦班级信管一班姓名你猜猜哈哈一实验题目一编程实验猜数问题输入两个整数并求这两个整数的和输入所猜的结果如果输入数比正确的结果要大提示猜大了如果输入数比正确的结果要小提示猜小了当猜...

C程序设计实验报告5

工学院工业设计专业10级20xx至20xx学年度第1学期学号2104021638姓名杨芹芹20xx年9月22日第34节综合楼325教室

C程序设计实验报告2

院专业20xx级20xx至20xx学年度第1学期学号姓名20xx年9月22日第34节综合楼325教室

C#程序设计实验报告

实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、…

程序设计实验报告

兰州商学院陇桥学院工学系课程设计报告设计题目迷宫与栈问题系别工学系专业方向年级班学生姓名学生学号指导教师目录一系统开发的背景1二系统分析与设计1一系统的分析1二系统的具体分析设计2三系统的功能要求2一系统模块结...

程序设计实践 实验报告

程序设计基础课程设计通讯录管理系统院系计算机学院班级信息工程1班姓名方穗城学号20xx13064003合作者丁丹妮李晓艳指导教师刘艳军20xx年5月3日方穗城20xx信息工程1班通讯录管理系统目录摘要11研究背...

C语言程序设计实验报告——通讯录

C语言程序设计实验报告通讯录目录:课程设计任务书......................................................................2目录:.......…

蔡宇航实验报告——子程序设计

实验六子程序设计课程名称实验项目名称实验时间班级姓名学号实验目的掌握程序设计中的子程序的设计实验环境WIN7MASM轻松汇编实验内容及过程编程实现已知数据段定义如下datasegmentxdw12ydw34wd...

程序设计实验报告(37篇)