实验2顺序结构程序设
- 格式:doc
- 大小:325.50 KB
- 文档页数:11
一、实验准备实验准备实验准备实验准备1、C语言程序的上机操作语言程序的上机操作语言程序的上机操作语言程序的上机操作C是编译型语言,设计好一个C源程序后,需要经过编译生成目标文件(扩展名.obj)、连接生成可执行文件(扩展名.exe),然后执行。
一个C程序的具体开发步骤如下: (1) 启动启动启动启动VC++ 6.0:“开始”“程序”“Microsoft Visual C++ 6.0” (2) 新建文件新建文件新建文件新建文件:“文件”“新建”在“新建”对话框中选择“文件”标签列表框中选“C++ Source File”,在右边指定文件名和保存位置。
(3) 编辑编辑编辑编辑:录入或修改源程序并保存(Ctrl+S) (4) 调试运行调试运行调试运行调试运行:编译(Ctrl+F7)连接(F7)运行(Ctrl+F5),若有错需修改源程序后再调试程序 (5) 关闭工作区关闭工作区关闭工作区关闭工作区:“文件”“关闭工作空间”,一个程序调试结束后需关闭当前工作空间,再从第(2)步开始下一个程序的调试 2、、、、C程序的调试程序的调试程序的调试程序的调试调试即是在源程序中查找错误并修改错误的过程。
程序的错误一般分为两类:语法错误和逻辑错误语法错误和逻辑错误语法错误和逻辑错误语法错误和逻辑错误。
①语法错误语法错误语法错误语法错误:指不符合C语言语法规则而产生的错误。
语法错误系统能检测出来并告之原因及位置,设计者可参考修改。
②逻辑错误逻辑错误逻辑错误逻辑错误:指程序的运行结果与预期的结果不符而产生的错误。
这类错误拔除难度较大,一般需祥细分析算法或在程序运行过程中设置断点、追踪程序的运行来纠错。
(1)语法错误调试案例(建立程序名为ex1-1.c)# include <stdio.h> void main() { int i=0 //错误原因:语句结束位置缺分号printf("i=%d\n",i); } 调试并查找以上程序的语法错误并分析原因并改正。
《C语言程序设计实验》指导书以下是为大家整理的《c语言程序设计实验》指导书的相关范文,本文关键词为c语言程序设计实验,指导书,c语言程序设计实验,简明版,中北,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
《c语言程序设计实验》指导书(简明版)中北大学软件学院20XX年10月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉c编译环境、简单c程序结构及书写方式、以及c程序的编辑、编译、连接、运行、调试的步骤;2、掌握c语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握c语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握c语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和n-s 图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单c程序的结构、书写格式以及上机过程;#includeintmain(){printf(\return0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
实验一C程序的运行环境及简单程序编写一、实验目的1.了解tc2.0编译系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1.编写一个计算球体体积的程序,要求用户自行录入球体的半径。
参考公式V=4/3πr3.。
2.编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款。
运行结果:Ener a dollar amount:93$20 bills:4$10 bills:1$5 bills:0$1 bills:3实验二顺序结构程序设计一、实验目的1.熟悉C语言中的基本数据类型,掌握定义常量和变量以及对它们赋值的方法,了解数据输出时所用格式转换符。
2.掌握格式输入/输出函数的用法。
3.学会简单顺序程序的设计。
4.养成良好的程序设计习惯。
二、实验内容1.编写一个程序,对用户录入的产品信息进行格式化。
Enter item number:583Enter unit price:13.5Enter purchase date(mm/dd/yyyy):3/24/2010Item Unit PurchasePrice date583 $ 13.50 3/24/20102.编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数。
Enter a two-digit number:28The reversal is :82实验三选择结构程序设计一、实验目的1.熟练使用if、switch编写程序。
二、实验内容1.编写一个程序,确定一个数的位数。
Enter a number:374The number 374 has 3 digits假设输入的数最多不超过4位。
提示:利用if语句进行数的判定。
例如,如果数在0到9之间,那么位数为1;如果数在10到99之间,那么位数为2。
实验二顺序结构程序设计2.1实验要求与目的1.掌握程序设计的基本思想2.熟悉及掌握C语言基本数据类型(int,long,float,double)的说明3.掌握C语言程序设计中格式输入和输出函数的灵活应用4.算术表达式在实际问题中应用5.掌握算法:两数的交换、一个整数的拆数6.数学头文件的包含7.格式输入/输出函数scanf/printf的正确使用2.2 实验指导程序设计的学习过程也是算法积累的过程。
算法是在有限步内求解某一问题所使用的基本运算及规定的运算顺序所构成的完整的解题步骤。
也就是说是计算机解题的过程。
程序设计的基本思想:1)分析问题,理解题意、提出问题;2)建立模型,确立算法,寻找解决问题的有效算法或直接公式;4)编写程序,根据C语言程序结构编程;5)调试程序,若结果正确,结束。
否则检查程序,修改程序,重新调试程序,依次类推,直到调试结果正确为止。
初次自已动手编程,先要建立程序设计的基本思想,结构化程序设计的基本思想就是模块化。
即构成C语言程序的基本单位是函数,函数也是C程序中模块化程序程序设计的基础。
我们将程序设计比拟成“搭积木”,每个模块或每个算法都看成是一个形状及功能不同的“积木”,然后根据设计要求取材,搭建成完美的成品。
C语言是有且仅有一个主函数和若干个子函数组成。
从一个简单的程序设计开始学习,即先学习主函数(main)模块框架。
主函数(main)模块的基本框架设计。
#include <stdio.h>int main(){ 所有数据的数据类型定义说明;数据输入;算法或公式;数据输出;}首次编程,先来熟记2个编程时常用提示信息。
1) 每条语句之后必须有分号“;”。
若程序语句的某一条漏写了分号,在编译时会报如下的错误:error C2146: syntax error : missing ';' before identifier 'scanf'含义: C2146错误:语法错误: 标识符 “scanf” 之前缺少“;”。
一、实验目的1.理解定义变量的作用,掌握定义变量的方法。
2.掌握顺序结构程序控制。
3.掌握算法与程序设计的基本方法。
4.掌握if语句、if-else-if结构的使用。
5.掌握switch语句的使用。
6.掌握使用while语句实现循环。
7.了解使用do-while语句实现循环。
8.掌握使用for语句实现循环。
9.了解continue语句和break语句的使用。
10.掌握一维数组的概念、定义和使用。
二、实验内容及步骤1.顺序结构(1)任务写一个程序,读入三个整数并打印他们的平均值。
源代码:public class renwu1 {public static void main(String[] args) {int sum = 0;int aver = 0;Scanner scanner = new Scanner(System.in);for(int i = 1;i <= 3; i++) {System.out.print("请输入第" + i +"个数:");sum +=scanner.nextInt();aver = sum / i;}System.out.println("平均数是:" + aver);}}运行结果:写一个程序,读入两个浮点数并打印他们的和、差和积。
源代码:public static void main(String[] args) {float sum = 0;float cha = 0;float ji = 0;Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个浮点数:");float num1 = scanner.nextFloat();System.out.println("请输入第二个浮点数:");float num2 = scanner.nextFloat();sum = num1 + num2;cha = num1 - num2;ji = num1 * num2;System.out.println("和是:" + sum);System.out.println("差是:" + cha);System.out.println("积是:" + ji);}}运行结果:2.分支结构(1)任务任务1:使用简单if语句编程,从键盘键入三个整数,然后按照从小到大的顺序将其输出。
实验⼆顺序结构程序设计实验⼆顺序结构程序设计(验证性实验)
【实验⽬的】
(1)掌握数据的输⼊输出的⽅法;
(2)熟悉顺序结构程序中语句的执⾏过程;
(3)掌握顺序结构程序的设计⽅法。
【实验条件】
PC机或者远程编程环境
【实验内容】
1、完成三个编程题。
( python123)
(1)计算圆⾯积的计算 S
问题描述:
根据圆的半径计算圆⾯积,半径为25。
请编写并运⾏如下代码:
radius = 25 #圆的半径是25
area = 3.1415 * radius * radius #根据公式计算圆的⾯积
print("{:.2f}".format(area)) #仅输出两位⼩数结果
输⼊输出:
输⼊:⽆输出:1963.44
(2)求和
问题问题:
编写程序,从键盘上输⼊两个数x,y,求x,y之和并将其赋值给s,最后输出s。
输⼊输出:
(3)求球体积
问题描述:
输⼊球的半径,计算球体体积。
输⼊输出:
输⼊:⼀个正数
输出:球的体积,结果保留两位⼩数
【实验记录与分析】
(请在填写实验记录与分析结果)
【思考题】(注意不要漏答)
1、影响题1和题3计算准确性的因素有哪些?如何让1和3得到的值更准确?(可以本地计算机上尝试,或者在python123上⾃⾏编程)注意输⼊格式,将字符串的形式要转化为⼀个数字;注意题⽬条件,将题⽬要求的保留⼩数点后俩位精准的表达出来。
顺序结构程序设计实训报告一、引言计算机编程是当今社会中普及的一项技能,对于想要从事软件开发等IT行业的人士来说,掌握编程技能是必不可少的。
而要成为真正的程序员,需要具备良好的程序设计能力,尤其是顺序结构程序设计能力。
顺序结构程序设计是基础,也是必修课程中重要的一部分,正是我们本次实训所涉及的内容。
本文将详细介绍本次实训的具体内容、设计思路和实现过程,同时也会对遇到的问题及解决方案进行说明,希望能对学习者有所帮助。
二、实训内容本次实训的主要内容是制作一份简单的学生信息管理系统,其中包含对学生信息的添加、删除、修改和查询操作。
具体实现的功能如下:1.添加学生信息:用户通过键入学生的姓名、性别、年龄等信息来添加学生信息。
添加成功后,会提示用户添加成功,并返回主菜单。
2.删除学生信息:用户可以通过学生的学号或姓名来删除指定的学生信息。
删除成功后,会提示用户删除成功,并返回主菜单。
3.修改学生信息:用户可以在程序中选择要修改的学生信息,并修改学生的各项信息。
修改成功后,会提示用户修改成功,并返回主菜单。
4.查询学生信息:用户可以通过学生的学号或姓名来查询指定的学生信息。
查询结果将显示在屏幕上,并在查询完毕后返回主菜单。
三、设计思路本次实训主要是基于顺序结构程序设计的实现,因此我们需要明确四个基本元素:输入、输出、处理和控制。
在程序中,数据的输入主要是通过键盘录入来完成,而输出则是通过屏幕输出来呈现给用户。
程序中的处理部分是指对输入的数据进行操作和计算的过程,而控制部分则是指控制程序的运行流程和调用相应的处理程序。
为了更好地进行程序设计,我们还需要明确程序的整体架构和功能模块,具体如下:1.主菜单:程序一开始会输出主菜单,用户可以选择对应的功能模块来进行操作。
2.添加学生信息:当用户选择添加学生信息时,程序会提示用户输入学生的相关信息,然后将新的学生信息保存至文件中。
3.删除学生信息:当用户选择删除学生信息时,程序会提示用户输入需要删除的学生学号或姓名,并将指定学生的信息从文件中删除。
实验2 顺序结构程序设计1. 编写程序,从键盘输入一个大写字母,将它转换为对应的小写字母后输出。
参考程序:#include "stdio.h"void main(){char ch;printf(“\nPlease input a capital character:”);scanf(“%c”,&ch);ch=ch+32;printf(“\nThe small letter is %c”,ch);}2.编写程序,输入圆半径r ,求圆周长、圆面积、圆球体积。
参考程序:#include <stdio.h>#include <math.h>#define PI 3.14void main(){float r,c,area,v;printf(“\nPlease input the r:”);scanf(“%f”,&r);c=2*PI*r;area=PI*r*r;v=4.0/3*PI*pow(r,3);printf(“\nThe circle’s perimeter is %.2f”,c);printf(“\nT he circle’s area is %.2f”,area;printf(“\nThe circle’s volume is %.2f”,v);}3. 输入一个华氏温度,要求输出摄氏温度。
公式为:()3295-=F c 输出要有文字说明,取2位小数。
参考程序:#include <stdio.h>void main(){float f,c;printf(“\nPlease input a F temperature:”);scanf(“%f ”,&f);c=5.0/9*(f-32);printf(“\nThe temperature is %.2f ”,c);}4. 有3个电阻r1、r2、r3并联,编写程序计算并输出并联后的电阻r 。
实验二 顺序结构【实验目的】1. 掌握顺序结构程序基本框架2. 熟悉C 语言的各种数据类型及其使用方法3. 掌握基本的调试方法4. 了解数学库函数的使用【实验内容】1、给定程序的功能是:将从键盘输入的摄氏温度(c 代表),转成华氏温度(f 代表),转换公式如下:3295+=c f请改正程序中的4处错误,使它能得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!测试数据若输入:36 回车输出:摄氏温度=36,华氏温度=52.000若输入:40 回车输出:摄氏温度=40,华氏温度=54.222/**********found***************/#include /**********found***************/{float c;double f;/**********found***************/printf("请输入摄氏温度 scanf("%f",&c);/**********found***************/printf("摄氏温度 = %f, 华氏温度 = %lf\n", c, f);}1)如果将语句f= 5.0/9.0*c+32;改为f= 5.0/9*c+32;程序的运行结果会有什么变化?2)如果将语句f= 5.0/9.0*c+32;改为f= 5/9*c+32;程序的运行结果会有什么变化?3)注释掉语句printf(“请输入摄氏温度:”);后程序的运行情况有什么变化?体会printf(“请输入摄氏温度:”);的作用。
2、给定程序的功能是:计算某个数x的平方y,并分别以“ y=x*x”和“x*x=y”的形式输出x和y的值。
请改正程序中的3处错误,使它能得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!测试数据:若输入3 回车输出 9=3*33*3=9若输入7 回车输出 49=7*77*7=49注意不要删除程序中的任何注释信息。
C语言程序设计实验(二)[实验1]1.实验题目下列各题的算法用传统流程图及N-S流程图两种方式表示:(1)输出图形(顺序结构)★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★(2)判断用户输入的字符是数字字符、字母字符还是其它字符。
(选择结构)(3)运用循环结构打印如下图形(for循环结构)。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆(4)输入任意数N,求P的值(P=N!)(当型循环结构)(5)输出1~N间20个不能被3整除的数列(直到型循环结构)(6)计算并打印九九表。
(直到型循环结构)2.实验目标(1)熟练掌握流程图表示算法的方法。
(2)熟练掌握结构化程序设计的三种基本结构。
[实验2]变量的变化情况。
1.实验题目有以下程序#include<stdio.h>#define a 3*2+1#define A a*a+a#define b (3*2+1)#define B (b)*(b)+(b)main(){int x1,x2;int y1,y2;x1=a*a;y1=A*A;x2=b*b;y2=B*B; //换为y2=(A)*(A) 结果是否相同printf("x=%d \t\ty=%d\n",x1,y1);printf("x=%d\t\ty=%d\n",x2,y2);}用逐行断点测试方法,体会程序运行时各变量值的变化情况。
2.实验要求(1)在上机实验之前先将每执行一条语句后变量x1、x2和y1、y2的预期结果写在相应语句旁。
(2)设置4个监视项x1、x2和y1、y2,断点逐行测试执行程序。
(3)每执行一条语句后,对比Watch窗口中变量x1、x2和y1、y2的值与预期的值是否一致,若不一致,请解释原因。
(4)将语句“y2=B*B;”换为“y2=(A)*(A)”,测试结果是否相同,为什么?(5)运行结束后查看输出结果,确认该结果是否与预期的值一致。
《汇编语言程序设计》实验报告实验名顺序结构程序设计实验室实验楼实验日期2014-05-05add ax,Zmov W,ax ;X,Y,Z之和存入W中retmain endpcode ends ;代码段结束end start3.调试过程:(1).用masm程序产生mwn1.obj文件,编译没有错误,如下图:(2).用link程序产生mwn1.exe文件,连接没有错误,如下图:(3).进入debug调试,用u命令反汇编,查看代码段,数据段所在的内存单元;(4).由(3)可知,数据段在144A段,如下图,用d命令查看数据段的值,依次为5,6,7,接着下一个字的内容为0:(5).用t命令单步执行,前三次为初始化,具体的如下图:(6)用t命令执行,如下图,将[0000]单元中的内容05h传给ax,ax中的内容为0005,将[0002]单元中的内容和ax相加,并把结果存放在ax中,ax中的内容为000b=(5+6)(7)用t命令执行,如下图,将[0004]单元中的内容0bh和ax相加,并把结果存放在W中,W 中的内容为0012=(0b+7)题目二:1.设计:首先,在数据段中,定义字符串存放在变量s1中,同时申请一个字单元,用标号s2来表示,用来存放计数次数;在代码段中,首先初始化,然后,根据cld与rep的组合递减,将字符一个一个根据地址的指示按顺序输出。
2.源程序清单data segments1 db 'This is a program!$'count equ $-s1 ;变量count代替$-s1s2 db count dup(?)data ends ;定义数据段,变量s1为字符串'This is a program!$',;变量s2是重复计数次数code segment ;代码段assume cs:code,ds:data,es:datastart:mov ax,datamov gtmov es,ax ;初始化mov si,offset s1 ;将变量s1的偏移地址放入寄存器si中mov di,offset s2 ;将变量s2的偏移地址放入寄存器di中mov cx,count ;将计数次数存入寄存器cx中Cldrep movsb ;在字符串的比较,di或si是可以自动增减,即si,di向前移动mov dx,offset s2mov ah,9int 21hmov ax,4c00hint 21h ;输出结果code endsend star t3.调试过程:(1).用masm程序产生mwn2.obj文件,编译没有错误,如下图:(2).用link程序产生mwn1.exe文件,连接没有错误,如下图:(3).进入debug调试,用u命令反汇编,查看代码段,数据段所在的内存单元;(4).由(3)可知,数据段在144A段,如下图,用d命令查看数据段的值,依次为This is a program!$,接着下一个字的内容为0:(5)用t命令单步执行,前三次为初始化,具体的如下图:(6)用t命令执行,如下图,将偏移地址存入si,di;(7)用t命令执行,如下图,命令执行count次数;(8)执行结果,如下图:题目三:查表法,实现一位16进制数转换为ASCII码显示1.设计:首先,在数据段中,定义0~9的ASCII码、A~F的ASCII码,并设定一个待转换的数;(1)用masm程序产生mwn3.obj文件,编译没有错误,如下图:(2)用link程序产生mwn3.exe文件,没有错误,如下图:(3)进入debug调试,用u命令反汇编,查看代码段,数据段所在的内存单元;(4).由(3)可知,数据段在144A段,如下图,用d命令查看数据段的值,依次为5,6,7,接着下一个字的内容为0:(5).用t命令单步执行,前三次为初始化,具体的如下图:(6)用t命令执行,如下图,将BX指向ASCII码表;(7)用t命令执行,如下图,AL取得一位16进制数,即ASCII码表中位移;(8)用t命令执行,如下图,高4位清0,只有低4位有效;(9)用t命令执行,如下图,换码过程;(10)用t命令执行,输出结果B,如下图:。
实验二选择结构程序设计一、实验目的和要求1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分支选择结构。
二、实验设备PC机 Visual C++6.0三、实验内容(一)实验准备1.从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支(选择)结构、循环结构。
2.If-else语句:一般形式为: if(表达式)语句1;else语句2;该语句用于实现分支结构,根据表达式的值选择语句1或语句2中的一条执行。
首先求解表达式,如果表达式的值为“真”,则执行语句1;如果表达式的值为“假”,则执行语句2.2.switch语句switch语句可以处理多分支选择问题,根据其中break语句的使用方法,一般分为三种情况。
(二)实验项目1. 计算a+|b|#include<stdio.h>int main(void){int a,b,z;printf("Please enter a,b:\n");scanf("%d,%d",&a,&b);if (b>=0){b=b;}else{b=-b;}z=a+b;printf("%d+%d=%d\n",a,b,z);return 0 ;}2 判断一个整数是否可以被3和5整除#include<stdio.h>int main(void){int a ;printf("Please enter a:\n");scanf("%d",&a);if (a%3==0){printf("a可以被3整除:\n");}else{if (a%5==0){printf("a可以被5整除:\n");}else {printf("a不可以被5整除,也不可以被3整除:\n");}}3.从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
实验一顺序结构程序设计一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
二、实验的内容和步骤1.以下程序多处有错。
要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。
#include<stdio.h>void main(){double a,b,c,s,v;printf(input a,b,c:\n);scanf("%d%d%d",a,b,c);s=a*b;v=a*b*c;printf("%d%d%d",a,b,c);printf("s=%f\n",s,"v=%d\n",v);}当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:1.0 2.0 3.0→此处的1.02.03.0是用户输入的数据a=1.000000b=2.000000,c=3.000000→此处是要求的输出格式s=2.000000,v=6.000000相关知识:①检查程序错误时应注意几点:a)有时程序中一个错误会引发一系列错误信息,工作中不应被这种情况所迷惑,改正了一些错误后应及时对源程序重新进行编译;b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。
对于警告信息同样要逐个仔细分析。
除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。
实际上,很多警告都是因为程序中确实有严重的隐含错误。
d)在连接中发现新错误也需要仔细检查和修改程序。
连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。
系统不能对连接错误给以自动定位,只能提供有关的名字信息等。
实验2 顺序结构程序设计一、实验目的1. 学会使用自然语言或伪代码描述算法2. 掌握变量、运算符、表达式的使用3. 熟悉顺序结构程序中语句的执行过程4. 掌握标准输入流对象cin及标准输出流对象二、实验内容编写程序在屏幕上显示如图2-1所示的菜单。
图2-1 学生选课管理系统主界面实验步骤:范例:1)在VS2008中新建项目,在项目中新建C++源文件,输入下面程序,并且编译、连接。
//***************************************************************//* 程序名:实训2_1.cp *//* 主要功能: *//* 显示主菜单,并获取用户输入的模块编号 *//***************************************************************#include <iostream> // 包含输入输出接口文件using namespace std; // 引用标准命名空间void mainMenu();int main() // 定义主函数{ // 主函数开始mainMenu();return 0;}void mainMenu(){system("cls");cout<<"\n\n\n\n\n";cout<<"\t\t|---------------学生选课系统(学生版)------------|\n";cout<<"\t\t|\t 0. 退出 |\n";cout<<"\t\t|\t 1. 学生信息管理 |\n";cout<<"\t\t|\t 2. 教师信息管理 |\n";cout<<"\t\t|\t 3. 课程信息管理 |\n";cout<<"\t\t|\t 4. 学生选课管理 |\n";cout<<"\t\t|\t 5. 学生成绩管理 |\n";cout<<"\t\t|\t 6. 信息统计模块 |\n";cout<<"\t\t|-----------------------------------------------|\n\n";cout<<"\t\t\t请输入模块编号(0-6):";}2)运行范例所示程序,观察输出结果实训1要求编写程序在屏幕上显示如图2-2所示的菜单。
实验二顺序结构与输入/输出方法实验目的掌握C语言中赋值语句的使用掌握C语言中各种数据的输入/输出方法能正确使用各种格式转换符实验要点C语言中的基本输入/输出语句✧scanf()输出函数一般格式:scanf(“格式串”,地址表达式1[,地址表达式2,……,地址表达式n]);✧printf()输入函数一般格式:printf(“格式串”,[表达式1,表达式2,……,表达式n]);实验要求上机前编写好以下程序(1-4为填空,5为程序改错) 。
上机输入和调试自己所编的程序并存在自己的软盘上。
检查实验结果是否正确。
上机结束后,整理实验报告。
实验内容上机调通以下程序。
1.以下程序的输出结果是【】main(){short i;i=-2;printf("\n i: dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);}2.以下程序的输出结果是【】main(){float f;f=3.1415;printf("\n %f,%4.3f,%5.3f,%-10.3f,%10.3f\n",f,f,f,f,f);}3.以下程序的输出结果是【】main(){int a,b;float c,d;char c1,c2;a=61;b=62;c=31.5;d=-68.87;c1='a';c2='A';printf("\n");printf("a=%d,b=%d\n",a,b);printf("c=%f,d=%f\n",c,d);printf("c=%e,d=%e\n",c,d);printf("c1=%c,%c\n",c1,c2);}4.以下程序的功能是从键盘输入一个整型数,一个实型数和一个字符型数,并把他们在屏幕上输出,完成以下填空,并把程序调通,写出运行结果。
《C语言程序设计实验》指导书(简明版)**大学软件学院**年**月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉C编译环境、简单C程序结构及书写方式、以及C程序的编辑、编译、连接、运行、调试的步骤;2、掌握C语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握C语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握C语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单C程序的结构、书写格式以及上机过程;#include <stdio.h>int main( ){printf("Hello, world!\n");return 0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
#include <stdio.h>int main( ){int a = 9, b = 2;float x = 32.8459, y = -792.451;char d = 'R';long n = 5461237;unsigned u = 65535;printf("%d,%d\n", a, b);printf("%3d,%3d\n", a, b);printf("%f,%f\n", x, y);printf("%-10f,%-10f\n", x, y);printf("%8.2f,%8.2\n", x, y);printf("%.4f,%.4f\n", x, y);printf("%3f,%3f\n", x, y);printf("%e,%10.2e\n", x, y);putchar(d);putchar('\n');printf("%c,%d,%o,%x\n", d, d, d, d);printf("%ld,%lo,%x\n", n, n, n);printf("%u,%o,%x,%d\n", u, u, u, u);return 0;}(3)[验证型]编辑下列程序,进行编译、连接和运行。
实验2顺序结构程序设
实验目的
1.掌握各类数据定义方法、VB算术表达式;
2.掌握常用函数的使用方法;
3.掌握VB数据的输入和输出方法;
4.正确使用VB赋值语句;
5.掌握简单控件的使用及简单顺序结构程序的建立和运行。
实验内容
1.设a=5,b=2.5,c=7.8,编程计算:y=∏ab、(a+b×c)。
要求:程序代码在窗体的单击事件Form-Click重化工编写,结果四舍五入取整输出到窗体上。
(1)实验运行结果:
(2)程序运行的源代码:
Private Sub Form_Click()
a = 5:
b = 2.5:
c = 7.8:
y = 3.14 * a * b / (a + b * c):
Print "y="; CInt(y):
End Sub
2.在名称为Form1,标题为“算数运算事例”的窗体上添加2个标签Label1、Label2,Label1的标题初始时为空,Label2的标题为“=”。
窗体上还有3个文本框和六个命令按钮。
编程实现从宏观键盘输入任意两个数,可以计算它们的和、差、积、商,并在Label1上显示相应的运算符号。
单击清除命令按钮是清空3个文本框以及Label1上的运算符号。
单击结束命令按钮则是退出程序。
(1) 实验运行结果:
(2)程序运行的源代码:
Private Sub Command1_Click()
Text3.Text = Val(Text1.Text) + Val(Text2.Text): Label1.Caption = "+":
End Sub
Private Sub Command2_Click()
Text3.Text = Val(Text1.Text) - Val(Text2.Text): Label1.Caption = "-":
End Sub
Private Sub Command3_Click()
Text3.Text = Val(Text1.Text) * Val(Text2.Text): Label1.Caption = "*":
End Sub
Private Sub Command4_Click()
Text3.Text = Val(Text1.Text) / Val(Text2.Text): Label1.Caption = "/":
End Sub
Private Sub Command5_Click()
Text1.Text = "":
Text2.Text = "":
Text3.Text = "":
Label1.Caption = "":
End Sub
Private Sub Command6_Click()
End:
End Sub
3.新建一个工程,编程实现单击窗体时,弹出一个对话框。
当选择其中一个按钮后,在窗体上会输出该按钮对应的值
(1)实验运行结果:
(2)程序运行的源代码:
Private Sub Form_Click()
a = MsgBox("请确认此数据是否正确", 3 + 16, "数据检查对话框"):
Print "你按下的按钮的值为:"; a:
End Sub
4.在名称为Form1的窗体上建立4个命令按钮,2个标签和4文本框。
单击输入数据按钮输入4个数据,对话框上有当前输入的是第几
个输的提示信息。
单击和、平均值命令按钮计算4个数据的和、平均值,并显示在Label1、Label2上
(1)实验运行结果:
(2)程序运行的源代码:
Private Sub Command1_Click()
Text1.Text = "": Text2.Text = "": Text3.Text = "":
Text4.Text = "": Label1.Caption = "": Label2.Caption = "":
Text1.Text = InputBox("请输入第一个数:", "输入4个数"):
Text2.Text = InputBox("请输入第二个数:", "输入4个数"):
Text3.Text = InputBox("请输入第三个数:", "输入4个数"):
Text4.Text = InputBox("请输入第四个数:", "输入4个数"):
End Sub
Private Sub Command2_Click()
Label1.Caption = Val(Text1.Text) + Val(Text2.Text) + Val(Text3.Text) + Val(Text4.Text): End Sub
Private Sub Command3_Click()
Label2.Caption = (V al(Text1.Text) + Val(Text2.Text) + V al(Text3.Text) + V al(Text4.Text)) / 4: End Sub
Private Sub Command4_Click()
End:
End Sub
5.在窗体上建立两个文本框,一个命令按钮。
窗体的标题为“文本框内容交换”,命令按钮的标题为“交换”,编程实现两个文本框内容的交换。
(1)实验运行结果:
(2)程序运行的源代码:
Private Sub Command1_Click()
Dim t As String:
t = Text1.Text:
Text1.Text = Text2.Text:
Text2.Text = t:
End Sub
6.制作一个登记表,通过InputBox对话框输入一个人的姓名、性别、年龄和籍贯,并在窗体上显示所输入的结果。
单击窗体时输入数据。
最后结果显示在窗体上
(1)实验运行的结果:
(2)程序运行的源代码:
Private Sub Form_Click()
Dim name$, sex$, age$, nationality$:
Form1.FontSize = 18:
name = InputBox("请输入姓名:", "学生情况登记"):
sex = InputBox("请输入性别:", "学生情况登记"):
age = InputBox("请输入年龄:", "学生情况登记"):
nationality = InputBox("请输入籍贯:", "学生情登记况"):
Print "姓名:"; name:
Print "性别:"; sex:
Print "年龄:"; age:
Print "籍贯:"; nationality:
End Sub
7.在名称为Form1的窗体上建立一个命令按钮,其名称为C1,标题为转换,然后建立两个文本框,其名称分别为Text1和Text2,初始内容为空白。
编写适当的时间过程,程序运行后,在Text1中输入一行英文字符串,如果单击按钮,则Text1文本框中的字符串都变为小
写,而Text2中的字符串变为大写。
(1)实验运行的结果:
(2)程序运行的源代码:
Private Sub C1_Click()
Text1.Text = LCase(Text1.Text):
Text2.Text = UCase(Text1.Text):
End Sub
8.新建一个工程,编程实现由键盘输入一个4位的正整数,打印出它的每一个数字,并按逆序打印出各位数字
(1)实验运行的结果:
(2)程序运行的源代码:
Private Sub Command1_Click()
Dim num$, qw$, bw$, sw$, gw$:
num = Text1.Text:
qw = num \ 1000:
bw = (num - qw * 1000) \ 100:
sw = (num - qw * 1000 - bw * 100) \ 10:
gw = num Mod 10:
Text2.Text = qw: Text3.Text = bw:
Text4.Text = sw: Text5.Text = gw:
Text6.Text = gw * 1000 + sw * 100 + bw * 10 + qw: End Sub。