C语言程序设计实验任务书

上传人:cn****1 文档编号:465146272 上传时间:2022-08-22 格式:DOC 页数:31 大小:183.51KB
返回 下载 相关 举报
C语言程序设计实验任务书_第1页
第1页 / 共31页
C语言程序设计实验任务书_第2页
第2页 / 共31页
C语言程序设计实验任务书_第3页
第3页 / 共31页
C语言程序设计实验任务书_第4页
第4页 / 共31页
C语言程序设计实验任务书_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《C语言程序设计实验任务书》由会员分享,可在线阅读,更多相关《C语言程序设计实验任务书(31页珍藏版)》请在金锄头文库上搜索。

1、实验一 顺序结构程序设计一、实验目的1. 掌握C语言中使用最多的一种语句赋值语句的使用方法。2. 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。二、实验的内容和步骤1.以下c30101.c程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。#include void main ( ) double a,b,c,s,v; printf(input a,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=%fn,s,v=%dn,v);当程序执行时,屏幕的显示和要求

2、输入形式如下:input a,b,c:1.0 2.0 3.0 此处的1.0 2.0 3.0是用户输入的数据a=1.000000 b=2.000000,c=3.000000 此处是要求的输出格式s=2.000000,v=6.000000相关知识: 检查程序错误时应注意几点:a)有时程序中一个错误会引发一系列错误信息,工作中不应被这种情况所迷惑,改正了一些错误后应及时对源程序重新进行编译;b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。对于警告信息同样

3、要逐个仔细分析。除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。实际上,很多警告都是因为程序中确实有严重的隐含错误。d) 在连接中发现新错误也需要仔细检查和修改程序。连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。系统不能对连接错误给以自动定位,只能提供有关的名字信息等。对于这类问题,可以借助编辑器的字符串查找命令进行定位。 正确调用scanf函数和printf函数构成输入和输出语句。2.有以下c30102.c程序 #include void main() char c1,c2; int n1,n2; c1=getchar( );c2=g

4、etchar( );n1=c1-0;n2= n1*10+(c2-0); printf(%dn,n2);程序运行时输入:12,执行后输出结果是什么?相关知识:getchar()函数用来输入两个字符分别赋给变量c1和c2;n1=c1-0相当于n1=1 -0,字符1的ASCII码值比0大一,所以n1中的值为1,c2-0相当于2 -0;把字符串转换为多位数的算法。3.若有以下c30103.c程序#include void main() int i,j; int x,y; scanf(i=%d,j=%d,&i,&j); scanf(%d%d,&x,&y); printf(i=%d,j=%dn,i,j);

5、 printf(%4d%4dn,x,y);要求给i赋值为10,j赋值为20,则应该怎样从键盘输入数字?相关知识:在调用scanf()函数时在格式串中若包含有格式描述符之外的字符时,则要求在输入数据时在对应的位置上输入完全匹配的字符;scanf()函数只包含格式描述符时可用跳格键Tab、空格和回车分隔数据;在调用printf ()函数时在格式串中若包含有格式描述符之外的字符时,则在输出数据时在对应的位置上输出完全匹配的字符,%d之类的格式符位置输出对应输出项的值;故输出时要注意插入适当的非格式符以便区分各个输出结果。4. 计算定期存款本利之和设银行定期存款的年利率rate为2.25%,并已知存款

6、期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。5. 键盘输入与屏幕输出练习问题1 要使下面程序的输出语句在屏幕上显示1, 2, 34,则从键盘输入的数据格式应为以下备选答案中的 。#include main()char a,b; int c; scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%dn,a,b,c);A)1 2 34 B)1, 2, 34 C)1,2,34 D)12 34问题2 在与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示1

7、 2 34,则应修改程序中的哪条语句?怎样修改? 问题3 要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?怎样修改?问题4 要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为1, 2,34,则应修改程序中的哪条语句?怎样修改?提示:利用转义字符输出字符单引号字符。问题5 要使上面程序的键盘输入无论用下面哪种格式输入数据,程序在屏幕上的输出结果都为1, 2,34,则程序应修改程序中的哪条语句?怎样修改?第1种输入方式:1,2,34(以逗号作为分隔符)第2种输入方式:1 2 34(以空格作为分隔符)第3种

8、输入方式:1 2 34(以Tab键作为分隔符)第4种输入方式:1234(以回车符作为分隔符)实验二 逻辑结构程序设计一、实验目的1. 了解C语言表示逻辑量的方法。2. 学会正确使用逻辑运算符和逻辑表达式3. 熟练掌握if 语句和 switch语句。4. 结合程序掌握一些简单的算法。5. 学习调试程序。二、实验内容1. 若输入10,20,30则程序的执行结果是 20,30,10 请填充c30104.c程序。 # include “stdio.h” void main( ) int a, b, c ; _;_;_; a=b ; b=c ; _;printf ( %d,%d,%d ,a, b, c

9、);2. 源程序c30105.c中包含有一些错误,调试下列程序,使之具有如下功能:输入a、b、c三个整数,求最小值。# include “stdio.h” void main( )int a,b,c;scanf(%d%d%d,a,b,c);if(ab)&(ac)if(bc)printf(min=%dn,b);else printf(min=%dn,c);if(ab)&(ac)printf(min=%dn,a);再次运行程序,输入为“2,1,3”,程序输出却是“min=2”。用单步执行的方法,马上发现变量a、b、c的值是不对的,原因是程序要求输入数据的分隔符是空格(还允许使用回车或键)。改正输入

10、数据的分隔方式后,程序没有输出,还是用单步执行的方法,监视程序的执行过程,发现程序中条件设计有误,经过改正的程序如下: # include “stdio.h” void main() int a,b,c; scanf(%d%d%d,&a,&b,&c); if(ab)&(ac) printf(min=%dn,a) else if(ba)&(bc) printf(min=%dn,b); else if(ca)&(cb) printf(min=%dn,c); else printf(No find minimumn); 上述程序是按在三个数中仅有一个最小值时才称其为最小值进行设计的。另外,注意程序的

11、书写格式,一定要采用缩进格式,即不同层次(分支)的语句左起的空格不同,这样可以有效地提高程序的可读性。相关知识:类似abc表达式的表示方法;if语句的嵌套;调试工具的使用。求最值的简单算法。3.参考上一题,编写一个C程序,求a、b、c、d四个数中的最大者。编程点拨:多定义一个变量,并一开始令变量max=a;if(maxb) max=b;其余多个数据中求最值依此类推。4.输入4个整数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按由大到小顺序输出。相关知识:输入函数scanf()的使用;简单的排序算法;通过中间变量t交换a和b值的方法:t=a; a=b; b=t;。5.根据以下c3010

12、8.c函数关系,对输入的每个x值,计算出相应的y值。当x取其他值时#include #include void main() float x,y; scanf(%f,&x); if ( ) y= ; else if( )y= ; else printf(x=%f,y=%f,x,y); 相关知识点:if语句的嵌套;数学函数的调用方式。6.模仿第5题,写程序实现以下函数: 用scanf函数输入x的值,求y值。运行程序,输入x的值(分别为x1、1x10、x10三种情况),检查输出的y值是否正确。相关知识:用if的嵌套实现分段函数;比较运算符的正确使用;算术运算符*的正确使用。7.阅读分析以下c30110.c程序的功能。#include void main( )int choice;int value;printf(Convert:n); /* 显示菜单 */printf( 1:decimal to hexadecimaln );printf( 2:hexadecimal to decimaln );printf( 3:decimal to octaln ); printf( 4:octal to decimaln);printf(enter your choice: );scanf(%d,&choice);sw

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 人力资源管理师

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号