當前位置:首頁 » 編程軟體 » 假定編譯器將a和b

假定編譯器將a和b

發布時間: 2022-09-05 00:36:03

『壹』 假設已經定義兩個變數a和b,賦值語句a=b=1是否合法若合法,那麼a和b的結果分別是什麼

連續賦值是合法的,a、b的值均為1.但要注意 int a=b=1;是不合法的。

『貳』 關於c語言中的a++ ,++b的運算

樓上舉出了一個錯誤的例子。(a++)+(a++)這個例子是錯誤的。C語言規定,在相鄰的運算中不能連續多次改變同一個變數的值,上面的式子顯然不符合這一點。當然,我並不是說上面的式子編譯不通過,而是說上面的式子是ANSI標准中定義為不合法的形式。這個式子在C語言標准中沒有給出標準的運演算法則,但是在語法上又沒有錯誤,因此不同的編譯器會進行不同的解釋,其結果也就不一樣。我給出兩種編譯器的解釋,假設a的初始值為1。1、(a++)+(a++)=3 理由 編譯器會認為第一次(a++)為1,第二次(a++)為2,因此結果為3。2、(a++)+(a++)=4 理由 有些編譯器會認為這是兩個相同變數相加,於是就會取第二個a++的值作為變數值,也就是先執行兩次a++將第二次的值(2)作為編譯器所認為的相同變數的值,也就是2+2,因此結果為4。因此,像這種同一個變數連續自增的表達式是不符合規范的,也是標准程序開發中不可用的(在這里鄙視一下譚浩強的書)。 下面我來簡單解釋一下自增運算。首先在C語言里有一個概念,那就是「表達式的值」。在大多數情況下,按照運算優先順序進行的運算結果就是表達式的值。有個很明顯的特例,那便是後置自增運算。將a++看作一個表達式,那麼a++的表達式的值就是1(假定a的初始值為1),而a=2再比如1<2這個表達,表達式的值為非0(一般說法是1,但是C語言對「真」的表述為非0)。因此,要理解C語言中表達式的值和變數的計算結果就會理解自增運算了。從編譯原理角度來說這是由於堆棧的特點導致的,如果你將來會對C語言進行深入的學習會理解的

『叄』 C語言中(a>b)a:b和(a<b)b:a有什麼區別

C語言中,「(a>b)?a:b」和「(a<b)?b:a」的區別是當a與b相等時,前者的值是b,後者的值的是a。

條件運算符的表達式為「表達式1?表達式2:表達式3」,先求解表達式1,若其值為真(非0)則將表達式2的值作為整個表達式的取值,否則(表達式1的值為0)將表達式3的值作為整個表達式的取值。例如:

1、max=(a>b)?a:b

就是將a和b二者中較大的一個賦給max。

2、min=(a<b)?a:b

就是將a和b二者中較小的一個賦給min。

(3)假定編譯器將a和b擴展閱讀:

條件運算符使用上的結合性:

條件運算符具有右結合性,當一個表達式中出現多個條件運算符時,應該將位於最右邊的問號與離它最近的冒號配對,並按這一原則正確區分各條件運算符的運算對象。例如:

w<x ? x+w : x<y ? x : y

與 w<x ? x+w : ( x<y ? x : y) 等價

與 (w<x ? x+w : x<y) ? x : y 不等價

『肆』 假定a和b為int型變數,則執行以下語句後b的值是: a=1;b=10; do{b-=a;a++;}while(b--<0);

額 一開始我被糊弄到了 後來用printf一輸出才發現原來錯得糊弄離譜啊
b=10 a=1 b-=a 等價於b=b-a 所以b=9 a++ 所以a=2 重頭戲來啦
while(b--<0) 嘿嘿 注意是<號哦 b--<0 是先用b的值與0比較大小 再b自減1 也就是說9<0 當然是假啦 所以就退出循環 又b要自減1 所以最後b=8呵呵

『伍』 c語言輸入兩個整數a和b求和是什麼

#include <stdio.h>

int main()

printf("請輸入兩個整數:");

scanf("%d %d",&a,&b);//

sum=a+b;//三、數據處理,把a、b的和賦值給sum;

printf("這兩個數的和是:%d ",sum);//

return 0;//返回;



C語言,是一種通用的、過程式的編程語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞,最近25年是使用最為廣泛的編程語言。

C語言是由UNIX的研製者丹尼斯·里奇(Dennis Ritchie)於1970年 由 肯·湯普遜(Ken Thompson)所研製出的B語言的基礎上發展和完善起來的,目前,C語言編譯器普遍存在於各種不同的操作系統中,例如UNIX、MS-DOS、Microsoft Windows及Linux等,C語言的設計影響了許多後來的編程語言,例如C++、Objective-C、Java、C#等。

『陸』 有兩個數值變數分別為a與b,試寫演算法,實現a與b值的交互

也可以利用匯編
main()
{
int a = 49,b=2;
__asm
{
push a
push b
pop a
pop b
}
printf("a=%d b=%d\n",a,b);
}

『柒』 c語言中a=a+b.b=a-b為什麼a=a-b

這個是交換兩個變數值的代碼.
假定 a的初始值是A b的初始值是B, 那麼目標就是a=B b=A
先做 a=a+b = A+B
b=a-b=A+B-B=A
到這里 b=A實現了.
然後就需要 a=a-b=A+B-A=B 這樣才可以實現交換.
用乘除也可以,比如
a=a*b;
b=a/b;
a=a/b;
這樣也可以達到效果.

『捌』 假定編譯器規定int和short類型長度分別為32位和16位,執行下列C語言語句:

B.0000FFF8H
為正確答案

『玖』 假設在程序中 a、b、c 均被定義成整型,所賦的值都大於1,則下列能正確表示代數1/abc

1/abc

=(1/a)*(1/b)*(1/c)

=(1/a)/b/c

這樣說你明白嗎?

『拾』 c語言 將變數A和B的值進行互換 的程序

代碼如下:#include<stdio.h>


#include <stdlib.h>

void swap1(int& a,int& b)//使用中間變數交換兩個值


{


int temp = a;


a = b;


b = temp;


}

void swap2(int& a, int& b) //只用加法、減法、乘法也可以交換兩個值


{


a = a + b;


b = a - b;


a = a - b;


}

void swap3(int& a, int& b) //使用位運算也可以交換兩個值


{


a = a^b;


b = a^b;


a = a^b;


}

void main1mianshiti7()


{


int a1 = 1, b1 = 2;


int a2 = 10, b2 = 15;


int a3 = 78, b3 = 90;


int a = 2147483647, b = 1;


printf("a1=%p,b1=%p", &a1, &b1);


swap1(a1, b1);


swap2(a2, b2);


swap3(a3, b3);


printf("swap after~~~~~~~~~~~~~ ");


printf("a1=%d,b1=%d ", a1, b1);


printf("a2=%d,b2=%d ", a2, b2);


printf("a3=%d,b3=%d ", a3, b3);


swap2(a, b);


printf("a=%d,b=%d ", a, b);


system("pause");


}

源代碼截圖:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

熱點內容
安卓手機如何無密碼解鎖vivo 發布:2025-02-13 15:52:10 瀏覽:884
電信50m上傳 發布:2025-02-13 15:47:56 瀏覽:363
清理outlook2010緩存 發布:2025-02-13 15:43:30 瀏覽:54
ohem演算法 發布:2025-02-13 15:40:10 瀏覽:930
java編程課程 發布:2025-02-13 15:36:08 瀏覽:475
cs編譯 發布:2025-02-13 15:36:07 瀏覽:55
高級語言都要編譯解析型語言 發布:2025-02-13 15:06:32 瀏覽:304
openwrt源碼下載 發布:2025-02-13 15:01:59 瀏覽:644
linux刪除一個目錄 發布:2025-02-13 15:00:29 瀏覽:539
螞蟻存儲 發布:2025-02-13 15:00:25 瀏覽:918