实验3数据的输入与输出
- 格式:doc
- 大小:148.50 KB
- 文档页数:6
一、实验目的1. 掌握简单的程序设计,能正确写出顺序结构的源程序。
2. 掌握数据的输入输出方法,能正确使用各种格式转换符。
二、实验内容(程序清单及运行结果)(一)阅读程序1.先读下列程序,写出程序运算结果,再将该程序输入并运行,观察运行结果与你所写的结果是否相同。
①int main(){ int x,y,z;x=y=2;z=3;y=x++-1; printf("%d\t%d\t",x,y);y=++x-1; printf("%d\t%d\t",x,y);y=z--+1; printf("%d\t%d\t",z,y);y=--z+1; printf("%d\t%d\n",z,y);return 0;}②int main(){ char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("\tb%c%c",c4,c5);return 0;}2.以下各程序需要输入数据,请写出输入数据的格式和变量的值并上机验证。
①#include <stdio.h>int main(){ int a,b,c;printf("input a,b,c\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d",a,b,c);return 0;}②main(){ int i, j;printf("i, j=?\n");scanf("%d, %d", &i, &j);}③scanf(“%d,%*d,%d”,&a,&b);若输入:3,4,5a=? b=?④scanf(“%3d%2d”,&a,&b);若输入:12345a=?b=?⑤按格式要求输入/输出数据#include "stdio.h"int main(){ int a,b;float x,y;char c1,c2;scanf(“a=%d,b=%d”,&a,&b);scanf(“%f, %e”,&x,&y);getchar();scanf(“%c %c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);return 0;}运行该程序,必须按如下方式在键盘上输入数据a=3,b=7 ↙8.5,71.82 ↙a A ↙请同学们写出输出结果(二)完成程序要求:按照给定题目要求,参照出现的语句,填写程序空白处。
实验三组合逻辑电路应用——译码器、数据选择器
译码器和数据选择器是现代数字电子学中常用的两种组合逻辑电路。
它们可以将输入
的二进制信号转换为对应的输出信号,并且在数字电路中具有广泛的应用。
一、译码器
译码器是一种将输入的二进制信号转换成对应输出信号的数字电路。
译码器的作用是
将输入的地址码转换成溢出电路所能识别的控制信号,通常用来将不同的地址码映射到不
同的设备或功能上。
比如在存储器系统中,根据不同地址码,从RAM或者ROM中取出相应
的数据或指令。
除此之外,译码器还可以用于数据压缩、解码、解密等领域。
在一些数字电路中,译
码器还可以充当多路复用器、选择器等电路的功能。
译码器的分类按照其输入和输出的码制不同,可以分为译码器、BCD译码器、灰码译
码器等。
其中,最常见的是2-4译码器、3-8译码器、4-16译码器等。
二、数据选择器
数据选择器是一种多路选择器,根据控制信号选择输入端中的一个数据输出到输出端。
选择器的控制信号通常由一个二进制码输入到它的控制端,二进制码的大小由选择器的通
道数决定。
数据选择器广泛用于控制、多媒体处理、信号处理等方面。
数据选择器与译码器相比,最主要的区别在于其输出可以不仅限于数字信号。
数据选
择器可以处理模拟信号、复合信号等多种形式的信号,因为它可以作用于信号的幅度、相位、频率等方面。
数据选择器按照输入和输出的端口取数的不同,可以分为单路选择器和多路选择器。
常见的有2-1选择器、4-1选择器、8-1选择器、16-1选择器等。
实验三、四 创建表及输入数据及完整性约束本实验需要4学时。
一、实验目的要求学生熟练掌握和使用Transact-SQL、SQL Server企业管理器创建表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。
学生熟练掌握使用 SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。
二、实验内容1 创建表、确定表的主码和约束条件。
为主码建索引。
2 查看和修改表结构。
3 输入数据、修改数据和删除数据三、实验步骤(1)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为;图书(书号,类别,出版社,作者,书名,定价,作者).读者(编号,姓名,单位,性别,电话).借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。
(2)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。
(3)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。
要求记录不仅满足数据约束要求.还要有表间关联的记录。
(4)通过企业管理器实现对图书借阅数据库的图书、读者和借阅3个表中数据的插入。
删除和修改操作。
(5)通过企业管理器实现对学生选课库的数据增加、数据删除和数据修改操作、要求学生、课程和选课表中各有10条以上的记录。
四、实验方法1 新建表在 SQL Serve 2000的数据库中,文件夹是按数据库对象的类型建立的.文件夹名是该数据库对象名。
当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的图书.读者数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。
第四周作业1. 若有以下变量声明:char ch=’e’;int a=3,b=12345;unsigned c=65534;long d=123456;float e=3.12;double f=5.6789;如果想要得到以下的输出结果,请写出相应的程序。
(凵表示空格,程序保存为3b_1.c)ch=’e’凵or凵101(ASCII)a=凵凵凵凵凵3凵b=012345c=65534;c=fffe;c=FFFE%d=123456%e=3.120000\f=5.678900e=3.1凵凵凵凵凵f=5.7凵凵凵凵凵2. 使用下面程序来输入数据,要使x=5,u=40000,t=65537,ch1=’m’,ch2=’n’,a=-123.456,b=123456.789。
请写出正确的键盘输入形式,并自行添加输出语句验证。
(凵表示空格,将程序正确运行时键盘需要输入的所有内容保存为3b_2.txt)#include <stdio.h>int main(void){int x;unsigned u;long t;char ch1,ch2;float a;double b;scanf(“%d%u”,&x,&u);scanf(“凵t=%lx”,&t);scanf(“凵%c%c”,&ch1,&ch2); /* 第一个%前有一个空格*/scanf(“凵a=%e,b=%lf”,&a,&b);}3. 假设现有的变量类型与上题一样,所有的变量也想获得同样的值。
实际的键盘输入形式如下,请写出相应的scanf语句。
(凵表示空格, ↵表示Enter键,程序保存为3b_3.c)5凵凵凵40000↵65537↵m凵n↵-123.456,b=123456.789↵4.编写求梯形面积的程序,数据由键盘输入(程序保存为3b_4.c)。
5.输入两个复数,输出其和(程序保存为3b_5.c)假设有两个复数a+bi 和c+di,则他们的和为(a+c)+(b+d)i。
数字电路实验报告3实验目的本实验旨在通过实际操作,进一步了解数字电路中的加法器和减法器的基本原理,并通过观察和分析实验结果,加深对数字电路的理解。
实验原理加法器加法器是数字电路中常用的逻辑电路,用于将两个二进制数相加。
常见的加法器有半加法器、全加法器等。
在本实验中,我们将使用半加法器和全加法器来实现二进制数的加法运算。
半加法器是最基本的加法器,它只能实现1位二进制数的相加。
半加法器有两个输入端A和B,表示要相加的两个二进制位,以及两个输出端Sum和Carry,分别表示相加的结果和进位。
全加法器是在半加法器的基础上进行改进,可以实现多位二进制数的相加。
全加法器有三个输入端A、B和Carry-in,分别表示要相加的两个二进制位和进位。
它还有两个输出端Sum和Carry-out,分别表示相加的结果和进位。
减法器减法器是用于实现二进制数的减法运算的数字电路。
它可以将两个二进制数相减,并得到减法的结果。
在本实验中,我们将使用全减法器来实现二进制数的减法运算。
全减法器是将半减法器进行组合得到的。
它有三个输入端A、B和Borrow-in,分别表示被减数、减数和借位。
它还有两个输出端Diff和Borrow-out,分别表示减法的结果和借位。
实验步骤1.搭建半加法器电路:根据半加法器的原理图,使用逻辑门和触发器等器件,搭建一个半加法器电路。
2.连接输入端:将两个二进制数的相应位连接到半加法器电路的输入端A和B上。
3.连接输出端:将半加法器电路的输出端Sum和Carry连接到示波器上,用于观察结果。
4.输入数据:给输入端A和B分别输入二进制数,记录输入的数值。
5.观察结果:观察示波器上显示的结果,并记录下来。
6.分析结果:根据观察到的结果,分析二进制数的相加运算是否正确,以及进位是否正确。
7.搭建全加法器电路:根据全加法器的原理图,使用逻辑门和触发器等器件,搭建一个全加法器电路。
8.连接输入端:将两个二进制数的相应位和进位信号连接到全加法器电路的输入端A、B和Carry-in上。
实验一C程序设计入门1.编程输出‚我的信息‛;#include <stdio.h>main(){printf("My Information:\n");printf("姓名:李坤\n性别:女\n专业名称:通信工程\n课程名称:高级语言程序设计实验\n");}2.编程:定义一个名为all的整型变量并为其赋值100。
分别计算all 的两倍及其平方,用文字什么的输出结果;#include <stdio.h>main(){int all=100;int x,y;x=2*all;y=all*all;printf("all的两倍是:%d\n all的平方是:%d\n",x,y);}3.编程求以下表达式的值;#include <stdio.h>#include <math.h>main(){float x;x=23+(pow(16,2)-15)/(9+14);printf("x=%.4f\n",x);}4.编程计算以下表达式的值(要求:分别定义一个int和float类型的变量,计算的结果存入该二变量并输出,分析结果)#include <stdio.h>main(){int x;float y;x=3/2+4/3+5/4+6/5;y=3.0/2+4.0/3+5.0/4+6.0/5;printf("x=%d\ny=%.4f\n",x,y);}实验二数据类型、常量变量及顺序结构程序设计1.输入两个人的身高,计算并输出他们的平均身高。
(结果保留两位小数)#include <stdio.h>main(){float x,a,b;printf("Input the height:");scanf("%f%f",&a,&b);x=(a+b)/2;printf("The average height is:%.2f\n",x);}2。
实验十 参考答案(指针)三、实验内容( 按要求完善或设计以下程序,并调试分析运行结果)1. 程序填空题 给定程序BLACK10-1.C 中,函数fun 的功能是:将形参n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
【解题思路】第一处:t 是通过取模的方式来得到*n 的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n 来返回新数x ,所以应填:x 。
2. 程序改错题 给定程序MODI10-1.C 中函数fun 的功能是: 计算n 的5次方的值(规定n 的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。
例如,7的5次方是16807, 其低3位数的和值是15。
【解题思路】第一处:变量d 的初始值应为1。
第二处:整除的符号是 /。
3. 程序设计题 请编写函数fun ,它的功能是:求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。
例如,若 x 中的值为: 35,则有 4 个数符合要求,它们是: 1, 5, 7, 35。
【解题思路】本题是求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。
【参考答案】void fun ( int x, int pp[], int *n ){ int i; *n=0;for(i=1; i <= x; i++)if((x % i== 0) && (i % 2)) pp[(*n)++]=i;}4. 程序填空题 给定程序中,函数fun 的功能是:找出N ×N 矩阵中每列元素中的最大值,并按顺序依次存放于形参b 所指的一维数组中。
单⽚机实验P3.3输⼊、P1⼝输出和步进电机控制实验南昌航空⼤学实验报告⼆0⼀⼀年⼗⽉⼀⼗七⽇课程名称:单⽚微型机实验名称:P3.3输⼊、P1⼝输出和步进电机控制实验班级: 080611 学⽣姓名:学号: 08061108 指导教师评定:签名:⼀、实验⽬的1、掌握P3⼝、P1⼝简单使⽤;2、学习延时程序的编写和使⽤;3、了解步进电机控制的基本原理;4、掌握步进电机转动编程⽅法。
⼆、实验内容及要求1、P3.3输⼊、P1⼝输出实验1)P3.3⼝做输⼊⼝,外接⼀脉冲,每输⼊⼀个脉冲,P1⼝按⼗六进制加⼀。
P1⼝做输出⼝,编写程序,使P1⼝接的8个发光⼆极管L1—L8按16进制加⼀⽅式点亮发光⼆极管。
2)P1⼝是准双向⼝,它作为输出⼝时与⼀般的双向⼝使⽤⽅法相同,由准双向⼝结构可知:当P1⼝作为输⼊⼝时,必须先对它置⾼电平,使内部MOS管截⽌,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输⼊产⽣影响。
若不先对它置⾼,且原来是低电平,则MOS管导通,读⼊的数据是不正确的。
3)延时⼦程序的延时计算问题。
对于延时程序:DELAY :MOV R6, #00HDELAY1:MOV R7, #80HDJNZ R7, $DJNZ R6, DELAY1查指令表可知MOV、DJNZ指令均需⽤两个机器周期,⽽⼀个机器周期时间长度为12/ 6.0MHZ,所以该段指令执⾏时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms。
图1 P3.3输⼊、P1图2 实验电路原理图2、步进电机控制实验1)从键盘上输⼊正、反转命令,转速参数和转动步数显⽰在显⽰器上,CPU再读取显⽰器上显⽰的正、反转命令,转速级数(16级)和转动步数后执⾏。
转动步数减为零时停⽌转动。
2)步进电机驱动原理是通过对它每相线圈中的电流和顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。
实验三数据选择器及其应用一、实验目的(1)通过实验的方法学习数据选择器的电路结构和特点。
(2)掌握数据选择器的逻辑功能及其基本应用。
二、实验设备(1)数字电路实验箱(2)74LS00、74LS153三、实验原理数据选择器(Multiplexer)又称为多路开关, 是一种重要的组合逻辑部件, 它可以实现从多路数据中选择任何一路数据输出, 选择的控制由专门的端口编码决定, 称为地址码, 数据选择器可以完成很多的逻辑功能, 例如函数发生器、桶形移位器、并串转换器、波形产生器等。
本次实验使用的是双四选一数据选择器。
常见的双四选一数据选择器为TTL双极型数字集成逻辑电路74LS153, 它有两个4选1, 外形为双列直插, 引脚排列如图2.7.1所示, 逻辑符号如图2.7.2所示。
其中D0、D1、D2、D3为数据输入端, A0、A1为数据选择器的控制端(地址码), 同时控制两个选择器的数据输出, 为工作状态控制端(使能端), 74LS153的功能表见表2.7.1。
其中:图2.7.1 图2.7.2输入输出A1A01Q2Q 1X X000001D02D00011D12D10101D22D20111D32D3表 2.7.1(1)设计实验以A.B代表正、副指挥, C.D代表两名操作员, “1”代表通过, “0”代表没有通过。
F代表产生点火信号, “1”代表产生点火信号, “0”代表没有产生点火信号。
只有当A.B 同时为“1”, 且C和D中至少有一个为“1”时, 输出F才为“1”, 及连接在电路中的指示灯亮起, 否则, 指示灯不亮。
据此, 画出真值表如图:A B C D F00000000100010000110010000101001100011101000010010101001011011000110111110111111画出卡诺图:ABCD00 01 11 1000 01 11 100000 0010 0010 0010降维:ABC00 01 11 100 100D0 0010再降维:AB 0 10 100 0C+D因为, 所以可以用74LS00实现C和D的与, 然后将C+D输入数据选择器, 配合地址端的A.B, 即可实现预设功能。
实验八计数器一、实验目的1.熟悉由集成触发器构成的计数器电路及其工作原理。
2.熟悉掌握常用中规模集成电路计数器及其应用方法。
二、实验原理和电路所谓计数,就是统计脉冲的个数,计数器就是实现“计数”操作的时序逻辑电路。
计数器的应用十分广泛,不仅用来计数,也可用作分频、定时等。
计数器种类繁多。
根据计数体制的不同,计数器可分成二进制(即2”进制)计数器和非二进制计数器两大类。
在非二进制计数器中,最常用的是十进制计数器,其它的一般称为任意进制计数器。
根据计数器的增减趋势不同,计数器可分为加法计数器—随着计数脉冲的输入而递增计数的;减法计数器—随着计数脉冲的输入而递减的;可逆计数器—既可递增,也可递减的。
根据计数脉冲引入方式不同,计数器又可分为同步计数器—计数脉冲直接加到所有触发器的时钟脉冲(CP)输入端;异步计数器—计数脉冲不是直接加到所有触发器的时钟脉冲(CP)输入端。
1.异步二进制加法计数器异步二进制加法计数器是比较简单的。
图1.8.1(a)是由4个JK(选用双JK74LS112)触发器构成的4位二进制(十六进制)异步加法计数器,图1.8.1(b)和(c)分别为其状态图和波形图。
对于所得状态图和波形图可以这样理解:触发器FFO(最低位)在每个计数沿(CP)的下降沿(1 → 0)翻转,触发器FF1的C P端接FF0的Q0端,因而当FFO(Q O)由1→ 0时,FF1翻转。
类似地,当FF1(Q1)由1→0时,FF2翻转,FF2(Q2)由1→0时,FF3翻转。
4位二进制异步加法计数器从起始态0000到1111共十六个状态,因此,它是十六进制加法计数器,也称模16加法计数器(模M=16)。
从波形图可看到,Q0 的周期是CP周期的二倍;Q1是Q0的二倍,CP的四倍;Q2是Q1 的二倍,Q0的四倍,CP的八倍;Q3是Q2的二倍,Q1的四倍,Q0的八倍,CP的十六倍。
实验三 4.1 P3.3口输入、P1口输出实验系别专业:电子系12级电信2班学号:3121003210姓名:李书杰指导老师:刘志群老师4.1.1 实验要求1. 复习Keil C51调试硬件的操作方法。
2. 复习单片机作为通用I/O口的注意事项。
3. 复习单片机操作I/O口的程序设计方法。
4.1.2 实验设备PC 机一台,TD-NMC+教学实验系统4.1.3 实验目的1. 熟悉单片机仿真实验软件Keil C51调试硬件的方法。
2. 了解P3、P1口作通用I/O口的使用方法。
3. 掌握延时子程序的编写和使用方法。
4. 了解单片机对简单I/O的扩展方法。
4.1.4 实验内容实验1根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能:将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出控制发光二极管的亮灭。
程序如下:KEY:MOV P1,#0F0H ;令所有行为低电平KEY1:MOV R7,#0FFH ;设置计数常数DJNZ R7,KEY1 ;延时MOV A, P1 ;读取P1口的列值ANL A,#0F0H ;判别有键值按下吗?CPL A ;求反后,有高电平就有键按下JZ EKEY ;无键按下时退出LCALL DEL20 ms ;延时20 ms去抖动SKEY:MOV A,#00 ;下面进行行扫描,1行1行扫MOV R0,A ;R0作为行计数器,开始为0MOV R1,A ;R1作为列计数器,开始为0MOV R3 #0FEH ;R3暂存行扫描字,低4位为行扫描字SKEY2:MOV A,R3MOV P1,A ;输出行扫描字,高4位全1NOPNOPNOPMOV A,P1 ;读列值MOV R1,A ;暂存列值ANL A,#0F0H ;取列值CPL A ;高电平则有键闭合S123:JNZ SKEY3 ;有键按下转SKEY3INC R0 ;行计数器加1SETB C ;准备将行扫描左移1位,;形成下一行扫描字,C=1保证输出行扫描字中高4位全为1,;为列输入作准备,低4位中只有1位为0MOV A,R3 ;R3带进位C左移1位RLC AMOV R3,A ;形成下一行扫描字→R3MOV A,R0CJNE A,#04H,SKEY1 ;最后一行扫(4次)完了吗?EKEY:RET;列号译码SKEY3:MOV A,R1JNB ACC.4,SKEY5JNB ACC.5,SKEY6JNB ACC.6,SKEY7JNB ACC.7,SKEY8AJMP EKEYSKEY5:MOV A,#00HMOV R2,A ;存0列号AJMP DKEYSKEY6:MOV A,#01HMOV R2,A ;存1列号AJMP DKEYSKEY7:MOV A,#02HMOV R2,A ;存2列号AJMP DKEYSKEY8:MOV A,#03HMOV R2,A ;存3列号AJMP DKEY;键位置译码DKEY:MOV A,R0 ;取行号ACALL DECODEAJMP EKEY;键值(键号)译码DECODE:MOV A,R0 ;取行号送AMOV B,#04H ;每一行按键个数MUL AB ;行号×按键数ADD A,R2 ;行号×按键数+列号=键值RET实验2根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能:将P3.3口作状态输入口(接一个逻辑开关,即拨码开关),P1口做输入口(接八只发光二极管D0~D7)。
实验一:系统认识实验一、设计目的:1. 学习 Keil C51 集成开发环境的操作;2. 熟悉 TD-51 系统板的结构及使用。
二、设计内容:编写程序,将 00H~0FH 共 16 个数写入单片机内部 RAM 的 30H~3FH 空间。
三、设计步骤:1. 创建 Keil C51 应用程序(1)运行 Keil C51 软件,进入 Keil C51 集成开发环境。
(2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令,建立一个新的μVision2 工程。
这时会弹出文件保存对话框,选择工程目录并输入文件名 Asm1 后,单击保存。
(3)工程建立完毕后,μVision2 会马上弹出器件选择窗口。
器件选择的目的是告诉μVision2 使用的 80C51 芯片的型号是哪一个公司的哪一个型号,不同型号的 51 芯片内部资源是不同的。
此时选择 SST 公司的 SST89E554RC。
(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。
选择工具栏的 File 选项,在弹出的下拉菜单中选择 New 目录。
(5)输入程序,完毕后点击“保存”命令保存源程序,将 Text1 保存成Asm1.asm。
Keil C51 支持汇编和 C 语言,μVision2 会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM 或.C。
保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。
(6)程序文件建立后,并没有与 Asm1.Uv2 工程建立任何关系。
此时,需要将 Asm1.asm 源程序添加到 Asm1.Uv2 工程中,构成一个完整的工程项目。
在Project Window 窗口内,选中Source Group1 点击鼠标右键,选择 Add Files to Group‘Source Group1’命令,此时弹出添加源程序文件对话框,选择文件Asm1.asm,点击 Add 命令按钮即可将源程序文件添加到工程中。
实验3 最简单的C程序设计——顺序程序设计1.实验目的⑴掌握C语言中使用最多的一种语句——赋值语句的使用方法。
⑵掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
⑶进一步掌握编写程序和调试程序的方法。
2.实验内容和步骤⑴通过下面的程序掌握各种格式转化符的正确使用方法。
①输入以下程序:#include <stdio.h>int main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1='a';c2='b';d=3.56;e=-6.87;f=3157.890121;g=0.123456789;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); printf("f=%1.56f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q); }②运行此程序并分析结果。
解:运行时输出:③在此基础上,将程序第10—14行改为:c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,分析结果。
解:运行时输出:④用sizeof运算符分别检测程序中各类型的数据占多少字节。
例如,int型变量a的字节数为sizeof(a)或sizeof(int),用printf函数语句输出各类型变量的长度(字节数)。
解:sizeof(int) = 4sizeof(float) = 4;sizeof(double) = 8;sizeof(char) = 1;char *p;sizeof(p) = 4;sizeof(long) = 4;sizeof(unsigned int) = 4;⑵设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
实验三数据的输入与输出
一、实验目的
1.掌握Print方法的使用,尤其是各种输出格式的设置。
2.掌握InputBox函数的使用。
3.掌握MsgBox函数和MsgBox语句的使用。
二、实验内容
1.实验准备
在练习文件夹中建立vb3-1、vb3-2、vb3-3、vb3-4、vb3-5、vb3-6、vb3-7文件夹。
2.Print方法实验
例1:设计一个简单的VB程序。
程序运行时,单击窗体,分别用紧凑格式、标准格式和自定义格式,在窗体上输出打印项。
界面如下:
图打印格式实验窗体界面设计
(1)创建工程。
(2)建立用户界面在窗体下方画5个命令按钮,自左至右,名称依次为Command1 ~ Command5,如图所示。
(3)设置各对象的属性。
各控件主要属性的设置参见表。
表属性设置
对象属性属性值说明
Command1Caption紧凑格式标题
Command2Caption标准格式
Command3Caption自定义格式
Command4Caption换行
Command5Caption清除
(4)编写命令按钮的事件代码。
双击“紧凑格式”按钮,进入代码编写窗口,编写如下代码:
在输入以上代码时要注意区分中英文双引号。
中文标点只能作为字符串的一部分或出现在注释文字之中。
(5)调试运行程序。
单击菜单[运行]—[启动],或者单击工具栏的“启动”按钮,单击各个按钮,查看
效果。
如单击“标准格式”和“自定义格式”按钮后,效果如图所示。
图 Print输出效果
保存结果到练习文件夹中的vb3-1文件夹。
3.InputBox函数实验
例2:设计一个简单的VB程序,界面如下:
图 InputBox函数实验界面设计
(1)创建工程。
(2)建立用户界面。
各控件主要属性的设置参见表。
表属性设置
对象属性属性值说明
Form1Caption InputBox函数实验标题
Label1Caption串相加标题
Label2Caption数相加标题
Text1Text清空
Text2Text清空Command1Caption计算并输出标题
(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:
(4)调试运行程序。
单击“计算输出”按钮,弹出InputBox对话框,输入数据,如图所示,然后单击“确定”按钮或者直接回车。
两个数据都输入之后,返回到窗体,在两个文本框中可见到串相加和数相加的结果,如图所示。
图 InputBox函数实验数据输入
图 InputBox函数实验运行结果
保存结果到练习文件夹中的vb3-2文件夹。
4.MsgBox实验
例3:设计一个简单的VB程序。
输入一个字符,判断它是大写字母、小写字母、数字,还是其他符号。
程序代码如下:
(1)创建工程。
(2)双击窗体控件,切换到代码设计窗口,输入代码:
(3)调试运行程序。
运行调试:单击窗体,在输入对话框中输入一个字符,程
序将根据输入字符的类型,例如输入“H”后,MsgBox弹出如图
所示的对话框。
保存结果到练习文件夹中的vb3-3文件夹。
图测试字符值对话框三、思考题
1.设计一个程序。
利用Tab函数和Print方法在窗体上显示表达式的值。
在代码窗口中输入以下程序代码段,运行程序,单击窗体,观察在窗体上显示的结果。
请写出程序运行的结果。
保存结果到练习文件夹中的vb3-4文件夹。
2.设计一个程序。
要求:设有变量a=2,b=5,c=4,d=3,e=6(变量的值通过InputBox函数输入),计算表达式a+b>c and d*a=e的值,然后将结果在窗体上输出。
保存结果到练习文件夹中的vb3-5文件夹。
3.设计一个程序。
要求:单击一次按钮可以产生一个[60,90]之间的随机整数并显示在标签上。
保存结果到练习文件夹中的vb3-6文件夹。
4.设计一个程序。
要求:在窗体上显示如下图案。
保存结果到练习文件夹中的vb3-7文件夹。