C语言学习系列-->第一弹【初识C语言】

简介: C语言学习系列-->第一弹【初识C语言】

前言

从今天开始,小编为大家整理C语言学习的笔记,供大家参考。如有谬误,欢迎指正。

My Gitee:https://gitee.com/gwj-xiao-bai

一、什么是C语言?

顾名思义,它是一种语言,是一种人与计算机交流的语言。C语言只是计算机语言的一种,还有C++、Python、Java等。C语言学好,后期学习C++/Python等语言上手就会简单许多。

二、编译器

小编这里用的编译器是VS2019,当然其他编译器也是可以使用的,个人觉得初学者使用VS会更好。

接下来为大家简单地介绍一下VS的使用,后续学习中,会有更加详细的解释。

VS 2019的安装大家可以自行在B站搜索,无脑安装社区版,安装完直接就可以使用。

Tip:.c源文件,指的是C语言。.cpp指的是C++源文件。

接下来就可以写我的第一个项目啦!

三、第一个C语言项目

#include<stdio.h>
int main() {
  printf("hello world!\n");
  return 0;
}

第一次写代码时常见的错误:

1、main 被写成了mian
2、 main后边的()漏掉了
3、代码中不能使⽤中⽂符号,⽐如括号和分号
4、 ⼀条语句结束后,有分号

2.main()函数

main函数是程序的⼊⼝
main函数有且仅有⼀个
即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的⼊⼝只能有⼀个)

3.printf()函数和库函数

这⾥简单的介绍⼀下 printfprintf 是⼀个库函数,它的功能是在标准输出设备(⼀般指屏幕)上进⾏信息的打印。上⾯的代码是使⽤printf 函数打印字符串。只要把想要打印的⼀串字符放在双引号中并传递给printf函数就可以打印。

当然,其他类型的数据也是可以打印的,后续会一一给大家介绍(稍安勿躁哈)。

库函数的时候,是需要包含头⽂件的,⽐如: printf 函数需要包含的就是 stdio.h 这个头⽂件,具体的⽅法就是:

#incldue<stdio.h>

库函数的种类也是有很多,后面给大家详细介绍,不需要一下记很多,循序渐进,学一个理解一个就好了。

四、关键字的介绍

C语⾔中有⼀批保留的名字的符号,⽐如: int 、 if 、 return ,这些符号被称为保留字或者关键字
• 关键字都有特殊的意义,是保留给C语⾔使⽤的
• 程序员⾃⼰在创建标识符的时候是不能和关键字重复的
• 关键字也是不能⾃⼰创建的。
C语⾔的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

这些关键字也不需要大家一下掌握,后面学习我们都会遇到,只要理解了,我们就会记住,这些都不是难点。本篇文章只是简单给大家介绍一下。

五、字符和ASCII编码

我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的⼆进制存储的呢?如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语⾔中的字符就遵循了 ASCII 编码的⽅式。

有点多,别急,不需要全记住,有时候需要我i们可以查。

But,我们最好掌握一下几种类型的ASCII 编码
• 字符A–Z的ASCII码值从65~90
• 字符a–z的ASCII码值从97~122
• 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32
• 数字字符0–9的ASCII码值从48~57
• 换⾏ \n 的ASCII值是:10
• 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上观察

单个字符的打印可以使⽤%c来指定格式:

#include <stdio.h>
int main()
{
 printf("%c\n", 'Q');
 printf("%c\n", 81);//这⾥的81是字符Q的ASCII码值,也是可以正常打印的
 return 0;
}

可打印字符展⽰:

#include <stdio.h>
int main()
{
 int i = 0;
 for (i = 32; i <= 127; i++)
 {
 printf("%c ", i);
 if (i % 16 == 15)
 printf("\n");
 }
 return 0;
}

看不懂没关系,后面也会详细介绍,这里只是举一个例子。

六、字符串和\0

使⽤双引号括起来的⼀串字符就被称为字符串,如:“abcdef”,就是⼀个字符串

字符串的打印格式可以使用%s来指定:

#include <stdio.h>
int main()
{
 printf("%s\n", "hello world!");
 printf("hello world!");
 return 0;
}

C语⾔字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个== \0 字符,这个 \0== 字符是字符串的结束标志
比如字符串“abcde”,五个字符,a,b,c,d,e,但是实际上末尾还隐藏了一个==\0==。

所以我们在使⽤库函数 printf() 打印字符串或者strlen() 计算字符串⻓度的时候,遇到 \0 的时候就⾃动停⽌了。

(strlen() 函数后面也会介绍,莫急)

七、转义字符

也许在前⾯的代码中你看到== \n , \0== 很纳闷what is this?其实在字符中有⼀组特殊的字符是转义字符转义字符顾名思义:转变原来的意思的字符

在C语言中,常见的转义字符及其含义如下:
\n:换行符
在字符串中,表示在该位置插入一个换行符,使得后续内容从下一行开始。
\t:制表符
在字符串中,表示在该位置插入一个制表符,用于在输出中创建水平制表格或对齐文本。
\r:回车符
在字符串中,表示将光标移到当前行的开头,可以用于在输出中模拟文本覆盖或进度条效果。
\:反斜杠
在字符串中,表示插入一个反斜杠字符本身,用于避免反斜杠被解释为转义字符。
":双引号
在字符串中,表示插入一个双引号字符本身,用于在字符串中包含双引号而不会被解释为字符串结束。
':单引号
在字符常量中,表示插入一个单引号字符本身,用于在字符常量中包含单引号而不会产生歧义。
\a:响铃符
在字符串中,表示发出响铃声音或显示可视的提示效果,具体效果取决于终端或控制台设置。
\b:退格符
在字符串中,表示向前删除一个字符,可以用于实现在输出中删除最后一个字符的效果。
\f:换页符
在字符串中,表示插入一个换页符,用于在输出中创建分页效果。
\v:垂直制表符
在字符串中,表示插入一个垂直制表符,用于在输出中创建垂直制表格效果。

下⾯2种转义字符可以理解为:字符的8进制或者16进制表⽰形式
• \ddd :d d d表⽰1~3个⼋进制的数字。 如: \130 表⽰字符X
• \xdd :d d表⽰2个⼗六进制数字。 如: \x30 表⽰字符0
• \0 :null 字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其ASCII码值是0.

随着后面的学习,我们会认识到更多的转义字符,也会发现,有些转义字符会经常用到,有些很少遇见。

话不多说,代码演示:

#include <stdio.h>
int main()
{
 printf("%c\n", '\'');
 printf("%s\n", "\"");
 printf("c:\\test\\code\\test.c\n");
 printf("\a");
 printf("%c\n", '\130'); //130是8进制,转换成10进制是88,以88作为ASCII码值的字符是
 printf("%c\n", '\x30'); //x30中的30是16进制,转换成10进制是48,以48作为ASCII码值的
 return 0;
}

总结

本篇文章主要简单介绍一下C语言的概念,后续知识点会慢慢发布。


目录
相关文章
|
5月前
|
存储 C语言
C语言学习记录——动态内存函数介绍(malloc、free、calloc、realloc)
C语言学习记录——动态内存函数介绍(malloc、free、calloc、realloc)
355 1
|
5月前
|
编译器 C语言 C++
C语言学习记录——位段(内存分配、位段的跨平台、位段的应用)
C语言学习记录——位段(内存分配、位段的跨平台、位段的应用)
57 0
|
1月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
17 0
|
3月前
|
编译器 C语言
C语言函数的学习
掌握函数的使用是学习C语言的关键一环,理解和应用这些基本的函数概念将使你能够更有效地利用C语言的强大功能。
24 0
|
5月前
|
存储 程序员 Go
|
5月前
|
存储 编译器 C语言
c语言学习历程【1】
c语言学习历程【1】
70 1
|
5月前
|
C语言
C语言学习记录——枚举(定义、与结构体的区别、优点)
C语言学习记录——枚举(定义、与结构体的区别、优点)
60 3
|
5月前
|
C语言
C语言学习记录——通讯录(静态内存)
C语言学习记录——通讯录(静态内存)
32 2
|
5月前
|
存储 C语言
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
79 2
|
5月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
46 1