C语言里int和short型变量的区别是什么??

作者&投稿:禹有 (若有异议请与网页底部的电邮联系)
C语言数据类型中int与short的区别~

(1)C/C++规定int字长和机器字长相同;
(2)操作系统字长和机器字长未必一致;
(3)编译器根据操作系统字长来定义int字长;
整形变量是不是32位这个问题不仅与具体的CPU架构有关,而且与编译器有关,所以int可以为32为或16为,而short为短整型变量,只能为16位。

整型常量的值不可被改变,而整型变量的值可以更改,这是最主要的区别
实际上,整型常量通常被定义为某个特殊的量,用以参与运算,而整型变量仅仅只是当做变量来用

1、占用字节根据机型不同会有不同:

在一般的电脑中,int占用4字节,32比特,在之前的微型机中,int占用2字节,16比特。在32位平台下如windows(32位)中short一般为16位。

2、数值范围不同:

int在一般的电脑中,数据范围为-2147483648~2147483647[-2^31~2^31-1],在之前的微型机中,int数据范围为-32768~32767[-2^15~2^15-1]。C++ & C short为一种数据类型,范围-32768~+32767。

扩展资料:

整型数据的其它分类:

1、长整型:类型说明符为long int或long,在内存中占4个字节。

2、无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:

3、无符号基本型:类型说明符为unsigned int或unsigned。

4、无符号短整型:类型说明符为unsigned short。

5、无符号长整型:类型说明符为unsigned long。

short长度规则:依据程序编译器的不同short定义的字节数不同。标准定义short短整型变量不得低于16位,即两个字节。编译器头文件夹里面的limits.h定义了short能表示的大小:SHRT_MIN~SHRT_MAX。在32位平台下如windows(32位)中short一般为16位。

参考资料来源:百度百科-INT

参考资料来源:百度百科-short



一、字节数不同

1、int:int占用32字节,32比特。

2、short:短整型变量不得低于16位,即两个字节。

二、范围不同

1、int:数据范围为-2147483648~2147483647[-2^31~2^31-1]。

2、short:数据范围为范围-32768~+32767。


三、特点不同

1、int:除了int类型之外,还有short、long、long long类型可以表示整数。

2、short:依据程序编译器的不同short定义的字节数不同。


参考资料来源:百度百科-short

参考资料来源:百度百科-INT



区别如下:

1 占用空间不同。
int占4个字节,short占2个字节。
2 可以表示数的范围不同。
int 的范围为-2147483648~ 2147483647;
short的范围为 -32768~ 32767。
3 用来输入输出的格式字符不同。
int用%d, short用%h。
用来输出的时候,short可以用%d。除此以外,不能混用。

C++标准规定,int占一个机器字长。在32位系统中int占32位,也就是4个字节,而在老式的16位系统中,int占16位,即2个字节。而C++标准中只限制规定short int不能超过int的长度,具体长度的可以由C++编译器的实现厂商自行决定。目前流行的32位C++编译器中,通常int占4字节,short int占2字节。其中short int可以简写为short。类似地,C++标准只限制了long int不得小于int的长度,具体也没有作出限制。



谭浩强的书太脑残,他那些东西都应该进博物馆

int一般都是4字节(32位)或者8字节(64位)
short一般是2字节(16位)相当于word或者int16

不过有个别操作系统或者编译器略有不同


汇编语言中的操作码占多少字节?
在51汇编语言中,操作码一般占用一个字节,操作数一般占用0到2个字节。比如:MOV A,R0,操作码E8H占用一个字节,操作数占用0个字节 MOV A,#20H,操作码74H占用一个字节,操作数#20H占用一个字节 MOV DPTR,#2000H,操作码90H占用一个字节,操作数2000H占用两个字节。

C语言中怎么查找字符串数组中的某个字符?
程序有误,修改如下:include <stdio.h> include <string.h> void main(){ char sh[20];gets(sh);for(int i=0;i<20;i++){ if(sh[i]='@'){ printf("判断出有字符@\\n");break;} if(sh[i]='\\0')printf("无字符@\\n");} } ...

C语言中怎样获得字符串中的单个字符
根据字符串存储的变量的不同,方法不同,参考代码:存储在char数组中(支持C\/C++)char str[]="hello" ;int i;for( i=0;str[i];i++ ) printf("%c\\n", str[i] ); \/\/以数组方式引用一个字符:str[i] for( i=0;*(str+i);i++ ) printf("%c\\n", *(str+i) ); \/\/...

C语言:由键盘任意输入一个整数(变量zs)、一个实数(变量
代码编写示例如下:include<stdio.h>int main(){ int zs; double ss; printf("请输入1个整数和1个实数,以分号间隔:"); scanf("%d;%lf",&zs,&ss); double sh=ss\/zs; printf("%.8f",sh); return 0;}运行截图:...

C语言编程:从键盘输入一个正整数n,求解并输出大小最接近n的素数(包括n...
int sushu(int x);{ int i;for(i=0;i<x;i++){ if x%i==0 break;} if i==x return 0;\/\/是素数 else return 1;\/\/不是素数 } main(){ int n,i,sh1,sh2;sh1=0;sh2=0;i=0;scanf("d%",&n);whlie((sh1==0)&&(sh2==0)){ if (sushu(n-i)==0)&&(n-i>1)s...

C语言 写程序的问题 给定一个三位数,判断其每一位数字,若为偶数,则...
int x;\/\/你说的三位数 int sum=0;\/\/偶数的和 int ge,shi,bai;ge=x%10;x=x\/10;shi=shi%10;bai=x\/10;if(ge%2==0)sum=ge;if(shi%2==0)sum=sum+shi;if(bai%2==0)sum=sum+bai;\/\/分离个十百位的数,完后判断是偶数就加到和里,自己写的最好做在一个数组里做一个循环,简单...

“shit”是什么意思?
shit [Fit]vi.拉屎, <俚>对...胡扯, 企图欺骗, 取笑 vt.欺骗 n.粪, 屎 int.狗屁!shit shit AHD:[sh¹t] 【猥亵用语】D.J.[.it]K.K.[.!t]v.(动词)shit也作 shat [sh²t] shit.ting, shits v.intr.(不及物动词)To defecate.排便 v.tr.(及物动词)To ...

C语言编写一个程序,把560分钟换算成用小时和分钟表示,然后输出
一分钟读懂.c语言程序设计

C语言中怎么查找字符串数组中的某个字符?
程序有误,修改如下:include <stdio.h> include <string.h> void main(){ char sh[20];gets(sh);for(int i=0;i<20;i++){ if(sh[i]='@'){ printf("判断出有字符@\\n");break;} if(sh[i]='\\0')printf("无字符@\\n");} } ...

C语言中使用函数实现:数据的输入,排序,输出和查找(要求折半查找递归实...
void isort(int *s,int n)\/*排序函数*\/ { int i,j;int *p,temp;for(i=0;i<n-1;i++){ p=s+i;for(j=i;j<n;j++)if(*p>s[j])p=s+j;temp=*p;p=s[i];s[i]=temp;} } int binsh(int *a, int c, int low, int high)\/*递归法实现的二分查找法,元素存在于a中则...

玉泉区15933963084: C语言中int short long 的具体区别是什么? -
人荆丽智: 三种类型,在类型定义、占用字节数、数据范围等方面存在不同点. 1、定义不同 int类型称为整型; short类型称为短整型; long类型称为长整型; 2、占用字节数不同 short int型变量两个字节(两个字节); int类型四个字节(32位机中); ...

玉泉区15933963084: C语言中int型整数变量和short型整数变量有什么区别 -
人荆丽智: 这跟机器字长有关,在16位机中,int是2字节,在32位机中,int是4字节,而short就是2字节,你可以用sizeof求出他们的字节数.例如:#include<iostream.h> void main() { cout<<sizeof(int)<<endl; cout<<sizeof(short)<<endl; } 或#include<stdio.h> void main() { printf("%d " ,sizeof(int)); printf("%d",sizeof(short)); } 输出:(在32位机中)424 2

玉泉区15933963084: C语言中的short和int有什么区别 -
人荆丽智: int占一个机器字长.在32位系统中int占32位,也就是4个字节,而在16位系统中,int占16位,即2个字节.C++标准只限制了short int不能超过int的长度,也可以说没什么大的不同 希望能帮到你

玉泉区15933963084: C语言数据类型中int与short的区别
人荆丽智: (1)C/C++规定int字长和机器字长相同; (2)操作系统字长和机器字长未必一致; (3)编译器根据操作系统字长来定义int字长; 整形变量是不是32位这个问题不仅与具体的CPU架构有关,而且与编译器有关,所以int可以为32为或16为,而short为短整型变量,只能为16位.

玉泉区15933963084: C语言里 short a ;short int a;int a;long a;long int a的区别. -
人荆丽智: 变量所占字节数和变量的值无关,只和变量本身的类型有关 short和short int完全等效 long和long int完全等效 变量所占字节数与平台有关,C语言标准中未规定 通过打印sizeof(short),sizeof(int),sizeof(long)确定 所占字节数越大,表示的可范围越大

玉泉区15933963084: c语言中int与 short int,有什么区别?它们分配的大小不都是一样的嘛...
人荆丽智: int与short int是不一样的. C++标准规定,int占一个机器字长.在32位系统中int占32位,也就是4个字节,而在老式的16位系统中,int占16位,即2个字节.而C++标准中只限制规定short int不能超过int的长度,具体长度的可以由C++编译器的实现厂商自行决定.目前流行的32位C++编译器中,通常int占4字节,short int占2字节.其中short int可以简写为short.类似地,C++标准只限制了long int不得小于int的长度,具体也没有作出限制. 参考:http://tieba.baidu.com/p/79577070

玉泉区15933963084: 选择.设C语言中,int类型数据占2个字节,则short类型数据占几个字节 -
人荆丽智: short是占两个2113字节. short在C语言中是定义一种整型变量家族的一种,shorti;表示定义一个短整型的变量i. 依据程序编译器的不同short定义的5261字节数不同,标准定义short短整型变量不得低于16位,即两个字节,4102编译器头文件夹...

玉泉区15933963084: C语言中关于 int 型的问题. -
人荆丽智: 1. 不同的编译器int的长度不同,各种数据类型的长度也不一定相通16位编译器int=short int=2字节32位编辑器int=log int=4字节 具体编写一个程序输出各种类型占用字节数就知道了 printf("int %d\n",sizeof(int));2. C语言的int类型与开发环境平台...

玉泉区15933963084: 在c语言中,int,long,short,有什么区别? -
人荆丽智: 32bit系统,int是4字节,short是2字节,long有的编译器是4字节,有的编译器是8字节. 区别就是表示的数据大小不同了,4字节,可以表示最大数是2的32次方,2字节就是2的16次方

玉泉区15933963084: C语言的整型变量
人荆丽智: 整型变量可分为以下几类: 1.基本型 类型说明符为int,在内存中占2个字节,其取值为基本整常数. 2.短整量 类型说明符为short int或short'C110F1.所占字节和取值范围均与基本型相同. 3.长整型 类型说明符为long int或long ,在内存中占4个...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网