实验-4顺序结构
C语言实验四
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
·…·
·…·
·…·
1 2 3…8 9 8…3 2 1
对应答案:实验4程序流程控制
1.参考程序
#define PI 3.14159
main()
{
float r,c,s1,s2,v;
printf("Enter r:");
scanf("%f",&r);
exit(0);
}
do
{
printf("%d",x%10);
i++;
x=x/10;
}while(x!=0);
printf("\ni=%d\n",i);
}
5.参考答案
(1)2 2 3 3 4 4 5 5 5 6 6 7 7 7 7
(2)Chi(注意:回车符“↙”也作为一个字符)
(3)x=13
6.分析
方法一:借助最大公约数。两个数的最小公倍数等于这两个数的积除以其最大公约数,这样,可以先利用辗转相除法求出最大公约数,进而求出最小公倍数。
3.先分析下面程序的功能,然后输入一个3位整数进行调试,看一看分析的结果是否正确。
main()
{
int n,x1,x2,x3,y;
printf("Enter n:");
scanf("%3d",&n);
x1=n/100;
x2=n/10%10;
x3=n/100;
y=x3*100+x2*10+x1;
printf("y=%d",y);
顺序结构程序设计-C语言程序实验报告
安徽工程大学高级语言程序设计实验报告班级姓名同组者/ 成绩日期2019.09.30 指导教师实验名称顺序结构程序设计一、实验目的1.掌握数据的输入/输出方法,能正确使用有关格式转换符。
2.掌握顺序结构程序中语句的执行过程。
3.掌握顺序结构程序的设计方法。
二、实验内容1.P47页第一个程序的作用是依次输入2个整数,计算并输出这2个整数之差。
(1)分析程序,若运行时输出:200,160<回车>,预期结果是多少?(2)上机运行该程序,查看程序运行结果是否符合题目要求。
如果不符合,请分析原因并修改程序,直至符合要求为止。
2.P47页第二个程序用于实现按下列公式计算并输出s1和s2的值:s1=3/(a+b)2,s2=ab/(a+b)3,其中a,b为整型数据。
(1)根据题意修改上述程序,并进行调试,直到正确为止。
(2)在(1)的基础上,将“scanf("%d,%d",&a,&b);”改为“scanf("%d%d",&a,&b);”后再编译、连接、运行。
3.分析P47页第三个程序,写出预期结果,然后输入调试,查看运行结果与预期结果是否一致,并分析其原因。
4.编程实现下列功能并上机调试运行。
(1)设圆半径为r,求圆周长和面积。
要求用scanf函数输入数据,输出时取小数点后两位。
(2)输入一个3位十进制整数,分别输出百位、十位以及个位上的数。
(3)从键盘输入一个带两位小数的实数,将其整数部分和小数部分分离后输出。
(4)用getchar函数读入两个字符,然后分别用putchar和printf函数输出这两个字符。
*思考题:5. 若实验内容1的程序改为P48页第一个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。
6.若实验内容1的程序改为P48页第二个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。
实验4 顺序结构程序设计
河北工业大学城市学院《汇编语言程序设计》实验报告实验4 顺序结构程序设计一、实验目的1.掌握汇编语言集成开发环境下编写完整汇编程序的书写方法。
2.掌握汇编语言集成开发环境下汇编程序的汇编、连接、执行和调试。
3.常用伪指令的使用。
4. 掌握顺序结构程序的编写方法。
二、实验内容1.从键盘输入一个大写字母,将其转换为小写字母并显示在屏幕上解:程序代码为:DATAS SEGMENTDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DATASMOV DS,AXMOV AH,1;功能号为1,键盘输入单字符并回显INT 21HADD AL,32MOV DL,ALMOV AH,2;功能号为2,显示输出单字符INT 21HMOV AH,4CHINT 21HCODES ENDSEND START运行结果如图所示:2.在内存X和Y单元各存放了一个非压缩BCD码,将它们组合为压缩BCD码并存于Z单元(高地址做高位)。
解:程序代码为:DATAS SEGMENTX DB 00000101BY DB 00000110BZ DB?DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DATASMOV DS,AXMOV CL,4SHL X,CLMOV CL,YOR CL,XMOV Z,ALMOV AH,4CHINT 21H CODES ENDSEND START运行结果如图所示:3.在内存TAB开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤X ≤15),求X的平方值,并把结果存放在Y单元中。
解:程序代码为:DATAS SEGMENTTAB DB 0,1,4,9,16,25,36DB 49,64,81,100,121DB 144,169,196,225X DB 6Y DB? DATAS ENDS CODESSEGMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DATASMOV DS,AXLEA BX,TABMOV AL,XMOV AH,0ADD BX,AXMOV AL,[BX]MOV Y,ALMOV AH,4CHINT 21H CODES ENDSEND START。
顺序结构程序设计实验报告
顺序结构程序设计实验报告
实验目的:
本次实验旨在让学生掌握顺序结构程序设计的基本概念,深入了解程序的运行过程,
以及学习如何编写一个简单的顺序结构程序。
实验器材:
计算机、编程软件“Visual Basic”。
实验过程:
1.理解顺序结构程序
顺序结构程序是指程序按照从上到下的顺序执行,具有简单、直观、易于理解的特点。
在此基础上,实现更复杂的程序设计。
2.熟练掌握计算机基本操作
使用计算机是程序设计的前提条件之一,通过熟悉计算机的基本操作,有利于更好地
进行程序设计。
“Visual Basic”是一款用于Windows平台的可视化编程环境,可以轻松编写出各种Windows应用程序。
4.编写“Hello World”程序
“Hello World”程序是编程入门的必备项目,通过打印出“Hello World”这句话,
来证明程序的正确性和运行结果。
5.编写一个简单的求和程序
求和程序是程序设计的基础,能够帮助初学者更好地理解程序运行的原理。
实验结果:
通过本次实验,我学会了如何编写一个简单的顺序结构程序,深入了解了程序设计的
基本概念和过程。
在未来的学习和工作中,我将进一步加强对计算机和编程环境的熟悉,
不断深入学习和掌握程序设计的技巧,更好地应对日益复杂的实际工作中的问题。
C语言与数据结构实验指导
C语⾔与数据结构实验指导Harbin Institute of TechnologyC语⾔与数据结构实验指导书刘梅索莹⽥⽂龙哈⼯⼤电⼦与信息⼯程学院电⼦⼯程系实验1 实验平台⼀、实验⽬的1.掌握Microsoft Visual C++ 6.0集成环境的使⽤⽅法。
2.掌握C程序在Microsoft Visual C++ 6.0开发环境中的编辑、编译、链接和运⾏全过程⼆、实验内容1)启动Microsoft Visual C++ 6.0开发环境双击桌⾯应⽤程序图标或“开始”菜单程序组中的Microsoft Visual C++ 6.0应⽤程序,启动VC++,如图所⽰图1.1 VC++初始界⾯2)建⽴C源程序⽂件⽅法1:单击⼯具栏的“新建⽂本⽂件”按钮,打开⽂本⽂件编辑界⾯如下图所⽰图1.2 ⽂本⽂件编辑界⾯⽅法2:执⾏“⽂件”->“新建”命令,如图1.3所⽰,在“⽂件”选项卡下选择C++ Source File ⽂件类型,然后输⼊C源程序⽂件名和保存⽂件,如图1.3所⽰,然后单击“确定”按钮,打开源程序⽂件编辑界⾯,如图1.4所⽰。
注意:输⼊C源程序⽂件名时必须带上扩展“.c”,否则默认创建的是扩展名为“.cpp”的C++⽂件。
3)编辑源⽂件⽅法1:在如图1.2所⽰的⽂本⽂件编辑界⾯中输⼊源程序代码,如图1.5所⽰。
⽅法2:在如图1.4所⽰的C源程序⽂件编辑界⾯中编辑源程序代码,如图1.6所⽰。
图1.3 新建⽂件图1.4 C源程序⽂件编辑界⾯图1.5 ⽂本⽂件编辑界⾯编辑源⽂件图1.6 C源程序编辑界⾯编辑源⽂件4)保存源⽂件源⽂件编辑结束后,执⾏“⽂件”->“保存”命令保存⽂件,⽂本⽂件编辑界⾯中编辑的源⽂件保存时必须在⽂件名后加上扩展名“.c”,否则保存的是扩展名为txt的⽂本⽂件,不能编译运⾏。
5)组件⽂件执⾏“组建”->“组建”命令或直接按F7功能键或单机⼯具栏Build按钮,可以对源⽂件进⾏编译、链接⽽不运⾏该程序。
C语言程序设计 实验报告1--顺序结构
福建农林大学金山学院实验报告系(教研室):专业:年级:实验课程: C语言程序设计姓名:学号:实验室号:_ 计算机号:实验时间:指导教师签字:成绩:实验1:顺序结构程序设计一、实验目的和要求1.了解Visual C++ 6.0/DEV_C++的基本操作方法2.掌握C程序设计的基本步骤:编辑、编译、连接和运行3.掌握各种类型数据的输入输出方法4.能够编写一个简单的程序二、实验内容和原理1. 输入并运行一个简单、正确的程序。
# include <stdio.h>int main( ){printf ("This is a c program!\n");return 0;}2. 要使下面程序的输出语句在屏幕上显示:A,B,34,则从键盘输入的数据格式应为AB34__________ 。
#include<stdio.h>int main(){char a, b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);return0;问题1:要使上面程序的键盘输入数据格式为a=A,b=B,34,输出语句在屏幕上显示的结果也为A,B,34,则应修改程序中的哪条语句?怎样修改?scanf( “a=%c,b=%c,%d”,&a,&b,&c );问题 2:要使上面程序的键盘输入数据格式为A,B,34,而输出语句在屏幕上显示的结果为“A”,“B”,34,则应修改程序中的哪两条语句?怎样修改?scanf( “%c,%c,%d”,&a,&b,&c);printf(“\”%c\”,\”%c\”,%d\n”,a,b,c);3、编程求一个圆的周长和面积。
用scanf输入圆半径,输出保留两位小数。
4、输入一个华氏温度F,要求输出摄氏温度C。
c语言上机实验题及参考答案
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}
实验四 选择结构程序设计 2
实验四选择结构程序设计【实验目的】1.掌握顺序结构程序设计的方法2.掌握逻辑表达式的正确书写形式。
3.掌握单分支与双分支条件语句的使用。
【实验内容】1、创建VB工程,界面如右所示,编程实现运行时可将文本框中的文字字号随机放大(1~5整数倍)和(任意比例)缩小以及还原(原来字号)。
界面如右图所示。
2、编程实现随机产生一个“F”~“S”范围内的大写字母,并输出该字母及其对应的ASCII码值,同时输出其小写字母及其对应的ASCII码的值。
【提示】可利用随机函数、取整函数和转换函数来实现。
3、输入一串字符串C,判断字符串C中的第三个字符是“C”时,利用msgbox 显示“yes”,否则显示“No”【注意】字符串C与字符“C”的区别。
4、输入一个年份,判断它是否为闰年,并输出是否为闰年的相关信息。
【提示】判断闰年的条件是:年份能被4整除但不能被100整除;或者是能被400整除。
如:1900、2100、2010年不是闰年;2008、2000年是闰年。
5、课堂示例“字符串替换”,使用多个函数完成时,如果源字符串中没有要查找的子串,程序就会出错。
修改程序当没有要查找的子串时,弹出“没有找到的”提示框,并将源串放到结果文本框中。
【提示】InStr(C1,C2) 在C1中查找C2是否存在,若找不到,结果为0。
6、猜数字游戏:事先设定的一个数字(如6),程序提示用户输入一个1~10之间的整数,如果输入的数字与事先设置的数字相同,则提示“输入正确”,否则显示“错了”。
【提高题】修改上面程序,当输入的值比设置的数字小,显示“错了,你猜得小了。
”;输入的值比设置的大,则显示“错了,你输入的太大了。
”【提示】本实验属于多分支结构。
【提高题】通过InputBox函数任意输入三条边长,经过简单的计算后,判断三条边长能否构成三角形,并在文本框中显示结果。
【提示】构成三角形,必须保证任意两边的和大于第三边位。
要求将原来任意一个带区号的7位电话号码升到8位,在电话号码最前面加8。
c语言顺序结构程序实验报告
c语言顺序结构程序实验报告C语言顺序结构程序实验报告引言:C语言作为一种高级编程语言,具有广泛的应用领域。
在本次实验中,我们将学习和实践C语言中的顺序结构程序设计。
通过编写一系列的实验程序,我们将深入了解顺序结构的概念和原理,并掌握如何使用C语言编写简单的顺序结构程序。
实验目的:1. 了解顺序结构程序的概念和特点;2. 掌握C语言中的基本数据类型和变量的声明;3. 学习使用C语言中的输入输出函数;4. 熟悉C语言中的基本运算符和表达式;5. 掌握C语言中的条件语句和循环语句的使用。
实验步骤:1. 实验程序一:计算圆的面积和周长首先,我们需要声明一个常量PI,并定义一个变量radius用于存储圆的半径。
然后,通过输入函数获取用户输入的半径值,并使用相应的公式计算圆的面积和周长。
最后,通过输出函数将计算结果显示在屏幕上。
2. 实验程序二:华氏温度转换为摄氏温度在这个实验中,我们需要定义一个变量fahrenheit用于存储华氏温度的值。
然后,通过输入函数获取用户输入的华氏温度,并使用相应的公式将其转换为摄氏温度。
最后,通过输出函数将转换后的摄氏温度显示在屏幕上。
3. 实验程序三:判断一个数是否为偶数在这个实验中,我们需要定义一个变量num用于存储用户输入的数值。
然后,通过输入函数获取用户输入的数值,并使用条件语句判断该数是否为偶数。
最后,通过输出函数将判断结果显示在屏幕上。
4. 实验程序四:计算1到n的累加和在这个实验中,我们需要定义一个变量n用于存储用户输入的数值。
然后,通过输入函数获取用户输入的数值,并使用循环语句计算1到n的累加和。
最后,通过输出函数将计算结果显示在屏幕上。
实验结果与分析:通过以上实验程序的编写和运行,我们成功实现了顺序结构程序的设计。
在实验程序一中,我们计算了圆的面积和周长,通过输入函数获取用户输入的半径值,并使用相应的公式计算出了圆的面积和周长。
在实验程序二中,我们将华氏温度转换为摄氏温度,通过输入函数获取用户输入的华氏温度,并使用相应的公式将其转换为摄氏温度。
顺序程序设计实验报告
一、实验目的1. 理解顺序结构程序设计的基本概念和原理。
2. 掌握顺序结构程序设计的基本方法和步骤。
3. 通过实际编程,提高程序设计能力和逻辑思维能力。
二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C++三、实验内容本次实验主要涉及顺序结构程序设计,包括以下内容:1. 输入输出操作2. 数据类型和变量3. 运算符和表达式4. 简单算法实现四、实验步骤1. 创建一个新的C++项目,命名为“顺序程序设计实验”。
2. 在项目中创建一个名为“main.cpp”的源文件。
3. 编写以下程序:```cpp#include <iostream>using namespace std;int main() {// 输入输出操作int a, b;cout << "请输入两个整数:" << endl;cin >> a >> b;cout << "第一个整数为:" << a << endl; cout << "第二个整数为:" << b << endl; // 数据类型和变量int sum = a + b;float average = (a + b) / 2.0;char grade = 'A';// 运算符和表达式int max = (a > b) ? a : b;int min = (a < b) ? a : b;// 简单算法实现if (sum > 10) {cout << "和大于10" << endl;} else {cout << "和小于等于10" << endl;}cout << "平均数为:" << average << endl; cout << "最大值为:" << max << endl;cout << "最小值为:" << min << endl;cout << "成绩为:" << grade << endl;return 0;}```4. 编译并运行程序,观察结果。
顺序结构程序设计实验报告
《汇编语言程序设计》实验报告实验名顺序结构程序设计实验室实验楼实验日期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)设计一个测试主函数进行测试。
三.实验要求(1)根据实验内容编写程序,上机调试并获得运行结果(2)撰写实验报告四.准备工作本次实验将会建立下图所示顺序栈,并会根据此顺序栈进行新增,删除等操作五.关键操作思路与算法(1)定义顺序栈利用顺序存储方式实现的栈称为顺序栈。
栈中的数据元素可用一个预设的足够长度的一维数组来实现:datatype data[MAXNUM],栈底位置一般设置在数组的低端处,在整个进栈和出栈的过程中不改变,而栈顶位置将随着数据元素进栈和出栈而变化,为了指明当前栈顶在数组中的位置,一般用top作为栈顶指针,算法如下;1.#define MAXNUM 1002.typedef int datatype;3.4.typedef struct{5. datatype data[MAXNUM];6.int top;7.}SeqStack;(2)置空栈算法思路;(1)向系统申请栈空间(2)初始化栈顶指针top,置空栈标志top=-1算法如下;1.void StackSetNull(SeqStack *s)2.{3. s->top=-1;4.}(3)判断是否为空栈算法如下;1.//判断栈是否为空2.int StackIsEmpty(SeqStack *s)3.{4.if(s->top == -1)5.return TRUE;6.else7.return FALSE;8.}9.}(4)入栈算法思路;(1)判断当前栈空间是否已满,若已满,则返回0,未满则转第(2步)(2)栈顶指针top++(3)将元素赋值到top所指位置作为新的栈顶元素,成功返回值1.算法如下;1.//进栈2.int StackPush(SeqStack *s,datatype x)3.{4.if(s->top==MAXNUM-1)5. {6. printf("栈上溢出!\n");7.return FALSE;8. }9.else10. {11. s->top=s->top+1;12. s->data[s->top]=x;13.return TRUE;14. }15.}(五)出栈算法思路;(1)判断当前栈空间是否为空,若为空,则返回0,不为空则转第(2步)(2)将top指针所指位置元素值取出(3)栈顶指针top--指向新的栈顶元素,成功返回值1.算法如下;1.//出栈2.int StackPop(SeqStack *s,datatype *x)3.{4.if(s->top==-1)5. {6. printf("栈下溢出!\n");7.return FALSE;8. }9.else10. {11. * x=s->data[s->top];12.//s->top=s->top-1;13. s->top --;14.return TRUE;15. }16.}(六)读栈顶元素算法如下;1.//读栈顶2.datatype StackGetTop(SeqStack *s)3.{4.if(s->top==-1)5. {6. printf("栈下溢出!\n");7.return FALSE;8. }9.else10.return (s->data[s->top]);11.}六.注意事项(1)置空栈需要向系统申请空间后再设置空栈标志,而判断空栈则无须申请空间直接判断空栈标志是否成立。
《高级语言程序设计A》实验指导书
实验指导书学院电子电气工程学院课程名称高级语言程序设计A课程代码020111课程学时48实验总学时16课程名称:高级语言程序设计A实验1 顺序结构程序设计实验2 选择结构程序设计实验3 循环结构程序设计实验4 数组程序设计实验实验5 字符数组程序设计实验6 函数程序设计实验7 指针程序设计实验8 结构体程序设计实验时间:第3,5,6,7,8,9,10,11 周1.掌握运行C程序的环境与方法。
2.掌握简单C程序的设计。
3.掌握基本输入输出格式的使用。
二、实验内容1.熟悉C的工作环境。
2.编译、运行C的源程序。
3.求两个数之和(静态输入和动态输入)。
在两种情况下完成:①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。
②数据通过scanf( )函数输入,注意变量前面的取地址符号。
4.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。
要求用scanf 输入数据,输出计算结果。
*5. 扩展:请编程序将“China”译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母。
分别用putchar函数和printf函数输出密码。
三、实验要求1.用VC++6.0 完成程序设计并上机调试通过。
2.掌握运行C程序的环境与方法3.掌握基本输入输出格式的使用。
四、实验设备1.硬件要求:每个学生每次上机实验使用一台计算机。
2.软件要求:Visual C++6.0和Windows系列操作系统五、实验报告要求1.实验报告用学校统一的实验报告纸书写。
2.记录实验数据。
3.提供源程序清单。
1.掌握关系表达式与逻辑表达式的使用2.掌握if语句、if-else语句、if-else if-else if... else语句的使用。
3.掌握switch语句的使用。
二、实验内容1.输入a、b、c三个整数,求出其中最大者,并连同三个源数据一起输出。
2.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
数据结构实验报告顺序表
数据结构实验报告顺序表数据结构实验报告:顺序表一、引言数据结构是计算机科学的重要基础,它研究数据的组织方式和操作方法。
顺序表是一种常见的数据结构,它以数组的形式存储数据元素,具有随机访问和插入删除方便的特点。
本实验旨在深入理解顺序表的实现原理和操作方法,并通过实验验证其性能。
二、实验目的1. 掌握顺序表的基本概念和实现原理;2. 熟悉顺序表的插入、删除、查找等操作;3. 分析顺序表的时间复杂度,并进行性能测试。
三、实验过程1. 顺序表的定义和初始化顺序表是一种线性表,它以一组连续的存储单元来存储数据元素。
在实验中,我们使用数组来实现顺序表。
首先,定义一个结构体来表示顺序表,包括数据元素和当前长度等信息。
然后,通过动态分配内存来初始化顺序表。
2. 插入元素顺序表的插入操作是将一个新元素插入到指定位置,同时移动后面的元素。
在实验中,我们可以通过循环将后面的元素依次向后移动,然后将新元素放入指定位置。
3. 删除元素顺序表的删除操作是将指定位置的元素删除,并将后面的元素依次向前移动。
在实验中,我们可以通过循环将后面的元素依次向前移动,然后将最后一个元素置为空。
4. 查找元素顺序表的查找操作是根据指定的值查找元素所在的位置。
在实验中,我们可以通过循环遍历顺序表,逐个比较元素的值,找到匹配的位置。
五、实验结果与分析在实验中,我们通过插入、删除、查找等操作对顺序表进行了测试,并记录了操作所需的时间。
通过分析实验结果,我们可以得出以下结论:1. 顺序表的插入操作的时间复杂度为O(n),其中n为元素的个数。
因为插入操作需要移动后面的元素,所以时间复杂度与元素个数成正比。
2. 顺序表的删除操作的时间复杂度也为O(n),与插入操作相同,需要移动后面的元素。
3. 顺序表的查找操作的时间复杂度为O(n),需要逐个比较元素的值。
六、结论通过本次实验,我们深入理解了顺序表的实现原理和操作方法。
顺序表以数组的形式存储数据,具有随机访问和插入删除方便的特点。
《C程序设计》顺序结构程序设计实验报告
《C程序设计》顺序结构程序设计实验报告5. 编序C程序,实现将560分钟表示成**小时**分钟的形式输出。
6. 编序C程序,输入一个三位整数x(999=>x>=100),将其分解出百位、十位、个位,并求出各位之和以及各位之积。
7. 编序C程序,要求从键盘任意输入一个3位数的正整数,输出其逆序数(例如输入123,输出321)。
三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)(三)编写程序1.#include<stdio.h>int main(){printf("*************\n Very good!\n*************\n");return 0;}2.#include<stdio.h>int main(){float a,b,c,s;a=38.9;b=27.2;c=2*(a+b);s=a*b;printf("周¨¹长¡è是º?%f,面?积y是º?%f\n",c,s);return 0;}3.#include<stdio.h>int main(){int a,b;printf("输º?入¨?两¢?个?整?数ºy:êo\n");scanf("%d %d",&a,&b);int x,y,z,m;x=a+b;y=a-b;z=a*b;m=a/b;printf("两¢?个?数ºy的Ì?和¨ª是º?%d,差?是º?%d,积y是º?%d,商¦¨¬是º?%d\n",x,y,z,m);return 0;}#include<stdio.h>#define PI 3.14int main(){float r,v;printf("请?输º?入¨?球¨°的Ì?半ã?径?:\n");scanf("%f",&r);v=4*PI*r*r*r/3;printf("球¨°的Ì?体¬?积y是º?%f\n",v);return 0;}5.#include<stdio.h>int main(){int a,b,c;a=560;b=a/60;c=a%60;printf("%d小?时º¡À,ê?%d分¤?钟¨®\n",b,c);return 0;6. #include<stdio.h>int main(){int a,b,c,d;int x,y;printf("请?输º?入¨?一°?个?三¨y位?数ºy:êo\n");scanf("%d",&a);b=a/100;c=a/10%10;d=a%10;x=b+c+d;y=b*c*d;printf("百㨴位?是º?%d,十º?位?是º?%d,个?位?是º?%d,个?位?之?和¨ª是º?%d,各¡Â位?之?积y 是º?%d\n",b,c,d,x,y);return 0;}7. #include<stdio.h>int main(){int a,b,c;int x,y;scanf("%d",&x);a=x/100;b=x/10%10;c=x%10;y=c*100+b*10+a;printf("%d\n",y);return 0;}四、实验总结:(实验中遇到的问题及解决方法,心得体会等)对于代码不熟悉,写代码速度慢,应在敲代码上花时间。
数据结构实验报告顺序表
数据结构实验报告顺序表数据结构实验报告:顺序表摘要:顺序表是一种基本的数据结构,它通过一组连续的存储单元来存储线性表中的数据元素。
在本次实验中,我们将通过实验来探索顺序表的基本操作和特性,包括插入、删除、查找等操作,以及顺序表的优缺点和应用场景。
一、实验目的1. 理解顺序表的概念和特点;2. 掌握顺序表的基本操作;3. 了解顺序表的优缺点及应用场景。
二、实验内容1. 实现顺序表的初始化操作;2. 实现顺序表的插入操作;3. 实现顺序表的删除操作;4. 实现顺序表的查找操作;5. 对比顺序表和链表的优缺点;6. 分析顺序表的应用场景。
三、实验步骤与结果1. 顺序表的初始化操作在实验中,我们首先定义了顺序表的结构体,并实现了初始化操作,即分配一定大小的存储空间,并将表的长度设为0,表示表中暂时没有元素。
2. 顺序表的插入操作接下来,我们实现了顺序表的插入操作。
通过将插入位置后的元素依次向后移动一位,然后将新元素插入到指定位置,来实现插入操作。
我们测试了在表中插入新元素的情况,并验证了插入操作的正确性。
3. 顺序表的删除操作然后,我们实现了顺序表的删除操作。
通过将删除位置后的元素依次向前移动一位,来实现删除操作。
我们测试了在表中删除元素的情况,并验证了删除操作的正确性。
4. 顺序表的查找操作最后,我们实现了顺序表的查找操作。
通过遍历表中的元素,来查找指定元素的位置。
我们测试了在表中查找元素的情况,并验证了查找操作的正确性。
四、实验总结通过本次实验,我们对顺序表的基本操作有了更深入的了解。
顺序表的插入、删除、查找等操作都是基于数组的操作,因此在插入和删除元素时,需要移动大量的元素,效率较低。
但是顺序表的优点是可以随机访问,查找效率较高。
在实际应用中,顺序表适合于元素数量不变或变化不大的情况,且需要频繁查找元素的场景。
综上所述,顺序表是一种基本的数据结构,我们通过本次实验对其有了更深入的了解,掌握了顺序表的基本操作,并了解了其优缺点及应用场景。
《C语言程序设计实验》指导书(实验1~6)
《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)[验证型]编辑下列程序,进行编译、连接和运行。
顺序结构实验报告
实验名称:顺序结构实验实验日期:2023年4月10日实验地点:XX大学物理实验室实验目的:1. 了解顺序结构的定义和特点。
2. 掌握顺序结构的实现方法。
3. 通过实验验证顺序结构的正确性和效率。
实验原理:顺序结构是程序设计中的一种基本结构,它按照语句书写的顺序依次执行。
顺序结构的特点是简单、直观,但执行效率相对较低。
在程序设计中,顺序结构常用于实现简单的逻辑操作。
实验器材:1. 电脑一台2. 编程软件(如Visual Studio、Eclipse等)3. 实验指导书实验步骤:1. 启动编程软件,创建一个新的项目。
2. 在项目中创建一个新的C++源文件,命名为“顺序结构实验.cpp”。
3. 编写以下顺序结构代码:```cpp#include <iostream>using namespace std;int main() {int a = 10;int b = 20;int sum;sum = a + b;cout << "两个数的和为:" << sum << endl;return 0;}```4. 编译并运行程序,观察输出结果。
5. 修改代码中的数值,观察程序输出结果的变化。
6. 分析程序执行过程,验证顺序结构的正确性和效率。
实验结果与分析:1. 编译并运行程序后,输出结果为:“两个数的和为:30”。
2. 当修改代码中的数值时,程序输出结果也会相应地改变。
3. 通过观察程序执行过程,发现程序按照语句书写的顺序依次执行,实现了顺序结构的功能。
实验结论:1. 顺序结构是程序设计中的一种基本结构,按照语句书写的顺序依次执行。
2. 顺序结构简单、直观,但执行效率相对较低。
3. 通过实验验证了顺序结构的正确性和效率。
实验心得:1. 通过本次实验,我对顺序结构有了更深入的了解。
2. 实验过程中,我学会了如何编写顺序结构代码,并掌握了程序调试的方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:顺序结构程序设计成绩:
实验日期:年月日实验报告日期:年月日
一、实验目的
1、掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。
2、初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。
二、实验内容
在Turbo C下完成程序题:
(1)根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后2位)
float c0,s0,s,v;
printf("Input r,h(m):");
scanf("%f,%f",&r,&h);
c0=2*pi*r;
s0=pi*r*r;
s=
v=
printf("c0=%.3f(m)\ns0=%.3f(m2)\ns=%.3f(m2)\nv=%.3f(m3)\n",c0,s0,s,v);
fee=price*(1-discount/100);
}
运行:
Input Price,Discount:<CR>
Fee=
注:下划线表示程序运行后用户输入的数据,<CR>表示回车,以后不再解释。
2、根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积
程序
void main()
{
float r,h,pi=3.1415926;
(2)根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积(结果精确到小数点后3位)
注:变量名可以自由选择,以易于理解为原则;数据由键盘输入。
三、实验要求
1、实验前编制程序框图、编写源程序、准备测试数据。
2、实验测试数据要求从键盘输入。应尽力追求程序的完美。比如要求输入数据,应当显示提示字符串,提示用户输入;输出时要求有文字说明。
七、实验小结和思考
若scanf("%f,%f",&price,&discount);如何输入两个数据?
答:
3、在Turbo C下完成程序的编辑、编译、运行,获得程序结果。如果结果有误,应找出原因,并设法更正之。
4、编制的程序必须保存在D:\用户目录中。注:用户目录可以用学号或姓名拼音简写。
四、实验步骤、过程
1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。(方法、命令与实验1相同)
2、启动ቤተ መጻሕፍቲ ባይዱurbo C集成开发环境。(方法与实验1相同)
3、完成2个程序题。(编辑、保存、编译连接、运行程序,步骤与实验1相同)
4、退出Turbo C集成开发环境,关机。
五、源程序清单、测试数据、结果。
1、根据商品原价和折扣率,计算商品的实际售价
程序框图:
程序
main()
{
float price,discount,fee;
printf("Input Price,Discount:");
}
运行:
Input r,h(m):1,2<CR>
c0=6.283(m)
s0=3.142(m2)
s=18.850(m2)
v=6.283(m3)
六、实验出现的问题、实验结果分析
1、C语言变量先定义后使用,变量名大小写敏感。
2、scanf输入数据,变量应当使用取地址运算。
3、scanf函数格式字符串中的普通字符要原样输入,否则会发生错误。