卓尔不群,代码兴国

众所周知掌握一门编程语言对于现代社会中的个人和职业发展是非常重要的。以下是一些掌握一门编程语言的重要性的原因:

1. 就业机会:掌握一门广泛使用的编程语言可以为个人创造更多的就业机会。许多行业都需要计算机编程的专业人士,包括软件开发、数据分析、人工智能和互联网行业等。

2. 自动化和效率:编程语言可以用来编写自动化脚本和工具,从而提高工作效率。通过编程,可以编写程序来处理重复性的任务,减少人为错误,并提高生产力。

3. 解决问题的能力:编程语言可以帮助人们培养解决问题的思维和逻辑能力。通过编写代码,人们可以学会分析问题、分解问题和设计解决方案的能力。

4. 创造力和创新:掌握一门编程语言可以激发个人的创造力和创新能力。通过编写代码,人们可以开发新的应用程序、游戏和工具,为他人提供新的解决方案和体验。

5. 数据分析和决策支持:编程语言可以用于处理和分析大量的数据,并从中提取有价值的信息。通过编程,人们可以帮助企业和组织做出更明智的决策,并预测未来的趋势和结果。

总之,掌握一门编程语言可以帮助个人在职业发展和个人成长方面更具竞争力。它还可以提高个人的创造力和解决问题的能力,为个人带来更多的机会和成就。因此,学习和掌握一门编程语言是非常重要的。

所以,我们要选择学习一门编程语言,如C语言。

认识C语言

         C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

计算机语⾔是⼈和计算机交流的桥梁。 ⼈们是通过计算机语⾔写的程序,给计算机下达指令,让计算机⼯作的。 C语⾔就是众多计算机语⾔中的⼀种,当然C++/Java/Go/Python都是计算机语⾔。                

伟人毛泽东指出:“在战略上我们要藐视一切敌人,在战术上我们要重视一切敌人。

所以不要害怕,勇敢向前“冲”

C语言的历史

C语言的原型是A语言(ALGOL 60语言)。1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。1969年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,提炼出它的精华,并为它起了一个有趣的名字“B语言”。并且他用B语言写了第一个UNIX操作系统。而在1973年,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。即著名的ANSI C。1978年由AT&T(美国电话电报公司)贝尔实验室正式发表了C语言。同时Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准协会(American National Standards Institute,ANSI)在此基础上制定了一个C语言标准,于1983年发表。通常称之为ANSI C。从而使C语言成为目前世界上流行最广泛的高级程序设计语言。

编译器

C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译器翻译【每个源⽂件(.c)单独经过编译器处理⽣成对应的⽬标⽂件(.obj为后缀的⽂件)链接器的链接【⽬标⽂件和库⽂件经过链接器处理⽣成对应的可执⾏程序(.exe⽂件),⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。

常⻅的C语言编译器

msvc、clang、gcc等等

集成开发环境(IDE)⽤于提供程序开发环境的应⽤程序,⼀般包括代码编辑器、 编译器 、 调试器和图形⽤户界⾯等⼯具。集成了代码编写功能、分析功能、编译功能、调试功能等⼀体化的开发软件服务套。如:VS2022、 XCode、CodeBlocks、DevC++、Clion等。

手机版:C语言编译器IDE。

              没有电脑照样不能耽误学习,强者从不抱怨环境!

VS项目和源文件,头文件的介绍

在VS上写代码,我们需要创建项目,直接新建项⽬就可以了。 在项⽬中就可以添加源⽂件和头⽂件。 C语⾔把( .c) 为后缀的⽂件称为源⽂件,把 (.h) 为后缀的⽂件称为头⽂件。

一个简单的C语言程序

 #include <stdio.h>

int main()
{
 printf("Hello world! \n");
 return 0;
}

欢迎大家来到自己创建的世界(接下来我们的学习会使这个世界越来越繁荣昌盛)

在VS上运⾏代码的快捷键: Ctrl+f5

 C语言程序是由函数构成的

一部分为主函数,一部分为若干子函数

主函数(也叫main函数)

每个 C 语⾔程序不管有多少⾏代码,都是从 main 函数开始执⾏的, main 函数是程序入⼝。 main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。

注意事项

函数名后必须有小括号,函数体放在大括号内{......}。

C程序必须用小写字母书写。

每句的末尾加分号。

可以一行多句。可以一句多行。

可以在程序的任何位置加注释。

代码中不能使⽤中⽂符号,⽐如括号和分号。

一个完整的C语言程序,是由一个main()函数和若干个其它函数结合而成的,或仅由一个main()函数构成。即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的⼊⼝只能有⼀个)。

注释

好的注释可以帮我们和读者更好的理解代码,但不要过度注释。

1.注释的两种方法

(1)//注释内容

注释放在双斜杠 // 后⾯,从双斜杠到⾏尾都属于注释。这种注释只能是单⾏,可以 放在⾏⾸,也可以放在⼀⾏语句的结尾。这是 C99 标准新增的语法。

(2)/*注释内容*/

该方法不能嵌套使用, /* 开始注释后,遇到第⼀个 */ 就认为注释结束了。

注意:不管是哪⼀种注释,都不能放在双引号⾥⾯,否则都会被视为普通字符,没有注释作⽤。

           编译时,注释会被替换为空格。

库函数(Library Function)

       库函数,也称为函数库或函数集,是预先编写好的、可重复使用的函数集合。库函数是编程语言中常用的函数和算法的集合,它们通常被组织在一个或多个库文件中,供其他程序员在自己的代码中调用和使用。库函数的存在可以大大简化编程过程。通过使用库函数,程序员可以避免从头开始编写常见的功能和算法,而是利用他人已经编写好的代码来实现特定的任务。例如,一个数学库函数中可能包含了常见的数学运算函数,如求平方根、三角函数、对数等,程序员只需要调用库函数,而不需要自己编写这些功能。在编程中,程序员可以通过包含相关的库文件或链接库来使用库函数。总结起来,库函数是预先编写好的、可重复使用的函数集合,可以帮助程序员简化编程过程,提高开发效率。

上面的代码有这样一行,它的作用是将“Hello world!”打印在屏幕上。

printf("Hello world!\n");

 printf 是⼀个库函数,它的功能是在标准输出设备(⼀般指屏 幕)上进⾏信息的打印。

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

#include<stdio.h>

参考链接:https://cplusplus.com/reference/clibrary/ 

关键字

ANSI标准定义的C语言关键字一共有32个,在我们学的过程中基本都依次学到,下面为大家整理总结出来,分别是:

auto  double  int  struct  break  else  long  switch

case  enum  register  typedef  char  extern  return  union

const  float  short  unsigned  continue  for  signed  void

default  goto  sizeof  volatile  do  if  while  static

关键字都有特殊的意义,程序员⾃⼰在创建标识符的时候是不能和关键字重复,且关键字也是不能⾃⼰创建的。

在C99标准中加⼊了 inline 、 restrict 、 _Bool 、 _Comploex 、 _Imaginary 等关键字。 不过使⽤最多的还是上⾯的32个关键字

提前了解请参考链接:https://zh.cppreference.com/w/c/keyword(C语⾔关键字的全部介绍)

后面我们会慢慢介绍它们!

字符与ASCII表

字符与ASCII

在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:'a','b','@'。在计算机中所有的数据都是以⼆进制的形式存储的,这些字符同样是这样,美国国家标准学会(ANSI)给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码(标准 ASCII 编码)。

参考链接:https://zh.cppreference.com/w/cpp/language/ascii

我们不需要记住所有的ASCII码表中的数字,使⽤时查看就可以,不过我们最好能掌握⼏组特殊的数据:

 1.字符A~Z的ASCII码值从65~90

2.字符a~z的ASCII码值从97~122

3. 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32

                               十进制 (dec) 、八进制 (oct) 、十六进制 (hex) 及字符 (ch)      

4.数字字符0~9的ASCII码值从48~57

5.换⾏ \n 的ASCII值是:10

6.在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上

打印单个字符需要用到⽤%c来指定格式:

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

字符串

⼀串字符就被称为字符串,在C语言中使⽤双引号括起来。

例如:"adsadhfidsog"就是一个字符串。

        注意是英文中的双引号

字符串的打印格式可以使⽤ %s 来指定,也可以直接打印如下:

#include <stdio.h>
int main()
{
	printf("%s\n", "adsadhfidsog");
	printf("adsadhfidsog");//直接打印
	return 0;
}

C语⾔字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个 \0 字符,这个 \0 字符是字符串的结束标志。

 

 

仔细观察这两张图片,我们发现 我们在使⽤库函数 printf() 打印字符串【或者 strlen() 计算字符串⻓度】的时候,遇到 \0 的时候就⾃动停⽌了。

#include <stdio.h>
int main()
{
	char arr1[] = { 'a', 's', 'd' };//arr1数组中存放3个字符
	char arr2[] = "asd"; //arr2数组中存放字符串
	printf("%s\n", arr1);
	printf("%s\n", arr2);

	return 0;
}

 wow!

“ 烫烫塘籋钴鷵”这是什么?为什么会多出这些东西?

 arr1 字符数组在打印的时候,打印了 a 、 s、 cd后还打印了⼀些随机值,这就是 因为 arr1 在末尾的地⽅没有 \0 字符作为结束标志,在打印的时候没有停⽌。但是 arr2 的打印就是完全正常的,就是因为 arr2 数组是使⽤字符串常量初始化的,数组中有 \0 作为技术标志,打印可以正常停⽌。

想要arr1与arr2打印的一样,只需要在arr1数组中单独放⼀个 '\0' 字符即可。

char arr1[] = {'a', 's', 'd', '\0'};

 

 转义字符

在字符中有⼀组特殊的字符是转义字符,转义 字符顾名思义:转变原来的意思的字符。

例如:前面的 \n,\0

                                                          这时我们可以打印出n

现在我们发现在n前面加上“\”就打印不出n了。而且本来要打印的字符串发生了换行。 

即\n 是⼀个转义字符表⽰换⾏的意思,我们可以简单的理解为 \ 让 n 的意思 发⽣了转变, n 本来是⼀个普通的字符,被 \ 转义为换⾏的意思。

C语⾔中像这样的转义字符还有⼀些,具体如下:

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

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

转义字符参考:https://zh.cppreference.com/w/c/language/escape

语句及其分类

C语⾔的代码是由⼀条⼀条的语句构成的,C语句可分为以下五类:

  1. 表达式语句;
  2. 函数调用语句;
  3. 控制语句;
  4. 复合语句;
  5. 空语句。

(1) 表达式语句

表达式语句由表达式加上分号“;”组成。其一般形式为:表达式;

执行表达式语句就是计算表达式的值。

例如

c=a+b;

(2) 函数调用语句

由函数名、实际参数加上分号“;”组成。其一般形式为: 函数名(实际参数表);
                    

 printf("Hello !");


(3) 控制语句

控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。C语

言有九种控制语句。 可分成以下三类:

①.条件判断语句:if语句、switch语句;

②.循环执行语句:do while语句、while语句、for语句;

③.转向语句:break语句、goto语句、continue语句、return语句。

(4) 复合语句

把多个语句用括号{}括起来组成的一个语句称复合语句。在程序中应把复合语句看成是单条语句,

而不是多条语句。例如:

{ x=y+z; a=b+c; printf("%d%d", x, a); }


(5) 空语句
只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。

;

以上均为粗略解释,详细了解需要慢慢学习!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值