欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c++ 实验2 数据类型.doc

    • 资源ID:52750730       资源大小:4.33MB        全文页数:11页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c++ 实验2 数据类型.doc

    南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 一、实验项目名称数据类型、运算符和表达式二、 实验目的1了解C+语言中数据类型的意义;2掌握不同数据类型之间的赋值的规律;3学会有关C+语言的有关运算符,以及包含这些运算符的表达式,特别是是+和运算符的使用。4进一步熟悉C+程序的编辑环境。三实验内容1整型整型数据有短整型(short)、整型(int)、长整型(long)3种,无符号(unsigned)整型也相应有3种,它们在内存中的存储方式均相同,区别在于字长(所占内存字节数)以及符号位。本实验通过观察整型数据的输出变化,体会整型的存储方式。i. 输入以下程序:#include <iostream>using namespace std;int main()short a, b; unsigned c, d; long e, f;a = 100; b = -100; e = 50000; f = 32767;c = a; d = b;printf(“%d, %dn”, a, b);printf(“%u, %un”, c, d);c = a = e; d = b = f;printf(“%d, %dn”, a, b);printf(“%u, %un”, c, d);ii. 编译并运行之,观察其输出结果。并思考以下问题:a. 将一个负整数赋给无符号的变量,会发生什么结果?为什么?b. 将一个大于32767的长整数赋给整型变量,会发生什么结果?为什么?c. 将一个长整数赋给无符号变量,会发生什么结果?为什么?iii. 改变程序中各变量的值: a = 65580; b = -40000; e = 65535; f = 65580;再次运行程序并分析结果。2、算术与逻辑运算i. 输入以下程序:#include <iostream>using namespace std;int main() int x,y,z,f; x = y = z = 1; f = -x | y- && z+; cout << "x = " << x << endl; cout << "y = " << y << endl; cout << "z = " << z << endl; cout << "f = " << f << endl;ii. 编译并运行之,输出其运行结果iii. 将第6行改成:f = x- | y- && z+; 编译并运行之,输出其运行结果,和此前的运行结果是否相同?为什么?3、输入以下源程序,输出程序的运行结果并进行适当分析。 #include <iostream>using namespace std;int main() int a = 1, b = 2; int x, y, z; cout << (a+)+(+b) << endl; cout << a % b << endl; x = !a>b; y = a- && b; z = (x+y, a+ , b+)  cout << a << endl << b << endl; cout << x << endl << y << endl << z << endl;4、输出iv. 输入以下程序(v部分),并补充空白部分,使得能按照以下格式输出结果:i = 1 j = 2 k = 3x = 2.20000, y = 3.40000, z = -5.60000x = 2.e+000, y = 3.,z = -5.6x + y = 5.60 y + z = -2.20 z + x = -3.40u = 47215c1 = a or 97 c2 = b or 9897和98分别为a与b的ASCII码。v. 以下为程序。请在计算机上验证是否正确。#include <iostream>using namespace std;main()int i = 1, j = 2, k = 3;unsigned u = 47215;float x = 2.2, y = 3.4, z = -5.6;char c1 = a, c2 = b;printf(“ ”, i, j, k);printf(“ ”, x, y, z);printf(“ ”, x, y, z);printf(“ ”, x+y, y+z, z+x);printf(“ ”, u);printf(“ ”, c1, c1, c2, c2);5、编写C+源程序,实现如下功能:输入一个三位整数,将它反向输出。样式输入:Please input an integer(100999):235样式输出:The integer is:5326、编写C+源程序,实现如下功能:输入三个整数,求出其中最小数(要求使用条件表达式)。 7、 编写C+源程序,实现如下功能:输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则,输出0(不采用选择结构)。四、实验环境PC微机,Windows 操作系统,Visual c+ 程序集成环境五、实验步骤步骤1、按题目要求完成实验内容1、2、3、4,回答题中问题并分析。步骤2、编写程序完成实验内容5、6、7步骤3、参照实验一的报告书写规范,完成此次实验报告的编写六、实验数据及处理结果*1.整型算法:源程序:结果及截图#include <iostream>using namespace std;int main()short a, b; unsigned c, d; long e, f;a = 100; b = -100; e = 50000; f = 32767;c = a; d = b;printf(“%d, %dn”, a, b);printf(“%u, %un”, c, d);c = a = e; d = b = f;printf(“%d, %dn”, a, b);printf(“%u, %un”, c, d);100,-100 100, -15536,32767 ,32767A.将一个负整数赋给无符号的变量,会发生什么结果?为什么?将一个负整数赋给无符号的变量,得到的数值会非常大,因为负数的二进制码符号位是“1”,无符号编译会将它作为数值计算,所以取得的值会非常大b将一个大于32767的长整数赋给整型变量,会发生什么结果?将一个大于32767的长整数赋给整型变量,得到的结果会负溢,因为整型变量数据的最大值为32767,大于该值会截断数据再编译,出现负溢。c.将一个长整数赋给无符号变量,会发生什么结果?为什么?将一个长整数赋给无符号变量,结果是一组乱码,因为计算机会将长整数的二进制码先截断再编译。改变程序中各变量的值: a = 65580; b = -40000; e = 65535; f = 65580;结果及截图:44,2553644,25536-1,44,44分析:1、a,b为整型,而整型表示的最大值为32767,65580>32767,编译系统将截断该二进制码再进行编译。 2的原因与1 相同 3、a的结果和1不同是因为数不同,b的值相同。 4 原因同上2、算术与逻辑运算算法:源程序:#include <iostream>using namespace std;int main() int x,y,z,f; x = y = z = 1; f = -x | y- && z+; cout << "x = " << x << endl; cout << "y = " << y << endl; cout << "z = " << z << endl; cout << "f = " << f << endl;结果及截图:x=0y=0z=2f=1将第6行改成:f = x- | y- && z+; 结果及截图:x=0y=1z=1f=1和此前的运行结果是否相同?为什么?不同,因为x是将x的值先赋给f然后再进行几加自减运算,x值为1,其后是或运算,不需要再算后边的计算式,原样输出即可3.算法: 源程序: #include <iostream>using namespace std;int main() int a = 1, b = 2; int x, y, z; cout << (a+)+(+b) << endl; cout << a % b << endl; x = !a>b; y = a- && b; z = (x+y, a+ , b+)  cout << a << endl << b << endl; cout << x << endl << y << endl << z << endl;结果及截图:分析:对于(a+)+(+b),a先使用后自增而b先自增后使用。对于”!a>b”,!为单目运算符,所以先运算!a,再运行”>”,对于“ a- && b”,a先使用后自减。对于(x+y, a+ , b+),该语句为逗号运算符,z的值为最右边的值。4、 算法:源程序:#include <iostream>using namespace std;main()int i = 1, j = 2, k = 3;unsigned u = 47215;float x = 2.2, y = 3.4, z = -5.6;char c1 = 'a', c2 = 'b'printf("i=%d,j=%d,k=%dn", i, j, k);printf("x=%7.5f,y=%7.5f,z=%7.5fn", x, y, z);printf("x=%e,y=%f,z=%3.1fn", x, y, z);printf("x + y=%4.2f,y + z = %4.2f,z + x = %4.2fn", x+y, y+z, z+x);printf("u=%dn", u);printf("c1= '%c' or %d,c2='%c' or %dn", c1, c1, c2, c2);5、 反向输出:算法:源程序:#include <iostream>using namespace std;main()int a,b,c,d,e;cout<<"Please input an integer(100999):"cin>>a;b=a/100;c=(a%100)/10;d=(a%100)%10)/1;e=d*100+c*10+b*1;cout<<"the integer is:"<<e<<endl;return 0; 结果及截图: Please input an integer(100999):235The integer is:532分析:这个题主要运用的就是数学中的整除与取余的思想,把一个三位整数用%和 / 分割成三个个位数,再分别倒过去分别乘以100,10,1,即可。6、编写C+源程序,实现如下功能:输入三个整数,求出其中最小数(要求使用条件表达式)。算法:源程序:#include <iostream>#include<iomanip>using namespace std;main() int a,b,c,d,e; cout<<"please input three number:" cin>>a>>b>>c; d=a>b?b:a; e=c>d?d:c; cout<<"the min number is:"<<e<<endl; return 0;结果及截图please input three number:1 2 3the min number is:1:分析:先将其中的两个数ab进行比较,利用条件运算符算出较小值,将其中的较小值赋给令一个字母d再将c与字母d的值进行再次比较即可7、 编写C+源程序,实现如下功能:输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则,输出0(不采用选择结构)。算法: 源程序:#include <iostream>#include<iomanip>using namespace std;main()int a;float x,y;cout<<"please input x and y :"cin>>x>>y;a=(-2<x&&x<2)&&(-2<y&&y<2);cout<<a<<endl; return 0;/*写出实验内容的算法(用流程图或伪语言表示)、完整的源程序、结果并能对结果的正确性及上机时产生的问题进行分析*/七、简答题1、如何测试习题1和习题4中各个变量在内存中所占字节数?有哪些方法?可用运算符sizeof测试数据类型所占用的字节数八、实验小结做这个实验最主要的问题就是不会写算法结构,琢磨好长时间的那个如何写算法的软件,希望老师能在课堂上稍加讲解如何用smartdraw或者其他软件写算法,不太懂得问题就是那个不同长短整形,有符号无符号字符之间赋值时,什么时候截断的问题,当然在一遍遍写程序改程序的过程中也对程序更加熟悉,对于算法也了解了更多,多次做完没保存的经历使我大大的长了记性,不保存相当于没做,以后可一定要保存啊

    注意事项

    本文(c++ 实验2 数据类型.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开