C程序设计实验报告2——数据类型、运算符和简单的输入输出

这篇具有很好参考价值的文章主要介绍了C程序设计实验报告2——数据类型、运算符和简单的输入输出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.实验目的

(1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。

(2)掌握对各种数值型数据的正确输入方法。

(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(十十)和自减(—一)运算符的使用。

(4)学会编写和运行简单的应用程序。

(5)进一步熟悉C程序的编辑、编译

2.实验内容和步骤

1输入并运行教材第3章第4题给出的程序;

c语言的输入与输出实验报告,c语言,数据结构,算法c语言的输入与输出实验报告,c语言,数据结构,算法

 运行以上的程序,分析为什么会输出这些信息。

如果将程序第4,5行改为

C1=197;

C2=198;

运行时会输出什么信息?为什么?

c语言的输入与输出实验报告,c语言,数据结构,算法

 如果将程序第3行改为

Int c1,c2;

运行时会输出什么信息?为什么?

c语言的输入与输出实验报告,c语言,数据结构,算法

 2输入第3章第5题的程序。即:用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=A,c2=a.问在键盘上如何输入?

c语言的输入与输出实验报告,c语言,数据结构,算法

 c语言的输入与输出实验报告,c语言,数据结构,算法

 运行时分别按下方式输入数据,观察输出结果,分析原因。

c语言的输入与输出实验报告,c语言,数据结构,算法

 

c语言的输入与输出实验报告,c语言,数据结构,算法

 

c语言的输入与输出实验报告,c语言,数据结构,算法

 

c语言的输入与输出实验报告,c语言,数据结构,算法

 

c语言的输入与输出实验报告,c语言,数据结构,算法

 

c语言的输入与输出实验报告,c语言,数据结构,算法

 

c语言的输入与输出实验报告,c语言,数据结构,算法

 

c语言的输入与输出实验报告,c语言,数据结构,算法

 

c语言的输入与输出实验报告,c语言,数据结构,算法

 

通过此题,总结输入数据的规律和容易出错的地方。

(3)输入以下程序:

c语言的输入与输出实验报告,c语言,数据结构,算法

 

编译和运行程序,注意i,j,m,n各变量的值。

c语言的输入与输出实验报告,c语言,数据结构,算法

 

将第6,7行改为

m=i++;

n=++j;

在编译和运行,分析结果。

c语言的输入与输出实验报告,c语言,数据结构,算法

c语言的输入与输出实验报告,c语言,数据结构,算法

 程序改为

c语言的输入与输出实验报告,c语言,数据结构,算法

 

再编译和运行,分析结果。

的基础上,将printf语句改为

printf(%d,%d\n,++i,++j);

再编译和运行。

c语言的输入与输出实验报告,c语言,数据结构,算法

 c语言的输入与输出实验报告,c语言,数据结构,算法

 

再将printf语句改为

printf(%d,%d,%d,%d\n,i,j,i++,j++);

再编译和运行,分析结果。

c语言的输入与输出实验报告,c语言,数据结构,算法c语言的输入与输出实验报告,c语言,数据结构,算法

 

 

程序改为:

c语言的输入与输出实验报告,c语言,数据结构,算法c语言的输入与输出实验报告,c语言,数据结构,算法

 

再编译和运行,分析结果。

  1. 假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。编写程序。

c语言的输入与输出实验报告,c语言,数据结构,算法

c语言的输入与输出实验报告,c语言,数据结构,算法 

 

①输入自己编好的程序,编译并运行,分析运行结果。

年增长率不在程序中指定,改用scanf函数语句输入,分别输入7%,8%,10%。观察结果。

c语言的输入与输出实验报告,c语言,数据结构,算法

 c语言的输入与输出实验报告,c语言,数据结构,算法

c语言的输入与输出实验报告,c语言,数据结构,算法 

 c语言的输入与输出实验报告,c语言,数据结构,算法

 

在程序中增加printf函数语句,用来提示输入什么数据,说明输出的是什么数据。

3.实验结果

运行结果为:如上面的所有所附带的图片可得

4.分析讨论

1运用了char这个字符型这个数据类型,将整数通过ASCII中的编码转化成特定的字符。而%c为我新学到的格式化字符,可以将输入的数字按照ASCII码相应的转化为对应的字符。这边其实不难发现,char所定义的变量内其实是存贮着整数,然后通过%c,才输出了相应的字符。

     中由于ASCII的数值范围为-128~127,就拿197举例,它的值已经超过了127,又因为197的原码为11000101,我们所要输出的用“%d”来说明了,变成了要强制用int类型来输出数据。又因为Int在内存中占用4个字节,而char只占用1个字节,故需要再其前面在补充3个字节,于是其内存补码便变为了11111111 11111111 11111111 11000101,然后又根据补码变为原码的规则(一.如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。二.如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,除符号外其余各位取反,然后再整个数加1)于是其原码便变为了10000000 00000000 00000000 00111011转化成十进制变为-59,所以导致了c1这个变量中存储了-59这个整数。而之所以通过“%c”输出了“牌”这个汉字,是因为汉字是双字节,运用了unsigned char 这个数值范围,用两个单字节的char所定义的变量所编码成了一个汉字。

通过这个实验案例,让我更深一步的了解了ASCII表以及char,%c的用法与技巧。

(2)中一开始我编写的程序没有问题,但在调用scanf的时候,我输入数据为3 7 8.5 71.82 Aa,打完之后发现a b 所对应的值不是理想中的值,还有c1所对应的值变成了“,”,后来经过询问发现是自己的基础知识不够牢固,应该把3 7 改为a=3 b=7 ,还有char是字符型的数据类型,空格还有回车都有所对应的数据。做完之后,我为我能发现自己的遗漏知识点而感到欣慰。

(3)中其实主要来区别i++,++i的区别,++ i 是先加后赋值;i ++ 是先赋值后加;++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,即 ++i 是一个左值;i++ 的后面一步是自增,不是左值。形象的理解可以是i++先做别的事,再自己加1,++i先自己加1,再做别的事情。理解完这个以后,这些代码的打出以及结果的理解就十分轻松了。文章来源地址https://www.toymoban.com/news/detail-722864.html

到了这里,关于C程序设计实验报告2——数据类型、运算符和简单的输入输出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序挂号预约系统-JAVA【数据库设计、源码、开题报告】

    随着“互联网+”的兴起和信息化的不断发展,多种传统行业被冲击,不得不展现出新的发展形态,互联网与各种行业甚至物品联合,使得生活更加方便有效,资源配置的效率也提高很快,在“互联网+”的大环境下,传统经济形态也不断更新迭代,从而推动社会各方面以前所

    2024年02月09日
    浏览(39)
  • 便捷记账本小程序+后台管理系统-JAVA【数据库设计、源码、开题报告】

    互联网是人类的基本需求,特别是在现代社会,个人压力增大,社会运作节奏高,随着互联网的快速发展,用户的需求也越来越高,用户也将越来越多依靠互联网而不是自己获取信息,使得各种软件程序的开发得到了应用。 近年来,随着我国经济的不断发展,平台的管理制度

    2024年02月09日
    浏览(36)
  • C++面向对象程序设计 - 运算符重载

            函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。因此一个函数名就可以用来代表不同功能的函数,也就是一名多用。运算符也可以重载,即运算符重载(operator overloading)。         运算符重载的方法是定义一个重载运算符的函数,在需要执行被

    2024年04月25日
    浏览(31)
  • 实验(二):单片机数据区传送程序设计

            实验目的:                 1. 掌握单片机C语言程序设计和调试方法;                 2. 了解单片机RAM中的数据操作。         任务:                 1.根据要求编写程序,并写出原理性注释;                 2.  检查程序运

    2024年02月05日
    浏览(31)
  • 基于微信小程序的课程点名签到系统设计与实现 报告+项目源码及数据库文件

    题目:微信点名系统小程序 目录 第一节 系统分析与设计 1.1 需求分析 1.2 数据库设计 1.2.1 数据库模型图(初步设计) 1.3 系统功能设计 第二节 系统开发及实现 2.1 系统开发平台及工具 2.2 系统页面及使用说明 2.1.2 学生签到页面(首页) 2.1.3 学生查询页面(课程、我的) 2.

    2024年02月12日
    浏览(32)
  • 同济大学Python程序设计基础 实验九:数据可视化

    1.创建一个2行1列的绘图区并在第1行第1列绘制函数f(x)=x2 的曲线图(x的取值范围[-1,1]),在第2行第1列绘制函数f(x)=1/x的曲线图(x的取值范围[0,1]),效果如图2.9.1所示。 2.调用scatter函数绘制正弦函数的曲线,请在曲线中添加一个表示XY的轴线,并在X轴方向输出刻度标记文本,

    2024年02月16日
    浏览(32)
  • 数据库课程设计-学生选课管理系统(实训报告+答辩ppt+源码+sql文件+打包好的程序)springboot项目-javaweb

    作者:ChenZhen 博客地址:https://www.chenzhen.space/ 版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。 如果对你有帮助,请给一个小小的star⭐ 源码加vx : ChenZhen_7 (实训报告+答辩ppt+源码+sql文件+打包好的程序 无套路 免费获取! 不放

    2024年02月11日
    浏览(56)
  • 8、MATLAB程序设计与应用刘卫国(第三版)课后实验八:数据分析与多项式计算

    目录 一、 二、  三、  四、 五、  利用MATLAB提供的rand函数生成30 000个符合均匀分布的随机数,然后检验随机数的性质。 (1)均值和标准差。  --------------------------------------- 示例代码 --------------------------------------------- --------------------------------------- 运行结果 ------------------

    2024年02月08日
    浏览(39)
  • 乡村推介小程序 毕业设计开题报告

     博主介绍 :《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月05日
    浏览(30)
  • 基于单片机的电子万年历设计与制作系统(设计报告+开题中期报告+仿真文件+程序)

    摘要:本文设计实现了一种基于单片机的电子万年历设计与制作系统。该系统通过单片机的控制,实现了日期、时间和节假日等信息的显示,同时提供了闹钟、定时器和温度显示等功能。实验结果表明,该系统具有较好的稳定性和实用性,能够满足人们对万年历功能的需求。

    2024年02月04日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包