c語言字元型變數的賦值新手上路

2021-03-04 05:37:09 字數 2034 閱讀 4440

1樓:匿名使用者

char c='\376'; /*這裡字元的賦值方式,好奇怪啊我看不懂*/

/轉義字元懂吧 。

表示 c存放的是 0376就是8進位制數(\x表示16進位制),轉成10進位制254,因為char型是從0到127,當超過127時候溢位,比如char c = 128則溢位此時 int c = -128。

類似254在 -128到127的區間 對應的是-2

c語言中字串常量或字元常量是否可以賦值給double型別的變數

2樓:匿名使用者

1)字元常量賦值給double型別變

量,使用強制轉換

double d = (double)'a';  //將'a'的ascii碼值97賦值給d,d=97

2)字串賦值給double型別變數,使用atof函式#incluce//此標頭檔案中包含atof的宣告//...

double d;

char *s = "3.14";

d = atof(s);  //atof函式把字串轉換成浮點數

3樓:匿名使用者

字元可以,字串不行。

c語言的一道題目:設x,y均為float型變數,則以下賦值語句不合法的是( )

4樓:同秀梅赤凰

float是一個關鍵字,

float()是函式的用法,所以會出現語法錯誤!

如有疑問請追答,望採納!

5樓:匿名使用者

對於float型變數,在c++裡面沒有定義取模運算,答案是b

6樓:vip_無趣

b%符號兩邊的數須轉為int型的

7樓:匿名使用者

該題應該選擇b答案bai,因du為求餘運算子兩邊的zhi運算元只能dao是整形變數,回不能為float型。。。。

另外替你答分析一下其他選項:

a:++是自增運算子,即x的值先加1後再使用x的值,該值正確。

b:略。。

c:符合運算子, x*=y+8等同於x=x*(y+8),該值也正確,只是會損失精度,x*(y+8)返回的值是double型的,而x定義的為float型。。但不影響正確性。。

d:連續的賦值運算嘛,自動將0轉換為float型賦給x和y,也正確。。。

c語言中為什麼用巨集定義一個字元常量(一個字母)可以賦值給字元變數,

8樓:匿名使用者

1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。

2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:

1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好

3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.

9樓:匿名使用者

因為巨集是一個簡單替換,所以c語言中用巨集定義一個字元常量(一個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。

例如:#define  a    5

void main()

在編譯之前a已經被替換成5了,所以就可以賦值給num。

10樓:匿名使用者

漢字根據編碼方式不同,所佔的大小2~4個位元組不等,漢字賦值給字元變數,只顯示第一個位元組,出問號就不奇怪了

用漢字賦值給字元數陣列然後在顯示的話,一定要考慮編碼方式問題,你的終端支援哪種就選擇哪種,否則亂碼

11樓:匿名使用者

#define namehello "wendy"

#include

#include

void main()

12樓:匿名使用者

c裡面不支援漢子,你用vc++6.0試試,那個可以顯示漢子

c語言中,float型和double型變數如果不指定寬度,應

double與float的區別在於在記憶體中存放資料時佔用的記憶體不一樣,前者8位元組,後者4位元組,也就是前者儲存的小數位數比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999。因為c語言預設輸出小數位數都取...

c語言中怎麼將數字變數轉換成字元變數

int i 10 char a 10 char b itoa i,a,10 這邊標c裡面有沒有返回值的我忘了,如果沒有返回值的 話,a 10 直接就是你要的結果了,自己試試吧,引數肯定對的 樓上的扯淡,強轉都比你這個靠譜 強制轉換 int a char a int n 40 char a n c語言...

在c語言中。結構體變數之間可以相互賦值嗎

可以直接賦值。定義結構體型別,然後用這個型別定義出來的變數就是結構體變數。c語言在相同型別的變數間賦值時是直接記憶體複製的,即將他們的記憶體進行復制,這裡因為同樣結構體變數,屬於同一種變數,所以賦值時是按照他們的記憶體分佈來直接拷貝的。舉例 voidmain stustu1 0,10 stutemp...