【C语言C++编程学习笔记】基础语法,第一个简单的实例编程入门教程!
C语言/C++编程学习:一个简单的实例
让我们来看一个简单的C语言程序。从下面的程序可以看出编写C语言程序的一些基本特征。
如果你能知道该程序将会在显示器上显示一些内容,那说明你还是知道一些的!
确实如此,但所要显示的确切内容不是显而易见的,所以请运行程序来观看结果。
首先,用你熟悉的编辑器建立一个上面这个样的程序,然后给这个程序取一个名字,并以 .c 作为结尾以满足所在系统对文件名格式的要求。
例如,你可以把它命名为 helloworld.c。 现在编译并运行该程序 。
如果一切运行正常,其显示结果为:
实例简单说明
◆ #include ←包含另一个文件
这是程序的第一行。它的作用相当于你在文件中的这行所在的位置键入了文件 stdio.h 的完整内容。实际上,它是一种剪切和粘贴操作,这样可以方便地在多个程序间共享公用的信息。
#include 语句是 C预处理指令 的一个例子。通常,C 编译器在编译前要对源代码做一些准备工作;这称为预处理。
stdio.h 文件作为所有 C编译包的一部分提供,它包含了有关输出输入函数的信息以供编译器使用。这个名字代表标准输入输出头文件。我们称之为头文件,C语言中通常都带有许多头文件。
◆ int main () ← 函数名
接下来的这行代码声明了一个 main函数。一个 C语言程序总是从称为 main()的函数开始执行的。
你可以对你所用的其他函数任意命名,但是 main()必须是开始的函数,所以说,main()函数在程序中是唯一的。
那么圆括号的功能呢?它们表明 main()是一个函数。以后你将了解到更多的函数。但现在,请你记住这个函数是 C程序的基本模块。
int 指明了 main()函数的返回类型。这意味着 main()函数返回值的类型是整数。返回到哪里呢?返回给操作系统。
如果浏览老版本的 C代码,你将发现程序常常以:
main()
这种形式开始。C90标准勉强允许这种形式,但是 C99标准不允许。因此即使你当前的编译器允许,也不要这么做,请注意规范。
◆ /* 一个简单的 C程序 */ ←注释
包含在 /* */ 之间的部分是程序注释。使用注释的目的是使自己和他人更容易理解你的程序。
C语言的注释的一个好处就是可以被放在任意的地方,甚至是和它要解释的语句在同一行。
一个较长的注释可以单放一行,或者是多行。在/* 和 */之间的所有内容都会被编译器忽略掉。下面是一些正确和不正确的注释形式:
也可以这样写:
C99 增加了另一种风格的注释,它被普遍用在 C++ 和 Java里。这种新形式使用 // 符号,但这种注释被限制在一行里:
因为一行的结尾就标志着注释的结束,所以这种形式只在注释的开始处需要标志符号。
{ ← 函数体的开始 } ← 函数体的结束
{
...
}
在前面的程序中,花括号划定了 main函数的界线。通常,所有的 C语言函数都使用花括号来表示函数体的开始与结束。它们的存在是必不可少的,因此不能丢掉它们。仅有花括号 { } 能起到这种作用,小括号()和中括号 [ ] 都是不可以的。
花括号还可以用来把函数中的语句聚集到一个单元或代码块中。
◆ int num; ---声明语句
这个语句表明你将使用 num 这个变量,并且它是 int(整数)类型的。
程序中的这一行叫做声明语句 。该声明语句是 C语言中最重要的功能之一。在 C语言中,所有变量都必须在使用之前定义。
这句声明表达了两个意思:
第一,在函数中你有一个名为 num 的变量。
第二,int说明 num 是一个整数,也就是说这个数没有小数点或者小数部分。编译器使用这个信息为变量 num在内存中分配一个合适的存储空间。句末的;指明了这一行是 C语言的一个语句或指令。每条语句后面都需要写上;。
单词 int 是 C语言的一个关键字,它代表 C中最基本的一个数据类型。关键字是用来表达语言的单词,你不能将它们用于其他目的。例如,不能把 int 用作一个函数或者是变量的名字。
◆ num = 1; ←赋值语句
这行程序是一个赋值语句。赋值语句是 C语言的基本操作之一。这个特殊的例子的意思是“把数值1赋给变量 num”。可以简单理解为把1给了num,那么num就是1了。注意赋值语句赋值的顺序是从右到左。同样,该语句也用;结束语句。
◆ printf ("hello world!"); ←一个函数调用语句
printf ("hello world! ");
printf ("这是我学习C语言的第%d天! ",num);
上面两句话都使用了 C语言的一个标准函数:printf();。圆括号表明 printf 是一个函数名,程序将识别 “ ” 之间的内容并把它们显示在屏幕上。
结果显示的结果应该为:
那么引号中有字符 ,但并没有输出它们!发生了什么事情呢? 字符代表一个称为换行符的字符,它意味着“在下一行的最左边开始新的一行”。
换行符是转义字符的一个例子。转义字符通常用于代表难于表达的或是无法键入的字符。其他的例子比如 代表 Tab键, 代表退格键盘。每个转义字符都用斜线字符()开始。
另外,输出最后一行时 %d 起什么作用?回忆一下,这一行的输出结果是:
这是我学习C语言的第1天!
当这一行输出时,数字1被符号组合%d代替了,而1是变量 num的值。%d是一个占位符,其作用是指出输出 num 值的位置。简单来说 就是把%d用这行语句后面的num替换。
◆ return 0; --- 返回语句
return 语句也叫返回语句,它是程序的最后一个语句。在 int main()中 int 表示 main()函数的返回值应该是一个整数。
C标准要求 main()这样做。带有返回值的 C语言函数要使用一个 return 语句,该语句包括关键字 return,后面紧跟着要返回的值,然后是一个分号。
对于 main()函数来说,如果你漏掉了 return语句,则大多数编译器将对你的疏忽提出警告,但仍将编译该程序。此时,你可以暂时把 main()中的 return语句看作是保持逻辑连贯性所需的内容。
今天的学习就到此为止,希望你能有所收获!
学C/C++不易,此路应携手前行。
欢迎关注我的编程公众號【草莓味狸猫】!
如果你想跟着小编一起学编程的话!
可以来我的C语言C++编程学习基地【搜索进入】!
↓☆↓
还有(源码,零基础教程,项目实战教学视频)!
【C语言C++编程学习笔记】基础语法,第一个简单的实例编程入门教程!的更多相关文章
- JavaScript学习笔记-基础语法、类型、变量
基础语法.类型.变量 非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或 ...
- Shell高级编程学习笔记(基础篇)
目录 1.shell脚本的执行方法 2.shell的变量类型 3.shell特殊变量 4.变量子串的常用操作 5.批量修改文件名实践 6.变量替换 7.在shell中计算字符串长度的方法 ...
- Java学习笔记-基础语法
Java基础包含关键字,标识符,注释,常量和变量,运算符 关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 Java的关键字 用于定义数据类型的关键 ...
- Python学习笔记——基础语法篇
一.Python初识(IDE环境及基本语法,Spyder快捷方式) Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,没有编译过程,可移植,可嵌入,可扩展. IDE 1.检查Pyth ...
- Arduino—学习笔记—基础语法
图解 函数具体讲解 pinMode(工作接脚,模式) 工作接脚 工作接脚编号(0--13与A0--A5) 模式 工作模式:INPUT或OUTPUT 例子 将8接口设置为输出模式 pinMode(8,O ...
- Java学习笔记-基础语法Ⅴ
学习一些Java常用的API Math:包含执行基本数字运算的方法 如果没有构造方法,一般类的成员都是静态的,通过类名可以直接调用 Java中有两种random函数,Math.Random()函数能够 ...
- Java学习笔记-基础语法Ⅳ
多态:同一个对象,在不同时刻表现出来的不同形态 例如: 猫 cat = new 猫(); 动物 animal = new 猫(); 这里的猫在不同时刻表现出来不同的形态,这就是多态 多态的前提和体现: ...
- Java学习笔记-基础语法ⅩⅠ-UDP、TCP
网络编程 三要素:IP地址.端口.协议 IP地址:使用ipconfig查看,如果装了VM的话,会有VMnet1.VMnet8和WLAN,net1不能从虚拟机到主机,net8不能从主机到虚拟机,net0 ...
- Java学习笔记-基础语法Ⅹ-进程线程
学习快一个月了,现在学到了黑马Java教程的300集 打印流的特点: 只负责输出数据,不负责读取数据 有自己的特有方法 字节打印流:PrintStream,使用指定的文件名创建新的打印流 import ...
随机推荐
- 【新阁教育】基于Log4Net实现日志信息双向存储(含源码)
1.引言 在上位机开发中,日志记录是必不可少的,我们可以通过日志记录做日志分析及错误追踪.初学者会采用txt文本写入来实现日志保存,但是文本写入不是线程安全,当存在多个线程同时写入日志时,就会出现一些 ...
- Linux:配置apache支持php
对apache的主配置文件进行修改 vi /application/apache/conf/httpd.conf 1.增加下面内容 AddType application/x-httpd-php .p ...
- python之csrf简介
django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成.而对于django中设置防跨站请求伪造功能有分为全 ...
- [剑指Offer]17-打印从1到最大的n位数(递归)
题目 如题,输入n,则从1打印至99. 题解 考虑到n比较大会有大数问题,所以使用字符数组存储数. 由题可用递归求n位全排列,即为所得. 具体地,用临时字符数组用来存答案,每次递归填好一位,都填好后输 ...
- HA切换失败原因分析
1. 问题描述 redhat在进行HA切换时,需要先停止service,并释放调当前主机占有的资源,比如说IP Address和Filesystem,但今天我在验证HA切换时,发现service一直停 ...
- hystrix(1) 概述
首先我们来讲一下hystrix解决什么问题.在大型分布式系统中经常会存在下面的几类问题: 1.大型分布式系统中,服务之间相互依赖,如果依赖的服务发生异常,那么当前服务也会出现异常,这样将会导致联级的服 ...
- ASP.NET Web API 2系列(四):基于JWT的token身份认证方案
1.引言 通过前边的系列教程,我们可以掌握WebAPI的初步运用,但是此时的API接口任何人都可以访问,这显然不是我们想要的,这时就需要控制对它的访问,也就是WebAPI的权限验证.验证方式非常多,本 ...
- 手写:javascript中的关键字new
简单介绍一下new new再熟悉不过了,new后面跟着构造函数,可以创建对象,这个对象的原型指向构造函数的原型对象,说起来可能有点绕,直接看代码吧 function Person(name, age) ...
- java中对 闰年的计算 以及月份天数
import java.io.*;//局部变量的使用import java.util.Scanner; public class HelloJava { public static void ...
- Leetcode-递归&分治
50. Pow(x, n) https://leetcode-cn.com/problems/powx-n/ 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 说明: -100.0 < ...