C語(yǔ)言的常量,字符串,轉(zhuǎn)義字符,注釋你都了解嗎
四種常量:
1.字面常量
如數(shù)字100,‘a’
2.const修飾的常變量
const int n = 10 //常變量而非常量 不能用 int a【n】={1,2,3}定義數(shù)組
3.define定義的標(biāo)識(shí)符常量
#define NUM 100 //NUM是define定義的常量
4.枚舉常量:
生活中有些取值可以一一列舉的如:
性別:男,女,保密
星期:1,2,3,4,5,6,7
//創(chuàng)建一種枚舉類型
#include <stdio.h> enum Sex { //枚舉類型Sex的三個(gè)可能取值 -枚舉常量 MALE, //0 FEMALE, //1 SECRET //2 }; int main() { enum Sex sex = FEMALE; //MALE = 2; //err printf("%d\n", MALE); //0 printf("%d\n", FEMALE); //1 printf("%d\n", SECRET); //2 return 0; }
字符串:
由雙引號(hào)括起來(lái)的一串字符就是字符串 如:"abc"、"a"、"" //空字符串
注:字符串的結(jié)束標(biāo)志是一個(gè)\0的轉(zhuǎn)義字符,在計(jì)算字符串長(zhǎng)度的時(shí)候 \0 是結(jié)束標(biāo)志,不算作字符串內(nèi)容。
#include <stdio.h> //突出'\0'的重要性 int main() { char arr1[] = "abcdef"; char arr2[] = {'a', 'b', 'c','d','e','f'}; char arr3[] = {'a', 'b', 'c','d','e','f','\0'}; //%s 是打印字符串 printf("%s\n", arr1); //abcdef printf("%s\n", arr2); //abcdef燙abcdef printf("%s\n", arr3); //abcdef return 0; }
#include <stdio.h> #include <string.h> //說明'\0'不算作字符串內(nèi)容 int main() { char arr1[] = "abcdef"; printf("%d\n", strlen(arr1)); //6 //strlen - string length - 字符串長(zhǎng)度 需要頭文件<string.h> char arr2[] = {'b','i','t'} ; printf("%d\n", strlen(arr2)); //10 缺少\0輸出值是隨機(jī)值 return 0; }
轉(zhuǎn)義字符
#include <stdio.h> int main() { //問題1:在屏幕上打印一個(gè)單引號(hào)',怎么做? //問題2:在屏幕上打印一個(gè)字符串,字符串的內(nèi)容是一個(gè)雙引號(hào)“,怎么做? //問題3:在屏幕上打印 c:\code\test.c\n,怎么做? printf("%c\n", '\''); //' printf("%s\n", "\""); //" printf("c:\\code\\test.c\n"); //c:\code\test.c\n return 0; }
特殊的轉(zhuǎn)義字符:
\ddd:ddd表示1~3個(gè)八進(jìn)制的數(shù)字。 如: \130 X
注:\ddd 最多只支持三位數(shù)字,并且三位數(shù)字也不是任意的,一旦大于等于八進(jìn)制數(shù) '/400 '(十進(jìn)制256=8進(jìn)制400)就超過了ascall碼的范圍,編譯器就會(huì)報(bào)錯(cuò)。另外大于三位,或者遇到非八進(jìn)制數(shù)字時(shí)則轉(zhuǎn)換結(jié)束,直接取末尾數(shù)字。
面試題:需注意\后的三個(gè)數(shù)字超出400和三個(gè)數(shù)字中有超過7的數(shù)字的情況
#include <stdio.h> #include <string.h> int main() { printf("%d\n", strlen("abcdef")); // \62被解析成一個(gè)轉(zhuǎn)義字符 printf("%d\n", strlen("c:\test\628\test.c")); //14 return 0; }
\xdd:dd表示2個(gè)十六進(jìn)制數(shù)字。 如: \x5F //
注釋
注釋有兩種風(fēng)格:
C語(yǔ)言風(fēng)格的注釋 /*xxxxxx*/ 缺陷:不能嵌套注釋
C++風(fēng)格的注釋 //xxxxxxxx 可以注釋一行也可以注釋多行
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
基于C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的掃雷小游戲
這篇文章主要為大家詳細(xì)介紹了基于C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11C語(yǔ)言實(shí)現(xiàn)選擇排序、冒泡排序和快速排序的代碼示例
這篇文章主要介紹了C++中實(shí)現(xiàn)選擇排序、冒泡排序和快速排序的代碼示例,例子帶有執(zhí)行時(shí)間統(tǒng)計(jì)還可以簡(jiǎn)單看一下效率對(duì)比,需要的朋友可以參考下2016-04-04C++ string類getline()用法實(shí)例詳解
C++ getline()是一種標(biāo)準(zhǔn)庫(kù)函數(shù),用于從輸入流中讀取字符串或行,它是<string>標(biāo)頭的一部分,本文介紹C++ string類getline()用法詳解,感興趣的朋友一起看看吧2024-03-03利用C語(yǔ)言實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的飛機(jī)游戲
在前面彈跳小球?的基礎(chǔ)上實(shí)現(xiàn)一個(gè)簡(jiǎn)單的飛機(jī)游戲,主要包括飛機(jī)的顯示、控制移動(dòng)、顯示復(fù)雜圖案、發(fā)射激光、打靶練習(xí)等功能,感興趣的可以嘗試一下2022-10-10C++數(shù)據(jù)結(jié)構(gòu)關(guān)于棧迷宮求解示例
這篇文章主要為大家介紹了C++數(shù)據(jù)結(jié)構(gòu)關(guān)于棧的迷宮求解示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-11-11