‘壹’ 输入一个数,然后判断输出这是一个正数,或者这是一个负数,或者这是0 c语言
#include
#include "StdAfx.h"
void main()
{
float a;
//定义变量
printf("请输入一个数:\n");//输入提示
scanf("%f",&a);
//获取输入
if(a>0.0)
//大于0
{
printf("%0.1f大于0",a);
}
else if(a<0.0)
//小于0
{
printf("李前%0.1f小于0",a);
}
else
//等让磨于0
printf("%0.1f等于0"坦扰斗,a);
}
‘贰’ c语言编程,输入一些整数,判断其中正数与负数的个数,并分别求出正数与负数的平均值
代码如下:
#include "stdio.h"
main( )
{ int i,iNum,iCount1=0,iCount2=0,iCount3=0;
for(i=1;i<11;i++)
{
printf("请输入10个数:");
scanf("%d",&iNum);
if (iNum>0)
iCount1++; /*iCount1表示大于0数姿亏*/
else if(iNum<0)
iCount2++; /*iCount2表示小于0的数*/
else
iCount3++; /*iCount3表示等于0的数*/
}
printf("%d,%d,%d",iCount1,iCount2,iCount3);
}
(2)c语言中不知道一个数为正为负扩展阅读
C语言编程注意事项:
1、当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写;
2、程序中不得出现仅靠大小写区分的相似的标识符;
注意相似的数字及字母(0和o,I(i)和l(L))
3、一个函数名禁止被用于其他之处;
4、所有宏定义、枚举常数、只读变量全兄扒用大写字母命名,用下划线分割单词;
#define MAX_NUM = 100
5、一般来说,习惯上用n、m、i、j、k等表示int型变量;c、ch等迹尘神表示字符类型变量;a等表示数组;p等表示指针;循环变量用i、j、k。
‘叁’ c语言中负数如何表示
c语言中负数表示方法就是在数前加负号“-”,比如:
-5,-10000,等
一个变量赋值为负数也是如此,比如:
x=-1000;
‘肆’ 用位操作写一个判断正负数的C语言代码
你好,首先要毁敏测试一下你纤型枝编译器所定义的整型是多少字节,用sizeof(int)测试一下,一般是4字节,假如是4字节说明是32位,这样无符号和有符号整数区别在于第32位是1还是0,所以可以用一个数0x80000000=1000
0000
0000
0000
0000
0000
0000
0000(32),与租键整数做“与&”运算,假如最高位结果是1(即0x80000000),说明原来整数是负数,假如位0则是正数。
所以可以用如下代码实现
int
yu(int
num)
{
return
(num
&
0x80000000)
;
}
之后在调用函数测试return值就可以了
‘伍’ 请问C语言中我想把一个正数变为负数怎么变 例如:9变成-9
确实跟补码有关
计算机为了使减法变为加法把负数用补码来存储(正数也是只不过正数的补码与原码相同)
以钟表为例
例如: 假设当前时针指向10点,而准确时间是6点,调整时间可有以下两种拨法:
一种是倒拨4小时,即:10-4=6
另一种是顺拨8小时:10+8=12+6=6
计算机内部计算类似于上面 它把(-4)变成储存为12-4=8(即所谓的补码)
而计算机计算10-4时它就变成10+8=18 而钟表最大值为12所以18-12=6 于是计算就完成了
(1)正数的补码:与原码相同(因为它本身是加数计算机可以计算所以不用变)。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。(因为它不是是加数计算机不可以计算 所以要变成补码)
例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码
0000111按位取反为1111000;再加1,所以-7的补码是11111001。简单点就是10000000( 128)-0000111(7)=11111001(121)
而C语言中有符号的整数为16位从00000000,00000000 到011111111,11111111 即0到32767为正数所以补码为原码
从11111111,11111111 到10000000,00000000
为-1到-32768
‘陆’ 输入一个数,然后判断输出这是一个正数,或者这是一个负数,或者这是0 c语言
题目是求一个整数的二蔽陵进制中1的个数。
‘柒’ 在c语言中怎么表示负数。
第一位符号位1为负,0为正。 正数的补码和2进制原码是一样的。
负数的补码:
1、先取绝对值|x| ;
2、对|X|+1 ;
3、对|X|+1 取反,就得到它的补码了 。
计算机中存放整型数据都是按补码的形式存放的。
(7)c语言中不知道一个数为正为负扩展阅读:
有符号数的表示方法是由硬件决定,而不是由C决定的。有三种表示方法:
1、二进制原码
0000 0001 表示 1
1000 0001 表示 -1
这个方法有个缺点是有两个零: +0 和 -0。这会引起混淆,而且用两个位组合来表示一个值也有些浪费。
2、二进制补码(最普遍的系统)
区别在于 singned 和 unsigned:
1)如果是无符号字节, 1000 0000 该组合为 128
2)如果是有符号字节, 1000 0000 该组合为 -128
第一种表示数的范围是 0 ~ 255;
第二种表示数的范围是 -128 ~ +127,对于一个二进制补码数取负数,最简单的方法就是取反、加 1。
3、二进制反码
通过反转位组合中的每一位以形成一个数的负数,例如:
0000 0001 表示 1
1111 1110 表示 -1
这种方式也有一个 -0:1111 1111。其范围是 -127 ~ +127。
‘捌’ 输入一个数,判断正负,C语言写程序,初学者,不太懂怎么写
主函数中这么写:
int a;
printf("input a number:");
scanf("%d",&a);
if(a>0)printf("%d is 正数.",a);
else if(a==0)printf("%d is 0.",a);
else if(a<0)printf("%d is 负数.",a);
‘玖’ 用C语言编写程序 输入一个整数,判断正负性及奇偶性并输出
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n>0)
{
if(n%2) printf("此数为正数且为奇数。");
else printf("此数为正数且为偶数");
}
else if(n<0)
{
if(n%2) printf("此数为负数且为奇数。");
else printf("此数为负数且为偶数");
}
else
{
if(n%2) printf("此数非正非负,为奇数。");
else printf("此数非正非负,为偶数。");
}
}
‘拾’ C语言区分int数据正负的问题
类型是对一串二进制位的解释,这16bit有两种解释,有符号整数,有无符号整数。
按有符号数来解释,最高位是符号位,1表示负数,其值为-20840。
按无符号数来解释,值为44696。