1 初识C语言

目录

一、C语言是什么 & C语言的历史 & C语言形成可执行文件的过程 & 集成开发环境

(一)C语言是什么

(二)C语言的历史

(三)C语言形成可执行文件的过程

         1、源文件 

         2、目标文件

         3、可执行文件

(四)集成开发环境

二、源文件和头文件

三、第一个C语言程序 & 如何运行

四、函数和main函数

(一)函数

(二)main函数

五、printf和库函数

(一)printf

(二)库函数

六、关键字

七、字符和ASCII编码

(一)字符

(二)ASCII编码

八、字符串和“\0”

九、转义字符

十、语句

十一、注释

十二、我觉得有意思的点

(一)main函数的不同写法

        1、古老的写法

        2、参数多了void,表示main函数没有参数,和什么都不写一样

        3、想要表示main函数参数则写上,否则则不写

(二)printf的全称

(三)占位符

(四)监视窗口的调出

(五)strlen()

(六)各种转义符的意思

(七)空语句的使用场景

(八)结构化

(九)ASCII编码中字符型数据和整型数据之间的联系


一、C语言是什么 & C语言的历史 & C语言形成可执行文件的过程 & 集成开发环境

(一)C语言是什么

         C语言是人与计算交流的语言,是众多计算机语言之一。

(二)C语言的历史

        前身是B语言,C语言最初是作为Unix系统的开发工具,随着时间的发展(在1988年起)越来越规范。

(三)C语言形成可执行文件的过程

        C语言是一门编译型计算机语言,通过编译链接才可执行。 (我们手敲出来的C语言代码对于计算机来说是 “谜语人”,要翻译加工计算机才懂)

         1、源文件 

                编辑 (我们用手敲)出来的文本代码(.c文件)为源文件

         2、目标文件

                 源文件被编译器编译(源文件被翻译成计算机可以看懂的文件)之后,形成的文件(.obj文件)。

                注:每个源文件都是被编译器单独处理的

         3、可执行文件

                 多个目标文件和库文件经过连接器处理,生成对应的二进制可执行程序(.exe文件→鼠标双击就可以运行)。

                注:库文件是预先编写好的代码的集合,以二进制形式储存,包含了各种函数和数据结构(如:标准C库:stdio.h、stdlib.h、math.h等;操作系统接口库 Windows API等;网络库Socket等)

(四)集成开发环境

        集成开发环境(IDE),包括编辑器、编译器、调试器和图形用户界面等。

二、源文件和头文件

        ".c"为后缀的文件是源文件,".h"为后缀的文件是头文件。

三、第一个C语言程序 & 如何运行

#include<stdio.h>

int main()
{
    printf("我来!");
    return 0;
}

        在vs2022中代码运行的快捷键:Ctrl+F5

四、函数和main函数

(一)函数

        从本质意义上说,函数是完成一定功能的模块

(二)main函数

        主函数又称main函数,一个程序有且只有一个,程序从主函数开始运行且在主函数结束

五、printf和库函数

(一)printf

#include<stdio.h>

int main()
{
    int n = 10;
    printf("我又来!");
    printf("输出这个玩意:10");
    printf("输出这个玩意:%d",n);
    
    return 0;
}

        printf是库函数中的一种,作用:把双引号中的内容进行输出;

        "%d"是占位符,会和后面的值进行交换;

        使用库函数时,需要包涵头文件:

#include<stdio.h>

(二)库函数

       是预先编写好的函数的集合,提供了各种功能,如输入/输出操作、数学计算、字符串处理等,供程序员在编写C程序时重复使用

        注:C语言本身没有输入/输出,是库函数实现的。

六、关键字

        具有特殊含义的保留字,用于表示语法结构和控制流程。

        

七、字符和ASCII编码

(一)字符

        C语言中字符是用单引号括起来的,如:'A','@','b'等。

        单字符的打印可以用占位符 "%c" 来指定格式:

#include<stdio.h>

int main()
{
    printf("打印这个字符:%c",'a');

    return 0;
}

(二)ASCII编码

        ASCII编码是一种字符编码标准,用于将文本字符映射为计算机可识别的数字形式,其中每个字符对应一个7位的二进制数值。

        有几个注意点:

                a~z是97~122;

                A~Z是65~90;

                小写字母的ASCII码值更大,且相差32码值;

                数字0~9是48~57;

                0~31这32个字符是不可打印字符,无法在屏幕上打印显示。

八、字符串和“\0”

        用双引号括起来的一串字符,就被成为字符串,如:"abcdef"

        在"abcdef"中,真正的内容为:a,b,c,d,e,f,以及隐藏的 \0,这个转义字符\0是字符串的结束标志,打印字符串时用"%s"来指定形式:

#include<stdio.h>

int main()
{
    int arr1[] = "abc";
    int arr2[] = {'a','b','c'};
    int arr3[] = {'a','b','c','\0'};

    printf("%s\n",arr1); //输出abc
    printf("%s\n",arr2); //输出abc及继续向后找到\0为止的内容
    printf("%s\n",arr3); //输出abc

    return 0;
}

        若字符数组无手动输入\0,字符串数组和字符数组按字符串打印结果完全不同

     

九、转义字符

        反斜杠(\)开头的特殊字符序列,改变了反斜杠后面字符的意思

        注:转义字符也是字符!

十、语句

        

        表达式加一个分号就构成一条语句

        笼统的知道是语句就行。

        分类:

                空语句 —— 一个分号

                表达式语句 —— 表达式(手敲出来的代码)+ 分号

i = i + 1  这是表达式
i = i + 1; 这是语句

                函数调用语句 —— 函数调用 + 分号

                复合语句 —— 成对括号中的代码

                控制语句 —— 分支、循环、转向(break、goto、continue、return)语句

十一、注释

        两种方法:

                ① /* 代码 */        不能嵌套使用

                ② // 代码

        写注释的含金量就不多说了。        

十二、我觉得有意思的点

(一)main函数的不同写法

        1、古老的写法

void main()
{
    printf("这是一种古老的写法");
}

        2、参数多了void,表示main函数没有参数,和什么都不写一样

int main(void)
{
    printf("表示空参,与下面写法一样");

    return 0;
}
int main()
{
    printf("写法与我一样,我更简单");

    return 0;
}

        3、想要表示main函数参数则写上,否则则不写

int main(int argc, char* argv[])
{

    return 0;
}

(二)printf的全称

        print formatted,格式化输出

(三)占位符

        在printf输出函数的双引号中,是占个位置,输出时会与后面的内容调换

(四)监视窗口的调出

        先按F10让代码调试起来,才调得出监视

068d43795fea4445bee6b8df057b7c8b.png

(五)strlen()

        strlen()打印的结果是统计字符串\0之前的字符的个数,返回的类型是size_t的类型,用"%zd"类型打印结果最好

(六)各种转义符的意思

        1、  "\b"(Backspace)后面有字符就会删除\b前面的这个字符,后面没有则不删

        2、  \t是tab按键,会制造出8个bit位的空格,空格中包涵了\t前面的字符

        3、  \ddd 是将\后8进制的数字转换成10进制的数字,这个数字作为ASCII码值表示的字符,如 : \130,\33等

        4、  \xdd是将\后16进制的数字转换成10进制的数字。这个数字作为ASCII码值表示的字符,如:\x27,\x09等

        5、  " \0 " :null 字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,用于字符串的结束标志,其 ASCII码值是 0

(七)空语句的使用场景

        当语法需要一条语句时,却不需要它做什么,就使用空语句

(八)结构化

        C语言是一种【结构化】的程序设计语言(结构:顺序结构,选择结构,循环结构)

(九)ASCII编码中字符型数据和整型数据之间的联系

        在内存中,字符数据是以ASCII码存储,说明字符型数据的存储形式和整数的存储形式类似。所以,在C语言中,字符型数据和整型数据之间可以互通使用,一个字符数据既可以以字符形式输出,又可以以整数形式输出,以字符形式输出时,计算机会先将内存中的ASCII码转换成相应的字符,然后输出。

(摘取自 王健卫-《C++新经典》-清华大学出版社-2020年8月出版)


        以上博客内容仅供分享

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值