资源描述:
《c语言程序设计-2-曾剑平》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计(2)--基本数据类型、输入输出曾剑平博士zjp@fudan.edu.cnhttp://homepage.fudan.edu.cn/~zengjp2012年03月提纲VC上机中的问题基本数据类型输入和输出基础上机练习运行时不是我希望…如果已经存在工程及C文件(c1),又另外建了一个C(c2),但运行时希望执行c2中的main函数。解决:1)关闭worksapce,在提示中选择N2)这时只保留c2,再进行compile,运行。VC在Linking…时停止了解决:C程序编辑完成后,不要马上执行(executeprogram).正确:先co
2、mpile,确保没有error和warning,如果有先修改代码。然后再执行。Workspace,project,C一次只能打开一个workspace一个Workspace可以包含多个project,但只能有一个处于active状态一个project可以包含多个C文件处于active状态的project中的C文件中只能有一个main函数提纲VC上机中的问题基本数据类型输入和输出基础上机练习整型数据inta1;shortinta2;longinta3;按照数值范围大小:基本型:int短整型:shortint(简:short)长整型:longint(简
3、:long)取值范围:a1:-231~231-1(-2147483648~2147483647)a2:-215~215-1(-32768~32767)a3:-231~231-1(-2147483648~2147483647)取值范围的解释int4个字节(byte),4*8=32位(bit)short2个字节,2*8=16位long4个字节,4*8=32位这三种类型变量的二进制位表示中,最高位表示符号位:0—正,1—负因此,能用于表示数值的位要减1。如:short在计算机中的表示:0000000000000001表示12000000000000000
4、11表示322-10111111111111111表示32767215-1假如为4bit,则表示范围(0~15):0000,0001,0010,0011,…,111124-1=15为什么short16bit表示最大是:215-1?为什么long/int32bit表示最大是:231-1?数值位数int4*8=32位(bit)31short2*8=16位15long4*8=32位31但是在不同的C编译平台上,int,short,long的字节数不一定是4,2,4.只要:long的字节数>=int的字节数short的字节数<=int的字节数超范围的变量赋
5、值inta1;shortinta2;a1=2147483646a1=2147483647a1=2147483648a2=32767;a2=32768;a2=32769;warningC4305:'=':truncationfrom'constint'to'short'VC不会warning,但不能正确赋值!负数1)负整数在计算机中的表示:-1,-10?2)最高位为1的二进制数对应的负整数是多少?1000000000000001表示?1000000000000011表示?1111111111111111表示?补码,反码负整数在计算机中用补码表示。sh
6、orta2=-1;1)对应的正整数的二进制数00000000000000012)求反码:11111111111111103)+1:1111111111111111shorta2=-10;1)对应的正整数的二进制数00000000000010102)求反码:11111111111101013)+1:11111111111101101111111111111111表示?1)-111111111111111102)求反码00000000000000013)求得对应的整数:11111111111111111表示-11000000000000001表示?1)
7、-110000000000000002)求反码01111111111111113)求得对应的整数:327671000000000000001表示-32767利用VC的debug观察16进制格式,对应的二进制数:1111111111110110如果不需要符号位如年龄变量,非负。可定义为:unsignedintage;称为:无符号基本型变量unsignedshort无符号短整型unsignedlong无符号长整型表示范围:age:0~232-1其他进制的整数表示八进制:整数开头加一个数字符0;如0123十六进制:整数开头加0x(0X).由0~9,a,b
8、,c,d,e,f或对应的大写字母构成十六进制数。0x123,0x1abc0x123(0x后面不能有空格)整数常量直接在数字