目录
main函数的多种写法
1.void main()
2.main()
3.int main()
4.int main(void)
注释
标识符
ASCII码
转义字符
\n,\",\\,\a,\'
\b
\r
\t
\ddd
\xdd
main函数的多种写法
1.void main()
一些编译器允许这么写,但是所有的标准都未认可这种写法。因此,编译器不必接受这种形式,而且许多编译器都不能这么写
2.main()
C90勉强接受这种形式,但是C99和C11标准都不允许这么写。因此,即使你的编译器允许,也不要这么写
3.int main()
这是我们比较常用的一种形式,这是完全没有问题的
4.int main(void)
这也是常用的一种形式,我们可以使用这个
注释
在C语言中,可以使用两种方式进行注释:单行注释和多行注释。
- 单行注释:用双斜线"//"表示注释的开始,直到行末为止。例如:
// 这是一个单行注释
- 多行注释:用斜线和星号"/* */"括起来的部分表示注释的开始和结束。例如:
/*
这是一个多行注释
可以跨越多行
*/
当然它也可以用于单行注释
/* 也可以用于单行注释 */
注释用于解释代码的作用、逻辑、实现方式等,不会被编译器执行。注释可以提高代码的可读性和可维护性,方便其他人阅读和理解代码的意图。
标识符
在C语言中,标识符是用来表示变量、函数、数组、结构体等命名实体的名称。
标识符的命名规则如下:
- 标识符由字母、数字和下划线组成。
- 第一个字符必须是字母或下划线。
- 大小写敏感,即大小写字母被视为不同的字符。
- 标识符的长度没有限制,但是只有前63个字符有效。
- 不能使用C语言的关键字作为标识符。
一些有效的标识符示例:
- 变量名:count, age, total_sum
- 函数名:calculateSum, displayData
- 数组名:numbers, matrix
- 结构体名:Student, Employee
需要注意的是,良好的命名习惯可以提高代码的可读性和可维护性。建议使用有意义、描述性强的标识符,以便于他人理解和使用代码。
ASCII码
在C语言中,ASCII码是一种基于英语字母的字符编码标准,用于将字符转换为数字表示。每个字符对应一个整数值。
0-31是不可打印字符,只能通过转义字符里的\ddd和\xdd来打印
以下是一些常用字符的ASCII码值示例:
- 字母A到Z的ASCII码值:65到90
- 字母a到z的ASCII码值:97到122
- 数字0到9的ASCII码值:48到57
- 特殊字符:
- 空格的ASCII码值:32
- 换行符的ASCII码值:10
- 回车符的ASCII码值:13
- 句号的ASCII码值:46
- 逗号的ASCII码值:44
- 冒号的ASCII码值:58
- 分号的ASCII码值:59
可以通过在C语言中使用char
类型来表示字符,使用int
类型来表示字符对应的ASCII码值。
以下是一个简单的示例,演示如何打印字符及其对应的ASCII码值:
#include <stdio.h>int main() {char ch = 'A';printf("Character: %c\n", ch);printf("ASCII value: %d\n", ch);return 0;
}
输出结果:
Character: A
ASCII value: 65
这个示例展示了字符'A'的ASCII码值是65。通过打印字符和对应的ASCII值,我们可以直观地看到它们之间的关联。
转义字符
在C语言中,转义字符是用来表示一些特殊字符的字符序列。它们以反斜杠(\)开头,并紧跟特定的字符,用于表示一些不可见的控制字符或具有特殊用途的字符。
以下是一些常用的转义字符:
\'
:单引号\"
:双引号\\
:反斜杠\n
:换行符\t
:制表符(tab)\r
:回车符\b
:退格符\f
:换页符\a
:警报(蜂鸣)符\0
:空字符(NULL)
\n,\",\\,\a,\'
示例:
#include <stdio.h>int main() {printf("Hello\tWorld!\n");printf("My name is \"John\".\n");printf("This is a backslash: \\.\n");printf("This is a new line: \n.");printf("This is a beep sound: \a.\n");return 0;
}
输出结果:
Hello World!
My name is "John".
This is a backslash: \.
This is a new line: .
This is a beep sound: .
这个示例演示了如何使用转义字符来打印特定的字符或产生特定的效果。注意,转义字符本身不会在输出中显示,它们只用于控制字符的行为。
\b
我们看看\b的作用
#include<stdio.h>
int main()
{printf("abc\bde");
}
结果是
abde
\r
在C语言中,\r
是一个转义字符,用于表示回车符(carriage return)。它的作用是将当前输出位置的光标移到当前行的开头。
printf("abcde\rf");
结果是
f cde
下面是一个使用\r
的示例:
#include <stdio.h>int main() {printf("Progress: 0%%");fflush(stdout); // 刷新输出缓冲区,确保之前的内容被立即输出for (int i = 1; i <= 10; i++) {// 在同一行上更新进度条printf("\rProgress: %d0%%", i);fflush(stdout); // 刷新输出缓冲区,确保更新后的内容被立即输出// 假设在这里进行一些耗时操作}printf("\n");return 0;
}
运行上述示例代码,你会看到进度条每隔1秒更新一次,并显示进度的百分比。
注意,在使用\r
时,需要手动使用fflush(stdout)
函数来刷新输出缓冲区,这样才能确保更新后的内容立即显示在控制台上。
\t
在C语言中,\t
是一个转义字符,用于表示制表符(horizontal tab)。它的作用是在输出文本时,在当前位置插入一个水平制表符,将光标移动到下一个制表符位置。通常是下一个8的倍数
下面是一个使用\t
的示例:
#include <stdio.h>int main() {printf("Name:\tJohn\n");printf("Age:\t25\n");printf("Country:\tUSA\n");return 0;
}
运行上述示例代码,你会看到输出结果如下:
Name: John
Age: 25
Country: USA
我们再看一个例子
#include <stdio.h>int main() {printf("ab\tdef\tq\theheh");return 0;}
结果
ab def q heheh
ab到def之间有6个空格,def到q有5个,q到heheh有7个
注意,\t
在输出时会按照一个固定的间距将文本对齐到相应的制表符位置。实际上,制表符在不同的终端或编辑器中可能会显示不同的宽度,因此输出可能会在不同的环境中呈现不同的对齐效果。
\ddd
在C语言中,\ddd
是一种八进制转义序列,用于表示一个特定的ASCII字符。其中,ddd
是一个3位的八进制数,范围从000到377(即0到255的十进制数)。
下面是一个使用\ddd
的示例,将八进制数\141
转义为对应的ASCII字符'a':
#include <stdio.h>int main() {printf("%c\n", '\141');return 0;
}
运行上述示例代码,你会看到输出结果为:
a
在C语言中,八进制转义字符主要用于表示一些不可打印的ASCII字符,如换行符(\012
)或回车符(\015
),或者用于在字符常量中表示一些特殊的字符。
\xdd
在C语言中,\x
是一种十六进制转义序列,用于表示一个特定的ASCII字符。其中,dd
是一个两位的十六进制数,范围从00到FF(即0到255的十进制数)。
下面是一个使用\xdd
的示例,将十六进制数\x61
转义为对应的ASCII字符'a':
#include <stdio.h>int main() {printf("%c\n", '\x61');return 0;
}
运行上述示例代码,你会看到输出结果为:
a
在C语言中,十六进制转义字符主要用于表示一些不可打印的ASCII字符,如空格(\x20
)或制表符(\x09
),或者用于在字符常量中表示一些特殊的字符。