IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C Primer Plus-第二章概述-2.1 -> 正文阅读

[C++知识库]C Primer Plus-第二章概述-2.1

学习炳老师的课程时所做的的学习笔记

使用的环境为ubuntu下的nano+gcc

课程代码如下


#include<stdio.h>

/*
最简单的C语言程序
*/
int main(void)
{       int num;/*定义一个整型变量*/
        num = 1;
        printf("Hello World \n");   
        printf("I am a simple ");
        printf("MY favorite number is %d\n",num);

        return 0;
}

生成了a.out文件可见我们写的这部分代码是符合C语言规范的,无任何编译错误

main函数是整个程序的入口,只从上位机看(PC机)不考虑底层的话,我们可以认为任何一个C语言? 有且只有一个main函数,所有的程序都是以main为入口开始执行的。

int表示我们的main函数返回一个什么值也就是其返回类型

main函数是谁调用的呢?操作系统调用的main函数,因此我们的返回值应该返回调用first.c这个程序的操作系统

()前面的单词表示的是函数名,main(),则main就是函数

void表示空/没有,这里表示main函数没有带任何参数,main函数当然也是可以带参数的,后面会学

一个函数需要函数返回值,如果没有返回值我们这里还可以写成void main(但是最好还是使用图片中的写法,这样可以保证我们移植不会出错误)

在我们编写的最简单的C语言代码中表示当前的函数有一个返回值但是无任何参数

花括号的开始和结束代表着我们整个函数的函数体

当前我们的函数main()有一个返回值返回至操作系统

?再次进行编译,依然没有问题,生成的还是.out文件

运行一下a.out没有任何结果,因为我们的程序没有任何的输入输出

那么如果我们想让我们的程序打印一些信息在屏幕上,我们就需要在代码最前面加上#include<stdio.h>

包含的是头文件? ?standard? input ouput? ?标准输入输出库

#代表预处理

这个头文件中声明过的函数我们都可以在本文件中直接使用

相当于编译的时候把我们头文件把我们用到的函数做一次剪切,粘贴放到main函数上面

标准输入输出库中都有什么函数呢?

比如printf

直接向上图一样进行编译就会出现编译错误,因为printf没有分号;还有就是缺少头文件的错误提示

?正确编写的代码如下

编译成功

?运行成功并成功打印Hello World

?在我们的程序中出现了printf(),根据之前所说,()之前是函数,则printf为函数,并且是一个标准输入输出类型的函数,print是输出,输出到的是我们标准的输出设备(我们的电脑屏幕下的终端)

f指的是format,printf格式化输出,格式话表示我们可以输出 int、float、char等类型,我们都可以输出

printf是一个函数是我们在main函数调用过程中,直接使用的,但是printf我们却从来没有声明

因为printf在我们标准输入输出库中做了一次声明,我们可以直接使用,printf最简单的用法双引号里面的内容直接打印出来

直接我们打印出来的Hello World 是直接在命令提示符前面的,我们如何Hello World 纯净的只在一行显示呢? 加/n

再进行编译运行 ,我们可以看到Hello World 后面的内容换行了,说明我们刚才加的/n,起到了一个换行的操作,这里的/n我们叫做转义字符,转义字符就是当我们想输入一些我们想表达但是又无法键入的内容的时,转义字符此时就可以方便我们来进行这样的操作,类似的转义字符还有 \t(制表符)? \b (退格符)等

我们转义字符中的/n也并没有被打印出来所以说我们的双引号中如果碰到转义字符的话我们的编译器会对他做一次替换,把\n替换成我们的换行,让我们程序的光标回到我们程序下一行的最左侧。

以上部分就是我们程序中最简单的main函数

?

?int num(number) 表示我们在程序中声明了一个变量,变量名为num,类型为整型(数学中的整数)

当我们定义了一个整型数据类型num ,编译器会在我们的内存当中开辟一段内存空间用来放置我们的整型变量,如果我们定义的是浮点类型我们的编译器也会定义一段内存空间来存放对应数据类型的内存空间。

我们定义了这个变量后再进行赋值操作num=1

int num 是进行变量的声明

num = 1 是进行变量的赋值操作

也就是在我们内存中刚刚开辟的存放number的内存空间,把1放到这个内存空间中去

我们再次进行编译

我们写代码可以边写边编译,这样最终一般不会有一点问题

目前为止我们在我们的mian函数里面,花括号证明是一个函数,花括号里面是函数体,函数体(花括号)里面,我们已经写了四行语句

C语言规定以分号结束都叫做语句,任何一条C语言的语句都应该以分号作为结束

我们目前已经定义了变量,我们还想再一次利用这个printf函数,能不能把这个变量的值给打印出来

?编译运行后结果如下

第二个转义字符/n要是不加的话,命令提示符则会跟在is 1 之后

I am a simple后面无换行符,所以紧接着后面打我们的下一行,我们之前说过双引号里面的内容会被直接打印出来,\n是转义字符不会被打印,而%d变成了我们的数字1,数字1从哪里来的呢,number现在也等于1,相当于number值替换了%d

%d进行了替换操作,number将%d替换了,d代表着十进制(Decimal)的整型数,当前我们的number值是1,是十进制,并且是整型,因此我们进行了这样的一个替换,我们将favorite这一行语句注释掉再进行编译

?gcc现在编译出来的文件叫a.out,这个可以修改吗?

当然可以,我们可以定义生成的目标文件,指定目标文件文件名

?我们通过ls -l可以看到,这两个文件的大小和属性都是一样的,其实是一回事只是名称不一样

?总结

我们的程序是由一个或者多个函数组成的,在此次代码中我们用到了C函数中有且只有一个的main函数以及我们调用的一个标准输入输出的printf函数。

我们的程序当中必须有一个main函数

函数的描述由函数头和函数体来实现

此次代码中我们的函数头为

?函数体为花括号里面的内容

?我们在写函数的时候函数是要有返回值的,如果没有返回值的话可以写成void,其他类型的话int这里可以改变,一个函数需要有返回值以及它是否需要带参数,如果不带参数的话()里面写一个void

int num;变量的声明,我们定义num为整型

num = 1 ;并且给num变量赋值,初值为1

紧接着我们调用了标准输入输出库函数printf,对我们的一些字符串进行了打印的输出

" "里面的内容我们是直接打印的,编译器遇到""里面有/n这样的转义字符时,会进行一些替换

\n =光标换行到下一行的最左侧,做一次替换

当编译器遇到""里面是%d时,也会进行替换,%d代表一个十进制的整型

C语言注释的两种方法

1.//单行注释

2./*

多行注释

多行注释

*/

?我们这节课看到了一个最基本的C语言的组成

这里面涉及到变量、数据类型、头文件、预处理、标准输入输出函数、预处理、

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:16:20  更:2021-09-23 11:16:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 22:25:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码