- 一、字符串
- 二、转义字符
- 转义字符表
- 现学现用,笔试题
- 三、注释
- 注释是啥意思?
1、字符串是什么?
"hello world\n"
顾名思义,从“字符串”三个字看,它就是字符的组合
字符串或串(String)是由数字、字母、下划线组成的一串字符。
或许学过C++、Java、python等语言的人知道string(字符串类型),但C语言中字符串是存放在数组中的。
暂时就先说一种,复杂的以后再说。
2、字符串的定义
通过字符数组进行初始化
#include
int main()
{
//第一种,在双引号中写
char arr1[] = "hello";
//第二种,在花括号中用单引号分成单个字符
char arr2[] = {'h','e','l','l','o','}';printf
("%s\n",) arr1;printf
("%s\n",) arr2;return
0 ;}
错误的写法
3、注意事项
#
includeint
main ()//错误的写法,arr是数组的首元素的首地址,不能将字符存在里面
{
char
[ arr5];=
arr "hello" ;printf
("%s\n",) arr;return
0 ;}
字符串的结束标志是一个 char arr2[] = {‘h’,‘e’,‘l’,‘l’,‘o’,‘#’}; 的转义字符。在计算字符串长度的时候 include 是结束标志,不算作字符串内容。
4、转义字符’\0’的使用
int
main
()
//双引号中的字符串最后默认有'char' []=
{
"hello"
; arr1//在花括号中用单引号分成单个字符必须在后面加个'char'来表示结束[ ] ='h'
,
'e' arr2,'l' , {'l','o','}';printf("%s\n",);printf
("%s\n",) arr1;return
0;}# arr2includeint
main ()
printf
二、转义字符
转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
通俗来说就是转变字符的含义,前面加个’\'就能表示出许多键盘上不能打的字符。
该处是未加’\'的n
("abc"
) ;return0
{
;}#includeint
main ()
printf
该处n的前面加了’\',结果n并没有被输出,而且abc下面空了一行,这就是用‘\’把n转成了换行符。
("abc\n"
) ;return0
{
;}转义字符 释义 ASCII(十进制)
\a 响铃(BEL) 007
\b
转义字符表
退格(BS) ,将当前位置移到前一列 | 008 | \f | |
换页(FF),将当前位置移到下页开头 | 012 | \n | |
换行(LF) ,将当前位置移到下一行开头 | 010 | \r | |
回车(CR) ,将当前位置移到本行开头 | 013 | \t | |
水平制表(HT) (跳到下一个TAB位置) | 009 | \v | |
垂直制表(VT) | 011 | \ | |
代表一个反斜线字符’\’ | 092 | \’ | |
代表一个单引号字符 ’ | 039 | \" | |
代表一个双引号字符" | 034 | \? | |
代表一个问号? | 063 | 空字符(NUL) | |
000 | \ddd | 1到3位八进制数所代表的任意字符 | |
三位八进制 | \xhh | 十六进制所代表的任意字符 | |
十六进制 | strlen//程序输出什么?|||
现学现用,笔试题
该程序会输出什么?(函数printf是用来求字符串长度的。)
(
"%d\n",
strlen ("abcdef")
{
);printf( "%d\n",strlen("c:\test6\test.c")
);return0 ;}\t6\t/* …*/
//… #include
int
很多人第一个肯定是做对了,但是第二个就不一定了;
首先我们得记住一些重要的转义字符,在这个字符串"c:Addest ( intest.c"中\t、\106是转义字符看作一个字符,因此我们就能数出来了。
三、注释 注释是啥意思?
注释是对程序的某个功能或者某行代码的解释说明,它只在C语言源文件中有效,在编译时会被编译器忽略。
注释有两个目的:
1、为了使代码易于阅读,通常会在实现功能的同时为代码加一些注释。
2、 代码中有不需要的代码可以直接删除,也可以注释掉
并且注释风格有两种:
1、C语言: ,
2、C++语言: int(推荐使用)
)return
+ ;}/*C语言风格注释
int Sub(int x, int y)
{
return x-y;
}
*/ xint main y(
{
) x//C++注释风格y//int a = 10;
//调用Add函数,完成加法
printf
( "%d\n",Add
{
(
1
,
2)); return0;} …”会寻找最近的“所以不推荐使用 / * … * /#
include intmain
(
注意:当需要注释掉一大段程序的时候,仍用这个注释符( /)/)好不好呢?
如果那段要注释的程序中已经有地方用这个注释符注释过的话,那么再这样注释就可能会出问题。有些编译器在检测到“//* int a = 17; /*printf("%d",a);*//”与其结合,
也就是说想注释一大段的时候,但是里面已经有注释了,那么此时就会出错。
*
///这里就出问题了
return 0;}
{
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)