C语言#include<iostream> using namespace std; int main()

#include<iostream>
using namespace std;
int main()
{
int a=-1;
printf("%u\n",a);
return 1;
}

A、-1
B、65535
C、4294967295
D、0

答案是C为什么呢?这个代码是什么意思?

%u是unsigned,无符号,就是没有正负之分,只有正数,负数也当作正数处理。
这里的范围是一个环状的,-1的无符号型并不是1,而是2^32-1,其原因:
首先,unsigend int范围是0~(2^32)-1
有符号时:——————————————
…… -1 0 ……
无符号时:——————————————
0 1 2 ………… | |
4294967294 4294967295(==-1)
也就是说,-1原先在0的左边,在整形负数中最靠近0,但是一旦负号不存在,-1就被丢到了后面,-1的unsigned值自然是unsigned int的最大值4294967295。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-09
定义了一个有符号整形a=-1,在第二行是用printf以无符号整形输出
a在内存中二进制表示为11111111111111111111111111111111
以无符号整形输出则会解析为一个无符号整型即为4294967295本回答被网友采纳
第2个回答  2019-04-23
u是unsigned,无符号,就是没有正负之分,只有正数,负数也当作正数处理。
这里的范围是一个环状的,-1的无符号型并不是1,而是2^32-1,其原因:
首先,unsigend int范围是0~(2^32)-1
有符号时:——————————————
…… -1 0 ……
无符号时:——————————————
0 1 2 ………… | |
4294967294 4294967295(==-1)
也就是说,-1原先在0的左边,在整形负数中最靠近0,但是一旦负号不存在,-1就被丢到了后面,-1的unsigned值自然是unsigned int的最大值4294967295。

C语言#include<iostream> using namespace std; int main()
u是unsigned,无符号,就是没有正负之分,只有正数,负数也当作正数处理。这里的范围是一个环状的,-1的无符号型并不是1,而是2^32-1,其原因:首先,unsigend int范围是0~(2^32)-1 有符号时:———…… -1 0 ……无符号时:———0 1 2 ……… | | 4294967294 429496...

...#include<iostream> using namespace std; int
include<iostream>#include<math.h>using namespace std;int main(){float a,b,n;\/\/算法编写有误cout<<"迭代求根,请输入n:";cin>>n;a=1;b=n;while(fabs(b-a)>=1e-5){a=b;b=(a+n\/a)\/2;}cout<<b;return 0;}错误源于算法编写有误,调整算法即可 ...

C语言中 将一个3位数整数,正确分离出它的个位、十位和百位数字,并分别...
3位数整数正确分离的屏幕上输出源代码如下:include <iostream> include <cstdio> include <cstring> using namespace std;int main(){ char a[10];gets(a);int l=strlen(a);for(int i=l-1;i>=0;i--){ cout<<a[i]<<" ";} return 0;} ...

C语言编程 从键盘输入一个字符串,分别统计其中大写字母、小写字母及其...
using namespace std;void main(){ char input[1000];int i=0,out[26]={0},j;char outstring[26]= {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};cout<<"Please input c...

c语言中printf()函数的用法是什么
#include<iostream> usingnamespacestd;int main(){ int a,b,c;cout<<"输入五个整数";cin>>a>>b>>c;if(a>b){ if(c>a)cout<<"最大整数是:"<<c<<endl;else cout<<"最大整数是:"<<a<<endl;} if(b>a){ if(c>b)cout<<"最大...

帮忙看下C语言程序运行结果
include<iostream> using namespace std;int main(){ int a=1,b;for(b=1;b<=10;b++){ if(a>=8)break;if(a%2==1){ a+=5;continue;} a-=3;} printf("%d\\n",b);system("pause");} 开始是时a=1,b=1执行for语句,对1%2=1,执行a+=5,之后结果为a=6,接着执行continue ...

c语言如何编写一个新年快乐的程序?
#include <iostream> using namespace std; int main() { cout << "Happy new year!"; return 0; } 扩展资料 C语言特点 (1)简洁的语言 C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且...

C语言编写一个函数,在主函数中输入包含N个元素一维数组,求此数组中最...
include <iostream> include <algorithm> include <cstring> using namespace std;int a[10000];int main(){ int n;double sum=0;cin>>n;memset(a,0,sizeof(a));for(int i=0;i<n;i++){ cin>>a[i];sum+=a[i];} sort(a,a+n);cout<<a[n-1]<<" "<<a[n-2]<<" "<<a...

用C语言编写求500到600之间所有的素数,每行以8个数的形式输出
includeiostream using namespace std;int main(){ int m ,i,j;for(m=500;m=600;m++){ for(i=500;i=m;i++){ if(m%i==0)break;} if(m==i){ j++;j=j%8;coutm ;} if(j==0){coutendl;} } return 0;}

c语言程序编写 任意输入一个三位数,要求输出这个三位数的各个位的数...
include <iostream>using namespace std;int main() {int a;cin >> a;int ta = a;int t[3];for (int i = 0; i < 3; i++ ) {t[i] = ta % 10;ta \/= 10;}if(t[0]*t[0]*t[0]+t[1]*t[1]*t[1]+t[2]*t[2]*t[2]==a)cout << "Yes" << endl;elsecout ...

相似回答