1.字符串
由双引号引起来的一串字符称为字符串面值,或者简称字符串。
注:字符串的结束标志是一个\0的转义字符,通常一个字符串的末尾隐藏放一个\0。c语言中没有字符串类型。
//char 字符类型
#include<stdio.h>
#include<string.h>
int main()
{
//'a'->字符
//"abcde"->字符串
char stt1[] = "nihaoya"; //当我们知道字符串长度的时候可以在[]内写上相应的长度或者大于相应的长度,当我们不知道的时候我们不要写,程序会自动计算相应的长度来索取内存空间。
char stt2[] = {'n','i','h','a','o','y','a'}; //stt1和stt2的区别1在于stt1字符串的长度是7,而stt2的长度是未知的,因为他需要遇见/0才会停止;区别2在于当打印这两个函数的时候,stt1打印的是nihaoya,而stt2打印的是未知的只有遇见/0他才会停止打印。
//打印字符串
peintf("%s\n",stt1); //%s为打印字符串
peintf("%s\n",stt2);
//打印字符串长度
int len1 = strlen(stt1); //strlen为求字符串长度的一个函数,strlen->string length,他的头文件为<string.h>
int len2 = strlen(stt2);
printf("/d\n",len1);
printf("/d\n",len2);
return 0;
}
验证stt1和stt2之间的区别时,可逐过程(F10)当逐过程过来stt1时,从调试-窗口-监视-从中输入创建的字符串,就可以得到该字符串储存的每个元素里面都是什么。
2.转义字符
在一些字符前加 \ 使它具有其他意义。
转义字符 | 解释 | 输出 |
\? | 在书写连续多个问号时使用,防止他们被折成三字母词 | 例如:??)->] |
\' | 用于表示一个字符常量内的单引号 | ' |
\\" | 用于表示一个字符串内部的双引号 | " |
\\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符 | \ |
\a | 警告字符 | 蜂鸣 |
\b | 退格符 | |
\f | 进纸符 | |
\n | 换行符 | 换行 |
\r | 回车符 | 回车 |
\t | 水平制表符 | ==Tab |
\v | 垂直制表符 | |
\ddd | ddd表示1-3个八进制的数字,如:\130->X | ASCII |
\xdd | dd表示2个十六进制数字,如:\x30->0 | ASCII |
验证:
#include<stdio.h>
int main()
{
printf("%c\n",'\''); //'
printf("%c\n","\""); //"
printf("%c\n","c:\text\code.c"); //打印地址时//与/的区别
printf("%c\n","c:\\text\\code.c");
printf("\a"); //蜂鸣,可用于程序错误的警告
print("dajiahao\nhuanyingdajia\nduoduodianzan");
printf("%c\n",'/130'); //八进制 可从下面的ASCII表中寻找答案
printf("%c\n",'/40'); //十六进制
return 0;
//例题
printf("%d\n",strlen("c:\test\618\n\\try.c")); //答案在最后
}
注:\ddd和 \xdd计算的时候要把八进制和十六进制的转化为十进制的在进行计算。
例如:\132-->90-->Z,\62-->98-->b
ASCII 表
3.注释
(1)注释的作用:
1).当代码中有不需要的代码可以直接删除也可以注释掉;
2).代码中有些比较难懂的可以写注释文字进行解释说明。
(2)注释类型
1).c语言类型注释 /*xxxxxx*/,缺点为不能嵌套注释;
2).c++风格注释 //xxxxx,可注释一行也可多行注释,但需要多行分别注释。
#include<stdio.h>
//c语言注释:
int main()
{
int num1 = 0;
int num2 = 0;
/*scanf("%d %d",&num1, num2);
int sun = num1 + num2;*/ /*这两行注释掉了*/
printf("%d\n",sun);
retutn 0 ;
}
/*int main()
{
int num1 = 0;
int num2 = 0;
/*scanf("%d %d",&num1, num2);
int sun = num1 + num2;*/ /*这行往上全被注释掉了*/
printf("%d\n",sun);
retutn 0 ;
}*/
//c++注释:
int main()
{
int num1 = 0;
int num2 = 0;
//scanf("%d %d",&num1, num2);
//int sun = num1 + num2; //这两行注释掉了
printf("%d\n",sun);
retutn 0 ;
}
例题答案为15
%d | 打印整型 |
%c | 打印字符 |
%s | 打印字符串 |
%f | 打印float类型的数据 |
%lf | 打印double类型的数据 |