‘壹’ c语言如何表示正负值问题
c语言有两种数据类型,一种是整型,一种是浮点型 ,整型类型一般用的原码表示,浮点类型一般用的IEEE754标准进行编码。
整型数中原码表示正负数,取最高位为符号位,以8位二进制数来表示1和-1。1的二进制为
0 000 0001 //最高位为符号位,0表示正数,1表示负数
1 000 0001 //这个表示-1
IEEE754浮点数编码,使用的格式类似于 (-1)^s * M* 2^E,其中s是符号位,M是有效位数,E指的是指数,s符号位占1位,如果是0,则(-1)的0次方为1,表示是一个正数,如果s位是-1,则表示是一个负数。
‘贰’ 简单的c语言题目:输入一个正整数,判断是奇数或偶数、负数或非负数。
#include<stdio.h>
intmain(void)
{
intnumber,a;
scanf("%d",&a);
if(a%2==0)
printf("偶数!");
else
printf("奇数!");
if(a==0){
printf(" 0既不是整数也不是负数");gotoab;}
if(a<a*10)
printf(" 正整数");
else
printf(" 负整数");
ab:
return0;
}
‘叁’ C语言中正整数的定义int也包括了负整数!
int就可以定义正整数并包含负整数,无符号整数,没有负数的情况,使用unsignedint即可。
C语言通常使用int来定义整数(int是integer的简写)。int一般占用4个字节(Byte)的内存,共计32位(Bit)。
如果不考虑正负数,当所有的位都为1时它的值最大,为232-1=4,294,967,295≈43亿,这是一个很大的数,实际开发中很少用到,而诸如1、99、12098等较小的数使用频率反而较高。
(3)c语言提示有正负非整数扩展阅读
int的左右及使用
int具有整数类型的项的值是它对应的数学整数。积分类型可以是无符号的(只能表示非负整数)或有符号(也能表示负整数)。
shortinta=10;
shortintb,c=99;
longintm=102023;
longintn,p=562131;
‘肆’ 如何用C语言把一个数的正负号 、整数部分、小数部分区分出来
代码如下:
#include <stdio.h>
int main(){
double number; //其中number表示输入的数
int zhengshu; //表示实数的整数部分
double xiaoshu; //表示整数的小数部分
printf("请输入一个实数:"); //提示输入一个数
scanf("%lf",&number);
zhengshu = (int)number;
xiaoshu = number-zhengshu;
printf("%f整数部分为:%d,小数部分为:%f ",number,zhengshu,xiaoshu);
return 0;
}。
程序执行结果:
‘伍’ 用c语言怎么判断一个数的正负及怎么取整数
floor
【功能】向下取整函数。
【原型】double floor(double x)
【位置】math.h
【说明】返回小于或等于x的最大整数
‘陆’ 逆向显示输入的非负整数值(C语言)
是不是修改后没重新编译啊?这个程序运行正常的啊(程序未作修改)?
‘柒’ C语言程序:由键盘输入非零整数x,判断该数正负,正数输出positive(👇👇题目接着)
你的程序可以运行,不过思路有问题。
要正数才有平方根,所以求平方根应该放到正数那个if里面
平方根很有可能是小数,因此y应该定义为float型,同时显示y那里应该改为%f
附上代码:
#include<stdio.h>
#include<math.h>
void main(){
int x;
double y;
printf("请输入一个整数:");
scanf("%d",&x);
if(x%2==0)
{
printf("%d是一个偶数\n",x);
}
else{
printf("%d是一个奇数\n",x);
}
if(x>0){
printf("%d是一个正数\n",x);
y=sqrt(x);
printf("%f是这个数的平方根\n",y);
}
else{
printf("%d是一个负数\n",x);
}
}
‘捌’ C语言,判断输入的数是否是正整数
思路是:一个小数浮点变量和一个整型变量。输入浮点变量,先然后将浮点变量中存储的数赋值到整型变量中,整型变量自动去除小数部分。将两者比较,如果浮点变量等于整形变量,并且还要看一下是不是正数。如果满足这两点,就说明浮点变量小数点后没有数,而且是正数,就输出“是正整数”。否则直接输出“不是正整数。”。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a;
float b;//用小数变量
scanf("%f",b);
a=b;//去除小数部分
if(a==b&&a>0){//没有小数的和有小数的比,并且判断是不是正数。
//说明小数部分是0,而且是正数
printf("是正整数");
}else{
printf("不是正整数");
}
return 0;
}
我是C++语言,不习惯C语言,这里面好多错误,你也可以改正一下。(这道题的思路我是正确的。)
‘玖’ 关于c语言的 为什么会出现负数呢而且个数也不对.还有输入很长的数时什么运行的for就不动了!
出现负数,是因为奇数、偶数的和太大,超过了long(长整型)类型的最大值了。
个数是对的,0-151554545共有151554546个数,其中奇数偶数各有75777273个。
至于for不动了,是for循环进入死循环了,你的编译器中int是2bytes,最大值为32768,当i加到32769的时候,就越界了,成为负数,所以i永远不会大于你输入的151554545这个数值,所以死循环。
‘拾’ C语言编程判断输入整数的正负性和奇偶性
#include<stdio.h>
main()
{
int x,y;
printf("Please input a integer:"); /*输入一个整数!*/
scanf("%d",x);
if(x<0)
printf("It's a negative number!"); /*输入的数是负数!*/
else
printf("It's a positive number!"); /*输入的数是正数!*/
y=x%2;
if(0==y)
printf("It's a even number!"); /*输入的数是偶数!*/
else
printf("It's a odd number!"); /*输入的数是奇数!*/
}
右边的是注释!