02dayC语言数据类型
一、數(shù)據(jù)類(lèi)型
?二、輸入輸出語(yǔ)句
例:
scanf("%d",&a); printf("%d",a);?不同的數(shù)據(jù)類(lèi)型有著其對(duì)應(yīng)的格式化類(lèi)型:
1、int ?%d??接受整數(shù)值并將它表示為有符號(hào)的十進(jìn)制整數(shù)
long ?%ld是長(zhǎng)整型
2、%o???????無(wú)符號(hào)8進(jìn)制整數(shù)(不輸出前綴0)
3、%u??????無(wú)符號(hào)10進(jìn)制整數(shù)
4、%x/X????無(wú)符號(hào)16進(jìn)制整數(shù)?例:
printf("%x\n", i); printf("%X\n", i); printf("%#x\n", i); printf("%#X\n", i);?輸出分別為? ?2f??2F??0x2f??0X2F
5、float和double??????單精度浮點(diǎn)數(shù)(%f?)和雙精度浮點(diǎn)數(shù)(%lf)
6、%.mf?????輸出實(shí)數(shù)時(shí)小數(shù)點(diǎn)后保留 m 位,注意 m 前面有個(gè)點(diǎn)。
7、%e/E????科學(xué)計(jì)數(shù)法表示的數(shù),此處"e"的大小寫(xiě)代表在輸出時(shí)用的“e”的大小寫(xiě)
8、%c?????字符型。可以把輸入的數(shù)字按照ASCII碼相應(yīng)轉(zhuǎn)換為對(duì)應(yīng)的字符
例:
#include <stdio.h> int main() {char i='A';printf("%c",i);return 0; }?
? ? ?輸出為字符 A
? ? ?如果輸出控制符是‘%d’,則輸出‘A’對(duì)應(yīng)的ASCII碼值
9、%s?????字符串。輸出字符串中的字符直至字符串中的空字符(字符串以'\0‘結(jié)尾,這個(gè)'\0'即空字符)
例:
#include <stdio.h> int main() {char i[]="ABC";printf("%s",i);return 0; }?
? ? ? 輸出為字符串 ABC
10、%p????以16進(jìn)制形式輸出指針,輸出變量地址
例:
#include <stdio.h> int main() {int i=5;printf("%d\n",i); //輸出十進(jìn)制整數(shù) printf("%p",i); //以16進(jìn)制形式輸出指針printf("%p",&i); //輸出變量?jī)?nèi)存地址 return 0; }?
11、%n????到此字符之前為止,一共輸出的字符個(gè)數(shù),不輸出文本
12、%%???不進(jìn)行轉(zhuǎn)換,輸出字符‘%’(百分號(hào))本身
13、%m???打印errno值對(duì)應(yīng)的出錯(cuò)內(nèi)容,(例:printf("%m\n");
三、轉(zhuǎn)義字符
| 轉(zhuǎn)義字符 | 意義 | ASCII碼值(十進(jìn)制) |
| \a | 響鈴(BEL) | 007 |
| \b | 退格(BS) ,將當(dāng)前位置移到前一列 | 008 |
| \f | 換頁(yè)(FF),將當(dāng)前位置移到下頁(yè)開(kāi)頭 | 012 |
| \n | 換行(LF) ,將當(dāng)前位置移到下一行開(kāi)頭 | 010 |
| \r | 回車(chē)(CR) ,將當(dāng)前位置移到本行開(kāi)頭 | 013 |
| \t | 水平制表(HT) (跳到下一個(gè)TAB位置) | 009 |
| \v | 垂直制表(VT) | 011 |
| \\ | 代表一個(gè)反斜線字符''\' | 092 |
| \' | 代表一個(gè)單引號(hào)(撇號(hào))字符 | 039 |
| \" | 代表一個(gè)雙引號(hào)字符 | 034 |
| \? | 代表一個(gè)問(wèn)號(hào) | 063 |
| \0 | 空字符(NUL) | 000 |
| \ooo | 1到3位八進(jìn)制數(shù)所代表的任意字符 | 三位八進(jìn)制 |
| \xhh | 十六進(jìn)制所代表的任意字符 | 十六進(jìn)制 |
字符串里需要用 \\? 來(lái)表示 \ ,第一個(gè) \ 代表轉(zhuǎn)義,第二個(gè) \ 代表字符
例:
#include <stdio.h>main() {printf("hello world");printf("\n");printf("hello world");printf("\a"); //響鈴printf("\b"); //退格printf("\n"); printf("\f"); //翻頁(yè)printf("\n");printf("hello world");printf("\r"); //回車(chē) printf("\t"); //水平制表,跳到下一個(gè)TAB位置printf("hello world");system("\"C:\\Program Files\\Tencent\\QQ\\Bin\\QQScLauncher.exe\""); // ‘\\’和‘"""’表示不出來(lái)用\來(lái)轉(zhuǎn)義 getchar(); //等待響應(yīng) return 0; }?
四、常量與變量
1、變量的命名規(guī)則
? 標(biāo)識(shí)符:
程序中用于標(biāo)識(shí)常量、變量、函數(shù)的字符序列組成
? 只能由字母、數(shù)字、下劃線組成,第一個(gè)字母必須是字母 或下劃線 ? 大小寫(xiě)有區(qū)別 ? 不能使用C語(yǔ)言的關(guān)鍵字 ? 命名規(guī)則: ? 見(jiàn)名知意 ? 不宜混淆 例:變量使用之前一定要初始化,如果變量不初始化,就會(huì)默認(rèn)讀取垃圾數(shù)據(jù), 有些垃圾數(shù)據(jù)
會(huì)導(dǎo)致程序崩潰。所以,變量使用之前,必須初始化。
2、定義常量
? 定義常量PI的兩種方式:
#define PI 3.14159;const float PI=3.14159; //const定義的常量不能修改,是只讀數(shù)據(jù)?例:
#include <stdio.h> int main() {#define NAME "朱健康"const int AGE=22;printf("我的名字: %s",NAME); printf("\n"); printf("我的年齡:%d",AGE); return 0; } #include <stdio.h>//自由落體運(yùn)動(dòng) g=9.8 //輸入時(shí)間,輸出自由落體運(yùn)動(dòng)的距離 int main() {#define g 9.8float t,s;printf("自由落體時(shí)間:\n");scanf("%f",&t);s=1/2.0*g*t*t;printf("自由落體的距離: %f",s);return 0; }?
五、進(jìn)制的計(jì)算
1、二進(jìn)制、八進(jìn)制轉(zhuǎn)換
??二進(jìn)制轉(zhuǎn)換成八進(jìn)制: 從右向左,每3位一組(不足3位左補(bǔ) 0),轉(zhuǎn)換成八進(jìn)制 ? 八進(jìn)制轉(zhuǎn)換成二進(jìn)制: 用3位二進(jìn)制數(shù)代替每一位八進(jìn)制數(shù)? 例 (1101001)2=(001,101,001)2=(151)8
? 例 (246)8=(010,100,110)2=(10100110)2
2、十進(jìn)制、二進(jìn)制轉(zhuǎn)換
? 十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制:方法是除以2取余,逆序排列 ? 二進(jìn)制轉(zhuǎn)換為十進(jìn)制: (1101)2 = 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 8 + 4 + 0 + 1 = (13)10 ? 十進(jìn)制小數(shù)的轉(zhuǎn)換為二進(jìn)制: 方法是乘以2取整,順以(0.625)10為例?3、位、字節(jié)、字
一個(gè)字節(jié)(Byte)由8位(b)構(gòu)成,而一個(gè)字(Word)由32位(B)構(gòu)成。 ? ? ? ? ? 位就是0、1? ?。?位的單位(bits) ??
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhujiankang/p/11203865.html
總結(jié)
以上是生活随笔為你收集整理的02dayC语言数据类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: POJ3693 Maximum repe
- 下一篇: 使用 yum 安装Docker(Cent