书签 分享 收藏 举报 版权申诉 / 32
上传文档赚钱

类型程序设计基础w06-讨论-3-变量-逻辑-函数课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4146769
  • 上传时间:2022-11-14
  • 格式:PPT
  • 页数:32
  • 大小:373.40KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《程序设计基础w06-讨论-3-变量-逻辑-函数课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    程序设计 基础 w06 讨论 变量 逻辑 函数 课件
    资源描述:

    1、字符类型变量与字符类型变量与ASCII码码(附录(附录C)n1位二进制数可以表示2种状态:0、1;而2位二进制数可以表示4种状态:00、01、10、11;依次类推,7位二进制数可以表示128种状态,每种状态都唯一地编为一个每种状态都唯一地编为一个7 7位的二进制码位的二进制码(数)(数),对应一个字符(或控制码),对应一个字符(或控制码),这些码可以排列成一个十进制序号0127。nASCII码用7位二进制数进行编码,可表示128个字符。q 第032号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)

    2、等;q 第33126号(共94个)是字符,其中,第4857号为09十个阿拉伯数字;6590号为26个大写英文字母,97122号为26个小写英文字母,其余为一些标点符号、运算符号等。2n输出所有输出所有ASCII码对应的码对应的“字符字符”及其内存及其内存中的二进制表示(由中的二进制表示(由0和和1组成的串)。组成的串)。n一行输出一行输出4个字符个字符n在输出各字符时,格式要求如下:在输出各字符时,格式要求如下:ASCIIASCII码的十进制值码的十进制值二进制串二进制串字符字符 表示输出空格。表示输出空格。例如:例如:75 750100101101001011K K其中,十进制数要求占三个字

    3、符宽,不够宽其中,十进制数要求占三个字符宽,不够宽时在数值后面补上空格时在数值后面补上空格(如(如 )。3算法实现(算法实现(STEP BY STEP)#include using namespace std;int main()return 0;4#include using namespace std;int main()for(int i=0;i128;i+)cout i;cout char(i);return 0;5#include using namespace std;int main()for(int i=0;i128;i+)out_int_with_sp(i);cout cha

    4、r(i);return 0;6void out_int_with_sp(int i)if(i 10)cout ;/双引号是字符串else if(i 100)cout ;/单引号是字符 cout i;此处 i 是哪些值?此处 i 是哪些值?此处 i 是哪些值?7#include using namespace std;int main()for(int i=0;i128;i+)out_int_with_sp(i);cout char(i);if(i%4=3)cout endl;else cout ;return 0;8#include using namespace std;int main()

    5、for(int i=0;i128;i+)out_int_with_sp(i);cout ;out_char_bin(i);cout char(i);if(i%4=3)cout endl;else cout=0;i-)output_bit(n,i);10void output_bit(int n,int i)int bit=get_bit(n,i);cout bit;11void output_bit(int n,int i)int bit=get_bit(n,i);cout bit;int get_bit(int n,int pos)int index=(1 pos);return bit;1

    6、213bool IsEven(int n)if(n%2=0)return true;elsereturn false;14bool IsEven(int n)if(n%2=0)return true;elsereturn false;bool IsEven(int n)return(n%2=0);bool IsOdd(int n)return(n%2!=0);/ver 1.015bool IsEven(int n)if(n%2=0)return true;elsereturn false;bool IsEven(int n)return(n%2=0);bool IsOdd(int n)retu

    7、rn(n%2!=0);/ver 1.0bool IsOdd(int n)return(n%2);/ver 2.016int IsOdd(int n)if(n%2)return 29;elsereturn 77;/ver 3.0char IsOdd(int n)if(n%2)return X;elsereturn M;/ver 4.0任务:请输出任务:请输出 中所有的奇数中所有的奇数?这样写行不行?17int IsOdd(int n)if(n%2)return 29;elsereturn 77;/ver 3.0char IsOdd(int n)if(n%2)return X;elsereturn

    8、 M;/ver 4.0for(int i=1;i=100;i+)if(IsOdd(i)=x)/ver 4.0cout i :odd num endl;else cout i :NOT odd num endl;18int IsOdd(int n)if(n%2)return 29;elsereturn 77;/ver 3.0char IsOdd(int n)if(n%2)return X;elsereturn M;/ver 4.0for(int i=1;i=100;i+)/if(IsOdd(i)=x)/ver 4.0 if(IsOdd(i)=29)/ver 3.0cout i :odd num

    9、endl;else cout i :NOT odd num endl;19int IsOdd(int n)if(n%2)return 29;elsereturn 77;/ver 3.0char IsOdd(int n)if(n%2)return X;elsereturn M;/ver 4.0for(int i=1;i=100;i+)/if(IsOdd(i)=x)/ver 4.0/if(IsOdd(i)=29)/ver 3.0if(IsOdd(i)=true)/ver 2.0,1.0cout i :odd num endl;else cout i :NOT odd num endl;20int

    10、IsOdd(int n)if(n%2)return 29;elsereturn 77;/ver 3.0char IsOdd(int n)if(n%2)return X;elsereturn M;/ver 4.0for(int i=1;i=100;i+)/if(IsOdd(i)=x)/ver 4.0/if(IsOdd(i)=29)/ver 3.0/if(IsOdd(i)=true)/ver 2.0,1.0if(IsOdd(i)/ver 2.0,1.0cout i :odd num endl;else cout i :NOT odd num endl;21int IsOdd(int n)if(n%

    11、2)return 29;elsereturn 77;/ver 3.0char IsOdd(int n)if(n%2)return X;elsereturn M;/ver 4.0什么是“是”,什么是“不是”?22int IsOdd(int n)if(n%2)return 29;elsereturn 77;/ver 3.0char IsOdd(int n)if(n%2)return X;elsereturn M;/ver 4.0你你说它是,它就是,不是也是。说它是,它就是,不是也是。你你说它不是,它就不是,是也不是。说它不是,它就不是,是也不是。什么是“是”,什么是“不是”?23任务91:(1)定

    12、义一个浮点类型的变量,将浮点值 114.25 赋给它。试编程输出这个浮点类型的变量的内存单元的内容。(2)求以下几个16进制数对应的浮点数值:0X42E48000、0XC0200000、0XBE000000、0X49E48E68。24/此处为 dec2bin()函数定义代码/详细内容见后续页int main()float f=114.25f;int*pn=(int*)(&f);int n=*pn;cout f=f endl;cout n=n endl;dec2bin(n);/或 dec2bin(*pn);cout endl endl;task-9将浮点单元的地址将浮点单元的地址值值&f,转换成

    13、为整,转换成为整数单元的地址。数单元的地址。(T2*)(&T1_var)25intint a=0 x42E48000,b=0 xC0200000,a=0 x42E48000,b=0 xC0200000,c=0 xBE000000,d=0 x49E48E68;c=0 xBE000000,d=0 x49E48E68;coutcout *(float(float*)(&a)(&a)endlendl;dec2bin(a);dec2bin(a);coutcout endlendl;coutcout *(float(float*)(&b)(&b)endlendl;dec2bin(b);dec2bin(b)

    14、;coutcout endlendl;coutcout *(float(float*)(&c)(&c)endlendl;dec2bin(c);dec2bin(c);coutcout endlendl;coutcout *(float(float*)(&d)(&d)endlendl;dec2bin(d);dec2bin(d);coutcout endlendl;return 0;return 0;/task-9/task-9task-91.取地址取地址&a2.指针类型转换指针类型转换(float*)(&a)3.按新类型读取按新类型读取单元的内容单元的内容*(float*)(&a)26#inclu

    15、de using namespace std;int get_bitget_bit(int n,int pos)/还记得这个函数吗?int index=(1 pos);return bit!=0;/Version 2void dec2bindec2bin(int n)for(int i=sizeof(n)*8-1;i=0;i-)cout (E-127)d=(-1)S*(M+1)(E-1023)说明:说明:1.在二进制的科学计数法中,小数点前的整数部分总是1。为节省空间,不为整数位的1分配二进制位,把这个高位1隐藏掉。因此,实际尾部是(M+1)。2.为计算方便,指数也分别加上了127(对floa

    16、t类型)或1023(对double类型),然后再存储。因此,实际的指数应该是(E-127)或(E-1023)。S S:浮点数的符号位:浮点数的符号位E E:浮点数的指数:浮点数的指数M M:浮点数的尾数:浮点数的尾数任务92*:根据IEEE对浮点格式的规定,编程输出浮点数值114.25的二进制表示形式中“指数部分”E和“尾数部分”M的具体内容,即由0和1组成的二进制串。再用M和E“计算”出对应浮点值。float f;/sizeof(float)=float f;/sizeof(float)=4 4S:1E:8M:23f=(-1)S*(M+1)(E-127)课后思考题课后思考题28s:1e:8m

    17、:23F=(-1)S*(M+1)(E-127)Input(0 31 bits)第一步第二步31 30.022.29int main()float f=114.25;int*pf=(int*)(&f);dec2bin(*pf);/参考“答案”int n=*pf;int S=get_S(n);/获取符号位int E=get_E(n);/获取指数部分int M=get_M(n);/获取尾数部分dec2bin(E);dec2bin(M);cout get_value(M,E)endl;/上面的计算结果应为 114.25return 0;/task-9.2参考主程序实现30整数部分38414,直接转为二

    18、进制,得960E(因为01串太长,这里写成十六进制形式)小数部分0.4,转换过程如下:0.4=0.5*0+0.25*1+0.125*1+0.0625*0+得0110 1010 1010 1010 1010 1010 1010 1010 1010 1 于是,38414.4(dec)=1001 0110 0000 1110.0110 1010 1010 1010 1010 1010 1010 1010 1010 1(bin)用科学计数法表示为 1.001 0110 0000 1110 0110 1010 1010(其余位略)乘以2的15次方。然后去掉最高位的整数1,纯小数部分则对应浮点数的尾数部分。指数部分15+1023=1038;二进制表示为:100 0000 1110 尾数部分 001 0110 0000 1110 0110 1010 1010(余位略)带上符号位合并后为 0100 0000 1110 0010 1100 0001 1100 1101 0101 0101 0101 0101 0101 0101 0101 0101,十六进制形式为 40 E2 C1 CD 55 55 55 55,在内存中由低字节到高字节存放,为55 55 55 55 CD C1 E2 40double 值38414.4,求它在内存中的二进制表示3132

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:程序设计基础w06-讨论-3-变量-逻辑-函数课件.ppt
    链接地址:https://www.163wenku.com/p-4146769.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库