注:一定要空杯心态,虽然之前在网站上自学了一部分。
1.C语言是什么?
C语言是众多计算机语言中的一种。是人和计算机交流的语言。
2.简单的C程序示例
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
printf("Hello C");
return 0;
}
编译运行该程序。运行一切正常的结果为:Hello C
那么,该如何在编译器中运行该代码。有俩种方式:
1.快键键:Ctr+ F5 / Fn + Ctrl + F5
2.如下图:
第一步:在功能栏中找到调试按钮点一下。第二步:找到开始执行不调试
3.示例解释
3.1 #include <stdio.h>
该行告诉编译器把stdio.h中的内容包含在当前程序中。stdio.h是C编译器软件包的标准部分,他提供键盘输入和屏幕输出的支持。
#include指令和头文件
这是把<stdio.h>文件中的所有内容都输入该行所在位置。在这里我就只做一下说明,具体的会在多文件部分说明。
3.2 int main()
main()函数:每个C语言程序不管有多少行代码,都是从main函数开始执行的,main函数是程序的入口。顾而,main函数也被叫做:主函数。main前面的int表示main函数执行结束的时候返回一个整型的值。所以在main函数的最后写return 0;正好前后呼应。
main函数的模板:
// main函数的模板
int main()
{
return 0;
}
- main函数是程序的入口
- main函数有且仅有一个
main函数常见的错误:
- main函数的拼写错误
- main函数后边的()忘记了
- 代码中使用了中文符号
- 一条语句结束后,要有分号
注意:main函数有参数
3.3 printf 和 库函数
示例代码中:printf("Hello C");
使用printf函数,实现了在屏幕上的信息的打印。
那么printf是什么意思?
printf是一个库函数。它的功能是在屏幕上进行信息的打印。
printf("Hello C"); // ""双引号括起来的是一个字符串
printf("%c", 'q'); //‘’单引号括起来的是一个字符
printf("%d", 123); // 打印整型
printf("%f", 3.15); // 打印小数,默认为小数点后六位
// 用指定的格式来打印数据
// printf -- print + formant
这里的%d,%c,%f是占位符,后边的值会替换掉它。
可是这个printf函数是人家的,我们需要在使用的时候需要向别人打招呼。顾我们在使用时候需要包含对应的头文件,printf所包含的头文件是stdio.h
包含头文件的方式非常固定就是 #include<...>
#include <stdio.h>
// std -- standard - 标准
// i -- input - 输入
// o -- output - 输出
// .h - 头文件
// 标准输入输出的头文件
不同的库函数具有不同的头文件。
那么库函数是什么?
为了不再重复实现常见的代码,提升开发效率,C语言标准规定了一组函数,这些函数再由不同的编译器厂商根据标准实现,提供给程序员使用。就定了一个标准库,这些函数就叫做库函数。
库函数非常多,可以参考这个链接:https://cplusplus.com/reference/clibrary/
3.4关键字的介绍
C语言中有一批保留的名字的符号,比如:int、return,这些字符被称为保留字或者关键字。
- 关键字都有特殊的意义,是保留给C语言中使用的。
- 程序员自己在创建标识符的时候是不能和关键字重复的
- 关键字也不能自己创建。
C语言常见的关键字: char const continue default do while for if else extern static goto int long double float short return sizeof void switch case break unsigned
注:可以看这个网址:https://zh.cppreference.com/w/c/keyword
注:千万不要去死记硬背,用着用着就会了。(鹏哥亲传)
4.字符和ASCII编码
在键盘上可以敲出各种字符。C语言中字符是用单引号括起来的。Ascll表中的不需要记忆,只需要记几个常用的:这里有一点小总结:
a -- 97 按顺序可知a~z;
大写字母为小写字母的值减去32
数字0 -- 48
换行\n -- 10
ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上观察。
用for循环打印32~127的字符:
int main()
{
int i;
for (i = 32; i <= 127; i++)
{
printf("%c ", i);
}
return 0;
}
5.字符串和 \0
C语言如何表示字符串?使用双引号括起来的一串字符就被称为字符串,字符串的打印格式可以使用%s来指定:
int main()
{
printf("%s\n", "hello c");
printf("hello c");
return 0;
}
C语言字符串中有一个特殊的知识,字符串的末尾隐藏着\0字符,\0是字符串结束的标志。
对字符串“abcde”,我们实际看到5个字符,但后面还隐藏着一个\0的转义字符,\0是字符串结束的标志。
\0的重要性:
在数组中演示:
#include <stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c' };
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}
数组arr2明显是乱码状态,我们给它加上\0再看一下结果:
由此可以看出转义字符\0的重要性。
6.转义字符
顾名思义:转变原来意思的字符。
在这里不做示例。以下是常用的转义字符:(分为两类)
- \' : 用于表示字符常量’
- \'': 用于表示一个字符串内部的双引号
- \\ : 用于表示一个反斜杠,防止它被解释为一个转义序列符
- \a : 蜂鸣器,终端会发出警报
- \b : 退格键,光标回退一个字符,但不删除字符
- \n : 换行符
- \r : 回车符,光标移到同一行的开头
- \t : 制表符
- \ddd : d d d表示1~3个八进制数字
- \xdd: d d表示两个十六进制数字
转义字符的示例:
#include <stdio.h>
// 转义字符 '\n' -- 换行
int main()
{
printf("abcndef\n");
printf("abc\ndef");
return 0;
}
// 转义字符 '\'' -- 字符常量'
int main()
{
printf("%c", '\'');
return 0;
}
// 转义字符 '\" '-- 双引号
int main()
{
printf("%c", '\"');
return 0;
}
代码运行截图:
7.语句和语句分类
C语言的代码是由一条一条的语句构成的 ,可分为5类:
- 空语句: 一个分号就是一条语句,是空语句
- 表达式语句:是在表达式后面加上分号。 eg : ‘ int a = 20; ’
- 函数调用语句:函数调用时加上分号,就是函数调用语句。 eg : 'void game(); '
- 复合语句:复合语句就是代码块 。for 循环的循环体(大括号中的)就是复合语句
- 控制语句:用于控制程序的执行流程。
控制语句可以分成三类:分支、循环、 转向。(目前已学完。2025.4.23)
8.注释
注释是给程序员看的,编译器会自动忽略。之后学的知识越多,代码就会越长,比如说扫雷游戏,其中的注释是给自己以及其他程序员看的,可以很好的表明逻辑,代码的走向,目的等等。
在VS2022中的两种注释形式:
- /* ....*/ : 不支持嵌套注释 。 但可以多行注释
- // : 只能是单行
- 注释的快捷键: 注释选中行:Ctrl + k + c 取消注释:Ctrl + k + u
9.小结
C程序由一个或多个C函数组成。每个C程序必须有且仅有一个main()函数,这是程序的入口。简单的函数有函数头和后面的一对花括号组成,花括号中是有声明、语句组成的函数体。
在C语言中大部分语句都以分号结尾。
C语言有自己的一套语法规则。不规则有可能会报错。
关键字是C语言的词汇。
ASCII编码只需要记住常用就行。
转义字符多实践,自然就会用了。目前最最常用的就是‘\n’。