实验二 数据类型及顺序结构
- 格式:doc
- 大小:25.00 KB
- 文档页数:2
《C语言程序设计》实验报告----------------------------------------------------------------------------------------------实验2顺序结构程序设计一、实验目的(1)掌握C语言中赋值语句的使用方法。
(2)掌握各种类型数据的输入与输出方法,能正确使用各种格式转换符。
(3)掌握C语言的顺序结构程序设计。
二、实验内容与步骤1.输入程序,观察程序运行结果(1)输入并运行下面的程序,掌握用scanf()函数输入多个整型数据时,格式说明中无分隔符的正确使用。
/*c2-1.c*/#include<stdio.h>int main(){int i,j;printf("Enter i,j\n");scanf("%d%d",&i,&j);printf("i=%d,j=%d\n",i,j);return 0;}总结与反思:1.printf("E nter i,j\n");语句是对下面的输入语句起提示作用;2.本题在scanf()语句中,输入两个整数之间可用空格、Tab或回车键分隔,但用其他的分隔符不能得到正确的值。
(2)输入并运行下面的程序,掌握用scanf()函数输入多个整型数据时,格式说明中逗号分隔符的正确使用。
/*c2-2.c*/#include<stdio.h>int main(){int i,j;printf("Enter i,j\n");scanf("%d,%d",&i,&j);printf("i=%d,j=%d\n",i,j);return 0;}总结与反思:本题在scanf()语句中,输入两个整数之间必须用逗号分割,用其他的分隔符时第一个变量能得到正确的值,第二个变量不能得到正确的值。
数据结构实验报告数据结构实验报告引言:数据结构是计算机科学中的重要概念,它研究如何组织和存储数据,以便更高效地进行操作和处理。
在本次实验中,我们将探索几种常见的数据结构,并通过实际操作来加深对其原理和应用的理解。
一、线性表线性表是最简单的数据结构之一,它由一系列具有相同数据类型的元素组成,这些元素按照线性的顺序排列。
我们在实验中使用了顺序表和链表两种实现方式。
1.1 顺序表顺序表是一种基于数组的实现方式,它将元素按照顺序存储在连续的内存空间中。
我们通过实验发现,顺序表在随机访问和插入删除操作方面具有较好的性能,但当元素数量超过数组容量时,需要进行扩容操作,而且插入和删除元素时需要移动其他元素,效率较低。
1.2 链表链表是一种基于指针的实现方式,它将元素存储在不连续的内存空间中,并通过指针将这些元素连接起来。
链表在插入删除操作方面具有较好的性能,但随机访问元素时需要遍历整个链表,效率较低。
我们通过实验发现,单向链表和双向链表在不同场景下有不同的应用优势。
二、栈和队列栈和队列是两种常见的线性数据结构,它们都具有特定的操作规则。
2.1 栈栈是一种后进先出(Last In First Out,LIFO)的数据结构,类似于现实生活中的弹夹。
我们通过实验发现,栈在递归、表达式求值和括号匹配等场景下有广泛的应用。
2.2 队列队列是一种先进先出(First In First Out,FIFO)的数据结构,类似于现实生活中的排队。
我们通过实验发现,队列在模拟系统、任务调度和缓冲区管理等场景下有广泛的应用。
三、树和图树和图是两种非线性的数据结构,它们通过节点和边的连接关系来表示数据之间的关系。
3.1 树树是一种层次结构的数据结构,它由根节点和若干子树组成。
我们通过实验发现,二叉树、平衡二叉树和堆在搜索、排序和优先级队列等场景下有广泛的应用。
3.2 图图是一种由节点和边组成的数据结构,它可以表示各种复杂的关系。
我们通过实验发现,图在社交网络、路径规划和最小生成树等场景下有广泛的应用。
Python程序设计实验报告二顺序结构程序设计Python程序设计实验报告二:顺序结构程序设计一、实验目的本实验旨在通过编写Python程序,熟悉和掌握顺序结构程序设计的基本方法和技巧,加深对变量、表达式、数据类型以及基本输入输出的理解。
二、实验内容本次实验要求编写一个Python程序,实现以下功能:1. 提示用户输入一个年份,并将其存储到一个变量中。
2. 根据给定年份,计算该年份是否为闰年,并将计算结果存储到一个变量中。
3. 提示用户输入一个月份,并将其存储到一个变量中。
4. 根据给定月份,计算该月份有多少天,并将计算结果存储到一个变量中。
5. 输出计算结果,告诉用户给定年份是否为闰年,以及给定月份有多少天。
三、实验步骤下面是程序的详细步骤:1. 使用input函数提示用户输入一个年份,并将用户输入的值存储到一个名为year的变量中。
2. 根据闰年的定义,判断年份是否为闰年。
判断的条件是:年份能够被4整除但不能被100整除,或者能够被400整除。
如果年份是闰年,则将一个名为is_leap_year的变量设为True,否则设为False。
3. 使用input函数提示用户输入一个月份,并将用户输入的值存储到一个名为month的变量中。
4. 使用if语句判断月份,根据月份的不同,设置一个名为days的变量,表示给定月份的天数。
根据不同的情况,设置不同的值。
5. 使用print函数输出计算结果,告诉用户给定年份是否为闰年以及给定月份有多少天。
输出的格式为:“给定的年份XX是闰年/不是闰年,给定的月份XX有XX天。
”四、实验代码下面是按照顺序结构程序设计的要求,编写的Python程序:```# 提示用户输入年份year = int(input("请输入一个年份:"))# 判断年份是否为闰年if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:is_leap_year = Trueelse:is_leap_year = False# 提示用户输入月份month = int(input("请输入一个月份:"))# 根据月份计算天数if month in [1, 3, 5, 7, 8, 10, 12]:days = 31elif month == 2:if is_leap_year:days = 29else:days = 28else:days = 30# 输出计算结果print("给定的年份", year, "是闰年" if is_leap_year else "不是闰年", ",给定的月份", month, "有", days, "天。
实验二顺序结构程序设计
一、实验目的
1、掌握汇编语言程序的框架结构。
2、掌握顺序结构程序的编写。
3、进一步掌握调试DEBUG的使用(D命令的使用)。
二、实验内容
任务1、编写计算Z=(X*X-3*Y)/3的程序。
设X,Y,Z均为单字节整数。
相关变量定义如下数据段所示:
DA TA SEGMENT;数据段
X DB 25 ;定义变量字节X
Y DB 32
Z DB ?
DA TA ENDS
提示:结果应该为B0
任务2、编写一个程序求一个十六进制数字的ASCII码,如:数字0的ASCII码是30H,9的ASCII 码是39H,A的ASCII码是41H,设NUM为字节变量,其值为一个十六进制数字,求出其ASCII 码,然后存到字节变量NUM_ASC中,相关变量定义如下数据段所示(变量TABLE_ASC中存的是十六进制数字0~F的ASCII码):
DA TA SEGMENT
TABLE_ASC DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H NUM DB 3H
NUM_ASC DB ?
DA TA ENDS
提示:比如:3的ASCII码33H在TABLE_ASC中的偏移地址正好等于TABLE_ASC的偏移地址加3;9的ASCII码39H在TABLE_ASC中的偏移地址正好等于TABLE_ASC的偏移地址加9;E的ASCII码45H在TABLE_ASC中的偏移地址正好等于TABLE_ASC的偏移地址加0EH;……
【补充】:求出一个十六进制数字的ASCII码后,若进一步调用INT 21H的2号功能,屏幕上将输出该十六进制数字。
数据结构实验二数据结构实验二:线性表的顺序存储结构实现一、实验目的本实验旨在通过实践,掌握线性表的顺序存储结构实现方法,加深对数据结构中线性表概念的理解,以及顺序存储结构的特点和操作。
二、实验内容1. 了解线性表的顺序存储结构的定义和特点;2. 设计并实现线性表的顺序存储结构的初始化操作;3. 设计并实现线性表的顺序存储结构的插入操作;4. 设计并实现线性表的顺序存储结构的删除操作;5. 设计并实现线性表的顺序存储结构的查找操作;6. 设计并实现线性表的顺序存储结构的修改操作;7. 设计并实现线性表的顺序存储结构的打印操作;8. 编写测试用例,验证线性表的顺序存储结构的各项操作是否正确。
三、实验步骤1. 定义线性表的顺序存储结构,包括表头指针、表长度和表最大容量等成员变量;2. 实现线性表的顺序存储结构的初始化操作,包括动态分配内存空间、初始化表头指针、表长度和表最大容量等;3. 实现线性表的顺序存储结构的插入操作,包括判断插入位置的合法性、移动元素、插入新元素等;4. 实现线性表的顺序存储结构的删除操作,包括判断删除位置的合法性、移动元素、修改表长度等;5. 实现线性表的顺序存储结构的查找操作,包括按值查找和按位置查找两种方式;6. 实现线性表的顺序存储结构的修改操作,包括判断修改位置的合法性、修改元素值等;7. 实现线性表的顺序存储结构的打印操作,按照从头到尾的顺序输出线性表中的元素;8. 编写测试用例,包括插入、删除、查找、修改和打印等操作的测试,验证线性表的顺序存储结构的正确性。
四、实验结果经过测试,线性表的顺序存储结构实现了初始化、插入、删除、查找、修改和打印等操作,并且各项操作的结果与预期一致。
五、实验总结通过本次实验,我深入理解了线性表的顺序存储结构的实现原理和操作方法。
顺序存储结构具有随机访问的优点,但插入和删除操作需要移动大量元素,效率较低。
在实际应用中,需要根据具体场景选择合适的存储结构。
【关键字】结构c语言顺序结构实验报告篇一:实验三顺序结构程序设计实验报告实验三顺序结构程序设计实验报告一、实验目的1. 掌握掌握赋值语句的使用方法。
2. 各种类型数据的输入输出的方法,能正确使用各种格式转换符。
3. 进一步掌握编写程序和调试程序的方法。
2、实验内容(源代码)1. sy3-(1) ①#includeint main() { int a,b;//基本整型float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62; c1='a';c2='b';//'a''b'的"'"不能掉了d=3.56;e=-6.87; //d,e之间用";"隔开f=3157.890121;g=0.9; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/" printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q); //f后的q改为g}③#includeint main() {int a,b;//基本整型float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62;c1=a;c2=b; //c1,c2之间用";"隔开f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/"printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q); //f后的q改为g④#includeint main() {int a,b;//基本整型float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62;c1=a;c2=b; //c1,c2之间用";"隔开f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%d,c2=%d\nd=%d,e=%d\n",sizeof(a),sizeof(b),sizeof(c1),sizeof(c2),sizeof (d),sizeof(e));printf("f=%d,g=%d\nm=%d,n=%d\np=%d,q=%d\n",sizeof(f),sizeof(g),sizeof(m),sizeof(n),sizeof(p), sizeof(q));}2. sy3-(2)#include int main() {float h,r,c,s1,s2,v1,v2; //定义float pi=3.1415926; //赋值printf("圆半径r=,圆柱高h=:");//提示scanf("%f,%f",&r,&h); //输入c=2*pi*r; //计算s1=pi*r*r;//"*"不可省略s2=4*s1;v1=4.0/3.0*s1*r; v2=s1*h;printf("圆周长:c=%6.2f\n",c); //输出printf("圆面积:s1=%6.2f\n",s1);printf("圆球表面积:s2=%6.2f\n",s2); printf("圆球体积:v1=%6.2f\n",v1); printf("圆柱体积:v2=%6.2f\n",v2); return 0;}3. sy3-(3)#include#include //不要忘了数学函数int main() {float p,r5,r3,r2,r1,r0,p1,p2,p3,p4,p5; //定义p=1000;//赋值printf("r5=,r3=,r2=,r1=,r0=:");//提示scanf("%f,%f,%f,%f,%f",&r5,&r3,&r2,&r1,&r0); //输入p1=p*r5*5; //计算}p2=p*(1+2*r2)*(1+3*r3)-p; p3=p*(1+3*r3)*(1+2*r2)-p; p4=p*pow(1+r1,5)-p; p5=p*pow(1+r0/4,20)-p;printf("方案1的利息:p1=%f\n",p1); //输出printf("方案2的利息:p2=%f\n",p2); printf("方案3的利息:p3=%f\n",p3); printf("方案4的利息:p4=%f\n",p4); printf("方案5的利息:p5=%f\n",p5); return 0;4. sy3-(4)① #include int main() {char c1='C',c2='h',c3='i',c4='n',c5='a';//定义与赋值c1=c1+4;//计算c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略return 0;② #include int main(){ }char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值c1=c1-22;//计算c2=c2-22; c3=c3-22; c4=c4-22; c5=c5-22;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略return 0;③ #include int main(){char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值c1=c1-4;//计算c2=c2-4; c3=c3-4; c4=c4-4; c5=c5-4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略return 0;}篇二:C语言实验二程序、总结顺序结构与输入、输出方法实验二顺序结构与输入/输出方法1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算符的使用。
实验二顺序结构程序设计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.实验目的1、掌握char 型数据和int型数据之间的互相转换,同时了解Unicode字符表;2、掌握从键盘为简单型变量输入数据;3、学习掌握使用数组处理大整型数据的加法。
2.实验内容1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。
1)实验1 输出特殊偏旁的汉字2)实验2 输入、输出学生的基本信息3)实验3 超大整数的加法4)实验4 输出希腊字母表2、根据要求完成下列任务。
1)下列哪些变量名是合法的?Ab?1, @abc , lname, _int, $25, private, ab*5, #abc2)写出以下表达式的值:知识点:运算符, 表达式, 运算符的优先级(1)int a = 2, b = 3, c;c = a / b * 8;(2)float a = 3.0F, b;b = a / 0;(3)double a = 3.0, k;Int b = 3, c = 2;k = a / c + b / c;(4)int a = 3, b = 6, c;c = (a++) + (++b) + a * 2 + b * 4;(5)int a = 10, b=3, c;c = ((a % b) == 0) ? ++a * 2:++b * 2;(6)int a = 5,b ;b = 5 << 2;(7)int a = 0, b = 12345, c = 0xffffffff, d, e, f;d = a & b;e = a | b;f = b & c;3)写出以下程序的运行结果:public class Test {public static void main (String args[]) {float a = 3.25F, b= -2.5F;int c , d;c = (int) (a * b);d = (byte) 386;System.out.println(“c=c” + c);System.out.println(“d=” +d);}}3、按要求编写程序:1)编写一个Java应用程序,在主类的main方法中声明用于存放矩形的宽和高的2个double型变量:width、height以及存放矩形面积的double 型变量area。
实验项目二 顺序程序设计【实验目的】1. 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
2. 掌握不同数据类型之间赋值的规律。
3. 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。
4. 掌握C语言中使用最多的一种语句――赋值语句的使用方法。
5. 掌握各种类型数据的输入输出方法,能正确使用各种格式输出符。
6. 会读懂现有程序,在程序中会找出错误并改错【实验原理】计算机语言提供3种基本控制结构——顺序结构、分支结构和循环结构。
通过3种基本结构可解决任何复杂问题,而且编写出来的程序清晰可读又便于理解,所以把这样的程序设计称为结构化程序设计。
一个C 语言程序是由若干函数组成,其中有且只有一个主函数main()。
C 语言中的语句是向计算机系统发出的操作指令。
语句出现在函数体内定义部分之后。
编写的程序在执行时是根据语句出现的顺序逐条执行,这种程序结构为顺序结构。
顺序结构中的每条语句都被执行一次,而且只能被执行一次。
这种结构是程序设计中最简单的一种结构。
【实验内容】1. 完成实训2.1:下面的程序可以把摄氏温度c 转化为华氏温度f ,转化公式为3259+⋅=c f ,程序中有多处错误,请改正错误后运行正确的程序。
#include <stdio.h>main{ float c=0, F=0;printf (“Input c : “)scanf (“ %f “, c ) ;f= (9/5) . c +32;print ( “ c = % f , f = % f \n “ , & c , & f ) ;}提示:使用输入输出函数时,各参数的书写形式要正确;两个整数相除,其运算结果也是整形。
2. 完成实训2.2:输入并运行下面的程序#include<stdio.h>void main(){char c1,c2;c1='a';c2='b';printf("%c %c",c1,c2);}(1)运行此程序(2)加入下面的一个语句作为“}”前的最后一个语句:printf("%d,%d\n",c1,c2);(3)将第3行改为:int c1,c2;然后再运行程序,并观察结果是否相同。
实验二数据类型及顺序结构
一、实验目的
1.进一步熟悉TC环境的使用方法。
2.学习C语言赋值语句和基本输入输出函数的使用。
3.编写顺序结构程序并运行。
4.了解数据类型在程序设计语言中的意义。
二、实验内容
1.编程序,输出如下图形:
* *
** **
*** ***
********
2.编写程序,实现下面的输出格式和结果( 表示空格):a= 5,b= 7,a-b=-2,a/b= 71%
c1=COMPUTER,c2=COMP ,c3= COMP
x=31.19,y= -31.2,z=31.1900
s=3.11900e+002,t= -3.12e+001
3.编写程序,输入变量x值,输出变量y的值,并分析输出结果。
⑴ y = 2.4 * x - 1 / 2
⑵ y = x % 2 / 5 – x
⑶ y = x > 10 && x < 100
⑷ y = x >= 10 || x<= 1
⑸ y = ( x -= x * 10 , x /= 10 )
要求变量x、y是float型。
4. 调试下列程序,使之能正确输出3个整数之和及3个整数之积。
main( )
{ int a,b,c;
printf("Please enter 3 numbers:");
scanf("%d,%d,%d",&a,&b,&c);
ab=a+b;
ac=a*c;
printf("a+b+c=%d\n",a+b+c);
printf("a*b*c=%d\n",a+c*b);
}
输入:40,50,60↙
5.运行下述程序,分析输出结果。
main( )
{ int a=10;
long int b=10;
float x=10.0;
double y=10.0;
printf("a = %d, b = %ld, x = %f, y = %lf\n",a,b,x,y);
printf("a = %ld, b = %d, x = %lf, y = %f\n",a,b,x,y);
printf("x = %f, x = %e, x = %g\n",x,x,x);
}
从此题的输出结果认识各种数据类型在内存的存储方式。
三、实验要求
1.复习赋值语句和输入输出函数各种格式符的使用。
2.复习数据类型和运算符的有关概念。
3.编写程序,运行程序并记录运行结果。
4.将源程序、目标文件、可执行文件和实验报告存在软盘上。
四、选做题
输入圆半径(5)和圆心角(600),输出圆的周长、面积和扇形周长。