实验一 简单程序设计实验
实验一简单程序设计实验
一、实验目的
掌握单片机程序设计的基本方法,熟悉程序交叉编译和调试执行的过程。
二、实验器材
1、PC机(安装Keil软件)1台
2、实验开发板 1块
3、U-EC5型仿真器1只
4、直流稳压电源 1台
三、实验要求
1、课前温习和回顾C语言程序设计方面的知识。
2、搭建集成开发环境 (参考所给实验附件中《Keil软件与仿真驱动程序安装.doc》)。
3、编写简单的C程序,熟悉Keil环境下的调试方法,包括跟踪、单步运行和断点设置等。
4、仔细观察实验板电路图,并结合《C8051F411数据手册》给出自己I/O 端口配置方案。
5、编写程序,实现LED的亮灭、蜂鸣器的鸣叫以及按键状态识别等控制功能。
四、扩充实验(思考题)
1、如何实现蜂鸣器的间歇鸣叫(1秒)?
2、如何实现依次点亮LED的控制功能?
五.实验程序
1.实现LED的亮灭
#include "c8051F410.h"
#define OLD_BOARD
#ifdef OLD_BOARD
sbit LED8=P1^7;
sbit LED7=P1^6;
sbit LED6=P1^5;
sbit LED5=P1^4;
sbit LED4=P1^3;
sbit LED3=P1^2;
sbit LED2=P1^1;
sbit LED1=P1^0;
sbit KEY5=P2^2;
sbit KEY4=P2^1;
sbit KEY3=P2^0;
sbit KEY2=P0^2;
sbit KEY1=P0^1;
sbit SPKOUT=P0^0;
#else
sbit LED8=P2^1;
sbit LED7=P2^0;
sbit LED6=P0^7;
sbit LED5=P0^6;
sbit LED4=P0^3;
sbit LED3=P0^2;
sbit LED2=P0^1;
sbit LED1=P0^0;
sbit KEY5=P1^7;
sbit KEY4=P1^6;
sbit KEY3=P1^5;
sbit KEY2=P1^4;
sbit KEY1=P1^3;
sbit SPKOUT=P2^2;
#endif
void init(void); //初始化子程序
void main()
{
init(); //初始化子程序
LED1 = 1;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 0;
LED6 = 0;
LED7 = 0;
LED8 = 1;
SPKOUT = 0;
for(;;)
{
}
}
voidinit(void)
{
PCA0MD=0x00;//关闭WDT控制
OSCICN=0xc7;//设置内部振荡器工作(使用内部晶振24.5MHz)
#ifdef OLD_BOARD
P0MDIN=0xFF;
P0MDOUT=0x11;
P0SKIP=0xCF;
P1MDIN=0xFF;
P1MDOUT=0x00;
P1SKIP=0xFF;
P2MDIN=0xFF;
P2MDOUT=0x04;
#else
P0MDIN=0xFF;
P0MDOUT=0x10;
P0SKIP=0xCF;
P1MDIN=0xFF;
P1MDOUT=0x00;
P1SKIP=0xFF;
P2MDIN=0xFF;
P2MDOUT=0x04;
P2SKIP=0xFF;
#endif
XBR0=0x01;
XBR1=0x41;
}
2. 蜂鸣器的实现
#include "c8051F410.h"
#define OLD_BOARD
#ifdef OLD_BOARD
sbit SPKOUT = P0^0;
#else
sbit SPKOUT = P2^2;
#endif
void init(void); //初始化子程序
void main()
{
init(); //初始化子程序
for(;;)
{
SPKOUT = 1;//蜂鸣器鸣叫}
}
voidinit(void)
{
PCA0MD=0x00;//关闭WDT控制
OSCICN=0xc7;//设置内部振荡器工作(使用内部晶振24.5MHz) #ifdef OLD_BOARD
P0MDIN=0xFF;
P0MDOUT=0x11;
P0SKIP=0xCF;
P1MDIN=0xFF;
P1MDOUT=0x00;
P1SKIP=0xFF;
P2MDIN=0xFF;
P2MDOUT=0x04;
P2SKIP=0xFF;
#else
P0MDOUT=0x10;
P0SKIP=0xCF;
P1MDIN=0xFF;
P1MDOUT=0x00;
P1SKIP=0xFF;
P2MDIN=0xFF;
P2MDOUT=0x04;
P2SKIP=0xFF;
#endif
XBR0=0x01;
XBR1=0x40;
}
3.实现亮灯且按键状态识别蜂鸣
#include "c8051F410.h"
#define OLD_BOARD
#ifdef OLD_BOARD
sbit LED8=P1^7;
sbit LED7=P1^6;
sbit LED6=P1^5;
sbit LED5=P1^4;
sbit LED4=P1^3;
sbit LED3=P1^2;
sbit LED2=P1^1;
sbit LED1=P1^0;
sbit KEY5=P2^2;
sbit KEY4=P2^1;
sbit KEY3=P2^0;
sbit KEY2=P0^2;
sbit KEY1=P0^1;
sbit SPKOUT=P0^0;
#else
sbit LED8=P2^1;
sbit LED7=P2^0;
sbit LED6=P0^7;
sbit LED5=P0^6;
sbit LED4=P0^3;
sbit LED3=P0^2;
sbit LED2=P0^1;
sbit LED1=P0^0;
sbit KEY5=P1^7;
sbit KEY4=P1^6;
sbit KEY3=P1^5;
sbit KEY2=P1^4;
sbit KEY1=P1^3;
sbit SPKOUT=P2^2;
#endif
void Delay(int n);
void main(void)
{
PCA0MD=0x00;
OSCICN=0xc7;//设置内部振荡器工作(使用内部晶振24.5MHz) #ifdef OLD_BOARD
P0MDIN=0xFF;
P0MDOUT=0x11;
P0SKIP=0xCF;
P1MDIN=0xFF;
P1MDOUT=0x00;
P1SKIP=0xFF;
P2MDIN=0xFF;
P2MDOUT=0x04;
P2SKIP=0xFF;
#else
P0MDIN=0xF0;
P0MDOUT=0x10;
P0SKIP=0xCF;
P1MDIN=0xFF;
P1MDOUT=0x00;
P1SKIP=0xFF;
P2MDIN=0xFF;
P2MDOUT=0x04;
P2SKIP=0xFF;
#endif
XBR0=0x01;
XBR1=0x40;
LED5 = 0;
LED6 = 0;
LED7 = 0;
LED8 = 0;
SPKOUT = 0;
for(;;)
{
if(KEY1==0)
{
Delay(1000000);
if(KEY1==0)
SPKOUT = !SPKOUT;
}
}
}
void Delay(int n)
{
while(--n);
}
4.实现蜂鸣器的间歇鸣叫及依次点亮LED #include "C8051F410.H"
#define OLD_BOARD
#ifdef OLD_BOARD
sbit LED8=P1^7;
sbit LED7=P1^6;
sbit LED6=P1^5;
sbit LED5=P1^4;
sbit LED4=P1^3;
sbit LED3=P1^2;
sbit LED2=P1^1;
sbit LED1=P1^0;
sbit KEY5=P2^2;
sbit KEY4=P2^1;
sbit KEY3=P2^0;
sbit KEY2=P0^2;
sbit KEY1=P0^1;
sbit SPKOUT=P0^0;
#else
sbit LED8=P2^1;
sbit LED7=P2^0;
sbit LED6=P0^7;
sbit LED5=P0^6;
sbit LED4=P0^3;
sbit LED3=P0^2;
sbit LED2=P0^1;
sbit LED1=P0^0;
sbit KEY5=P1^7;
sbit KEY4=P1^6;
sbit KEY3=P1^5;
sbit KEY2=P1^4;
sbit KEY1=P1^3;
sbit SPKOUT=P2^2;
#endif
#define SYSCLK 24500000L
#define TIME0TIME 1000 //定时时间为0.001s(1ms)
#define TIMER0CNT -SYSCLK*TIME0TIME/12 //定时器0时间常数voidinit(void);
void Time0_ISR(void);
void main(void)
{
init();
SPKOUT = 0;
LED1 = 1;
LED2 = 1;
LED3 = 1;
LED4 = 1;
LED5 = 1;
LED6 = 1;
LED7 = 1;
LED8 = 1;
for(;;);
}
voidinit(void)
{
PCA0MD=0x00; //关闭WDT控制
OSCICN=0xc7; //设置内部振荡器工作(使用内部晶振24.5MHz) #ifdef OLD_BOARD
P0MDIN=0xFF;
P0MDOUT=0x11;
P0SKIP=0xCF;
P1MDIN=0xFF;
P1MDOUT=0x00;
P1SKIP=0xFF;
P2MDIN=0xFF;
P2MDOUT=0x04;
P2SKIP=0xFF;
#else
P0MDIN=0xFF;
P0MDOUT=0x10;
P0SKIP=0xCF;
P1MDIN=0xFF;
P1MDOUT=0x00;
P1SKIP=0xFF;
P2MDIN=0xFF;
P2MDOUT=0x04;
P2SKIP=0xFF;
#endif
XBR0=0x01;
XBR1=0x40;
TMOD = 0x21;
TCON = 0x05;
TH0 = TIMER0CNT/256;
TL0 = TIMER0CNT;
TR0 = 1;
IP = 0x00;
ET0 = 1;
EA=1;
}
void Time0_ISR(void) interrupt INTERRUPT_TIMER0 {
staticint Counter=0;
static unsigned char LEDNUM=0;
Counter++;
if (Counter>999){
Counter = 0;
LEDNUM--;
LEDNUM = LEDNUM & 0x07;
SPKOUT = !SPKOUT;
LED1 = !(LEDNUM == 0x00);
LED2 = !(LEDNUM == 0x01);
LED3 = !(LEDNUM == 0x02);
LED4 = !(LEDNUM == 0x03);
LED5 = !(LEDNUM == 0x04);
LED6 = !(LEDNUM == 0x05);
LED7 = !(LEDNUM == 0x06);
LED8 = !(LEDNUM == 0x07);
}
TH0=TIMER0CNT/256;
TL0=TIMER0CNT;
TR0=1;
}
六.实验结果
1.实现LED的亮灭
运行此程序后,单片机板上的led灯全部都亮,当停止编译后,灯全部熄灭。2. 蜂鸣器的实现
运行程序后,蜂鸣器开始鸣叫并持续不断,当停止运行后,蜂鸣声消失。3.实现亮灯且按键状态识别蜂鸣
运行程序后单片机板上的后四个灯亮,当按下板上的key1键时蜂鸣器开始响,当再次按下时蜂鸣声停止,再次按下时又开始响,一直重复进行下去。
4.实现蜂鸣器的间歇鸣叫及依次点亮LED
当运行程序后,蜂鸣器间隔一秒就响,同时led灯也开始循环闪亮。
七.出现的问题及解决方法
1.在实现led灯亮灭的过程中发现灯不亮,经检查发现原来没有在头文件中加入define OLD_BOARD,当加入后,灯全部闪亮。
2.在运行实现蜂鸣器鸣叫的过程中,发现蜂鸣器不鸣叫,经检查发现原来没有从project选项中对debug和utilities中的相关选项进行配置,当进行完配置后一切运行正常,蜂鸣器开始鸣叫。
八.心得体会
通过本次实验,使我收获很多。首先,本次实验使我学会了如何搭建keil 环境。其次通过实现led灯的控制和蜂鸣器的鸣叫使我学会了如何去判断状态,并根据状态的变化实现相关的功能。最后通过运行相关程序,使我掌握了在Keil 环境下的调试方法,包括跟踪、单步运行和断点设置。
程序设计基础实验指导书
说明 每个实验做完以后,按照实验报告模板格式完成相应的实验报告,存储为word 文档,最终提交的实验文档数量种类和命名原则如下例:(不按要求 者拒收) 目录结构图目录实验 1 内的文件种类和命名原则实验报告成绩将作为平时成绩的一部分计算到期末总成绩中。 实验报告严禁相互抄袭,一经发现抄袭和被抄袭者本次实验按零分计算!
实验1 C 的实验环境和C 语言的数据类型 1. 实验目的 ⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C 程序。 ⑵ 通过运行简单的C 程序,初步了解C 源程序的特点。 ⑶ 掌握C 语言数据类型, 熟悉如何定义一个整型、字符型和实型的变量,以及对它 们赋值的方法。 ⑷ 掌握不同的类型数据之间赋值的规律。 ⑸ 学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+ +)和自减(--)运算符的使用。 2. 实验内容和步骤 检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。 进入所用的集成环境。 熟悉集成环境的界面和有关菜单的使用方法。 输入并运行一个简单的、正确的程序。 3. 实验题目 输入下面的程序 # include "stdio.h" void main() { printf( "This is a c program.\n" ); } 程序无误,其运行的结果为:(请填写) ⑵ 输入并编辑一个有错误的 C 程序。 # include “ stdio.h ” void main() { int a,b,sum a=123; b=456; sum=a+b print( “ suism%d n” ,sum); } 运行后程序出现几处错误,请分别指出,并逐一更改: ⑶ 若k,g 均为int 型变量, 则下列语句的输出为, : # include "stdio.h" void main() { int k, g; k=017; g=111;
C程序设计实验三实验报告
实验报告 工学院土木工程专业09级2011至2012学年度第1学期学号:xxxxxx姓名:xxxxxx 2011 年10月08日第3~4节综合楼325教室 实验目的:
a的字节数为sizeof (a)或sizeof (int ),用printf 函数语句输出各类型变 量的长度(字节数)。 ①输入程序如下 in clude
C语言程序设计实验3
一、实验目的 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
程序设计基础实验内容
实验指导 实验一 Visual C++开发环境使用 1.实验目的 (1)熟悉Visual C++集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include ; int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容 (1)整数相除 #include<> int main() {
int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include<> int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include<> int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的 (1)掌握格式字符使用的方法。 (2)掌握printf()进行格式化输出的方法。 (3)掌握scanf()进行格式化输入的方法。 2.实验内容 (1)输入如下程序,观察运行结果 #include<>
简单的C语言程序设计实验报告完美版
本科实验报告专用纸 课程名称C语言程序设计成绩评定 实验项目名称简单的C语言程序设计 实验项目编号实验项目类型验证型 实验地点指导教师 学生姓名学号 学院专业 一、实验目的 1.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 2.学会正确使用逻辑运算符和逻辑表达式。 3.熟练掌握if语句和switch语句。 4.结合程序掌握一些简单的算法。 二、实验内容和实验要求 实验内容1::试编写程序,用getchar函数读入两个字符给c1,c2,然后分别用putchar函数和printf函数 输出这个字符。 实验要求:(1) 输入事先已编好的程序,并运行该程序。分析运行结果是否正确。 (2)比较用Printf函数和putchar函数输出字符的特点。 实验内容2:给出一百分制成绩,要求输出成绩等 级’A’,’B’,’C’,’D,’E’。90分以上为’A’,80-89分 为’B’,70-79分为’C’,60-69分为’D’,60分以下 为’E’。 第1页(共11页)
实验要求:(1)事先编写好程序,要求分别用if语句和switch 语句来实现。 (2)输入程序,并运行该程序。分析运行结果是 否正确。 (3)再运行一次程序,输入分数为负值(如-70), 这显然是输入是出错,不应该给出等级,修改程序, 使之能正确处理任何数据,当输入数据大于100和 小于0时,通知用户“输入数据错”,程序结束。 三、主要仪器设备 仪器:计算机 实验环境:windowsXP+visual c++6.0 四、实验过程 实验内容1: 原理:1)用getchar函数输入两个字符赋给c1,c2; 2) 用putchar函数输出这两个字符; 3) 用printf函数输 出这两个字符。 (1)源程序
实验一简单程序设计实验
实验一:简单程序设计实验 (1)编写一个 32 位无符号数除法的程序,要求将存放在 NUM1 中的 32 位无符号数与存放 在 NUM2 中的 16 位无符号数相除,结果存放在 NUM3 和 NUM4 中。 程序流程图略。 参考源程序: DATA SEGMENT NUM1 DD 2A8B7654H NUM2 DW 5ABCH NUM3 DW ? NUM4 DW ? DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE START: MOV AX,DATA ;数据段寄存器初始化 MOV DS,AX MOV AX, WORD PTR NUM1 MOV DX, WORD PTR NUM1+2 DIV NUM2 MOV NUM3,AX MOV NUM4,DX MOV AH,4CH ;正常返回DOS 系统 INT 21H CODE ENDS END START (2)编写一个拆字程序。要求将存放在 ARY 单元的 2 位十六进制数 X 1X 2 拆为 X 1 和 X 2 两 部分,并以 0X 1 和 0X 2 的形式分别存入 ARY+1 和 ARY+2 单元中。 程序流程图略。 参考源程序: DATA SEGMENT ARY DB 2AH,?,? DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET ARY ;取ARY 的偏移地址 MOV AL,[SI] ;取16进制数至AL
MOV BL,AL AND AL,0F0H ;取16进制数的高四位,即X1 SHR AL,4 MOV [SI+1],AL ;存0X1 MOV AL,BL AND AL,0FH ;取16进制数的低四位,即X2 MOV [SI+2],AL ;存0X2 MOV AH,4CH INT 21H CODE ENDS END START
C语言程序设计基础实验报告3【VIP专享】
实验3 逻辑结构程序设计一、实验目的 1、了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握if 语句和switch 语句。 4、结合程序掌握一些简单的算法。 5、学习调试程序。 二、实验内容和步骤 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 1、改错题。给定程序MODI1.C 的功能是:对于如下函数: 用scanf 函数输入x 的值,求y 值。/* MODI1.C */#include
2、从键盘输入某学生的考试成绩,要求输出成绩等级A 、B 、C 、D 、E 。学生的成绩可分成5个等级,90- 100分为A 级,80-89分为B 级,70-79分为C 级,60-69分为D 级,0-59分为E 级。要求在输入负数时, 给出错误提示。 ① 事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正确。 ② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之 能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。 3、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位 数字,例如:原数据为321,应输出123。(BX4.6) 分别用1位正整数、2位正整数、3位正整数、4位正整数、5位正整数作为测试数据进行测试。 除此之外,程序还应当对不合法的输入作必要的处理。例如:当输入负数时或输入的数超过5位(如123 456)数时。4、输入3 个整数,要求按由小到大的顺序输出。
实验3简单的程序设计
实验3简单的程序设计 实验目的: 1.掌握表达式、赋值语句的正确书写规则。 2.掌握VB变量的定义和使用,表达式和常用函数的使用。 3.掌握InputBox与MsgBox的使用。 实验3.1函数考察 实验任务: 考察下列函数的值。 Round(-3.5) Round(3.5) Chr(66) Asc ("c") Asc(Chr(99)) Chr(Asc("K")) Ucase$("abcdefg") Lcase(“ABC”) Str(123.45) Val(“123AB”) Len(“123程序设计ABC”) LenB(“123程序设计ABC”) Ltrim(“ ABC”) String(3, “ABC”) Instr(“EFABCDEFG”, “ef”) Instr(2,“EFABCDEFG”, “ef”,1) Date() Now() Time() 实验步骤: 先自己分析以上函数的功能和可能的结果,然后在立即窗口用Print方法求出相应函数的值,对照比较自己的判断。 22
实验3.2表达式考察 实验任务: 考察下列表达式的值。 Dateadd(“m”,1,#1/30/2000#) Datediff(“y”,#12/03/1999#,#1/03/2000#) ‘计算时间间隔多少日 123 + Mid(“123456”,3,2) 123 & Mid(“123456”,3,2) Ucase(Mid(“abcdefgh”,3,4)) 16 / 4 – 2 ^ 5 * 8 / 4 MOD 5 \ 2 实验步骤: 先自己分析表达式的功能和可能的结果,然后在立即窗口用Print方法求出相应表达式的值,对照比较自己的判断。 实验3.3简单打印图形 实验任务: 使用Print方法、Tab函数和String函数设计一个过程,显示如图3-1所示的图形,并将结果保存到文件中。 图3-1 实验3.2运行界面 参考代码如下: Private Sub Form_Load() Print Tab(15); String(1, "1") Print Tab(14); String(3, "2") Print Tab(13); String(5, "3") Print Tab(12); String(7, "4") End Sub 操作提示: 应先将Form窗体的AutoRedraw属性值设为True。
程序设计基础实验内容
实验指导 实验一 Visual C++6.0开发环境使用 1.实验目的 (1)熟悉Visual C++6.0集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include (stdio.h); int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容
(1)整数相除 #include
试验项目试验一最简单的C程序设计
试验项目试验一最简单的C程序设计
实验项目:实验一最简单的C程序设计 (所属课程:《C语言程序设计》学时:2) 一、实验目的 1.掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。 2.初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。 3.掌握顺序结构程序设计的基本思路。 二、实验条件 Pc和vc++编程环境 三、实验内容 1.熟悉编程环境。 2.输入并运行一个C程序 3.掌握各种格式转换符的正确使用方法。 4.编程序:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。要求用scanf函数从键盘上输入数据(半径和高),输出各计算结果,输出时要求有文字说明,取小数点后2位数字。5.编程序:用getchar函数输入两个字符给C1、C2,然后分别用putchar函数和printf函数输出这两个字符。 四、实验步骤 编写程序,输入数据,观察结果。
五、实验结果 观察结果和预期是否一致。 实验项目:实验二选择结构程序设计 (所属课程:《C语言程序设计》学时:2) 一、实验目的 1.了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 2.学会正确使用逻辑运算符和逻辑表示式。 3.熟练掌握if语句和switch语句 二、实验条件 Pc和vc++编程环境 三、实验内容
1.有一函数: ?????≥-<≤-<=)10x (113x ) 10x 1(12x )1x (x y 用scanf 函数输入x 的值,求y 值。 运行程序,输入x 的值(分别为x<1、1≤x <10、x ≥10三种情况),检查输出的y 值是否正确。 2.给出一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。90分以上为A ,81~89分为B ,71~79分为C ,61~69分为D ,60分以下为E 。 3.输入4个整数,要求按由小到大顺序输出。 四、实验步骤 编写程序,输入数据,观察结果。 五、实验结果 观察结果和预期是否一致。 实验项目:实验三 循环结构程序设计
计算机程序设计基础实验12个实验
《计算机程序设计基础》实验教学 大纲 课程编号:1303072 实验学时:24课程学分:3.5 课程类型:必修教学对象:全校各非计算机专业先修课程: ㈠实验目的与要求 本实验课程面向文法学院学生,通过本课程的学习与实验,使学生了解程序设计的一些基本概念,掌握计算机程序设计的一般方法,具备使用计算机解决实际问题的初步能力。 在实验教学中提倡“实验前要准备,实验中要认真,实验后要总结”;突出上机实践操作环节,强调在教师指导下的以学生为中心完成每次上机的具体内容和要求;对于普遍问题采用领练、辅导有机
结合的方法;尽量采用 CAI 辅助教学软件。 通过实验教学使学生能够建立计算机程序设计的基本概念;在简单的程序设计过程中掌握Visual Basic可视化设计的步骤,逐步搞清什么是对象、对象的属性以及事件和方法等重要概念。在此基础上,掌握程序设计的3种基本结构。 ㈡实验考核方式与成绩评定方法考核方式: 1.考核学生每次实验完成情况; 2.考核学生的计算机基本操作能力; 3.上机考试 成绩评定:学生应按照每次实验的要求,完成指定的实验任务,并按要求提交实验报告和实验文件,成绩评定由实验指导教师根据学生实验完成情况按照优秀、良好、中等、合格、不合格五个等级给出,实验成绩占20%计入学生课程成绩。 本学期需上交实验报告为三次,实验报告实验要求用本校实验报告册书写。要求填写学号、班级、姓名、实验指导老师、实验日期,报告内容包括实验名称、实验目的、实验内容、详细操作步骤及结果,最好写出自己的上机体会和总结。
㈢ 实验项目设置 根据教学内容和实验教学目的,共设4个实验项目: 项目一,认识Visual Basic,包括2个实验; 项目二,程序设计基础,,包括6个实验; 项目三,常用控件及界面设计,包括2个实验;项目四,文件管理,包括1个实验; 总的实验数为12个实验。 实验项目名称实验内容与学时分配总学时 数 认识Visual Basic 1.Visual Basic 程序设计环 境 2.窗体和最基 本控件 4 程序设计基础1.数据类型及函数 2.顺序程序设计 3.分支结构程序设计4.循环结构程序设计5.数组 6.过程 12 常用控件及界面设计1.常用标准控件 2.界面设计 4 文件管理1.文件管理2
最简单的C程序设计—顺序程序设计实验报告
嘉应学院计算机学院 实验报告 课程名称程序设计基础实验名称实验地点 指导老师实验时间提交时间 班级姓名座号 一、实验目的和要求 (1)掌握C语言中使用最多的一种语句——赋值语句的使用方法。 (2)掌握各种类型数据的输入输出的方法,能正确使用各种格式装换符。 (3)进一步掌握编写程序的和调试程序的方法。 二、实验环境和方法 实验方法: (一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。 (二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。 (三)根据实验内容,编译程序。 实验环境:Windows xp Visual C++6.0 三、实验内容及过程描述 实验步骤: ①进入Visual C++ 6.0集成环境。 ②输入自己编好的程序。 ③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时改正。 ④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。 ⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正确,应运行多次,分别检查在不同情况下结果是否正确。 实验内容:编译以下题目的程序并调试运行。 实验① (1)通过下面的程序掌握各种格式装换符的正确使用方法。 ①输入以下程序:
②运行程序并分析结果如图: ③在此基础上,将程序第10~14行改为 c1=a;c2=b; f=3157.;g=0.; d=f;e=g; P=a=m=50000;q=b=n=-60000; 运行程序,分析结果如: (二)设圆半径r=1.5,圆柱高h=3,求圆周长﹑圆面积﹑圆球表面积﹑圆球体积﹑圆柱体积。 用scanf 输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字。 程序代码为: #include
实验三简单程序设计(2)
实验三简单程序设计 【实验目的】 1、掌握scanf、printf函数语句的使用 2、掌握算术表达式和赋值表达式的使用 3、能够编程实现简单的数据处理 【实验性质】验证性 【实验要求】 1、认真阅读本次实验的目的,了解本次实验要求掌握的内容 2、在上机前,需要预习,在程序改错题旁将程序中存在的错误修改过来,将编程题的 代码和流程图写在预习报告中 3、在实验时,将实验要求的基本题(程序改错和编程题)根据预习报告中编写的代码, 在VC环境中编写出来 4、在VC中将编写的程序编译、调试,能正确运行结果,各题目的具体要求请看题目下 的要求 5、将正确程序上传FTP服务器(ftp://172.17.9.253) 6、争取完成选作题 【实验内容】 1、程序改错 1) 下面程序需要从键盘输入三个数,计算其平均值在屏幕上显示输出。要求平均值 需要保留两位小数。源代码如下,程序中存在错误,请将其改正写在旁边,并注明为什么错误。 include
2、编程题 1)编写程序,在计算机屏幕上显示如下信息。 【要求】 (1)使用printf 函数输出字符 2) 设一个正圆台的上底半径r1,下底半径r2,高h 。请设计一程序,从键盘输入r1,r2,r3;计算并在显示器上输出该圆台的上底面积s 1,下底面积s 2,圆台的体积V 。 【要求】 (1)r1,r2,h 用scanf 函数输入,且在输入前要有提示; (2)在输出结果时要有文字说明,每个输出值占一行,且小数点后取2位数字。 【思路点拔】 (1)圆面积计算公式为 s=πr 2。其中r 为圆半径。 (2)圆台体积计算公式为 V=3 /)r1r2r2r1(h 22++π 3) 鸡兔同笼,已知鸡兔总头数为h ,总脚数为f ,求鸡兔各有多少只? 【要求】
C语言程序设计基础实验报告8
实验8 指针 一、实验目的 1、通过实验进一步掌握指针的概念,会定义和使用指针变量; 2、能正确使用数组的指针和指向数组的指针变量; 3、能正确使用字符串的指针和指向字符串的指针变量; 二、实验内容和步骤 1、改错 (1)指出下面程序错误的原因. main( ) { int x=10,y=5,*px,*py; px=py; px=&x; py=&y; printf("*px=%d,*py=%d,*px,*py); } #include
实验项目:实验一 最简单的C程序设计
实验项目:实验一最简单的C程序设计 (所属课程:《C语言程序设计》学时:2) 一、实验目的 1.掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。 2.初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。 3.掌握顺序结构程序设计的基本思路。 二、实验条件 Pc和vc++编程环境 三、实验内容 1.熟悉编程环境。 2.输入并运行一个C程序 3.掌握各种格式转换符的正确使用方法。 4.编程序:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。要求用scanf函数从键盘上输入数据(半径和高),输出各计算结果,输出时要求有文字说明,取小数点后2位数字。5.编程序:用getchar函数输入两个字符给C1、C2,然后分别用putchar 函数和printf函数输出这两个字符。 四、实验步骤 编写程序,输入数据,观察结果。 五、实验结果 观察结果和预期是否一致。 实验项目:实验二选择结构程序设计
(所属课程:《C 语言程序设计》学时:2) 一、实验目的 1.了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 2.学会正确使用逻辑运算符和逻辑表达式。 3.熟练掌握if 语句和switch 语句 二、实验条件 Pc 和vc++编程环境 三、实验内容 1.有一函数: ?? ???≥-<≤-<=)10x (113x )10x 1(12x )1x (x y 用scanf 函数输入x 的值,求y 值。 运行程序,输入x 的值(分别为x<1、1≤x <10、x ≥10三种情况),检查输出的y 值是否正确。 2.给出一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。90分以上为A ,81~89分为B ,71~79分为C ,61~69分为D ,60分以下为E 。 3.输入4个整数,要求按由小到大顺序输出。 四、实验步骤 编写程序,输入数据,观察结果。 五、实验结果 观察结果和预期是否一致。 实验项目:实验三 循环结构程序设计
C程序设计上机实验报告完整版
C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号: 实验时间:2017年3月6号 任课老师:张锐 C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: ??代码1: 运行结果1: ??程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for循环来进行整除过程的简写。 代码2: ? 运行结果2: ? 程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。 代码3: 运行结果3: 程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算 术运算符及其表达式,逻辑运算符和逻辑表达式。
三、实验内容: (1). 编写程序,实现小写字母转大写。 (2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: ??程序分析1: 所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。 代码2: ?运行结果2: ??程序分析2: 简单的数据运算和格式字符的输出。 代码3: 运行结果3: ??? ?程序分析3: 简单的数据运算实现相应的功能。 代码4: ??运行结果4: ?程序分析4: getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕. ?代码5: ??运行结果5: 程序分析5: 重要的是格式字符的使用,%d(输出十进制整型数)%o(以八进制格式输出整形数)%x(以十六进制格式输出整型数)%f(以带小数点的形式输出浮点数)%c(输出一个字符)%s(输出字符串,直到遇到\0) 五、实验总结 C语言程序设计上机实验报告 实验三 一、实验名称:选择结构程序设计 二、实验目的:正确使用逻辑运算符和逻辑表达式,熟练掌握if 语句和switch 语句, 学习调试程序。 三、实验内容: (1). 编写程序,用if 语句编程实现一分段函数的求解。 (2).用if 语句编写程序,求一元二次方程的根。
程序设计基础实验报告
实验一 用C 语言编写简单程序 一、实验目的 1. 熟悉VC6.0的编程环境,掌握运行C 程序的基本步骤。 2. 了解C 程序的基本框架,模仿例题编写简单的C 语言程序。 3. 正确书写算术表达式、赋值表达式和关系表达式。 4. 掌握基本输入输出函数的使用,正确调用C 语言提供的数学库函数。 5. 掌握简单的单步调试方法。 二、实验环境 Windows XP ;Visual C++ 6.0。 三、实验内容 1.在屏幕上显示一个句子“What is a computer?”。 2.求华氏温度150F 对应的摄氏温度。计算公式如下: 其中,c 表示摄氏温度;f 表示华氏温度。 3.输入x ,计算下列分段函数的值(保留2位小数),请调用sqrt 函数求平方根,调用pow 函数求幂。 4. 输入一个正整数m (0100)m ≤≤,求100i m i =∑。 四、实验要求 1. 将上机验证正确的源代码写到实验报告上。 2.根据自己的真实感受,认真填写实验分析和实验心得以及问题和建议。 3.按时提交实验报告。 553299 c f =?- ?21(1)2 x<02()0x x f x ?+++?=≥
一、实验目的 1.熟练掌握关系表达式的使用。 2.熟练掌握使用else-if 语句实现多分支结构程序设计。 二、实验环境 Windows XP ;Visual C++ 6.0。 三、实验内容 1.输入x ,计算并输出下列分段函数sign(x)的值。 2.输入月薪salary ,输出应交的个人所得税tax (保留2位小数)。按照2011年开始实行的新的个人所得税法,计算公式为:tax = rate*(salary-3500)-deduction 。 当salary≤3500时,rate=0、deduction=0 当3500
实验1 程序设计基础
实验报告 实验目的: 通过教师示范、学生模仿的方式,使学生逐渐熟悉Visual Basic6.0集成开发环境的基本使用方 法及VB程序开发的基本过程,同时熟悉VB语言基础中的常量、变量、运算符、常用内部函数及简单控件的基本使用方法。 教学要求: 1.掌握Visual Basic程序的开发过程,能够运行一个完整的Visual Basic程序 2.了解Visual Basic程序的工作机制 3.掌握变量的定义及使用,常用算术和字符串运算符的使用 4.熟悉常用函数的使用方法 5.掌握数据输入输出方法 6.掌握常用控件(文本框、标签、命令按钮、计时器)的使用 实验内容: 项目一:界面设计 【实验1-1】利用VB工具箱中的控件,设计一个QQ登录界面或Windows计算器(“开始”->“程序”->“附件”->“计算器”)。不写代码。 提示:Windows的计算器的菜单用菜单编辑器设计 项目二:输入、输出及运算 任选以下3个实验中的1个完成(可多余1个) 【实验1-2】编写程序,试验Visual Basic中的三种除法运算符(/、\、Mod)的区别。参考程序如附件sy1-2.exe所示。 【实验1-3】输入圆的半径,计算圆的面积。要求半径通过InputBox函数输入,结果在窗体中输出。 【实验1-4】将任意三位正整数进行倒序输出。要求用InputBox函数输入,结果在窗体中输出。
提示:利用数学运算中的Mod、\等运算求得三位数的个、十、百位数值,然后倒序组合。 项目三:文本框、标签及常用内部函数的使用 任选以下3个实验中的1个完成(可多余1个) 【实验1-5】设计一个倒计时程序,内容不限。参考附件sy1-5.exe。 提示:目标日期-date,如5.1倒计时:#5/1/2014# - Date 【实验1-6】文本框及常用内部字符串函数的基本使用。 建立如附件所示用户界面,要求将文本框更名为T1,4个命令按钮名称分别命名为C1~C4。编写代码实现对应转换。参考附件sy1-6.exe。 提示:要使文本框以密码字符方式出现,设置其PasswordChar属性。 【实验1-7】常用数学函数的使用。参考附件sy1-7.exe。 建立如附件所示用户界面,要求将两个文本框更名为T1、T2,6个命令按钮名称分别命名为C1~C6。编写代码实现对应函数求值。 项目四:计时器控件的应用 任选以下3个实验中的1个完成(可多余1个) 【实验1-8】“模拟彩票摇号器”设计(界面可自行设计)。参考附件1-8.exe。 提示:用Rnd函数产生随机数作为随机摇号的结果,每一个摇出的号码在[0.9]范围 【实验1-9】“进度条”设计。(使用两个形状控件Shape,先设置其FillStyle为0,再设置其FillColor) 思路:在计时器计时过程中不断调节长方形的长度,达到进度不断增加效果。参考附件1-9.exe。 【实验1-10】“时钟”设计。参考附件1-10.exe。 提示:1、用三条直线Line分别表示时、分、秒指针,用形状Shape控件做时钟外圆 2、在每一秒钟用Time函数获取系统当前时间 3、用数学方法计算当前时刻时、分、秒指针应指向的位置(定位该直线的两端点坐标) 作业要求: 1、将你所做实验按实验编号命名(如exp1-1) 2、将完成的实验源文件(工程、窗体文件)放入以自己 学号命名的文件夹中压缩,然后在skyclass网站对 应作业位置上传。 3、作业最迟上交期限:第五周星期天