云文档网 - 专业文章范例文档资料分享平台

实验一 表达式和标准输入与输出实验

来源:网络收集 时间:2024-05-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

C语言程序设计 实验报告

专业 计算机科学与技术 班级 日期 2015.4.13 成绩

实验组别 第 1 次实验 表达式和标准输入输出实验 指导教师 学生姓名 学号 同组人姓名

实验名称 表达式和标准输入与输出实验

一、实验目的

1.熟练掌握各种运算符的运算功能,操作数的类型,运算结果的类型及运算过程中的类型转换,重点是C语言特有的运算符,例如位运算符,问号运算符,逗号运算符等;熟记运算符的优先级和结合性;

2.掌握getchar, putchar, scanf 和printf 函数的用法。 3.掌握简单C程序(顺序结构程序)的编写方法。 二、实验任务 1、源程序改错题

下面给出了一个简单C语言程序例程,用来完成以下工作: 1.输入华氏温度f,将它转换成摄氏温度c后输出; 2.输入圆的半径值r,计算并输出圆的面积s;

3.输入短整数k、p,将k的高字节作为结果的低字节,p的高字节作为结果的高字节,拼成一个新的整数,然后输出;

在这个例子程序中存在若干语法和逻辑错误。要求在计算机上对这个例子程序进行调试修改,使之能够正确完成指定任务。

#include #define PI 3.14159; voidmain( void ) {

int f ;

short p, k ; double c , r , s ;

/* for task 1 */

printf(“Input Fahrenheit:” ) ; scanf(“%d”, f ) ; c = 5/9*(f-32) ;

printf( “ \\n %d (F) = %.2f (C)\\n\\n ”, f, c ) ;

/* for task 2 */

printf(\scanf(\s = PI * r * r;

printf(\

/* for task 3 */

printf(\scanf(\

newint = (p&0xff00)|(k&0xff00)<<8; printf(\

}

2、源程序修改替换题

下面的程序利用常用的中间变量法实现两数交换,请改用不用第三个变量的交换法实现。 #include void main( ) {

int a, b, t;

printf(“Input two integers:”); scanf(“%d %d”,&a,&b); t=a, a=b, b=t;

prinf(“\\na=%d,b=%d”,a,b); }

3、编程设计题

上机调试运行以下程序:

(1)编写一个程序,输入字符c,如果c是大写字母,则将c转换成对应的小写,否则c的值不变,最后输出c。

(2)编写一个程序,输入无符号短整数x,m,n(0 ≤m≤ 15, 1 ≤ n≤ 16-m),取出x从第m位开始向左的n位(m从右至左编号为0~15),并使其向左端(第15位)靠齐。 (3)IP地址通常是4个用句点分隔的小整数,如32.55.1.102。这些地址在机器中用无符号长整形表示。编写一个程序,以机器存储的形式读入一个32位的互联网IP地址,对其译码,然后用常见的句点分隔的4部分的形式输出。 三、实验步骤及结果 1. 源程序改错题

原程序中的错误:

(1).voidmain 中间缺少空格; (2).printf函数调用有误,汉语中的双引号改为英语中的双引号,“%.2f”改为“%.2lf”; (3).scanf函数调用有误;“f”改为“&f”同时,汉语中的双引号改为英语中的双引号,“%f”改为“%lf”。

(4).“c“为double型,5改为5.0;newint = (p&0xff00)|(k&0xff00)<<8改为newint = (p&0xff00)|(k&0xff00)>>8;int型newint的说明缺少,输出时printf中应用“%d”; (5).k,p为short型输入时用“%h”; 修改后的程序:

#include #define PI 3.14159 int main( void )

{

int f,newint ; short p, k ;

double c , r , s ; /* for task 1 */

printf(\ scanf(\ c = 5.0/9*(f-32) ;

printf(\/* for task 2 */

printf(\scanf(\s= PI * r * r;

printf(\/* for task 3 */

printf(\scanf(\

newint = (p&0xff00)|(k&0xff00)>>8; printf(\}

运行结果:

2、源程序修改替换题 替换后程序:

#include int main( ) {

int a, b;

printf(\ scanf(\ a=a+b; b=a-b; a=a-b;

printf(\

return 0; }

运行结果:

3、编程设计题

1,调试后的正确程序: #include

int main(void) {

int x ;

printf(\ x=getchar();

if(x>='A'&&x<='Z') {

x=x+32;

putchar(x); } else

putchar(x); return 0; }

运行结果:

2调试后的正确程序:

#include int main(void) {

unsigned short int x,m,n,result; printf(\ scanf(\ result=(x>>m)<<(15-n+1); printf(\ return 0; }

运行结果:

3 调试后程序:

#include #define A 0Xff000000 #define B 0X00ff0000 #define C 0X0000ff00 #define D 0X000000ff int main() {

unsigned long int x; int a,b,c,d;

printf(\ scanf(\ a=(x&A)>>24; b=(x&B)>>16; c=(x&C)>>8; d=(x&D);

printf(\}

运行结果:

4、自设题

目的:学会逐步调试程序,并逐步观察各变量在每条语句执行时的变化情况 要求:输入三个已知三个整型数,并逐步求求他们的和s,积h计算,并显示结果

程序代码:

#include main(void) {

int a,b,c,s,h;

scanf(\s=a+b;

s=s+c; h=a*b; h=h*c;

printf(\ return 0; }

运行结果:

四、实验体会

这次上机最大的收获就是学会了调试程序,单步调试程序观察每一步变量

的变化情况。但学会这个历经了很多困难,虽然在上机前做了充分地预习,但是因为第一次接触,自己摸索了一个下午也没有完全掌握,在上课时不知道为什么也总是调试不了,询问老师的时候也没有得到较好的解答。课后根据老师说的步骤一次次实践,最后终于学会了调试,并且也掌握了在调试中增设变量,虽然花了很多时间,但感觉还是很值得的。并且感觉学会调试程序对日后修改代码行数较多的程序是很有用的。

另一方面在这次上机中也学会了如何去修改一个有语法错误的程序,这帮助我们以后再编写程序时更加细心,同时这次上机也锻炼我们编写程序的能力。编程学得还不是很好,以后要经常自己编写程序,锻炼自己的编程能力。

s=s+c; h=a*b; h=h*c;

printf(\ return 0; }

运行结果:

四、实验体会

这次上机最大的收获就是学会了调试程序,单步调试程序观察每一步变量

的变化情况。但学会这个历经了很多困难,虽然在上机前做了充分地预习,但是因为第一次接触,自己摸索了一个下午也没有完全掌握,在上课时不知道为什么也总是调试不了,询问老师的时候也没有得到较好的解答。课后根据老师说的步骤一次次实践,最后终于学会了调试,并且也掌握了在调试中增设变量,虽然花了很多时间,但感觉还是很值得的。并且感觉学会调试程序对日后修改代码行数较多的程序是很有用的。

另一方面在这次上机中也学会了如何去修改一个有语法错误的程序,这帮助我们以后再编写程序时更加细心,同时这次上机也锻炼我们编写程序的能力。编程学得还不是很好,以后要经常自己编写程序,锻炼自己的编程能力。

百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典综合文库实验一 表达式和标准输入与输出实验在线全文阅读。

实验一 表达式和标准输入与输出实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.yundocx.com/wenku/184545.html(转载请注明文章来源)
Copyright © 2018-2022 云文档网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219