《c51语言》上机实验指导书_第1页
《c51语言》上机实验指导书_第2页
《c51语言》上机实验指导书_第3页
《c51语言》上机实验指导书_第4页
《c51语言》上机实验指导书_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、淮南师范学院单片机基础与C51语言编程主编:井田实验一、 C 语言编程基础(一)教学内容( 1) C 开发环境使用;( 2)各种数据类型定义与转换;( 3)各种运算符与表达式的定义;( 4)常量的使用及变量的赋值;( 5)输入输出语句的定义与书写;( 6)设计一个项目融合以上内容(选做)(二)教学目标( 1)掌握C程序开发环境;( 2)掌握编译环境的使用;( 3)掌握C语言的基本定义;( 4)掌握各类型常量、变量在内存中的存储形式;(三)实验内容可以从以下题目中任意选做610 题, 也可自己命题, 自己命题的需要加注释说明功能。1 、编程实现以下文字的输出。 I am a student.#i

2、nclude <stdio.h>int main( )printf( );/输出函数补充完整return 0;2 、编程实现交换两变量的值。 (变量类型任意)#include <stdio.h>int main()int a,b,c;/定义需要交换的 2 个变量 a、 b 及中间变量cscanf(“%d%d”,&a,&b);c=a;a=b;b=c;利用c交换a和bprintf( “%d%d”,a,b);/输出交换之后的a 和 breturn 0;3、用 sizeof 测试并输出在所用编译系统中, int 、 long、 short、 char、 floa

3、t 、 double等类型数据所占字节数。#include <stdio.h>int main()printf();输出函数补充完整,用sizeof ()运算求字节数return 0;4、调用库函数,实现以下函数值的求取。cos3.5678、 log90、 e2.567#include <stdio.h>#include <math.h>int main()printf( );/输出函数补充完整,用cos( )、 sin( ) 、 exp( )运算求数学函数值return 0; 5、编程实现int、char、float、double等类型常量的输出#incl

4、ude <stdio.h>int main()printf( );/输出函数补充完整,用%d、 %c、 %f 格式控制符分别控制上述类型数据的输出return 0;6 、编程实现int 、 short、 long、 char、 float 、 double 等类型变量的建立、赋值以及输出。7、编程实现+、 -、 * 、 /、 %运算符的使用。#include <stdio.h>int main()int a,b;scanf(“%d%d”,&a,&b);printf( “%d ”,a+b);printf( “%d ”,a-b);printf( “%d ”,

5、a*b);printf( “%d ”,a/b);printf( “%d ”,a%b);return 0;8 、编程实现+ 、 -运算符的使用。9、编程实现复合的赋值运算符的使用。10、编程实现强制类型转换运算符的使用。(四)实验报告书写要求实验报告包括:实验名称、实验目的、实验内容。其中实验内容包括程序和结果。int main()(一)教学内容( 1)顺序结构程序设计( 2)选择结构程序设计( 3)选择结构程序设计( 4)设计一个项目融合以上内容(选做)(二)教学目标( 1)掌握顺序结构程序的设计方法;( 2)掌握关系、逻辑运算符和表达式;( 3)掌握if 、 switch 语句的选择结构程序

6、设计方法;( 4)掌握while 、 for 语句的循环结构程序设计方法;( 5)了解多种结构程序设计的综合、嵌套;(三)实验内容1、编程用选择结构实现求一个数的绝对值并输出。#include<stdio.h>int main()int i;scanf(“%d”,&i);if (i>=0)printf( “%d”,i);else printf( “%d”,-x);return 0; / 定义一个变量用来接收输入的值/从键盘输入要求绝对值的数/ 如果这个值大于0 则输出原值/否则输出原值的负数2、编程实现输入一个整数,判断其是否能被3和 5整除。int i;定义一个变量

7、用来接收要判断的数scanf( %d",&i);从键盘输入这个数if (i%3=0&&i%5=0)printt( yesn'?);如果是则输出 yeselae printf( n。'");否则输出 noreturn 0; 3、编程实现分段函数x2+x-1x<=1Y=<x2-2x+11<x<=2x3+x2-5x>2其中x的值由scanf语句读入。#include<stdio.h>int main()int x,y;定义 x, yscanf( %d",&x);从键盘输入x的值if

8、 (x<=1)y=x*x=x-1;else if (x<=2)y=x*x-2*x+1;else y=x*x*x+x*x-5;经过判断决定y的表达式printf( X=%d,y=%d”,x,y);输出x和y的值return 0; 4、用条件运算符实现求3个数中最大的数并输出#include<stdio.h>int main()int x,y,z,max;定义3个变量x、y、z和用来存储最大值的变量 maxscanf(“%d%d%d”,&x,&y,&z);/ 从键盘输入这3个数值max=x>y?x:y;max=max>z?max:z;/经

9、过判断,将x、 y、 z 中最大的付给maxprintf( the max is %d”,max);输出 max 的值return 0; 5、用ifelseifelse语句实现,将百分制转换成等级制。6、用switch 语句,将百分制转换成等级制。(四)实验报告书写要求实验报告包括:实验名称、实验目的、实验内容。其中实验内容包括程序和结果。实验三、模块化程序设计(一)教学内容( 1)主函数、子函数设计理念;( 2)函数的嵌套、递归调用;( 3)全局变量和局部变量的声明;( 4)内部函数、外部函数的使用;( 5)设计一个项目融合以上内容(选做)(二)教学目标( 1)掌握模块化程序设计的框架;(

10、2)掌握函数形参、实参的使用方法;( 3)掌握函数调用参数传递的具体过程;( 4)掌握内部和外部函数联合使用的方法;(三)实验内容1、编程实现求以下表达式的解并输出。sum 1 2 100#include<stdio.h>int main()int i,sum=0;/ 定义循环变量i 和累加器变量sumfor(i=1;i<=100;i+)sum=sum+1;/用 for 语句或 while 语句控制循环100次在循环体中让sum加上当前的iprintf( “sum is %d”,sum);/循环结束之后输出sum 的值return 0; 实验四、数据处理程序设计2、编程实现求

11、以下表达式的解并输出y 1 2 3 100同1类似3、编程实现求以下表达式的解并输出,其中 n的值为输入或指定。111y 122232同1类似4、依次输入10个数,找到并输出其中最大的数。int main()int i,a,max;/i为循环变量a 一次输入10个数,max存储最大的数scanf( %d”,&max);用摆擂台发,先输入一个数作为当前最大的for(i=1;i<=9;i+)scanf( %d",&a);if (a>max)max=a;依次有9个数来攻擂printf( the max is %dmax);最终擂台上位10个数中最大的return

12、 0;5、编程实现形状为直角三角形的九九乘法表的输出。6、编程实现百钱百鸡问题求解。(四)实验报告书写要求实验报告包括:实验名称、实验目的、实验内容。其中实验内容包括程序和结果(一)教学内容( 1)一维、二维数组的定义和初始化;( 2)字符串数组的定义和初始化;( 3)指针的定义和引用;( 4)结构体、共用体、枚举的定义和嵌套;( 5)设计一个项目融合以上内容(选做)(二)教学目标( 1)掌握数组、指针、结构体、共用体的数据类型定义方法;( 2)掌握一维、二维数组的存储;( 3)掌握数据的多种调用方法;( 4)掌握数组、指针的嵌套;(三)实验内容1、编程实现求解并输出一维数组的元素之和。#in

13、clude<stdio.h>int main()for(i=0;i<10;i+)scanf(“%d”,&ai);for(i=0;i<10;i+)sum=sum+ai;int a10,i,sum=0; 定义一个一维数组a10、循环变量i,累加和sum/对数组进行元素的赋值/用 for 语句或while 语句控制循环遍历数组/在循环体中把每一个元素累加到 sum 中printf( “sum is %d”,sum);/输出sum 的值return 0; 2、编程实现求解并输出二维数组的元素之和。#include<stdio.h>int main()int

14、b34,i,j,sum=0;/ 定义一个二维数组a34/循环变量i , j ,累加和sumfor(i=0;i<3;i+)for(j=0;j<3;j+)scanf(“%d”,&bij);/ 对数组进行元素的赋值for(i=0;i<3;i+)for(j=0;j<3;j+)/用 for 语句或 while 语句控制循环遍历数组sum=sum+bij;/在循环体中把每一个元素累加到sum 中printf( “sum is %d”,sum);/输出sum 的值return 0; 3、编程实现求一个二维数组中值最大的元素。4、编程实现将一个二维数组所代表的矩阵进行转置。5、

15、编程实现求字符串的长度。6、编程实现对字符串中的字母进行大写转换成小写。(四)实验报告书写要求实验报告包括:实验名称、实验目的、实验内容。其中实验内容包括程序和结果。(一)教学内容1) C51 程序开发环境搭建与程序烧写;2) C51 数据、表达式定义;3) C51 的表达式、复合语句定义;4) C51 的输入输出语句定义;5)设计一个项目融合以上内容(选做)(二)教学目标1)掌握 keilc 开发环境的搭建与使用;2)掌握硬件电路HEX 烧写方法;3)掌握基本C51 程序设计方法;4)读懂基本51 汇编程序;(三)实验内容1、 4.152、 4.273、编程点亮一个发光二极管。#includ

16、e<reg52.h>sbit d2=P1A2;unsigned int a;void main()d2=0;for(a=0;a<=100;a+);d2=1;for(a=0;a<=100;a+);4、编程让一个发光二极管闪烁。#include<reg52.h>sbit d2=P1A2;unsigned int a;void main()while(1)d2=0;for(a=0;a<=100;a+);d2=1;for(a=0;a<=100;a+);5、例题6.1(四)实验报告书写要求实验报告包括:实验名称、实验目的、实验内容。其中实验内容包括程序和结果及结果分析。实验六、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论