第一章:初识C语言

1. 什么是C语言?

	**我们要学习C语言首先要知道C语言是什么,我们人与人之间的交流用的都是自然语言,比如说:汉语,英语
	而我们要和计算机交流,就要使用计算机能够看懂的语言,C语言就是其中之一,也就是说,C语言就是人与
	机器交流的语言**。

2. C语言的历史和辉煌

	C语言最初是作为Unix系统的开发工具的
	
	Unix系统-----早期用于实验室,科研,高校,是美国人发明的
	
	电脑(计算机)--------它是由硬件组成,然后由操作系统进行控制的
	
	1972年由贝尔实验室的丹尼斯·里奇和布莱恩·柯林汉在B语言的基础上发明了C语言
	
	目前,C语言仍是世界上排名前三的计算机语言

3. 编译器的选择

3.1编译和链接

	C语言是一门编译型语言,C语言的源代码都是文本文件,计算机不能直接看懂,所以得通过编译器进行翻译
	(编译),链接,生成电脑能看懂的二进制文件,这样计算机才能执行你所写的代码
	
	计算机语言可分为编译型语言,如:C语言/C++,和解释型语言,如:Python。

3.2编译器的选择

	嗯。。。本来想列举一些编译器的,都是我又不用那些,我自己说我自己用的好了,就是微软的VS2022。

4. VS项目文件和头文件、源文件的介绍

4.1VS项目文件的创立

	想要在VS2022上面写代码就需要创立一个新的项目文件,用来管理C语言的.c文件和其他文件,具体操作如下
	1.点击创建新项目
	2.选择空项目,然后再点击下一步
	3.输入项目名称,最好是英文名
	4.找到源文件,右击,新建一个.c文件就行了

4.2 什么是源文件?什么是头文件(大概介绍)

	在C语言中,***.c文件是源文件,***.h文件是头文件

5. 第一个C语言程序

	接下来,我们要开始写我们第一个C语言程序,在屏幕上打印一个hello word!,具体代码如下:
#include<stdio.h>
int main()
{
      printf("hello word!");
      return 0;
}
	看到这,想必刚开始学习的兄弟萌肯定有很多疑惑,不急,我们后面来一个一个解读。

6. main函数

		在C语言中,main函数被称为C语言的主函数,从这个主字,我们可以看出main函数在C语言中的地位,在任何的C语言代码中,都是从
		main函数开始运行的,也就是说,main函数是C语言运行的入口,但是,在C语言项目文件中,无论有多少源文件(.c文件)和其他文件
		有且仅有一个main函数!
		
		在上面的代码中,我们看到主函数main前面有一个int,这个int就是整型的意思,那什么是整型呢?就是整数类型,而int main的意思就是
		main函数运行完会返回一个整数,而return 0,就是返回值为0的意思,与int相呼应。

7. printf和库函数

7.1 库函数

	在介绍printf之前,我们先来介绍一下库函数。那什么是库函数呢?
	库函数,就是一些函数被C语言规定了标准,让编译器厂商进行实现这些标准,这些函数组成了一个标准库,所以这些函数也被称为库函数。
	如:printf·····
	
	在使用库函数时一定要包含头文件!!!否则,你的编译器就会报错,代码就运行不了,printf的头文件是stdio.h,头文件要放在
	#include<>里面,也就是#include<stdio.h>,注:头文件要放在main函数的上面,表示声明。
	std-----标准
	i-------in put
	0------on put
	所以stdio是标准输入输出头文件

7.2 printf

	printf它是一个库函数,用于在屏幕上打印信息,所以printf是输出函数,使用时别忘加头文件就行。
	在上面的学习中,我们用printf打印了字符串,其实还能打印数字和字符,如下演示。
#include<stdio.h>
int main()
{
	printf("%d\n",100);
	printf("%c\n",'a');
	return 0;
}

有同学看到这就要问了,那个%d和%c是什么?下面我来为兄弟萌,介绍一下吧!
%d------它是一个整型的占位符,会被后面的整型所替代
%c------它是字符的占位符,会被后面的字符所替代

8. 关键字介绍

	在C语言中,有一些被保留名字的符号,如:int   return,这些被保留名字的符号就被称为关键字。
  • 关键字具有特殊意义,是给C语言使用
  • 关键字不能自己创建
  • 程序员在创建标识符时不能与关键字重复
    C语言常用的32个关键字如下:
    auto break case char const continue default do double else enum
    extern
    float for goto if int long register return short signed sizeof
    static
    struct switch typedef union unsigned void volatile while

9. 字符和ASCII编码

9.1 字符

	在C语言中,用单引号引起来的就是字符

9.2 ASCLL编码

	给每个字符进行编号就是编码,而ASCLL编码是由美国标准学会出台,具体表格在下方网址。
	[ASCLL编码](https://zh.cppreference.com/w/cpp/language/ascii)
	下面我来做个简单的应用示范代码
#include<stdio.h>
int main()
{
	printf("%d\n",'a');
	printf("%c\n",97);
	return 0;
}

10. 字符串和\0

	在C语言中,用双引号引起来的就是字符串,打印时可以直接打印,当然用%s这个占位符也行,用法和上面一样的
	
	在字符串的末尾隐藏着一个\0的字符,\0就是字符串结束的标志
	
	使用printf打印字符串和用strlen计算字符串长度时,碰到\0就会自动停止了

11. 转义字符

转义,就是改变意思,像我上面写的\n和\0就是转义字符,接下来,我会列举一些转义字符
• ?
:在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。
• ’
:⽤于表⽰字符常量’
• "
:⽤于表⽰⼀个字符串内部的双引号
• \
:⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
• \a
:警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。
• \b
:退格键,光标回退⼀个字符,但不删除字符。
• \f
:换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于
• \n
:换⾏符。
• \r
:回⻋符,光标移到同⼀⾏的开头。
• \t
:制表符,光标移到下⼀个⽔平制表位,通常是下⼀个8的倍数。
• \v
:垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。

下面有两个特殊的转义字符,是字符8进制和十六进制的表达形式

  • \ddd-----d d d 表示1~3个八进制数字,如:\130,表示字符X
  • \xdd-----d d 表示2个十六进制数字,如:\x30,表示字符0
  • \0------null(空)字符,表示没有内容,\0就是\ddd这类转义字符的一种,是字符串结束的标志,ASCLL值为0

12. 语句和语句分类

C语言是由一条一条语句构成的,C语言有以下五类语句:
  • 空语句
  • 表达式语句
  • 函数调用语句
  • 复合语句
  • 控制语句

12.1 空语句

	空语句比较简单,一个 ; 就是空语句,如下
#include<stdio.h>
int main()
{
	;
	return 0;
}

12.2表达式语句

	就是表达式后面加上一个分号,如下
#include<stdio.h>
int main()
{
	int a = 2;
	int b = 3;
	a = b + 3;//这个就是表达式语句
	printf("%d",a);
	return 0;
}

12.3 函数调用语句

	函数调用的时候也会加上分号,就是调用函数的语句,如下:
#include<stdio.h>
int ADD(int z,int x)
{
	return z+x;
}
int main()
{
	int a = 3;
	int b = 2;
	int c = ADD(3,2);
	printf("%d",c);
	return 0;
}

12.4 复合语句

	代码块语句,成对括号中的代码就构成了代码块,如下:
#include<stdio.h>
 int main()
 {
 int i = 0;
 int arr[10] = {0};
 for(i=0; i<10; i++) //for循环的循环体的⼤括号中的就是复合语句
{
	 arr[i] = 10-i;
 	printf("%d\n", arr[i]);
}
 return 0;
}

12.5 控制语句

	用于控制程序的执行流程,以实现程序的各种结构方式(顺序结构,选择结构,循环结构)C语言有九种控制语句
	分为以下三类:
  1. 条件判断语句,也叫选择语句:if语句,Switch语句
  2. 循环执行语句:while语句,do while语句,foe语句
  3. 转向语句:break语句,return语句,goto语句,continue语句
    后面再慢慢说道说道这些控制语句。

13. 注释是什么?为什么写注释

		注释通俗点来说就是解释你写的代码用的,是给程序员看的,不影响程序运行和编译器
		注释有两种形式,无论那种形式,都不能放在双引号内,否则就会变成普通字符,失去注释效果。
  1. /* */ 可以多行使用,但不能嵌套使用。如:
#include<stdio.h>
int main()
{
	/*int a = 0;
	int b = 0;*/
	printf("he/*he*/\n");
	return  0;
}
  1. 放在 // 后面的则会被注释
#include<stdio.h>
int main()
{
	//int a  = 0;
	printf("hehe");
	return 0;
}

注释在编译时会被替换成空格,如 abc/d/ef,会变成abc ef,而不是abcef。

  • 31
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值