用C语言怎么写个计算器

2024-05-13 11:06

1. 用C语言怎么写个计算器

一、用户界面是用图形窗口还是命令行窗口。
如果是命令行窗口它的数据输入输出比较简单。
如果是图形窗口则要涉及,图形窗口相同的操作了。这个部分如果你不会,那你需要专门学习一样。

二、支持哪些计算功能。
除了加减乘除外,是否还支持其他高级的计算功能?
加减乘除的计算精度。
32位系统中,如果计算结果为不大于32位二进制的数。(64位系统则为不大于64位数)你可以直接使用C语言的相应的加减乘除表达式完成。
如果是支持超大数的运算,那就需要采取特殊手段了。

比如32位系统中,计算的数超过32位。比如两个128位数相加。
需要将128位拆分成4个32位。将每个32位作为整体。在依照数学的多位数加进行计算。
A1 B1 C1 D1
A2 B2 C2 D2
--------------

D1与D2相加(需要检测是否有进位,也就是计算结构是否有溢出)
C1与C2相加,同样要检测进位,并且要加上D1与D2结果的进位。
B1与B2相加,同样要检测进位,并且要加上C1与C2结果的进位。
B1与B2相加,同上类推。


在实际程序时,可以将用户界面与加减乘除程序分离。即用户界面的代码要与计算程序的代码分在不同的函数中。
又用户界面代码调用计算函数。计算函数将结果返回给用户界面代码。

以命令行界面为例,
用户界面代码,只是等待用户输入,将相应用户信息转换成合适的格式,
然后调用相应计算函数。
计算函数做完计算以后,返回相应数字。
用户界面代码,再将返回的数字转换成适当的格式,显示在窗口上。

用C语言怎么写个计算器

2. C语言计算。

n的值不变,还是2

&&运算的特点如下:
1. 运算是左结合的,先计算左表达式,再计算右表达式
2. 注意一下,如果&&的左表达式为假,则整个&&表达式返回假,不会再计算右表达式!!

所以:
表达式(m=a>b)&&(n=c>d)
先计算(m=a>b),由于a=5,b=6,所以a>b为假,返回0
m=a>b也就变为m=0,所以左表达式为假
表达式(m=a>b)&&(n=c>d)直接返回假,不再计算右表达式
所以n的值不会发生变化

3. C语言计算。

!的优先级大于运算符小于括号   + - /的优先级大于 &&

x+y = 7 表示真
!7 = 0  有真变假

0+z =5
5-1 = 4


y-z/2 = 4- 5/2 = 4-2 =2


4 && 2  的结果为真,也就是1.

C语言计算。

4. c语言计算

计算顺序确实是:c=(--a)+(--a)+(a++);
以a=10为例:
第一个(--a)之后,a=9,c=9;
第二个(--a)之后,a=8,c=9+8=17;
最后加上(a++),先算c=17+a=25,a再自加,所以a=9

5. c语言计算

x+++y++
=(x++)+(y++)
=5

c语言计算

6. c语言计算

(1) 
0100:4
0010:2
0000:&
(2的3次方乘以0)加(2的2次方乘以0)加(2的1次方乘以0)加(2的0次方乘以0)等于0
(2) 
0010:2
0110:6
0110:|
(2的3次方乘以0)加(2的2次方乘以1)加(2的1次方乘以1)加(2的0次方乘以0)等于6
(3) 
00000110:6
11111010:-6为6的补码(反码加1)
00000111:7
11111101:按位异或(相同为0相异为1)
00000011:再求补码
-(2的1次方)加(2的0次方)等于-3
(4)
00001000:8
00100000:<<2
2的5次方等于32
(5)
00001001:9
11110111:补码
11111101:>>2(有符号数的移位为算术移位左边用1填充)
00000011:再求补码
-(2的1次方)加(2的0次方)等于-3

7. c语言计算

1.6
2.***
3.看不清问题
4.13715

c语言计算