C语言的常见概念

一、main函数

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

注意:

        a. main函数是程序的入口

        b. 即使⼀个项目中有多个.c⽂件,但是只能有⼀个main函数

        c. main 后边的 ( ) 不能漏掉

        d. 代码中不能使用中文符号,特别是括号和分号比较难区分

        e. 每一条语句结束后,都不能漏掉分号

二、printf函数

printf 是一个库函数,它的功能是在标准输出设备(一般指屏幕)上进行信息的打印,使用库函数的时候,是需要包含头文件的,printf 函数需要包含的就是 stdio.h 这个头文件

实例:

#include <stdio.h>

int main()
{
    int a = 100;
    printf("%d\n", a);               //printf打印整型
    printf("%c\n", 'q');              //printf打印字符
    printf("%lf\n", 3.14);          //printf打印双精度浮点型

    return 0;
}                                            // \n表示换行符

这⾥的 %d , %c 等是占位符,会被后边的值替换

printf函数输出不同的类型需要使用不同占位符如表

想了解更多的库函数,可点击链接:https://cplusplus.com/reference/clibrary/

三、第一个C语言程序

初学C语言都会用C语言写一个 hello world 

示例:

#include <stdio.h>

int main()
{
    printf("hello world");

    return 0;
}

四、关键字 

C语言中有一批保留的名字的符号,比如:int、if、return等,这些符号被称为保留字或者关键字

注意:

        a. 关键字都有特殊的意义,是保留给C语言使用的

        b. 程序员自己在创建标识符的时候是不能和关键字重复的

        c. 关键字也是不能自己创建的

C语言中有 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

想了解C语言中所有的关键字,点击链接:https://zh.cppreference.com/w/c/keyword 

五、字符和ASCII编码

在键盘上可以敲出各种字符,如:a,q,@,#  等,这些符号都被称为字符,C语言中字符是单引号括起来的,如:'a','b','@','#'

ASCII表起源于20世纪60年代,当时计算机主要用于文本处理和通信。由于计算机内部只能直接处理二进制数据(0和1),因此需要一个标准来将字符(如字母、数字、标点符号等)映射为二进制代码,以便计算机能够存储、传输和处理这些字符,如果我们每个⼈⾃⼰给这些字符中的每个字符编进制序列,这个叫做编码,为 了便家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C 语中的字符就遵循了 ASCII 编码的

以下是C语言中全部ASCII编码:

详情点击链接:https://zh.cppreference.com/w/cpp/language/ascii

注意:

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

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

        c. 对应的大小写字符(a和A)的ASCII码值的差值是32

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

        e. 换行 \n 的ASCII值是:10 

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

六、字符串和 ' \0 '

字符串使用双引号括起来的一串字符,如:"abcdef"

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

对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾隐藏⼀个 \0转义字符\0 是字符串的结束标志。所以我们在使用库函数 printf() 打印字符串或者 strlen() 计算字符串长度的时候,遇到 \0 的时候就自动停止

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

    return 0;
}
//输入:abc烫烫烫烫烫烫烫烫烫烫烫烫烫烫蘟bc
             abc

我们可以看到, arr1 字符数组在打印的时候,打印了 a 、 b 、 c 后还打印了⼀些随机值,这就是 因为 arr1 末尾的地方没有 \0 字符作为结束标志,在打印的时候没有停止

但是 arr2 的打印就是完全正常的,就是因为 arr2 数组是使⽤字符串常量初始化的,数组中有 \0 作为结束标志,打印可以正常停止

我们在arr1数组中单独放一个 \0 和在字符串中间放一个 \0 

#include <stdio.h>
int main()
{
    char arr1[] = { 'a', 'b', 'c', '\0' };
    char arr2[] = "abc";
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    printf("%s\n", "abc\0def");
    return 0;
}

//输出:abc
             abc
             abc

我们可以看到三次打印的结果是一样的了,都是打印到 \0 的时候就停止了,那从上述的例子我们确实能够观察到 \0 的作用和重要性了

七、转义字符

转义字符:在字符中有一组特殊的字符,转变原来的意思的字符,如前面代码中的 \n、\0 都是转义字符的一种

以下是部分转义字符:

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

\'  :  用于表示字符常量 '

\" :  用于表示⼀个字符串内部的双引号

\\ :  用于表示⼀个反斜杠,防止它被解释为⼀个转义序列符

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

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

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

\r :回车符,光标移到同一行的开头

\t :制表符,光标移到下⼀个水平制表位,通常是下一个8的倍数

\v :垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同⼀列

下面2种转义字符为字符的8进制或者16进制表示形式 

a.   \ddd :d d d表示1~3个八进制的数字     如: \130 表示字符 X

b.   \xdd :d d表示2个十六进制数字            如: \x30 表⽰字符 0

想了解更多转义字符,点击链接:https://zh.cppreference.com/w/c/language/escape

八、注释

编译时注释会被替换⼀个空格,所以 min/* 这⾥是注释*/Value 会变成 min Value ,而不是 minValue

C语言的注释有两种表示方法:

        a/**/ 的形式

        b. //  的形式 

1.  /**/ 的形式

第⼀种方法是将注释放在 /*...*/ 之间,内部可以分行

/* 注释 */
/*
 这是⼀⾏注释
*/

 注意:

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

/*
printf("a ");
printf("b ");
printf("c "); /* 注释⼆ */

printf("d ");
*/

2. //  的形式 

第⼆种写法是将注释放在双斜杠 // 后⾯,从双斜杠到行尾都属于注释。这种注释只能是单行,可以 放在行首,也可以放在一行语句的结尾

// 这是⼀⾏注释 
int x = 1;   // 这也是注释

注意: 

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

printf("// hello /* world */ ");

//双引号⾥⾯的注释符号,都会被视为普通字符,没有注释作⽤

  • 39
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛应用于编程领域的计算机编程语言,它是由贝尔实验室的Dennis Ritchie于1972年发明的。C语言的基础知识包括以下几个方面: 1. 语法和关键字:C语言的语法规则较为简洁,并且具有严格的书写格式。例如,变量的声明需要指定数据类型、变量名和初始值(可选),语句结束需要使用分号等。C语言中有一些特殊的关键字,如if、for、while等,这些关键字用于构建流程控制的结构。 2. 数据类型:C语言中主要支持的数据类型有基本数据类型和派生数据类型。基本数据类型包括整型、浮点型、字符型和布尔型等。派生数据类型包括数组、结构体和指针等,这些数据类型可以通过组合基本数据类型或其他派生数据类型来创建。 3. 变量和常量:在C语言中,变量是存储数据的容器,可以通过定义变量来表示不同类型的数据。常量是指程序中不可改变的固定值。变量和常量都需要通过标识符来命名,并且在使用前需要进行声明或定义。 4. 运算符:C语言中包含了一系列的运算符,用于完成各种数学和逻辑运算。常见的运算符包括算术运算符、关系运算符、逻辑运算符和条件运算符等。运算符可以对变量或常量进行操作,从而进行数据的处理和计算。 5. 控制语句:C语言中的控制语句主要包括顺序结构、选择结构和循环结构。顺序结构表示程序按照代码的顺序执行,选择结构用于根据条件选择执行不同的代码块,循环结构可以重复执行特定的代码块。 总之,C语言基础知识涵盖了语法规则、数据类型、变量和常量、运算符以及控制语句等方面。掌握这些基础知识对于学习和理解C语言编程是至关重要的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值