目标:
1.c语言是什么?
2.vs项目,源文件,头文件
3.main函数
4.printf函数
5.关键字
6.字符和ASCII编码
7.字符串和╲0
8.转义字符
9.语句和语句分类
10.注释
1.c语言是什么?
人与计算机交流的语言工具
2.vs项目,源文件,头文件
在vs2022上面写代码需要创建项目
.c为后缀的为源文件,.h为后缀的为头文件
3.main函数
也叫主函数,程序的入口,一个项目中只有一个main函数
4.printf函数
是一个库函数,功能是在标准输出设备
%d %c %f等是占位符 %d是整形,%c是字符,%f是浮点数(小数)
注意:写库函数的时候需要包含头文件#include<stdio.h>
stdio是stand input output (标准的输入输出,因为规定)
库函数相关https://cplusplus.com/reference/clibrary/库函数
5.关键字
c语言中有一批保留的名字和符号比如 int if return
32个关键字如下:
auto break case char const continue default do double else enum ex
float for goto if int long register return short signed sizeof
struct switch typedef union unsigned void volatile while
注意:在c99中加了inline restrict 等
6.字符和ASKII编码
键盘上敲出的各种字符,如a,q,c语言中用单引号括起来'a'
字符用二进制来保存,所以有了ASKII编码
#include <stdio.h>
int main()
{
printf("%c\n", 'Q');
printf("%c\n", 81);//这⾥的81是字符Q的ASCII码值,也是可以正常打印的
return 0;
}
效果一样
7.字符串和\0
在c语言中,'a'实际上有两个即'a\0' ,\0是结束的标志
8.转义字符
顾名思义:转变原来意思的字符
C语⾔中像这样的转义字符还有⼀些,具体如下:
• \? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。
• \' :⽤于表⽰字符常量'
• \" :⽤于表⽰⼀个字符串内部的双引号
• \\ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
• \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。
• \b :退格键,光标回退⼀个字符,但不删除字符。
• \f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。
• \n :换⾏符。
• \r :回⻋符,光标移到同⼀⾏的开头
• \t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个8的倍数。
• \v :垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。
下⾯2种转义字符可以理解为:字符的8进制或者16进制表⽰形式
• \ddd :d d d表⽰1~3个⼋进制的数字。如:\130表⽰字符X
• \xdd :d d表⽰2个⼗六进制数字。如:\x30表⽰字符0
\0 :null 字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其
ASCII码值是0
转义字符参考:https://zh.cppreference.com/w/c/language/escape转义字符
9.语句分类
分为空语句、表达式语句、函数调用语句、复合语句、控制语句。
空语句 只有分号
#include<stdio.h> int main() { ; return 0; }
表达式语句
#include<stdio.h> int main() { int a=55; int b=30; b=a+5; return 0; }
函数调用语句
#include<stdio.h> int Add(int x,int y) { return x+7; } int main { printf("hehe\n");//函数调用语句 int ret=Add(2,3); return 0; }
复合语句
成对括号中的代码就构成一个代码块,也称为复合语句。
控制语句
用于控制程序的执行流程,以实现程序的各种结构方式,(c语言支持三种结构:顺序结构、选择结构、循坏结构)
注释
c语言中有两种注释
一种是/*xxx*/,另外一种是//
第一种不能嵌套,最多用的是第三种。