学习C语言——第一课_C语言常见概念

本人自2023年高考进入陕西省安康学院大一进行学习,并在大一下学期开始系统完整学习C语言,对于计算机专业来说,打好基础尤为重要,接下来我将在此处记录我所学到的内容。

什么是C语言?

C语言是一种语言,类似于汉语、英语、俄语的一种语言,这些语言是人与人之间交流的语言,同理,C语言就是人与计算机交流的语言。

集成开发环境的选择-----VS 2022

优点:

• VS2022是⼀个主流的集成开发环境,企业中使⽤较为普遍;

• VS2022包含了:编辑器+编译器+调试器,功能强⼤;

• 直接安装即可使⽤,基本不⽤额外配置环境,上⼿容易;

• 默认界⾯是中⽂的,初学者友好。

缺点:

• 功能丰富,安装包⼤,占⽤空间多。

VS2022项⽬的创建运行和源⽂件、头⽂件介绍

创建新项目——空项目(项目命名最好有意义)——创建源文件(名称把.cpp改为.c后添加即可)——接下来就可以写程序

代码运行:

方法一:ctrl+F5/Fn+ctrl+F5(编译+链接+运行)

方法二:调试——开始执行(不调试)

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

第一个程序(hello)

在上述程序中看到此代码出现了main函数、printf、函数库等,下面将会详细阐述。

常见错误:

1、包含头文件无#;

2、main打错成mian;

3、代码中括号、分号、逗号、引号、用中文;(在写代码过程中,所用的符号都要英文)

4、在语句结束时忘加分号。

main函数

main函数是C语言必不可少的函数,C语言总是从main函数开始执行,main函数是程序执行的入口,所以main函数也被称其为主函数。一个项目(工程)只能包含一个main函数,因为程序的入口只能有一个。int则表示main函数的返回值类型为一个整型,所以在main函数最后会加上return 0;

printf和库函数

在上面的代码当中,利用了printf函数在屏幕上打印出“Hello"的字样,由此知道printf函数的功能就是打印信息。

printf是一个库函数,功能就是在标准输出设备上对信息进行打印。

那什么是库函数呢?

为了不再重复实现常⻅的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不 同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。这些函数组成了⼀个函数库,被称为标准 库,这些函数也被称为库函数。在这个基础上⼀些编译器⼚商可能会额外扩展提供部分函数(这些函 数其他编译器不⼀定⽀持)。 ⼀个系列的库函数⼀般会声明在同⼀个头⽂件中,所以库函数的使⽤,要包含对应的头⽂件。

库函数⽐较多,可参考链接:https://cplusplus.com/reference/clibrary/

在使用库函数时,在程序中要包含头文件,如:printf函数在使用的时候要包含stdio.h这个头文件在代码中的包含方法为下图开头的#include<stdio.h>。

当然,printf不止可以打印字符串,还可以打印整型(int)、字符(char)、双精浮点型(float)等数据。

上图中出现的%d    %c    %lf 等被叫做占位符,会被printf函数中引号后面的变量所替换。

关键词

在C语言中有一部分字符是有着特殊意义的,如:int、if、float、return、char等,这些字符被称为保留字或关键词。

1、关键词都有着特殊的意义,是保留给C语言使用的;

2、在写代码时自己创建的标识符不能与关键词相同(如不能定义"int char",char不能作为int的整型变量);

3、关键词也不能自己创建。

C语言常见的32个关键词如下 :(全:C 关键词 - cppreference.com

字符和ASCII编码

字符:

在键盘上能敲出的各种字符,如:@、#、¥、%等都被称为字符,在C语言编程中,用单引号括起来的表示字符,如:'a' 、'A'等,我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的⼆ 进制存储的呢?如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为 了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准ASCII编码,C 语⾔中的字符就遵循了ASCII编码的⽅式。

ASCII表(https://zh.cppreference.com/w/cpp/language/asci

此表不用记住所有的数字,使用时再查即可。

• 字符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个字符是不可打印字符,⽆法打印在屏幕上观察

字符串和\0

再C语言中表示字符串用双引号括起来的一串字符,如:"Hello",就是一个字符串,要在程序中输出字符串用%s格式输出。

printf函数在识别到\0后就会自动停止,所以"Hello"中看到的只有5个字符,但实际上再o的后面海隐藏着一个转义字符 \0 ,\0就是字符串结束的标志。

由上可见第三个printf函数中在l的后面识别到\0转义字符之后便结束了打印。

转义字符

前⾯的代码中出现 \n , \0等字符 。其实在字符中有⼀组特殊的字符是转义字符,转义字符顾名思义:转变原来的意思的字符。

如:\n就表示回车换行,\0表示结束而不加\单独的你、0则没有此功能。而如果只是单纯的想要打印\n,可以在前面加上一个\就可以转义。

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

 • \? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。

• \' :⽤于表⽰字符常量'

• \" :⽤于表⽰⼀个字符串内部的双引号

• \\ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。

• \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。

• \b :退格键,光标回退⼀个字符,但不删除字符。

• \f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。

• \n :换⾏符。

• \r :回⻋符,光标移到同⼀⾏的开头。

• \t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个4/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.

语句和语句的分类

C语言的代码是由一句一句的语句构成,一个分号就是一条语句。

C语⾔中的语句可为以下五类:

• 空语句

• 表达式语句

• 函数调⽤语句

• 复合语句

• 控制语句

空语句

空语句是最简单的语句,就是在程序中在某处需要一条语句,但是此处不用做任何操作,可以加上一条空语句解决。空语句就是一个分号前上一个分号后啥也没有既为空语句。

 表达式语句

表达式语句就是在表达式后面加上分号。

如:

函数调用语句

调用函数库里的函数,在函数名后加上分号既为函数调用语句。如常用的printf函数。

复合语句

一对花括号里的的语句构成的代码块就是复合语句。

 控制语句

控制语句⽤于控制程序的执⾏流程,以实现程序的各种结构⽅式

C语⾔⽀持三种结构:顺序结构、选择结构、循环结构。

C语言叫做结构化的程序设计语言,C语言有九种控制语句,可以分为三类:

1、条件判断语句也叫分支语句:if语句、switch语句;

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

3、转向语句:break语句、goto语句、continue语句、return语句。

注释

1、什么是注释?

注释是对所写代码的一种解释说明,编译器不会识别注释,所以注释对代码不会有影响。

2、注释是干什么的?

注释是帮助理解此处代码的标注,以便自己或其他人能够读懂代码。

写注释是一个可以体现一个程序员的素养,能让其他人留下一个好印象,也能方便自己以后迅速理解自己写的代码。

注释的两种形式

1、/*     ABCDE    */形式

在编译器中不会识别代码中/*  */内部的信息,此方式可以多行注释,但是不能嵌套注释

2、//ABCDE 形式

此方式只能单行注释,注释内容为双斜杠后面的内容,可以放在开头、结尾、语句中是 C99标准新增的方式。

两种注释都不能放在双引号里,要不然会被识别为普通字符,失去注释作用。

在编译器编译时会把注释替换为一个空格,所以 min/* ABCDE(这⾥是注释)*/Value 会变成 min Value ,⽽不是 minValue 。

//第一次写博客有很多不足,今后会更加用心完善。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值