c语言输出数字的格式
格式:intgetchar(void);
intc=getchar();
b)等价于:intc=getc(stdin)
c)也等价于:
intc;
scanf(“%c”,c);
a)单字符输入输出:
getchar、getc函数:c=getchar();等价于scanf(“%c”,c);
putchar、putc函数:putchar(c);等价于printf(“%c”,c);
b)单行输入输出:
gets函数:gets(str);等价于scanf(“%s”,str);
puts函数:puts(str);等价于printf(“%s\n”,str);
c)格式化输入输出:
printf包括:%d、%u、%x、%c、%s等等。
scanf包括:%d、%u、%x、%c、%s等等。
d)占位控制:
对于整数和字符串在%和控制符之间的数字代表占位,负号代表左对齐。
对于浮点数除了用数字代表占位,负号代表左对齐,还有小数位数的管理。
扩展资料
C 语言中的数据类型(64位)
标识符长度名称识别方式
char 1B 字符型 ASCII码
short 2B 短整型 补码
int 4B 整型 补码
long 8B 长整型 浮点
float 4B 单精度 浮点
double 8B 双精度 浮点
* 8B 地址、指针 字节编号
C语言中运算输出是以原码形式还是补码形式?
在C语言中,有符号整型数的存储、运算的过程,都是采用补码形式的。无符号整型数的存储、运算的过程,也都是采用补码形式的(只是没有符号位而已)。
C语言,输出补码
求补码的函数可以参考下面的代码,我们知道,在内存中,正数的补码等于他本身,所以直接返回a。负数的补码正是它在内存中的存在形式,这是我们定义一个unsigned int型的数值去用它来赋值,取得的就是他的补码的二进制形式。为了验证,我另外编写了一个函数,用来输出二进制,请参考。
unsigned int buma(int a)//用来求得补码
{
if(a=0)
return a;
else
{
unsigned int temp=a;
return temp;
}
}
void twoprint(unsigned int a)//用来输出二进制
{
int temp=a%2;
if(a/2==0)
{
couta” “;return ;
}
twoprint(a/2);//这里采用了递归调用的方法
couttemp” “;
}
在C语言中,整数的数值是以补码形式存放的,补码是什么意思啊?
使用补码代表负数,就可以把减法,转化为加法运算。
那么,在计算机中只要有一个加法器,就可以做加、减法了。
使用补码的意义,就是简化了计算机的硬件。
常识:时钟倒拨 3 小时,可以用正拨 9 小时代替。
怎么计算,自己推导吧。
--------
两位十进制数,共有 100 个数字:00~99。
那么,减一,就可以用 +99 代替:
25-1 = 24
25 + 99 = (1) 24
取后两位,忽略进位 100,结果,不就是相同的吗?
只要利用一个“较大的正数”代替负数,就能把减法变加法了。
这个较大的正数,就是负数的补数。
计算公式:-1 的补数=100-1 = 99。
-2 的补数=100-2 = 98。
。。。
--------
计算机中,使用的是二进制。
二进制的补数,就改称为:补码。
八位二进制数,共有 256 个数字:0000 0000~1111 1111。
那么,-1 的补码就是 1111 1111 = 255(十进制)。
同理,-2 的补码就是 1111 1110 = 254(十进制)。
。。。
最后,-128 的补码就是 1000 0000 = 128(十进制)。
计算公式:负数的补码=【256+这个负数】
零和正数,不需要求补数(补码),直接计算即可。