C语言学习:C语言常见概念

1.C语言是什么

如同人与人交流需要借助汉语、英语、日语等一样,人与计算机交流也需要借助计算机语言。计算机语言有很多种类,C语言,C++,Python,Java等等都属于计算机语言

借助于C语言,我们可以与计算机沟通,通过一行行代码告诉计算机我们想要做什么,从而让计算机完成我们想要完成的任务,达成我们的目的。

2.编译和链接

C语言是一门编译型计算机语言。C语言源代码(.c文件)都是文本文件,本身无法执行,必须经过编译器的编译和链接器的链接,生成二进制的可执行文件(.exe文件),才可以执行。

一个工程中通常含有多个源文件(.c),每个源文件经过编译器编译生成对应的目标文件(.obj),多个目标文件和库文件经过链接器链接生成一个可执行程序(.exe).

常见的C语言编译器有msvc、clang、gcc等,也有一些集成开发环境(IDE)如VS2022/XCode/Codeblocks等等。

3.main函数

main函数又叫做主函数,它是程序执行时的入口

int main()
{
    ;
    return 0;
}

当程序开始执行的时候,会去寻找main函数,从main函数的第一行开始,向下一行一行的按顺序执行指令。

main函数前的int表明main函数在调用后要返回一个整型值,所以函数最后的“return 0;”就是在为函数返回值0,与int类型做到前后呼应。

要注意,main函数在整个程序中有且只有一个

4.printf和库函数

printf是标准输出函数,用于在屏幕上打印我们想要输出的内容。

#include <stdio.h>

int main()
{
    printf("hello C语言!");
    return 0;
}

这个代码执行结果就是在屏幕上打印:hello C语言!

关于printf的详细介绍会在后续文章中给出。

库函数是C语言标准规定,编译器厂商根据标准实现的一些函数。这些库函数组成一个函数库,也称为标准库。库函数的使用可以省去程序员一些设计程序的时间,提升开发效率。printf就是一个库函数。

库函数的使用需要引用相应的头文件(.h),头文件中存放了一系列的库函数。上面所示代码的第一行,就是在引用包含着printf函数的头文件stdio.h

除了C语言标准提供的库函数之外,也有由编译器厂商自己提供的许多函数,但这些函数往往不能在其他类型的编译器上使用,迁移性差。

5.关键字介绍

C语言中有一批保留名字的符号,是C语言预留的,有特殊意义的符号,叫做关键字

常见的关键字有:int  auto  break  if  等等

我们自己创建的标识符不可以和这些关键字重名,否则会报错。我们也不可以自己创建关键字。

C89/C90中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以及后续标准中也添加了额外的关键字,但并不常用,这里不再列出。

6.字符和ASCII编码

键盘上可以敲出各种字符,如&  \  2  h  .  (  @  等,这些都是字符。字符在C语言中使用时要由单引号引起,如'a'  '%'  。

数据在计算机中不能直接存储,而是以2进制的形式存储的。把各种字符转换成2进制数,就是ASCII编码的作用。

#include <stdio.h>

int main()
{
    printf("%c\n",65);
    return 0;
}

以字符的形式打印65,这里就会由65作为ASCII码值所对应的字符,打印到屏幕上。输出结果:A

7.字符串和\0

C语言中以单引号引起单个字符,而如果要表示一串字符,就需要用双引号引起:"abcdef"。像这样由双引号引起的一串字符,就叫做字符串

单个字符的打印使用占位符%c,字符串的打印使用占位符%s

在字符串"abcdef"中,除了含有字符'a' 'b' 'c' 'd' 'e' 'f',在字符串的末尾还含有一个隐藏字符'\0'

\0是字符串的结束标志,在使用printf函数打印字符串或者使用strlen函数计算字符串长度时,遇到\0就会停止。

#include <stdio.h>
int main()
{
    char a[] = {'a','b','c'};    //在数组a中存放a,b,c三个字符
    char b[] = "abc";            //在数组b中存放字符串abc
    printf("%s\n",a);
    printf("%s\n",b);
    return 0;
}

执行结果:

如果字符串最后没有\0,那么在打印到c的时候不会停下来,而是会向后继续打印一些随机值,知道遇到\0,由此可见\0在字符串中的重要性。

8.转义字符

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

9.语句和语句分类

C语言的代码是由一行行的语句组成的,C语言的语句可以分成以下五类:

1.空语句

    ;

单独一个分号就是一个空语句。

2.表达式语句

a = 3 + 5;

表达式后加分号,就是一个表达式语句。

3.函数调用语句

printf("%d\n",10);

函数调用的时候加上分号,就是一个函数调用语句。

4.复合语句

{
    a = 3 + 8;
    b = 4 - 1;
}

成对大括号括起来的多个语句,就是一个复合语句,也叫做代码块。

5.控制语句

条件判断语句(分支语句):if语句,switch语句;

循环语句:while语句,do while语句,for语句;

转向语句:break语句,goto语句,continue语句,return语句。

10.注释

注释有两种,一种是C语言风格注释,一种是C++风格注释。

1.C语言风格注释:

/*
int main()
{
    ;
    return 0;
}
*/

 这种风格的注释有种缺陷,就是不支持嵌套注释,所以不推荐使用。

2.C++风格注释:

//int main()
//{
//    ;
//    return 0;
//}
  • 24
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值