c语言初识<2>
目录: <1>变量的作用域和生命周期. <2>常量的定义 <3>字符串 <4>strlen函数 <5>转义字符
内容: 1.scanf是C语言提供一个输入函数 & – 取地址 2. 局部变量的作用域: 变量所在的局部范围 全局变量的作用域: 整个工程 3.生命周期 局部变量:进入局部变量所在的范围,生命周期开始,出局部变量所在的范围的时候,生命周期结束 全局变量:就是整个程序的生命周期 4.常量 字面常量(直接写出) const 修饰的常变量 #define 定义的标识符常量 枚举常量 <1>字面常量 <2>const 修饰的常变量 虽然下面的被const修饰的变量是不能修改的,但是本质上还是一个变量 <3>#define 定义的标识符常量 #define MAX 100 int main() { int a = MAX; printf("%d\n", a); printf("%d\n", max); return 0; } <4>枚举常量 定义枚举类型 enum Sex { //枚举这种类型的可能取值 - 就是枚举常量 MALE, FEMALE, SECRET };(这里的分号(;)不能省) int main() { enum Sex s = MALE; printf("%d\n", MALE); printf("%d\n", FEMALE); printf("%d\n", SECRET); return 0; } 5.“hello bit.\n” 这种由双引号(“”)引起来的一串字符称为字符串字面值(String Literal),或者简称字符 串。 字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串 内容。 如果数组中没有‘\0’,sizeof是默认里面有的,占一个字节 由此可得:由双引号("")引起来的字符串里面隐藏着\0 由 {}所表达 的字符串里面没有\0,要计算字符串长度时,要加上\0
6.“abc”;//字符串 “a”;//字符串 “”;//空字符串 7.strlen - 求字符串长度的函数 int main() { //可以把字符串放在字符数组中 char ch = “abc”;//错误写法 char arr1[] = “abc”; char arr2[] = {‘a’, ‘b’, ‘c’, ‘\0’}; printf("%d\n", strlen(arr1)); printf("%d\n", strlen(arr2)); return 0; } 8.转义字符 转变原来的意思 转义字符 释义 <1>? 在书写连续多个问号时使用,防止他们被解析成三字母词 <2>’ 用于表示字符常量’ <3>\“ 用于表示一个字符串内部的双引号 <4>\ 用于表示一个反斜杠,防止它被解释为一个转义序列符。 <5>\a 警告字符,蜂鸣 <6>\b 退格符 <7>\f 进纸符 <8>\n 换行 <9>\r 回车 <10>\t 水平制表符 <11>\v 垂直制表符 <12>\ddd ddd表示1~3个八进制的数字。 如: \130 X <13>\xdd dd表示2个十六进制数字。 如: \x30 0 例题 <1>输出 c:\test\104\test.c 错误编写 #include<stdio.h> int main() { peintf(“c:\test\104\test.c”); return 0;} 错因:忽略了转义字符 正确编写: #include<stdio.h> int main() { printf(“c:\test\104\test.c”); return 0;} <2>计算字符串c:\test\104\test.c长度 编写 #include<stdio.h> int main() { printf("%d",strlen(“c:\test\104\test.c”)); return 0; } 9.注释 有两种: <1>// 特点:不能跨行 <2>/**/ 特点:可以跨行,但不能嵌套着写
注意:在字符串中的//和/*都不作为注解,而是作为字符串的一部分。
|