tft每日頭條

 > 圖文

 > c語言第一章基礎知識

c語言第一章基礎知識

圖文 更新时间:2024-11-26 00:44:58

繼續第二章之後的學習,上一章學習認識了一些最簡單的C程序。第三章将基于C的數據類型進行筆記學習,和之前一樣本文還是已一個重新學習角度去認識C語言,所以文中隻會引用到需要數據類型介紹。不會像其他C語言教程中直接将所有類型都堆積上(在最後總結部分列出來了僅供參考)。

學習參考書籍《C Primer Plus》

1,數據類型1.1,int類型(整型)

C語言中使用最多的數據類型,可表示不同的取值範圍和正負值。但是必須是一個整數,可以是正整數,0或者負整數,隻要是整數就行。都2022年了使用的操作系統基本都是64位了,所以不太擔心存儲整數。

之前在第一章和第二章中都是用聲明int的操作:

int a,b,c; int n; int n2; int n3;

但是以上都隻是聲明變量類型并沒有給變量賦值,賦值方式可以使用a = 3;或是以後章節會介紹輸入方式(scanf())的方式給變量賦值。C語言把不含小數點和指數的數作為整數。所以說,24和-56都是整型常量,但是24.0和2.2E1則不是整型。

1.2,輸出(打印)int值

使用printf()函數打印int類型的值時使用%d來表示打印整數的位置。%d稱為轉換說明,它指定了printf()應使用什麼格式來顯示一個值。格式化字符串中的每個%d都與待打印變量列表中相應的int值匹配。就比如下列來自第二章程序中的printf():

printf("a與b的乘積c = %d\n",c);

特别注意,如果在printf()中缺少參數(也就是說沒有給%d提供任何值的話),那麼程序就會打印程序(内存)中的任意值。比如下列操作:

printf("a與b的乘積c = %d\n"); //缺省參數

那麼輸出結果将會是:

a與b的乘積c = -1163170912

1.3,float和double類型(浮點型數據類型)

在1.1介紹了整型,也就是不包含小數點類型。那麼帶小數點的數據類型就是使用float和double,所以在寫程序的時候根據需求聲明,這兩種浮點類型主要區别在于它們的取值範圍,如下表所示:

類型

比特數

有效數字

數值範圍

float

32

6-7

-3.4*10(-38)~3.4*10(38)

double

64

15-16

-1.7*10(-308)~1.7*10(308)

在C語言程序中聲明浮點型變量以及賦值方式(與之前整型的賦值方式大同小異):

float noah, jonah; double trouble; float a=0.1f;

1.4,輸出(打印)float和double值

與整型int不同的是printf()函數使用%f轉換說明打印十進制記數法的float和double類型浮點數。在C語言中,float類型的數據默認保留小數點後6位,不足6位的以0補齊。舉例:

int b; float a=0.1f; //float類型賦值時 補充f b = 6 ; printf("a與b的乘積c = %f",a*b); printf("a與b的乘積c = %.2f",a*b); //補充一句如果覺得默認保留6位小數點看着煩可以使用(%.2f)保留兩位小數

2,程序案例

錯誤版本:

#include <stdio.h> int main(void) { int n = 3; int m = 2; float f = 9.0f; float g = 5.0f; printf("%d\n", n, m); printf("%d %d %d\n", n); printf("%d %d\n", f, g); return 0; }

輸出的結果為:

c語言第一章基礎知識(C語言學習筆記系列)1

錯誤版本輸出結果

其實是可以看出問題均出現在了最後的輸出環節(printf())中:第九行中變量過多、第十行中變量過少、第十一行由于f和g聲明數據類型為浮點型,所以在輸出時應該使用%f來表示輸出浮點型變量值。所以正确版本應該是:

#include <stdio.h> int main(void) { int n = 3; int m = 2; float f = 9.0f; float g = 5.0f; printf("%d %d\n", n, m); printf("%d\n", n); printf("%f %f\n", f, g); return 0; }

這樣輸出結果為:

c語言第一章基礎知識(C語言學習筆記系列)2

正确版本輸出結果

3,字符數據類型-char類型

char類型用于存儲字符(如,字母或标點符号),所以char類型變量的聲明方式與其他類型變量的聲明方式相同。但其實char類型在程序中也算是一個整型數據,所以如果在輸出printf()中使用%d的話,答案輸出為90,這是因為大寫的Z在ASCII碼中十進制存儲是90。比較有意思,讀者如果有興趣可以多嘗試一些輸出方式或者聲明方式,比如将char KingZsf聲明為90輸出嘗試使用%c同樣得出結果是Z。

char KingZsf; char wca, ltcb; char KingZsf = 'Z'; //通過初始化把字母A賦給KingZsf printf("%c", KingZsf); //輸出結果為 Z printf("%d", KingZsf); //輸出結果為 90

4,總結

補充一些内容便于記,包括在第二章沒有詳細介紹的\n(字符轉義序列)

C語言的數據類型關鍵字

最初 K&R 給出的關鍵字

C90标準添加的關鍵字

C99标準添加的關鍵字

int

signed

_Bool (布爾型)

short

void

_Complex(複數)

long

_Imaginary(虛數)

unsigned

char

float

double

字符轉義序列(粗體比較常用)

名稱

轉義序列

名稱

轉義序列

換行符

\n

回退符

\b

水平制表符

\t

垂直制表符

\v

單引号

\'

換頁符

\f

雙引号

\"

問号

?

回車符

\r

報警(響鈴)符

\a

反斜杠

\\

本章主要介紹了程序的數據類型(整型、浮點型和字符型),知識點還有很多細節感興趣的讀者可以移步至C語言參考書,很多概念沒有詳細寫。

如有不足或有疑問歡迎各位大佬們指正,同時也希望非IT專業的小白們能感受到C語言的魅力。如果對你有幫助的話點贊收藏哦!


[1] 《C Primer Plus》

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved