实验一简单程序设计实验
程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。
其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。
其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。
掌握了c语言,可以说你就掌握了很多门语言。
学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。
所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。
同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。
在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。
在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。
这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。
比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。
C语言程序设计实验报告 实验一 简单程序设计

C语言程序设计实验报告实验一简单程序设计班级 2017231 学号 201723128 姓名郭鹏博一、实验目的1、熟悉VC6.0编程环境。
2、掌握使用VC6.0输入源程序、编译连接和运行程序的基本过程。
3、练习C调试程序的方法。
4、熟练使用赋值运算、算术运算等表达式。
5、熟练使用标准输入、输出函数及各种数据类型的格式说明符。
二、实验内容及步骤1、分析程序,根据要求写出结论:课本P83页第4题、第5题;第4题(1)c1=a,c2=bc1=97,c2=98原因:字符变量实质上是一个字节的整形变量,由于它常用来存储字符,所以称为字符变量。
可以把0到127之间的整数赋给一个字符变量。
在输出字符变量的值时,可以选择以十进制整数形式或字符形式输出。
(2)c1=?c2=?c1=-59,c2=-58原因:Visual C++系是把char默认为signed char类型的,而signed char类型的变量允许存储的值为—128~127,但字符的代码不可能为负值,所以在存储字符时实际上只用到0~127这一部分,其第1位都是0。
给字符型变量赋值197和198时,所赋之值超出了字符变量的取值范围,导致无论是以以十进制整数形式输出还是以字符形式输出,输出结果均错误。
(3)c1=a,c2=bc1=97,c2=98原因同(1)第5题2、程序改错下面程序的功能是计算球体的表面积和球体的体积,程序中有多处错误,并且指定必须按下面的形式输入、输出数据。
请对程序做相应的修改。
#include <stdio.h>main{double r,s,v;int pi=3.14;scanf("%d",r);S=4*pi*r*r; /*计算球体的表面积*/V=4.0*pi*r*r*r/3.0; /*计算球体的体积*/printf("%d",r);printf("s=%f\n",s,"v=%d\n",v);}当程序运行时,要求屏幕的显示和指定的输入形式如下:input r:2.0<回车> (此处的2.0是由用户输入的数据)r=2.000000 (此处要求的是输出形式)s=50.24000000,v=33.49333333具体要求:(1)在VC6.0环境中输入上述源程序。
程序设计基础(一)实验

程序设计基础(一)实验实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个C程序。
3、初步了解C程序的特点。
三、实验内容:说明:前三题为必做题目,后两题为选做题目。
1、输出入下信息:*************************Very Good*************************2、计算两个整数的和与积。
3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
4、在屏幕上显示一个文字菜单模样的图案:=================================1 输入数据2 修改数据3 查询数据4 打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:五、实验调试记录:实验二简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。
2、学会使用C语言的运算符及表达式。
3、掌握不同数据类型的输入输出方法。
三、实验内容:说明:前四题为必做题目,后两题为选做题目。
1、输入r1、r2,求出圆形垫片面积。
2、输入华氏温度h,输出摄氏温度c。
3、从键盘输入一个3位整数,将输出该数的逆序数。
4、输入并运行以下程序,分析运行结果。
#include <stdio.h>void main( ){ int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}5、输入三角形三条边的边长,求三角形的面积。
6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
程序设计基础实验报告

实验一 用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.按时提交实验报告。
553299c 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<salary≤5000时,rate=3%、deduction=0当5000<salary≤8000时,rate=10%、deduction=105当8000<salary≤12500时,rate=20%、deduction=555当12500<salary≤38500时,rate=25%、deduction=1005当38500<salary≤58500时,rate=30%、deduction=2775当83500<salary 时,rate=45%、deduction=135053.输入一个正整数n ,再输入n 个学生的百分制成绩,统计各等级成绩的个数。
[高等教育]实验 1:简单的C程序设计
![[高等教育]实验 1:简单的C程序设计](https://img.taocdn.com/s3/m/7385078131126edb6e1a1045.png)
实验一简单的C程序设计
学院
班级
学号
姓名
实验日期
批次
地点
教师
教
师
评
语
程环境VC++6.0。
2.了解C程序的基本结构框架。
3.掌握运行一个简单的C程序的步骤。
4.理解程序调试的思想,找出并能改正C程序的语法错误。
二、实验内容:
1.必做题:【实验1.1】,【实验1.2】,【实验1.3】【实验1.4】
2.选做题:【实验1.5】
三、程序调试步骤及运行结果(写清题号,附上编写的程序及运行结果)
实验一简单的C程序设计
四、调试程序存在的问题与解决方法
五、思考题:写出运行C程序的基本步骤?
程序设计基础实验报告

实验一 面向过程的简单程序设计(1)1111+++x x#include<iostream.h> #include<math.h> void main() {int x; double y; cin>>x;y=sqrt(1+1/(x+1/(x+1))); cout<<y<<endl; }(2) log10(1+21x +)#include<iostream.h> #include<math.h> void main() {int x; double y; cin>>x;y=log10(1+sqrt(1+x^2)); cout<<y<<endl; }<3>阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。
#include <iostream.h> // 由用户输入一个整形数字n ,输出n+1. void main() {int n; cin >> n ;if ( n ++ < 10 ) //判断用户输入的n 是否<10cout << n << endl ; //若n <10,输出n ,此时的n 已经加一elsecout << n -- << endl ; //若n>=10,输出n ,此时的n 已经加一} //输出n 后,n 再自减一若输入10,则输出11.<3> 对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。
例如,输入为1234时,输出结果为4,3,2,1。
#include "iostream.h" void main() { int a,b,c,d,x; cin>>x; a=x/1000;b=x/100-x/1000*10;c=x/10-x/100*10;d=x-x/10*10;cout<<d<<” ”<<c <<” ”<<b <<” ”<<a<<endl;}实验二 控制结构程序设计阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。
《C语言程序设计》实验报告(实验1-12)

《C语言程序设计》实验报告(实验1-12)《C语言程序设计》实验报告20XX~20XX学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 一、实验目的:1.了解在Visual C++ 环境下如何xx、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C 源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 环境下输入并运行下面的程序:#include int main( ) {printf("This is a C program.\\n"); return 0; }2. 在Visual C++ 环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include int main( ) {int a,b,sum a=3; b=4; sun=a+b;print(“%d+%d=%d\\n”,a,b,sum); return 0; }四、实验结果:1. 运行结果(或截图):This is a C program.Press any key to continue- 1 -2. (1) 改正后的源程序:#include int main( ) {int a,b,sum; a=3; b=4; sum=a+b;printf(\ return 0; }(2) 运行结果(或截图):3+4=7五、思考题:1. 一个C程序上机的步骤有哪些?答:上级输入与xx源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。
2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:一个函数包括两部分:分别为函数头或函数首部和函数体。
成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
C语言上机实验指导书

C语言程序设计实验指导书实验一数据类型及简单程序设计一、实验目的1.掌握C语言数据类型,熟悉变量的定义及赋值方法。
2.掌握不同的类型数据之间赋值的规律。
3.学会使用C的运算符及表达式,特别是自加(++)自减(——)运算符的使用。
4.学会使用VC调试程序的方法。
二、实验内容和步骤问题1:输入并运行下面的程序main( ){char c1,c2;c1=’a’;c2=’b’;printf(“%c %c\n”,c1,c2);}①程序运行结果为?②增加一条语句:printf(“%d %d\n”,c1,c2);再运行程序,运行结果为?问题2:输入并运行下面的程序(转义字符使用)main( ){char c1,c2,c3,c4,c5;c1=’x’;c2=’y’;c3=’z’;c4=’\101’;c5=’\102’;printf(“x%c y%c\tz%c\n”,c1,c2,c3);printf(“\t\’%c\’ \”%c\”\n”,c4,c5);}在上机前先用人工分析程序,写出应得结果,上机后将二者对照。
问题3:输入并运行下面的程序main( ){int i,j,m,n;i=6;j=8;m=++i;n=j++;printf(“%d,%d,%d,%d\n”,i,j,m,n);}①运行程序,注意i、j、m、n个变量的值为?。
②将第4、5行改为:m=i++;n=++j;运行程序,注意i、j、m、n个变量的值为?。
③将程序改为:main( ){int m,n;m=6;n=8;printf(“%d,%d\n”,m++,n++);}运行程序,注意输出结果的变化为?。
④在③的基础上,将printf语句改为:printf(“%d,%d\n”,++m,++n);运行程序,注意输出结果的变化为?。
⑤再将printf语句改为:printf(“%d,%d,%d,%d \n”,m,n,m++,n++);运行程序,注意输出结果的变化为?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:简单程序设计实验(1)编写一个 32 位无符号数除法的程序,要求将存放在 NUM1 中的 32 位无符号数与存放 在 NUM2 中的 16 位无符号数相除,结果存放在 NUM3 和 NUM4 中。
程序流程图略。
参考源程序:DATASEGMENTNUM1 DD 2A8B7654H NUM2 DW 5ABCH NUM3 DW ? NUM4 DW ?DATAENDSCODESEGMENTASSUME DS:DATA, CS:CODESTART: MOV AX,DATA;数据段寄存器初始化MOV DS,AXMOV AX, WORD PTR NUM1 MOV DX, WORD PTR NUM1+2 DIV NUM2 MOV NUM3,AX MOV NUM4,DX MOV AH,4CH ;正常返回DOS 系统INT 21HCODEENDS END START(2)编写一个拆字程序。
要求将存放在 ARY 单元的 2 位十六进制数 X 1X 2 拆为 X 1 和 X 2 两 部分,并以 0X 1 和 0X 2 的形式分别存入 ARY+1 和 ARY+2 单元中。
程序流程图略。
参考源程序:DATA SEGMENTARY DB 2AH,?,?DATA ENDSCODESEGMENTASSUME DS:DATA, CS:CODESTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET ARY ;取ARY 的偏移地址 MOV AL,[SI];取16进制数至ALMOV BL,ALAND AL,0F0H ;取16进制数的高四位,即X1SHR AL,4MOV [SI+1],AL ;存0X1MOV AL,BLAND AL,0FH ;取16进制数的低四位,即X2MOV [SI+2],AL ;存0X2MOV AH,4CHINT 21HCODE ENDSEND START实验二:分支程序设计实验(1)编写一个字符比较程序,比较3 个无符号字节数A,B,C 的大小,并根据比较结果对变量K 赋值:如果3 个数不相等,则K=0;如果3 个数中有两个相等,则K=1;如果3 个数都相等,则K=2。
程序流程图略。
参考源程序:DATA SEGMENT ;定义待比较数A、B、C,比较结果KA DB 20HB DB 20HC DB 20HK DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,ACMP AL,B ;对A、B进行比较,不相等则转到COMP2JNE COMP2 ;相等则比较A、CCMP AL,CJNE K1 ;A、C不相等则K=1JMP K2 ;A、C相等则K=2COMP2: MOV BL,BCMP BL,CJE K1 ;对B、C进行比较,相等则K=1CMP AL,CJE K1 ;对A、C进行比较,相等则K=1K0: MOV K,0JMP EXITK1: MOV K,1JMP EXITK2: MOV K,2EXIT: MOV AH,4CHINT 21HCODE ENDSEND START(2)编写一个能实现下列表达式的程序:⎧N = ⎨A + B A ≤B设A,B,C 为小于128 的正整数。
⎩A −B +C程序流程图略。
参考源程序:DATA SEGMENTA > BA DB 22H ;定义A、B、C、NB DB 10HC DB 01HN DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL, ACMP AL, BJG CALCUL ;A 小于或等于B 则N=A+BADD AL,BJMP EXITCALCUL: SUB AL, BADC AL, CEXIT: MOV N, ALMOV AH,4CHINT 21HCODE ENDSEND START实验三循环程序设计实验(1)将字符串STRN(以“$”结尾)中的每一个字符均加上偶校验位,并统计有多少个字符因含有奇数个“1”而加上了校验位。
统计结果存于N单元中。
程序流程图略。
参考源程序:DA TA SEGMENTSTRN DB 'What$' ;任意定义一个字串,以“$”结尾COUNT EQU $-STRNN DB ?BUF DB COUNT DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AX, DATAMOV ES, AXLEA SI, STRNLEA DI, BUFMOV CX, COUNTMOV AL, 0LP1: MOV BL, [SI] ;逐个取字符进行判断AND BL, BL ;自己和自己做与运算JP NEXT ;根据PF 标志位的变化进行跳转INC ALOR BL, 80HNEXT: MOV [DI], BLINC SIINC DILOOP LP1MOV N, ALMOV AH, 4CHINT 21HCODE ENDSEND START(2)在FIRST 开始的一片连续的数据区中存放着100 个数据,编写一个程序,统计第1个数据‘0’之前的数据个数。
程序流程图略。
参考源程序:DA TA SEGMENTFIRST DB 10H,24H,34H, 73H,20H,44H,03H,36H,41H ;任取9 个数做演示COUNT EQU $-FIRSTNUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DL, 0 ;计数值初始为0MOV CX,COUNTMOV BX, OFFSET FIRSTLP1: MOV AL, [BX] ;每次取一个数,与0 比较CMP AL, 00HJNE NEXTJMP EXIT ;找到0 则退出NEXT: INC DL ;没找到0 则计数值加1 INC BXLOOP LP1EXIT: MOV NUM, DLMOV AH, 4CHINT 21HCODE ENDSEND START实验四:子程序设计实验将BUF开始的10个单元中两位十六进制数转换成ASCII码,并在屏幕上显示出来。
要求码型转换通过子程序HEXASC实现,参数传送采用寄存器传送方式。
程序流程图略。
参考源程序:(1)实现方法一:远过程调用DA TA SEGMENTBUF DB 10H,2FH,0D0H,0FEH,33H,0F0H,20H,10H,3DH,0A2HCOUNT EQU $-BUF ;定义任意长度的一段BUFDA TA ENDSSTACK1 SEGMENT STACKDB 100 DUP(?) ;设置足够深度的栈区STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUFMOV CX,COUNTAGAIN: MOV AL,[SI] ;逐个取数MOV BL,ALSHR AL,4AND AL,0FH ;先对高字节部分转换(寄存器AL 传参)CALL FAR PTR HEXASC ;调用子程序MOV DL,ALMOV AH,02H ;显示高字节部分对应的字符INT 21HMOV AL,BLAND AL,0FH ;再对低字节部分转换(寄存器AL 传参)CALL FAR PTR HEXASC ;调用子程序MOV DL,ALMOV AH,02H ;显示低字节部分对应的字符INT 21HMOV DL,20HMOV AH,02H ;显示空格INT 21HINC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSCODEB SEGMENTASSUME CS:CODEBHEXASC PROC FARCMP AL,09H ;判断是不是数字JA HEXATOF ;是字母则转到HEXATOFADD AL,30H ;是数字则对应到数字的ASCII 码JMP ENDHEXHEXATOF:ADD AL,37H ;是字母则对应到字母的ASCII 码ENDHEX: RETHEXASC E NDPCODEB ENDSEND START(2)实现方法二:近过程调用DA TA SEGMENTBUF DB 10H,2FH,0D0H,0FEH,33H,0F0H,20H,10H,3DH,0A2HCOUNT EQU $-BUF ;定义任意长度的一段BUFDA TA ENDSSTACK1 SEGMENT STACKDB 100 DUP(?) ;设置足够深度的栈区STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUFMOV CX,COUNTAGAIN: MOV AL,[SI] ;逐个取数MOV BL,ALSHR AL,4AND AL,0FH ;先对高字节部分做转换CALL HEXASCMOV DL,AL ;显示高字节部分对应的字符MOV AH,02HINT 21HMOV AL,BLAND AL,0FH ;再对低字节部分做转换CALL HEXASCMOV DL,AL ;显示低字节部分对应的字符MOV AH,02HINT 21HMOV DL,20H ;显示空格MOV AH,02HINT 21HINC SI ;继续循环或退出LOOP AGAINMOV AH,4CHINT 21HHEXASC PROC NEARCMP AL,09HJA HEXATOFADD AL,30HJMP ENDHEXHEXATOF:ADD AL,37HENDHEX: RETHEXASC ENDPCODE ENDSEND START实验五:DOS 中断调用实验(1)如果从键盘上依次输入的是一个数字和一个字母,则输出“RIGHT”标记后结束程序,否则输出标记“ERROR”后转向原出错处重做。
试编程实现该功能。
程序流程图略。
参考源程序:DA TA SEGMENTMSG DB 0AH,0DH,'RIGHT',0AH,0DH,'$'WRN DB 0AH,0DH,'ERROR',0AH,0DH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXAGAIN: MOV AH,01H ;等待用户输入1 个字符并显示INT 21HCMP AL,39HJA EMSGCMP AL,30HJB EMSG ;判断输入是否是数字,不是则报错MOV AH,01H ;等待用户输入1 个字符并显示INT 21HCMP AL,'A'JB EMSGCMP AL,'Z' ;判断输入是否是大写字母,不是则继续JB EXIT ;判断是不是小写字母CMP AL,'a'JB EMSGCMP AL,'z'JB EXIT ;不是字母则报错,是字母则转到EXITEMSG: LEA DX,WRNMOV AH,09HINT 21HJMP AGAINEXIT: MOV DX,OFFSET MSGMOV AH,09H ;显示“RIGHT”并退出INT 21HMOV AH,4CHINT 21HCODE ENDSEND START(2)编写一程序分类统计字符个数:即接收键入的一串字符(字符个数不超过50个,该字符串用回车作为结束),并按数字、字母和其它字符分类计数,然后将结果存入digit、letter 和other 3个存储单元中,并显示结果。