本文目錄一覽:
c語言整數的範圍
C語言整型,一般分為char類型和int類型,不同的類型取值範圍也不盡相同。在32位系統中:
char取值範圍:-128~127
unsigned char取值範圍:0~255
int取值範圍:-2147483648~2147483647
unsigned int取值範圍:0~4294967295
在c語言中可以通過C標準庫中的limits.h頭文件,來直接使用整型類型的最大值和最小值 。示例如下:
#include stdio.h
#include limits
int main()
{
printf(“char取值範圍:%d~%d\n”,CHAR_MIN, CHAR_MAX );
printf(“unsigned char取值範圍:%u~%u\n”,0, UCHAR_MAX);
printf(“int取值範圍:%d~%d\n”, INT_MIN, INT_MAX);
printf(“unsigned int取值範圍:%u~%u\n”, 0, UINT_MAX);
return 0;
}
C語言中正整數的定義?int也包括了負整數!
int就可以定義正整數並包含負整數,無符號整數,沒有負數的情況,使用unsignedint即可。
C語言通常使用int來定義整數(int是integer的簡寫)。int一般佔用4個位元組(Byte)的內存,共計32位(Bit)。
如果不考慮正負數,當所有的位都為1時它的值最大,為232-1=4,294,967,295≈43億,這是一個很大的數,實際開發中很少用到,而諸如1、99、12098等較小的數使用頻率反而較高。
擴展資料
int的左右及使用
int具有整數類型的項的值是它對應的數學整數。積分類型可以是無符號的(只能表示非負整數)或有符號(也能表示負整數)。
shortinta=10;
shortintb,c=99;
longintm=102023;
longintn,p=562131;
參考資料來源:百度百科—int函數
c語言求一個整數集合的各個子集的數字和並比較大小,列出和最大的子集
這是個經典算法:
#include “stdio.h”
int maxa(int * a,int l,int* s,int* e) /*用s和e 記錄子數組起始和終止地址,l是數組長度*/
{
int summax=0; /*最大子數組的和*/
int sumcur=0; /*當前和*/
int i;
*s=0;*e=0;
for(i=0;il;i++)
{
sumcur+=a[i];
if(sumcursummax)
{
summax=sumcur;
*e=i;
}
else if(sumcur0)
{
sumcur=0;
*s=i+1;
}
}
if(summax=0)
{
summax=a[0];
for(i=0;il;i++)
{
if(summaxa[i])
{
summax=a[i];
*s=i;
*e=i;
}
}
}
return summax;
}
int main()
{
int a[]={1,-2,3,10,-4,7,2,-5};
int start,end;
printf(“最大子數組的和為:%d\n”,maxa(a,8,start,end));
printf(“最大子數組的元素下標從%d到%d:\n”,start,end);
while(start=end)
{
printf(“%d “,a[start++]);
}
printf(“\n”);
return 0;
}
結果:
C語言 整數的個數
#include stdio.h
int cnt[11];
void main()
{
int n,i;
int num;
while(scanf(“%d”,n)!=EOF)//n個數…
{
for(i=1;i=10;++i)cnt[i]=0;//一開始清0…
while(n–)
{
scanf(“%d”,num);//輸入數字…
++cnt[num];
}
printf(“%d\n%d\n%d\n”,cnt[1],cnt[5],cnt[10]);
}
}
c語言 正整數如何表示
在C語言中可以用unsigned int或unsigned short或unsigned char或unsigned long關鍵字來定義一個正整數變量。
unsigned int表示無符號整型。能表示數的範圍為0~(2^16-1)(unsigned int佔2位元組,16位機系統,如Turbo C)或0~(2^32-1)(unsigned int佔4位元組,32位機系統,如Visual C++)。
unsigned short表示無符號短整型。能表示數的範圍為0~(2^16-1)。
unsigned char表示無符號字符型。能表示數的範圍為0~(2^8-1)。
unsigned long表示無符號字符型。能表示數的範圍為0~(2^32-1)。
舉例如下:
unsigned int a = 123; // 定義一個無符號整型數a,並初始化為123
unsigned short b = 123; // 定義一個無符號短整型數b,並初始化為123
unsigned char c = 123; // 定義一個無符號字符型數c,並初始化為123
unsigned long d = 123; // 定義一個無符號長整型數d,並初始化為123
註:具體選哪個關鍵字表示,就需要根據所需要表示整數的範圍來進行選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/151989.html