C语言入门知识

目录

C语言基础知识

C语言介绍

C语言基础代码分析

main函数

库函数简介

C语言关键字介绍

字符与ASCII编码

转义字符

C语言语句分类

空语句

表达式语句

函数调用语句

复合语句

控制语句

条件判断语句(分支语句)

循环执行语句

跳转语句

C语言中注释

块注释/**/的形式

行注释//的形式


C语言入门知识

C语言介绍

C语言是一门编译型语言,C语言源代码都是文本文件,但文本文件本身不能运行,必须通过编译器翻译和链接器的链接,生成二进制的可执行文件才可以执行

在Windows平台下,C语言代码放在后缀为.c文本文件中,通过编译器编译生成后缀为.obj的目标文件,再通过链接器链接目标文件和链接库链接生成后缀为.exe可执行的二进制文件

在C语言中,把后缀为.h的文件称为头文件

C语言基础代码分析

C语言代码实例:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{    
    printf("Hello world!");
    return 0;
}
输出结果:
Hello world!

main函数

main函数形式:

int main()
{
    //语句
}

每个C语言程序不管有多少行代码,都是从 main 函数开始执行的, main 函数是程序的入口main 函数也被叫做:主函数。 main 前面的 int 表示main 函数执行结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应

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

库函数简介

printf("Hello world!");

在上面的实例代码中,使用了printf();打印输出函数,使用库函数中函数需要包含特定的头文件,而printf();定义在头文件stdio.h,将该函数中需要打印的内容打印在控制台中,C语言相关函数头文件可在网站中查询:C语言头文件查询

C语言关键字介绍

C语言中的关键字
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
C99标准新增的关键字
inline 、 restrict 、 _Bool 、 _Comploex 、 _Imaginary等
  • C语言中关键字都有特殊的意义,程序员在创建标识符时不可单独使用和关键字重名的名称,并且关键字不可自己创建

C语言关键字介绍网站:C语言关键字

字符与ASCII编码

在C语言中,将各种单独的符号成为字符,而这些字符在表示时需要用单引号'',例如:'a''b'

由于计算机中的数据都是以二进制的形式存储,而字符在计算机中以二进制序列存储,这个过程叫做编码,而C语言遵循ASCII编码

注:在新的ASCII表共有256个字符

ASCII表查询:ASCII编码表

在ASCII中需要记忆的特殊位置的内容

  • 数字0-9对应ASCII编码位置为:48-57
  • 大写字母A-Z对应ASCII编码位置为:65-90
  • 小写字符a-z对应ASCII编码位置为:97-122,其中小写字母与对应大写字母对应的ASCII编码值相差32
  • 打印中不可见的字符对应ASCII编码位置为:0-32

ASCII字符打印代码实例:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
    //因为0-32字符是不可见字符,故循环变量从32开始
    for (int i = 32; i < 128; i++)
    {
        printf("%c ", i);
        if (i % 16 == 15)
        {
            printf("\n");
        }
    }
    return 0;
}
输出结果:
! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~

转义字符

C语言中的转义字符:

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

C语言中的特殊转义字符:

  • \ddd :ddd表示1~3个八进制的数字。如:\130表示字符X
  • \xdd :dd表示2个十六进制数字。如:\x30表示字符0
  • \0 :null字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,用于字符串的结束标志,其ASCII码值是0

其中注意转义字符\b,具体效果见博客:转义字符\b解析博客

C语言中的转义字符参考:转义字符参考网址

C语言语句分类

空语句

只有一个分号的语句即为空语句

#include <stdio.h>

int main()
{
    ;//空语句
    return 0;
}

表达式语句

表达式后面加上;即为表达式语句

#include <stdio.h>

int main()
{
    int a = 10;
    int b = 5;
    b = a + b;//表达式语句
    return 0;
{

函数调用语句

函数调用时需要加上分号,称为函数调用语句

#include <stdio.h>

int Add(int a, int b)
{
    return (a + b);
{

int main()
{
    int a = 20;
    int b = 4;
    int ret = Add(a + b);//函数调用语句
    return 0;
{

复合语句

在C语言中成对的花括号{}中的语句构成一个代码块,亦称为复合语句

#include <stdio.h>

int main()//函数{}中的代码构成复合语句
{
    for(int i = 0; i < 10; i++)//循环的{}中的代码构成复合语句
    {
        printf("%d ", i);
    }
    return 0;
{

控制语句

在C语言中用于控制程序的执行流程的语句成为控制语句,从而实现不同的结构方式

条件判断语句(分支语句)

if语句、switch语句

循环执行语句

do while语句、while语句、for语句

跳转语句

break语句、goto语句、continue语句、return语句

C语言中注释

注释:对代码的说明,编译器会忽略注释

块注释/**/的形式

将注释放在/**/中,从第一个/*开始到后面的*/结束

块注释
/*
*
*
*/

块注释可以插在行内

int fopen(char* s /* file name */, int mode);
/* file name */ ⽤来对函数参数进⾏说明,跟在它后面的代码依然会有效执⾏

🔔

块注释不支持嵌套注释, /* 开始注释后,遇到后面的第⼀个 */ 就认为注释结束了

行注释//的形式

将注释放在双斜杠 // 后面,从双斜杠到行尾都属于注释

行注释只能是单行,可以放在行首,也可以放在一行语句的结尾

printf("// hello /* world */ ");//行注释和块注释均失效

💡

不管是哪⼀种注释,都不能放在双引号里面。双引号里面的注释符号,会成为字符串的⼀部分,解释为普通符号,失去注释作用

💡

编译时,注释会被替换成⼀个空格,所以 min/* 这里是注释*/Value 会变成 min ValueminValue中间有空格) ,而不是 minValueminValue中无空格)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怡晗★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值