C语言程序设计实验教案_第1页
C语言程序设计实验教案_第2页
C语言程序设计实验教案_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

《高级语言程序设计》实验指导书..word,可编辑!实验一顺序结构程序设计一、实验目的及要求掌握C语言中使用最多的一种语句——赋值语句的使用方法。二、实验学时4学时三、实验任务1.以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。#include<stdio.h>void main(){double a,b,c,s,v;printf(inputa,b,c:\n);scanf("%d%d%d",a,b,c);s=a*b;v=a*b*c;printf("%d %d %d",a,b,c);printf("s=%f\n",s,"v=%d\n",v);}当程序执行时,屏幕的显示和要求输入形式如下:inputa,b,c:1.0 2.0 3.0 此处的1.02.03.0是用户输入的数a=1.000000 b=2.000000,c=3.000000 此处是要求的输出格式s=2.000000,v=6.000000相关知识:①检查程序错误时应注意几点:了一些错误后应及时对源程序重新进行编译;系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。对于警予理睬。实际上,很多警告都是因为程序中确实有严重的隐含错误。d)在连接中发现新错误也需要仔细检查和修改程序。连接时发现的错误一般是由于函命令进行定位。②正确调用scanf函数和printf函数构成输入和输出语句。2.有以下程序#include<stdio.h>void main(){charc1,c2;intn1,n2;c1=getchar();c2=getchar();n1=c1-'0';n2=n1*10+(c2-'0');printf("%d\n",n2);}程序运行时输入:12<回车>,执行后输出结果是什么?相关知识:①getchar()函数用来输入两个字符分别赋给变量c1和c2;②n1=c1-'0'n1='1'1的ASCII0n1相当于'2'-'0';③把字符串转换为多位数的算法。若有以下程序#include<stdio.h>voidmain(){inti,j;intx,y;scanf("i=%d,j=%d",&i,&j);scanf("%d%d",&x,&y);printf("i=%d,j=%d\n",i,j);printf("%4d%4d\n",x,y);}要求给i赋值为10,j赋值为20,则应该怎样从键盘输入数字?相关知识:①在调用scanf()求在输入数据时在对应的位置上输入完全匹配的字符;②scanf()函数只包含格式描述符时可用跳格键Tab、空格和回车分隔数据;③在调用printf()函数时在格式串中若包含有格式描述符之外的字符时,则在输出数据时在对应的位置上输出完全匹配的字符,%d之类的格式符位置输出对应输出项的值;故输出时要注意插入适当的非格式符以便区分各个输出结果。计算定期存款本利之和设银行定期存款的年利率rate2.25%n年,存款本金为capitalndepositraten和存款本金capital均由键盘输入。四、实验重点、难点符数据输入输出函数五、操作要点Alt+R可进入Run菜单,其中Project/Projectname,,其热键为Ctrl+F9。Userscreen:显示程序运行时在屏幕上显示的结果。其热键为Alt+F5。六、注意事项输入输出的数据类型与所用格式说明符不一致输入变量时忘记使用地址符号实验二逻辑结构程序设计一、实验目的及要求了解C语言表示逻辑量的方法(以0。学会正确使用逻辑运算符和逻辑表达。熟练掌握if语句和switch语句.二、实验学时6学时三、实验任务1源程序中包含有一些错误,调试下列程序,使之具有如下功能:输入a、b、c三个整数,求最小值。#include“stdio.h”voidmain(){inta,b,c;scanf("%d%d%d",a,b,c);if((a>b)&&(a>c))if(b<c)printf("min=%d\n",b);elseprintf("min=%d\n",c);if((a<b)&&(a<c))printf("min=%d\n",a);}3min=2发现变量abc的值是不对的,原因是程序要求输入数据的分隔符是空格(车或键。改正输入数据的分隔方式后,程序没有输出,还是用单步执行的方法,监视程序的执行过程,发现程序中条件设计有误,经过改正的程序如下:#include“stdio.h”void main(){inta,b,c;scanf("%d%d%d",&a,&b,&c);if((a<b)&&(a<c))printf("min=%d\n",a)elseif((b<a)&&(b<c))printf("min=%d\n",b);elseif((c<a)&&(c<b))printf("min=%d\n",c);elseprintf("Nofindminimum\n");}以有效地提高程序的可读性。相关知识:①类似a<b<c表达式的表示方法;②if语句的嵌套;③调试工具的使用。④求最值的简单算法。参考上一题,编写一个C程序,求、b、、d编程点拨:①多定义一个变量,并一开始令变量max=a;②if(max<b) max=b;其余多个数据中求最值依此类推。输入4小顺序输出。相关知识:①输入函数scanf()的使用;②简单的排序算法;③通过中间变量t交换ab值的方法:t=a;a=b;。ex1y ex1y |sin(x |2x )20 x13 x4当x取其他值时#include#includevoidmain(){floatx,y;scanf("%f",&x);if( )y= ;else if( )y= ;elseprintf("x=%f,y=%f",x,y);}相关知识点:if语句的嵌套;数学函数的调用方式。4题,写程序实现以下函数:x(xy2x1(1x10)3x11(xscanf函数输入xyx(x<11≤x<10、x≥10三种情况,检查输出的y值是否正确。相关知识:①用if的嵌套实现分段函数;②比较运算符的正确使用;③算术运算符*的正确使用。#include<stdio.h>voidmain(){ intintvalue;printf("Convert:\n"); /*显示菜单printf("1:decimaltohexadecimal\n");printf("2:hexadecimaltodecimal\nprintf("3:decimaltooctal\n");printf("4:octaltodecimal\n");printf("enteryourchoice:");scanf("%d",&choice);switch(choice){case1: /*1时处理*/printf("enterdecimalvalue:");scanf("%d",&value);printf("%dinhexadecimalis:%x\n",value,value);break;case2: /*2时处理*/printf("enterhexadecimalvalue:");scanf("%x",&value);printf("%xindecimalis:%d\n",value,value);break;case3: /*3时处理*/printf("enterdecimalvalue:");scanf("%d",&value);printf("%dinoctalis:%o\n",value,value);break;case4: /*4时处理*/printf("enteroctalvalue:");scanf("%o",&value);printf("%oindecimalis:%d\n",value,value);break;}}相关知识:①用switch语句实现菜单的方法;②数制转换的方法。6题,要求对输入的数字1~7转换成文字星期几,对其它数字不转换。例如,输入5时,程序应该输出Friday。①编辑、调试和运行该程序,然后输入4。其输出结果是什么?为什么是这样的结果?②该程序有哪些错误?如何修改?相关知识:①switchswitch四、实验重点、难点表达式选择型程序设计语句五、操作要点Alt+CCompile菜单,Buildall,成.EXE文件。该命令不作过时检查。六、注意事项误把“=”等于”没有注意大写字母和小写字母代表不同的标识符当一个复合语句中使用多层括号时,常出现大括号不配对的现象。实验三循环控制一、实验目的及要求,语句和语句实现循环的方法。掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等二、实验学时学时下面程序求1+…+100#include<stdio.h>voidmain(){int s,i;s=0; /* 第5*/for( )s=s+i;printf("1+...+100=%d\n",s);

温馨提示

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

评论

0/150

提交评论