what does the following program print?(中國台灣某著名計算機硬體公司2023年12月面試題)
#include using namespace std;
int main()
{ int x=2,y,z;
x*=(y=z=5);
cout<
解析:x*=(y=z=5) 這句首先是5賦值給z,然後z再賦值給y,最後x=x*y 即2*5=10
x==(y=z) 首先z賦值給y,然後比較x和y是否相等。但是不管是否相等,x的值都未發生變化,仍然是10
x=(y==z) 首先判斷y和z是否相等,由於相等所以返回布林值1,然後再賦值給x,這時x值等於1
x=(y&z) 首先使y和z按位與,y與z的二進位制都是0011。按位與後仍然是0011,然後再賦值給x,x值等於3
x=(y&&z) y與z先進行與運算,與運算是如果y,z都為真則結果為真,返回布林值1.否則返回0,由於y,z都是3.所以為真,返回1,x=1
x=(y|z) y和z按位或,即對y和z的二進位制數的每一位進行或運算,y和z的二進位制數字分別為0100,0011。所以運算後的結構應為0111。x的值為7
x=(y||z) y和z進行或運算,然後再賦值給x。或運算是指如果y和z中有乙個為真,結果即為真。因為y和z都為真,所以x值為1
答案:10,10,1,3,1,7,1
sql賦值語句
表示宣告乙個區域性變數,表示宣告乙個全域性變數 比如已經定義好的系統變數 申明區域性變數語法 declare 變數名 資料型別 例如 declare num int 賦值 有兩種方法式 num為變數名,value為值 set num value 或 select num value declare ...
賦值表示式和賦值語句
賦值表示式也就是有 的式子,賦值表示式的左邊是乙個可修改的值,常為常亮,被賦予空間,但是算術表示式裡有字母不可以作為 左邊的值 例如 a b 常量也不可以作為左邊的值,因為常量不能被賦值,不分配空間。型別轉換 1 將浮點型資料賦給整型變數時,浮點型小數部分捨棄,只留下整數部分即可,例如 float ...
C 賦值語句講解
前面已介紹,賦值語句是由賦值表示式加上乙個分號構成 1 c 的賦值語句具有其他高階語言的賦值語句的功能 但不同的是 c 中的賦值號 是乙個運算子,可以寫成 a b c d 而在其他大多數語言中賦值號不是運算子,上面的寫法是不合法的 2 關於賦值表示式與賦值語句的概念 在c 中,賦值表示式可以包括在其...