欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《c程序设计基础》qa-第二章-c程序设计基础.ppt

    • 资源ID:5896065       资源大小:889.50KB        全文页数:33页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    《c程序设计基础》qa-第二章-c程序设计基础.ppt

    C+程序设计基础,Q&A(1)第二章北京邮电大学信通院方莉,2,Q&A,P38,2.1Q:下列变量名不合法的有哪些?为什么?A12-3、123、m123、_ 123、WhileA:A12-3:变量名中不能有-符号123:变量名不能一数字开始_ 123:变量名中不能有空格,3,Q&A,P38,2.3Q:32 位机中,int、float、double 类型在内存中各多少字节?在VC 环节下long double 变量在内存中占用多少字节?A:分别占用4、4、8 字节。long double 变量在内存中占用8 字节,和double 相同。,4,Q&A,Q:转义字符?A:ooo 1-3位8进数 xhh 1-2位16进数 字符a:0 x61:0141#include using namespace std;void main()cout输出字母:x61endl;cout输出字母:141endl;cout输出字母:aendl;,5,Q&A,P39,2.10Q:下列的转义字符中哪个是不正确的?为什么?,089,0 A:089 是不正确的。因为89 不是八进制数。,6,Q&A,运算符的优先级,规律一、按照操作数个数来区分,一元运算符高于二元运算符,二元运算符高于三元运算符;规律二、按照运算符的作用来区分,级别最高的是那些不是严格意义上的运算符,次之是算术运算符,位移运算符,关系运算符,位运算符,逻辑运算符,赋值运算符。此外还有两特别的地方需要注意:一、同为关系运算符,但=和!=的级别低于其它四个;二、一元运算符、条件运算符、赋值运算符是右结合的,其它的都为左结合;,Q&A,Q&A,int x=1,y=0;!x,第一种方案:c=(ab)?a:b);第二种方案:c=(a(b?a:b);第三种方案:(c=a)(b?a:b);,值为:0,x=1,y=0,i=8,j=5,k=5,9,Q&A,运算符的结合性:运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的方向处理。例子:1:int a,b=1,c=2;a=b=c;(右左)a=(b=c)2:a=b=0(左右)(a=b)=0,10,Q&A,P38,2.2Q:2.2 下列表达式不正确的有哪些?为什么?A.int a=a;B.char c=102;C.char c=”abc”;D.char c=n;?A:只有表达式C 不正确。不能将字符串赋值给一个字符变量。,11,Q&A,P38,2.5Q:以下C+的操作符中,符合优先级从高到底正确排列的是_?A.+=&B.=+&C.+&=D.&+=A:A,12,Q&A,P39,2.7Q:2.7 设 a 为整型变量,表达数学关系11&a=5),13,Q&A,P39,2.12Q:2.12 若定义了double t;则表达式t=1,t+5,t+的值是多少?A:1.0,14,Q&A,P39,2.13Q:2.13 若定义了double x,y;则表达式x=2,y=x+5/2 的值是多少?A:4.0,15,Q&A,P39,2.14Q:2.14 若定义了int x=100;则表达式x+100?x+100:x+200 的值是多少?A:301,16,Q&A,P39,2.15Q:2.15 若定义了int a=10,b;则计算表达式b=a|+a 后,a 的值是多少?A:10,Q:2.6 若有以下定义:char a;int b;float c;double d;则表达式 a*b+d-c 值的类型是什么?A:double,Q&A,Q&A,2.18 以下程序通过for 语句重复相加0.01 共10 次,最后判定相加结果和0.1 是否相等。请写出运行的结果,并进行解释。void main()float a=0.1,b=0.0;for(int i=0;i10;i+)b=b+0.01;coutbendl;if(a=b)cout相等endl;else cout不相等endl;答案:运行结果是:0.1,不相等因为float 数在机器内部是按浮点数存放的。看到的数和机器内部的数存在差别。看到的0.1在机器内部不一定刚好是0.1。这是实数运算时必须注意的。,19,Q&A,2.19 以下程序执行的结果是什么?为什么?如果数据定义为double 类型,结果又将如何?void main()float a=5.0000001,b=5.0000002;coutsetprecision(8)b-aendl;答案:0因为float 数本身的精度所限制。即使规定输出精度是8 位,也只能显示为0。定义为double 类型后,结果是9.9999999e-008。,20,Q&A,I/O流的格式控制输出 库文件 iomanip:(manipulator)常用操纵符:setiosflags(ios:left):左对齐setiosflags(ios:right)(默认):右对齐setiosflags(ios:fixed)(默认):定点方式表示浮点数与setprecision(int n)结合,控制小数点右边输出位数setiosflags(ios:scientific):指数方式显示与setprecision(int n)结合,控制指数法小数点右边输出位数,21,Q&A,setiosflags(ios:fixed)):定点方式表示浮点数与setprecision(int n)结合,控制小数点右边输出位数,22,Q&A,setiosflags(ios:scientific):指数方式显示与setprecision(int n)结合,控制指数法小数点右边输出位数,23,Q&A,常用操纵符:setfill(c):设置填充字符setw(n):设置域宽为n只对其后输出的第一个数据有效;setw(0):默认按实际输出;setw(n):if n实际输出的位数,按实际输出,不损失数据精度;setprecision(int n):显示浮点数的数字个数。直接输出或setprecision(0):输出6位有效数字;若按其他精度,按设置的精度输出。,Q:隐式类型转换和cout输出 float f;f=17/7;float num=1;coutnumendl;coutfendl;A:1 2,Q&A,Q:P15,flaot和double型的数据在机器中都是以浮点数的格式存放。对于float型数据,最小的数据分辨率为1/224=0.00000059604644775390625,也就是保证7位有效数字?A:Float为单精度,内存中占4个字节,有效数位是7位。,Q&A,2023年8月31日,浮点数存储,IEEE754标准:浮点数(单精度),用32bit存储双精度数,用64bit存储,e=e+27-1,e=e+210-1,M为M的小数部分,采用1.xxxx格式,并隐藏最高位的1,增加一位有效位。,参考答案,2.11 若定义了 int a=1,b=2,c=3,d=4;则表达式a+dc+b?a+b:cd?a+c:b+d 的值是多少?答案:4,参考答案,2.16 写出下列程序的运行结果?(1)#include using namespace std;void main()int a1,a2;int i=5,j=7,k=0;a1=!k;a2=i!=j;cout”a1=”a1t”a2=”a2endl;答案:a1=1 a2=1,参考答案,2.16 写出下列程序的运行结果?(2)#include using namespace std;void main()int a=0;couta+endl;cout+aendl;int b=10;coutb-endl;cout-bendl;couta+bendl;,答案:0210810,参考答案,2.16 写出下列程序的运行结果?(3)#include using namespace std;void main()short i=65536;cout iendl.;/在16 位机上运行答案:0,参考答案,2.16 写出下列程序的运行结果?(4)#include#include using namespace std;void main()coutsetfill(*)setw(5)1endlsetw(5)12endlsetw(5)123endl;coutsetiosflags(ios:left)setw(5)1endlsetw(5)12endlsetw(5)123endl;,答案:*1*12*1231*12*123*,参考答案,2.17 以下两个程序执行的结果分别是什么?为什么?程序 1:void main()short k=1000,p;p=k*k;coutpendl;程序2:void main()short k=1000,p;p=k*k/k;coutpendl;答案:程序 1 的结果是16960。因为计算结果超过short 的最大值,溢出了。程序2 的结果是1000。,参考答案,2.20写出下列程序的运行结果,并解释这些为运算实现的操作#includeusing namespace std;void main()Int x=0 x98FDECBA;couthexuppercase;cout(x|0 xFF)endl;cout(x0 xFF)endl;cout(x,FFFFFFBA98FDEC4598FDEC00,

    注意事项

    本文(《c程序设计基础》qa-第二章-c程序设计基础.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开