理论教育 C语言程序设计:整型数据的输入举例

C语言程序设计:整型数据的输入举例

时间:2023-11-02 理论教育 版权反馈
【摘要】:整型数以二进制补码形式存放于内存中。函数printf的功能是按照指定格式、将数据显示在标准输出设备上。程序代码如下:程序运行结果如下:例2.2举例说明整型数据的输入。

C语言程序设计:整型数据的输入举例

1.整型常量

在C语言中,整型常量可以用以下3种形式表示。

(1)十进制形式,如2345、0、-3169。

(2)八进制形式(以数字0开头),如0135,即(135)8,对应于十进制的93。

(3)十六进制形式(以数字0和小写字母x开头),如0x23,即(23)16,对应于十进制的35。

2.整型变量

整型变量可分为有符号整型变量和无符号整型变量两大类,根据变量的取值范围,每类可分为基本整型、短整型、长整型。因此,共有以下6种整型变量:

使用时,方括号内的部分可以省略,如“unsigned[int]”与“unsigned”等价。

例如,下面两种定义方式相同,分别定义了有符号基本整型变量m和n。

数据在内存中是以二进制形式存放的。若不指定是无符号型unsigned,或者指定是有符号型signed,则存储单元的最高位是符号位(用0代表正数,用1代表负数)。若指定是无符号型unsigned,则存储单元的全部二进制位(bit)都用于存放数本身,而不包括符号。

整型数以二进制补码形式存放于内存中。

二进制正数的原码、反码和补码都相同。例如,若定义“short n=6;”,则n的原码、反码和补码都是00000000 00000110。

二进制负数的原码:符号位是1,数值部分用二进制的绝对值表示。它的反码:将其原码除符号位外,其余各位按位取反,即将1都换成0、将0都换成1。它的补码:在其反码的最低位加1。例如,若定义“short n=-13;”,那么n的原码是10000000 00001101,n的反码是11111111 11110010,n的补码是11111111 11110011。

关于以上各类数据所占内存的大小,C标准要求long型数据不短于int型、short型不长于int型即可,具体怎样实现,由计算机系统自行决定。例如,在使用Visual C++或CFree软件时,short型占2字节,int型和long型各占4字节。

对于有符号整型变量,2字节的取值范围为-215~215-1,即-32768~32767;4字节的取值范围为-231~231-1,即-2147483648~2147483647。

对于无符号整型变量,2字节的取值范围为0~216-1,即0~65535;4字节的取值范围为0~232-1,即0~4294967295。

根据上面规定的取值范围,在为整型变量赋值时,应注意不要超出变量的取值范围,否则会发生“溢出”,而出现“溢出”时程序并不报错。因此,编写程序时要根据实际情况,准确选择变量的类型,避免“溢出”。

3.整型数据的输入输出

函数scanf可以实现输入。函数scanf的功能是按照指定格式、将从标准输入设备输入的内容送入变量。(www.daowen.com)

函数printf可以实现输出。函数printf的功能是按照指定格式、将数据显示在标准输出设备上。

这里的“指定格式”需要使用格式说明符%和格式字符。用于输入/输出整型数据的格式字符有英文字母d、o、x、u等。具体含义如下:

%d——表示输入/输出十进制整型数据。

%o——表示输入/输出八进制整型数据。

%x——表示输入/输出十六进制整型数据。

%u——表示输入/输出无符号整型数据。

除了%d格式之外,上面的其他几种格式都将数据作为无符号数据进行输入/输出。也就是说,若要输入/输出带符号的整数(正整数或负整数),就必须使用%d格式。

如果输入/输出的是长整型数,就一定要在%的后面加上字符l(字符L的小写),否则可能显示不正确。例如,使用%ld输入/输出十进制长整型。

例2.1 举例说明整型数据的输出。

程序代码如下:

程序运行结果如下:

例2.2 举例说明整型数据的输入。

程序代码如下:

运行程序,若输入:100,100,100↙(回车符)

则输出:100,64,256

若输入:54321,765432↙

则输出:54321,765432

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈