资源描述:
《《c语言程序设计上机指导》(高职)项目三》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、项目三数据类型、运算符与表达式【实验内容、步骤】1、检查所用计算机是否已经安装VisualC++2012。2、进入VisualC++2012的工作环境。3、编程示例,观察与验证。输入并运行下面的程序,分析运行结果。【任务实施】实验普通字符以及转义字符的应用示例源程序3-1#includevoidmain()charc;c=/a,;printf(''c=%c,c=%d,c4-l=%czc4-l=%d,,zczczc+lzc4-l);printf(''101x41A〃);p
2、rintf(''Iblove"C!V〃);}提示:先了解字符的表示方法,值的范围以及与整数的混合运算规则。本程序主要考察了普通字符和转义字符的。比如“c4=、101"这里/是一个转义字符,101被转义为一个八进制数101,也就是十进制的65,所以被赋值为ASCII码值为65的字符,也就是7V。源程序运行结果如下图:C:WindowsXsystem32cmd.exec二a,0=97^0+1=bJ.c+1=98AAAloue请按任意键继续・・・图3-1-1运行结果图那么,如果将第四行“c=
3、‘a';”再使之运行,第一个printf语句的结果会有什么变化?若源程序改为:□voidJsainO{charc:f€f€cWa;printfCc=%c9c=%d,c+l=%c,c+1二%d",c,c,c+1,c+1);printfCWOlx41A");printf{e{
4、blove"C!");图3-1-2修改后的程序代码图(1)大家发现:用双引号括起来的a在内存屮以髙髙底底的方式占用两个字节地址,成为一个宽字节,程序以窄字读取结果发生了变化。小提亦:高位存在地址高的地方如内存00
5、62586000625864存11011000。那么1101存到00625864这个地址中,1存在00625864,0存在00625865,1存在00625866,1存在00625867女口此高高低低。运行结果如下:C:Windowssystem32cmd.exec=XJ.c=88,c+l=V,c*l=89AAAloue请按任意键继续・・・图3-1-2修改后的运行结果图(2)若改为“c=97;”将整数赋值给字符变量,会有什么变化呢?#include□void加壬n(){cha
6、rc;c=97;printfCc=%c}c=%d,c+1二黑c$c+1二%d'n",c,c,c+1,c+1);printfClQ\x41A");printf
7、blove"C!"");}图3-1-3修改后的程序代码图(1)由于97为小写字母a的十制进值。那么运行结果如下图:C:Windowssystem32cmd.exec=a..c=97,0+1+1=98AAAloueUC?H请按任意键继续・・・■图3-1-3修改后的运行结果图(2)若改为“c=300;”用大于255的整数赋值
8、又会产生什么变化?#include□void场&壬?(){charc;c=300;printfCc=%c^c=%djc+l=%Cjc+l=%d"Jc,c,c+1,c+1):printf^WQix41Arf);print
9、blove"C!");图3-1-4修改后的程序代码图(1)大家都知道,由于char的収值范围在-128-127之间。那么运行结果如下:C:Winaowssystem32cmd.exe=45AAAloueMC?U请按任意键继续・・・图3-1-4修
10、改后的运行结果图(2)若此句改成“c=a;”,有错误吗?若有,是编译错误还是连接错误?我们可以肯定是编译有错误。大家注意,在进行字符赋值时一定要带上单引号。如下图所示,会发现有编译错误提示。#includeBvoidssainO{charc:c=dprintfCc=%c3c二%d,c+1二%c$c+1二%d"_,c,c,c+l$c+1):printfCWQlx41A"):printfC
11、blove"C!"):}图3-1-5修改后的程序代码图实验3-2不同整型数据类
12、型应用示例源程序3-2#includevoidmain(){intx=010zy=10,z=0xl0;〃不同进制整型数据赋值inta=100,b=-100;unsignedc=100,d=-100;〃将一个负整数赋给一个无符号的变量printf(''x=%d,y=%d,z=%d,,zxzyzz);printf(''a=%d,b=%d/c=%u,d=%uz,za,bzc/d);}第一个printf语句的输出结果:x的赋值是八进制数,y的赋值为十