日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C Primer Plus(第六版)第三章 数据和C

發布時間:2024/3/13 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C Primer Plus(第六版)第三章 数据和C 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

筆記記錄

1、float 類型可以儲存帶小數的數字。

2、printf()中使用%f來處理浮點值。%.2f中的.2用于精確控制輸出,指定輸出的浮點數只顯示小數點后面兩位。

3、scanf()函數用于讀取鍵盤的輸入。

4、有些數據類型在程序使用之前已經預先設定好了,在整個程序的運行過程中沒有變化,這些稱為常量(constant)。其他數據類型在程序運行期間可能會改變或被賦值,這些稱為變量(variable)。

5、C語言數據類型關鍵字: int 、short 、long 、unsigned 、char 、float 、double 、signed、void、_Bool、_Complex、_Imaginary。用int關鍵字來表示基本的整數類型。后3個關鍵字
(long、short和unsigned)和C90新增的signed用于提供基本整數類型的變式,例如unsigned short int和long long int。char關鍵字用于指定字母和其他字符(如,#、$、%和*)。另外,char類型也可以表示較小的整數。float、double和long double表示帶小數點的數。_Bool類型表示布
爾值(true或false),_complex和_Imaginary分別表示復數和虛數。

7、最小的存儲單元是位(bit),可以儲存0或1(或者說,位用于設置“開”或“關”)。雖然1位儲存的信息有限,但是計算機中位的數量十分龐大。位是計算機內存的基本構建塊。字節(byte)是常用的計算機存儲單位。對于幾乎所有的機器,1字節均為8位。即1字節 = 8 bit。

8、浮點數與數學中實數的概念差不多。2.75、3.16E7、7.00 和 2e-8都是浮點數。注意,在一個值后面加上一個小數點,該值就成為一個浮點值。所以,7是整數,7.00是浮點數。顯然,書寫浮點數有多種形式。稍后將詳細介紹e 記數法, 這里先做簡要介紹: 3.16E7 表示3.16×107(3.16 乘以10 的7次方)。其中, 107=10000000,7被稱為10的指數。

9、整數與浮點數的區別:①整數沒有小數部分,浮點數有小數部分。

???????????????????????????????????????? ②浮點數可以表示的范圍比整數大。

10、不同的進制要使用不同的轉換說明。以十進制顯示數字,使用%d;以八進制顯示數字,使用%o;以十六進制顯示數字,使用%x。另外,要顯示各進制數的前綴0、0x和0X,必須分別使用%#o、%#x、%#X。下面舉個例子,

#include <stdio.h> int main(void) {int x = 100;printf("dec = %d; octal = %o; hex = %x\n", x,x, x);printf("dec = %d; octal = %#o; hex = %#x\n", x,x, x);return 0; } //編譯并運行該程序,輸出如下: dec = 100; octal = 144; hex = 64 dec = 100; octal = 0144; hex = 0x64

注意,如果要在八進制和十六進制值前顯示0和0x前綴,要分別在轉換說明中加入#。

11、打印unsigned int類型的值,使用%u轉換說明;打印long類型的值,使用%ld轉換說明。如果系統中int和long的大小相同,使用%d就行。在x和o前面可以使用l前綴,%lx表示以十六進制格式打印long類型整數,%lo表示以八進制格式打印long類型整數。注意,雖然C允許使用大寫或小寫的常量后綴,但是在轉換說明中只能用小寫。

12、char broiled; /* 聲明一個char類型的變量 */,broiled = 'T'; /* 為其賦值,正確 */用單引號括起來的單個字符被稱為字符常量(character constant)broiled = T; /* 錯誤!此時T是一個變量 */如果省略單引號,編譯器認為T是一個變量名,broiled = "T"; /* 錯誤!此時"T"是一個字符串 */如果把
T用雙引號括起來,編譯器則認為"T"是一個字符串。

關鍵字:
基本數據類型由11個關鍵字組成:int、long、short、unsigned、
char、float、double、signed、_Bool、_Complex和_Imaginary。
有符號整型:
有符號整型可用于表示正整數和負整數。
int ——系統給定的基本整數類型。C語言規定int類型不小于16位。
short或short int ——最大的short類型整數小于或等于最大的int類型
整數。C語言規定short類型至少占16位。
long或long int ——該類型可表示的整數大于或等于最大的int類型
整數。C語言規定long類型至少占32位。
long long或long long int ——該類型可表示的整數大于或等于最大
的long類型整數。Long long類型至少占64位。
一般而言,long類型占用的內存比short類型大,int類型的寬度要么
和long類型相同,要么和short類型相同。例如,舊DOS系統的PC提供
16位的short和int,以及32位的long;Windows 95系統提供16位的short以
及32位的int和long。
無符號整型:
無符號整型只能用于表示零和正整數,因此無符號整型可表示的
正整數比有符號整型的大。在整型類型前加上關鍵字unsigned表明該類
型是無符號整型:unsignedint、unsigned long、unsigned short。單獨的
unsigned相當于unsignedint。
字符類型:
可打印出來的符號(如A、&和+)都是字符。根據定義,char類型
表示一個字符要占用1字節內存。出于歷史原因,1字節通常是8位,但
是如果要表示基本字符集,也可以是16位或更大。
char ——字符類型的關鍵字。有些編譯器使用有符號的char,而有
些則使用無符號的char。在需要時,可在char前面加上關鍵字signed或
unsigned來指明具體使用哪一種類型。
布爾類型:
布爾值表示true和false。C語言用1表示true,0表示false。
_Bool ——布爾類型的關鍵字。布爾類型是無符號 int類型,所占用的空間只要能儲存0或1。
實浮點類型:
實浮點類型可表示正浮點數和負浮點數。
float ——系統的基本浮點類型,可精確表示至少6位有效數字。
double ——儲存浮點數的范圍(可能)更大,能表示比 float 類型
更多的有效數字(至少 10位,通常會更多)和更大的指數。
long long ——儲存浮點數的范圍(可能)比double更大,能表示比
double更多的有效數字和更大的指數。
復數和虛數浮點數:
虛數類型是可選的類型。復數的實部和虛部類型都基于實浮點類型來構成:
float _Complex
double _Complex
long double _Complex
float _Imaginary
double _Imaginary
long long _Imaginary

?13、如何知道當前系統的指定類型的大小是多少?運行下面程序,會列出當前系統的各類型的大小。

//* typesize.c -- 打印類型大小 */ #include <stdio.h> int main(void) {/* C99為類型大小提供%zd轉換說明 */printf("Type int has a size of %zd bytes.\n",sizeof(int));printf("Type char has a size of %zd bytes.\n",sizeof(char));printf("Type long has a size of %zd bytes.\n",sizeof(long));printf("Type long long has a size of %zd bytes.\n",sizeof(long long));printf("Type double has a size of %zd bytes.\n",sizeof(double));printf("Type long double has a size of %zd bytes.\n",sizeof(long double));return 0; } //sizeof是C語言的內置運算符,以字節為單位給出指定類型的大小。C99和C11提供%zd轉換說明匹配sizeof的返//回類型[2]。一些不支持C99和C11的編譯器可用%u或%lu代替%zd。 //該程序的輸出如下: Type int has a size of 4 bytes. Type char has a size of 1 bytes. Type long has a size of 8 bytes. Type long long has a size of 8 bytes. Type double has a size of 8 bytes. Type long double has a size of 16 bytes.

14、C 有多種的數據類型。基本數據類型分為兩大類:整數類型和浮點數類型。

最后,第三章的筆記記錄就到這里了,下面進行編程練習的編寫。

/*第一題*/ #include <stdio.h> int main(void) {int i = 2147483647;unsigned int j = 4294967295;printf("%d %d %d\n", i, i+1, i+2);printf("%u %u %u\n", j, j+1, j+2);float float_max = 3.40e38;float float_min = 3.40e-38;printf("%f %f\n",float_max,float_max+1);printf("%f %f\n",float_min,float_min-1);return 0; }//輸出的結果是: 2147483647 -2147483648 -2147483647 4294967295 0 1/*主要的區別是,在超過最大值時,unsigned int 類型的變量 j 從 0開始;而int類型的 變量i則從?2147483648開始。float的輸出結果太長了這里就不放出來了,有興趣的自己去復制運行一下看結果。

/*第二題*/ #include <stdio.h> int main(void) {char ASCII;printf("Please enter a character.\n");scanf("%d", &ASCII); /* 用戶輸入字符 */printf("The code for %d is %c.\n", ASCII, ASCII);return 0; } //運行該程序后,輸出示例如下: Please enter a character. 67 The code for 67 is C. /*第三題*/ #include<stdio.h> int main(void) {printf("\aStartled by the sudden sound, Sally shouted,\n");printf("\"By the Great Pumpkin, what was that!\"");return 0; } /*第四題*/ #include<stdio.h> int main() {float n;printf("Enter a floating-point values: \n");scanf("%f",&n);printf("fixed-point notation: %f\n",n);printf("exponential notation: %e\n",n);printf("p notation: %#a",n);return 0; } /*輸出結果如下*/ /* [user@CentOS84 test3.4]$ ./test3.4 */ Enter a floating-point values: 64.25 fixed-point notation: 64.250000 exponential notation: 6.425000e+01 p notation: 0x1.01p+6 /*printf()函數使用%f轉換說明打印十進制記數法的float和double類型 浮點數,用%e打印指數記數法的浮點數。十六進制P計數法float類型用%#a打印。 /*第五題*/ #include<stdio.h> int main() {int age;double times;printf("please input your age: \n");scanf("%d",&age);times = 3.156e7 * age;printf("fixed-point notation: %lf\n",times);printf("exponential notation: %e\n",times);return 0; }/* 輸出結果[user@CentOS84 test3.4]$ ./test3.4 */ please input your age: 23 fixed-point notation: 725880000.000000 exponential notation: 7.258800e+08 //讓程序分別輸出小數和指數形式 /*第六題*/ #include <stdio.h> int main() {float a = 3.0e-23; //可寫可不寫float b = 950; //可寫可不寫float kuatuo;float water;printf("Please enter the quarts of water:");scanf("\n%f", &kuatuo);water = b * kuatuo / a;printf("The number of water molecules is : %e。\n", water);return 0; }*/終端命令 [user@CentOS84 test3.6]$ ./test3.6*/ //下面是輸出結果 Please enter the quarts of water:3 The number of water molecules is : 9.499999e+25。 /*第七題*/ #include <stdio.h> int main() {int inch;float cm;printf("Please enter your height (inch):");scanf("\n%d", &inch);cm = inch * 2.54;printf("Your height is : %f cm!\n", cm);return 0; } /*下面是終端三個輸出結果*/ //[user@CentOS84 test3.7]$ ./test3.7 Please enter your height (inch):160 Your height is : 406.399994 cm!//[user@CentOS84 test3.7]$ ./test3.7 Please enter your height (inch):60 Your height is : 152.399994 cm!//[user@CentOS84 test3.7]$ ./test3.7 Please enter your height (inch):95 Your height is : 241.300003 cm! /*第八題*/ #include <stdio.h> int main() {float cup, pint, ounce, spoon, teaspoon;printf("Please enter your cup count: ");scanf("\n%f", &cup);printf("%f cup is equal to the %f pint!\n", cup, cup/2);printf("%f cup is equal to the %f ounce!\n", cup, cup*8);printf("%f cup is equal to the %f spoon!\n", cup, cup*16);printf("%f cup is equal to the %f teaspoon!\n", cup, cup*48);return 0; }/*輸出結果*/ Please enter your cup number: 2 2.000000 cup is equal to the 1.000000 pint! 2.000000 cup is equal to the 16.000000 ounce! 2.000000 cup is equal to the 32.000000 spoon! 2.000000 cup is equal to the 96.000000 teaspoon!//浮點類型比整數類型更加合適,如果是3杯的時候用整數類型的話就會舍掉小數了,這顯然不符合等量交換的意義。

好了,第三章也完結了,說明一下,本系列的代碼都是經過編譯運行通過后才放出來給大家看的,所以請放心,在Linux操作系統上安裝的Vscode下編寫運行的!請各位發現有問題的地方請留言,煩請各位多多指正!

總結

以上是生活随笔為你收集整理的C Primer Plus(第六版)第三章 数据和C的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品一区二区在线观看 | 香蕉视频性 | 朋友人妻少妇精品系列 | 高清在线一区二区 | 温柔女教师在线观看 | 中文字幕欧美一区 | 色婷av| 久久一区二区三 | 人人干狠狠干 | 99热日本 | 高清一区二区三区视频 | 91成人免费视频 | 在线免费观看av网 | 国产 日韩 欧美 制服丝袜 | 精品日韩一区 | 美女黄色一级视频 | 亚洲小说区图片区 | 操操操日日日 | 亚洲午夜福利一区二区三区 | 97超碰免费 | 超碰在线日韩 | 深田咏美中文字幕 | 亚洲日本中文 | 男女激情实录 | 欧美xxxxx牲另类人与 | 西方av在线| 韩国女主播一区 | 亚洲欧美日韩网站 | 抽插丰满内射高潮视频 | 性日韩 | 亚洲精品国产精品国自产 | 国产精品麻豆欧美日韩ww | 成人美女在线 | 日韩一区二区三区免费在线观看 | 日韩国产欧美 | 国产精品观看 | 毛片大片| 日本老肥婆bbbwbbbwzr | 性国产精品 | 成人在线精品视频 | 国产精品久久不卡 | 午夜在线观看视频 | 久久a级片 | 毛片网站免费在线观看 | 伊人免费在线 | 无码少妇一区二区 | 久久九九国产视频 | 亚洲成人精品一区 | 日韩资源 | 99成人在线 | 999久久久国产精品 韩国精品一区二区 | 人妻饥渴偷公乱中文字幕 | 午夜视频免费在线 | 欧美大片在线看 | 2017狠狠干 | 黑人玩弄人妻一区二区三区免费看 | 香蕉视频网站在线观看 | 成人av久久 | 小视频在线播放 | 亚洲最大黄色 | 亚洲性天堂| 久草蜜桃 | 日本黄色片一级 | 久久久黄色网 | 国产男人天堂 | 边打电话边做 | 欧美成人吸奶水做爰 | 日韩精品第1页 | 国产一区二区在线播放视频 | 又粗又猛又爽又黄的视频 | 日本爽爽| 亚洲第二页| 99国产精品99 | 国产女人在线观看 | xx99小雪| 欧美三级手机在线观看 | 6080久久| 亚洲a视频在线 | 日韩在线视 | 日本深夜福利 | 国产污视频在线播放 | 动漫涩涩免费网站在线看 | 亚洲狼人天堂 | 日韩无码精品一区二区 | 国产宾馆实践打屁股91 | 亚洲熟妇无码一区二区三区 | 国产第一精品 | 一级全黄裸体免费视频 | 久久久久久久久久亚洲 | 欧美天天性| 好色视频tv | 日日夜夜免费精品 | 一区二区三区视频免费观看 | 亚洲欧美一二三区 | 巨大黑人极品videos精品 | eeuss国产一区二区三区黑人 | 国产一区二区高清视频 | 亚洲国产在 | 色婷婷av一区二区三区gif |