程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C語言學習

C語言學習

編輯:關於C
   關於C語言的學習,主要分為語言、算法、數據結構、系統調用、設計幾個大方面。      今天想和大家說的是  轉義字符  和 常量 的一些簡單知識      轉義字符,說白了就是"/"+其他字符。基本的轉義在這裡就不一一介紹了,每一本資料上 應該都有。我現在想說一些容易出錯的。  1、引號的輸出             printf("\"");或者printf("%c",'"');    單斜線的輸出             printf("\\");  2、如說我輸出一串的路徑的話呢?像這樣              printf("C:\test\add\11-25\test.c");         那麼會輸出什麼呢?很明顯這樣是輸不出想要的路徑的,輸出結果應該是                C:    estdd    -25    est.c(中間都是隔著一個tab的位置)       為了輸出想要的結果,這裡就要用到轉義,原來所有的單斜線都改為雙斜線,                   printf("C:\\test\\add\\11-25\\test.c");  3、針對問題二,多問一個問題,看如下程序:       int a;       a=strlen("C:\test\add\11-25\test.c");       printf("%d",a);    它的輸出結果是多少呢?不妨自己猜一下,然後試一下。    所有的字符轉義後不管是什麼,都只占一個位。       關於常量,常見的常量有字符型、整型、浮點型、還有枚舉(enum),前幾種類型不用做解釋,關於枚舉還是想多啰嗦幾句的。     1、首先舉一個簡單枚舉的例子(所有名稱都是自己隨意起的):       enum OS       {          WIN,          LINUS,         UNIX        };     通常情況下,我們管大括號內的不叫成員,叫他可能取值,均為常量,可以給它賦值,在不賦值的情況下,默認從上到下0,1,2...,如果在上面的程序後面加上一句      printf("%d\t%d\t%d\t",WIN,LINUS,UNIX);     輸出結果為 0    1    2     若僅給中間某一個數賦值,則下一個數在該數的基礎上加1,具體情況大家可以自己調試一遍。學習C的過程就是不斷敲代碼的過程。    2、說到這裡,另外再提一個關鍵字“const”     const修飾的數據類型是指常類型,常類型的變量或對象的值是不能被更新的。比較一下下面兩句:             int n=10;    //n為變量             const int n=10;    //變量轉換為常量,後期是不可以對n值進行修改的。     像這樣:           const int n=10;           n=20;     程序就會報錯,但是真的不可以改掉n的值了嗎?在C語言中,未必。        指針,一個幾乎萬能的工具。看下面程序:          const int n=10;          int *p=(int *)&n;   //注意將n的地址強制轉化為指針,否則也會報錯          *p=20;          printf("%d",n);      這樣程序的輸出結果就變成了20。     3、數組      首先看一個程序:       int main()      {            int n=10;            int  fun[n];      }      相信大家很容易看出程序是有問題的,在C語言中,數組的寬度必須是常量,那如果把第三行程序前面加上const,程序能不能正確編譯呢?      大家可以試試。     注:數組空間是在編譯前就開辟好了的。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved