❶ c語言負數的自加自減可不可以,如果可以怎麼算
可以呀,和正數一樣的
如果i=-2,那麼i++/++i之後,i就是-1;i--/--i之後,i就是-2
❷ 誰能幫我編寫一個C語言實現負數加減乘除的程序啊。要對的
#include<stdio.h>
#include<conio.h>
void main()
{
while(1)
{
int a=0,b=0,c=0,result,key;
char d;
printf("輸入兩個整數:\n");
scanf("%d",&a);
scanf("%d",&b);
printf("選擇演算法 '+','-','*','/' \n");
scanf(" %c",&d);
printf("輸入計算結果:\n");
scanf("%d",&result);
switch(d)
{
case'+': c=a+b;break;
case'-': c=a-b;break;
case'*': c=a*b;break;
case'/': if(b>0) c=a/b;break;
}
if(result==c)
printf("回答正確!\n");
else printf("錯誤,正確答案是:%d\n",c);
printf("繼續(y) 退出(n)\n");
key =getch();
if(key=='n' || key=='N')
break;
}
}
❸ 單片機C語言中的負數怎麼操作
負數和正數一樣參與加減乘除運算,不同之處顯示時前面多一個負號,
用sprint函數將其轉化為字元串,即可進行顯示
對於整數,還有一種方法,先判斷是是否大於等於0,如果小於0,則取反,可以和正數一樣分離個
十
百
千
萬,然後顯示,前面加一負號即可
❹ 在C語言中負數能做自減運算嗎
可以的~
直接相加就行了。。。、
#include <stdio.h>
void main() {
int a, b ;
int c ;
printf("輸入兩個數:(可以是負數)") ;
scanf("%d%d",&a,&b) ;
c = a+b ;
printf("c = %d", c) ;
}
❺ c語言 負數運算 請高手幫忙解釋下
-5*3=-15
5*-3=-15
-5*-3=15
這三個不解釋了吧。
-5/3=-1
5/-3=-1
-5/-3=1
這三個你這么理解,5/3=1,然後負負為正,正負為負,計算機的運算過程差不多也是這樣。
-5%3=-2
5%-3=2
-5%-3=-2
這三個也是那麼理解的,首先不管符號,然後5%3=2,然後負負為正,正負為負。。。
-5&3=3
5&-3=5
-5&-3=-7
這個是按位與,-5二進制是10000101,負數在計算機中是以補碼保存的,補碼是11111011,3是00000011,正數不用存補碼,還是原碼,按位與之後就是00000011,就是3。
5和-3按這個演算法,5原碼是00000101,-3原碼是10000011,補碼是11111101,按位與,00000101,就是5。
-5和-3,都是補碼,-5補碼是11111011,-3補碼是11111101,按位與,結果是11111001,這里要注意了,這個數的符號位為1,所以這是一個補碼,要翻譯一下,除符號位不變外,其他位減1取反,結果是10000111,就是-7。
-5<<3=-40
5<<-3=-1610612736
-5<<-3=1610612736
移位,第一個還好說,-5的補碼是11111011,左移3位,左移的過程後邊是要補兩個數的符號位的與運算的,結果就是11011000,這個數是一個負數,需要轉換一次,除符號位外-1取反,就是10101000,就是-40。
第二個和第三個比較麻煩,我以上給你說的都是按照8位的存儲說的,其實計算機真正是按照32位存儲的,也就是傳說中的32位系統,未來還會有64位系統這一說法,那一個數字就是64位了,好了,現在咱們看32位的情況。5的實際存儲為32位的,之前不提另外的0因為不影響運算結果,現在影響了,就加上。左移-3位,就是右移3位,前邊補1,也就是兩數的符號位求異或的結果,異或說白了還是負負為正,正負為負,這里補的就是1,結果就是,這個數就是-1610612736。
❻ 在C語言中,怎樣區分求負與減法運算怎樣區分取地址運算和按位與運算
求負 是 一目 運算,參加運算 的是 1 個 數。一個操作符,一個操作數。
操作符 - 是 「一目運算符」. 例: -b
減法運算 是 二目 運算,參加運算 的有兩個數,被減數 和 減數。
一個操作符,兩個操作數。例:a - b
取地址運算,是 一目 運算,一個操作符&,一個操作數。例:&b
按位與運算, 是 二目 運算,一個操作符&,兩個操作數。例:a & b
❼ c語言中如何將負數變成做減法運算
直接相加就行了。。。、
#include
<stdio.h>
void
main()
{
int
a,
b
;
int
c
;
printf("輸入兩個數:(可以是負數)")
;
scanf("%d%d",&a,&b)
;
c
=
a+b
;
printf("c
=
%d",
c)
;
}
❽ C語言,負值運算
你的第二段代碼中 f = -1 自加得0 你又把0當除數 故報錯