C語言基礎小齋

一、C語言數據類型

  ok,如我們所知,C語言作為大學工科專業的必學課程,其重要性不言而喻;它為我們提供了豐富的數據類型,所以它很適合程序員來編寫 數據庫 ,如DB2、Oracale都是C語言編寫的。

  那么C語言具體又有哪些類型呢?且看如下分解:

    1.基本數據類型

      1)整型 int (long int , long long int)

      2)浮點型?

          單精度浮點型 float

          雙精度浮點型 double

      3)字符型? char

    2.構造類型

      1)數組 array?

      2)結構體 struct

      3)共用體 union

      4)枚舉 enum

    3.指針類型 void *

    4.空類型 void?

  那么首先,我們要關注的就是基本數據類型,在下面給出了在32/64位編譯器環境下,基本數據類型所占用的存儲空間:

    類型  名稱  存儲空間

    int   ?整型  2個字節(short 2 ; long ?4/8)

    char ? ?字符型? 1個字節

    float ? 單精度  ?4個字節

    double 雙精度 ? ?8個字節

    void * ?指針 ? ? ?4/8個字節

二、變量

跟其他語言一樣,C語言中用變量來存儲計算過程使用的值,任何變量都必須先定義類型再使用。 為什么一定要先定義呢? 因為變量的類型決定了變量占用的存儲空間, 所以定義變量類型就是給變量分配適當的存儲空間,以便存儲數據。For example ,if you have a char number ,ok, just allocate it for 1 byte, that is enough , ?it is unnecessary to get it more.

  那么,如何定義一個變量呢?

  例如: int a = 10;  如何理解這句代碼呢? 為int 類型 的變量 a 分配 一個 4 個字節的內存,并將10賦值給名為變量a的內存;所以,我們不難得出如下的 結論:

  定義變量 : 數據類型 變量名 初始值?

  要注意的

    1.?= 是 賦值符號;

    2. 變量名的命名規則(字母、數字、下劃線可用做變量名(但是數字不能開頭),見名知意,不能和系統保留字相同,不同重復定義)

  something added:

1.局部變量的使用跟其他語言的區別

  1>其他語言中,你聲明了一個局部變量后,如果沒有經過初始化賦值就使用該變量,編譯器直接報錯;

  2>在C語言中,1的情況不會發生;但是這樣做是很危險的,

      如:

    int main(){

        int b;?

        printf("%d",b);}?        大多數人應該覺得變量b打印出來的應該是0,其實不是。因為系統會隨意給變量b賦值,得到的不是準確的數據。  

    所以,局部變量還是必須先進行初始化賦值,然后再使用,這樣才是最安全的做法。

  3>但是如果是全局的int型變量,系統會默認賦值為0;

2.char的取值范圍: ASCII碼字符 或者 -128~127的整數

3.char只能存儲一個字符

漢字或者字符串需要用字符數組來存儲,因為一個漢字占了2個字符。

三、運算

  *除法: 在計算機中兩個整型變量相除,結果只取整數部分,而不是四舍五入;

  *取余運算:

    1.也叫模運算;

    2.%兩邊參與運算的數必須是整數;

    3.取余運算的正負結果只跟%  左邊 的數值有關

  * 自加(減)運算?

      10++; ? ? // 這個怎么破 ? ??

           // 常量有能進行自加運算啦 ?,for example ?:

               a++; ?-> a = a + 1;

              10++; -> 10 = 10 + 1 ; ? ? ?這顯然是不合理的!

  *有點意思~:

  看這兩句:

      int a = 6 /4; ? ? 結果 ?a = 1;

      float a = 6 / 4; ?結果 a = 1.000000; 而不是我們可能會猜想的1.500000; ?-> 所以參與運算的數值結果與參與運算的數的類型有關;即:

      float a = (float) 6 / 4;?  結果就是 1.500000了 , 果然有點意思吧~~

?

|| 需要補充(算術運算符、關系運算符、邏輯運算符的優先級順序)

四、printf、scanf函數(略,getchar()可以吸收系統中的回車,關于getcha函數記得有點模糊了)

轉載于:https://www.cnblogs.com/renlovej/p/4439934.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376051.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《Cracking the Coding Interview》——第11章:排序和搜索——題目8

2014-03-21 22:23 題目:假設你一開始有一個空數組,你在讀入一些整數并將其插入到數組中,保證插入之后數組一直按升序排列。在讀入的過程中,你還可以進行一種操作:查詢某個值val是否存在于數組中,并給出這個…

gradle打包java項目_gradle打包java項目

轉載地址:http://www.gfzj.us/series/gradle/2014/12/12/gradle%E5%B0%8F%E7%B3%BB%E5%88%97(4)--gradle%E6%89%93%E5%8C%85java%E9%A1%B9%E7%9B%AE.html以gradle小系列所舉例子為示例,在此處介紹兩種gradle發布java項目的方法:fat jar方式該…

堡壘機2.0

一、編輯系統環境變量,讓用戶登錄后自動調用腳本 1 vim /etc/profile 2 python /baolei/ssh_login.py 3 # 判斷登錄用戶是否為 root 用戶,root用戶退出程序不進行logout操作,否則則logout 4 if [ $? ! 10 ];then 5 echo "Good …

Flex中利用ByteArray與BitmapData互相轉換實現圖片的二進制保存與復原

Flex中利用ByteArray與BitmapData互相轉換實現圖片的二進制保存與復原 近 日在項目當中需要將圖片保存到共享對象當中,開始用了倆天的時間做了對象的序列化,并以BitmapData的形式進行了圖片的序列化保存共享,因為系統 沒有提供更好的接口所以…

java8自定義收集器_使用自定義收集器進行Java 8分組?

我有以下課程。class Person {String name;LocalDate birthday;Sex gender;String emailAddress;public int getAge() {return birthday.until(IsoChronology.INSTANCE.dateNow()).getYears();}public String getName() {return name;}}我希望能夠按年齡分組,然后收…

poj 1862 Stripies/優先隊列

原題鏈接&#xff1a;http://poj.org/problem?id1862 簡單題&#xff0c;貪心優先隊列主要練習一下stl大根堆 寫了幾種實現方式寫成類的形式還是要慢一些。。。 手打的heap&#xff1a; 1&#xff1a; 1 #include<cstdio>2 #include<cstdlib>3 #include<cmath&…

java url下載ics_使用Microsoft Graph API處理外部(Internet / .ics)日歷URL

在新的Graph API中&#xff0c;是否可以根據外部.ics日歷網址為用戶創建新日歷&#xff1f;我d like to do is to use a daemon to inject a link to an external calendar into the list of calendars a user has if they don已經有了這樣一個鏈接 . 這將有效地復制用戶可以在…

命令行生成jar文件

1.打開cmd&#xff0c;進入編譯完后所有類的當前目錄 命令行 jar -cvf javaname.jar *.class 這時已經生成了 javaname.jar 不過如果有多個類&#xff0c;雙擊打不開 2.解壓javaname.jar 進入META-INF&#xff0c;編輯MANIFEST.MF: 尾行寫入Main-Class:&#xff08;&…

Github鏈接地址

https://github.com/kzj1/test轉載于:https://www.cnblogs.com/lalal/p/4456923.html

java foreach和for循環區別_java相關:老生常談foreach(增強for循環)和for的區別

java相關&#xff1a;老生常談foreach(增強for循環)和for的區別發布于 2020-8-18|復制鏈接下面小妖就為大家帶來一篇老生常談foreach(增強for循環)和for的區別。小妖覺得挺不錯的&#xff0c;現在就分享給大家&#xff0c;也給大家做個參考。一起跟隨小妖過來看看吧首先說一下f…

關于事件冒泡和捕獲的問題

由于習慣于jquery的方便操作&#xff0c;往往讓我們慢慢淡忘了原生js應有的功能和屬性&#xff0c;今天重溫一下事件冒泡和捕獲問題。 冒泡&#xff1a;從內向外&#xff0c;如&#xff1a;div > body > html (不同瀏覽器稍有不同) 捕獲&#xff1a;從外向內&#xff0c;…

root無法運行命令解決辦法

今天運行一個命令wget(wg再使用tab鍵無法使用)&#xff0c;如下提示 -bash: /usr/bin/wget: 權限不夠 [rootwww /]# ls -Z /usr/bin/wget-rw-r--r--. root root system_u:object_r:bin_t:s0 /usr/bin/wget發現沒有執行權限 chmod x /usr/bin/wget -bash: /usr/bin/wget: …

java類編寫sql_用JavaBean編寫SQL Server數據庫連接類

以下為引用的內容&#xff1a;//類conn.db.conndb.javapackage conn.db;import java.sql.*;public class conndb {Connection conn;ResultSet rs;private int count;public conndb() {try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch (Exception ex) {}…

ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、

1.Request.ApplicationPath->當前應用的目錄 Jsp中, ApplicationPath指的是當前的application(應用程序)的目錄,ASP.NET中也是這個意思。 對應的--例如我的服務器上有兩個web應用域名都是mockte.com 一個映射到目錄mockte.com/1/ 另一個影射到 http://mockte.com/2/ …

java timezone id_java.util.TimeZone.setID()方法實例

全屏setID(String ID)方法被用于設置時區ID。這不會改變的時區對象中的任何其他數據。聲明以下是java.util.TimeZone.setID()方法的聲明。public void setID(String ID)參數ID--這是新的時區ID。返回值NA異常NA例子下面的例子顯示java.util.TimeZone.setID()方法的使用package …

c語言中賦值截斷

在c語言中進行變量賦值的時候&#xff0c;如果將字節多的數據類型賦給一個占字節少的變量類型&#xff0c;會發生“截斷”。 發生這種情況的原因是&#xff1a;在賦值過程中只將占字節較長的變量的地位賦給占字節較少的變量。 如&#xff1a; int i345&#xff1b; char c‘…

創建一個自己的GitHub,創建自己的開源項目

作者是一個大學在讀學生&#xff0c;自己在平時的學習中&#xff0c;GitHub上的開源項目給自己提供了很大的幫助。GitHub是目前使用最廣泛的分布式項目管理軟件&#xff0c;GitHub上面托管了許多非常優秀的開源項目。我覺得每一個從事IT行業都應該有一個屬于自己的GitHub。下面…

設計模式之行為型(1)-職責鏈模式(Chain)

設計模式之行為型(1)-職責鏈模式(Chain)轉載于:https://www.cnblogs.com/lihuali/p/7493415.html

php apache win7,win7安裝apache+php

轉自百度經驗1 系統環境與軟件1php5.5.6 下載鏈接&#xff1a;http://windows.php.net/download/#php-5.5推薦 V11 x64&#xff0c;也就是64bit的。2apache2.4&#xff0c;下載鏈接&#xff1a;http://www.apachelounge.com/download/同樣是推薦 V11&#xff0c;64位的。3前面提…

photoshop 常用快捷鍵大全

一、文件新建 CTRLN打開 CTRLO 打開為 ALTCTRLO關閉 CTRLW保存 CTRLS 另存為 CTRLSHIFTS另存為網頁格式 CTRLALTS打印設置 CTRLALTP頁面設置 CTRLSHIFTP打印 CTRLP退出 CTRLQ 二、編輯撤消 CTRLZ向前一步 CTRLSHIFTZ向后一步 CTRLALTZ退取 CTRLSHIFTF剪切 CTRLX復制 CTRLC合并…