C++ 的基本语法

C++ 介绍

前言

在当前的时代,计算机的使用越来广泛,计算机是如何工作与交流的呢?我们知道计算机由键盘,显示器,鼠标等硬件与 word,ppt,excel 等软件组成。那么如何与计算机交流呢?

我们日常交流使用的是自然语言,而与计算机交流则需用计算机语言,大体分为机器语言,汇编语言,高级语言。

机器语言就是计算机之间的交流,即计算机之间的自然语言,仅有 01

机器语言实在是太慢且易出现问题,就出现了用指令的方式与计算机交流,如 load,basepay,add,overpay,store,grosspay,注:Grosspay=basepay+overtimepay

但这种语言我们可以理解,而计算机却无法理解,所以我们需要一个“翻译”,将我们的汇编语言翻译成机器语言,让计算机工作

随汇编语言的发展,我们的指令越来越多,程序员需要很多指令来完成一件事情,于是就出现了高级语言,高级语言可以一条语句完成很多指令。随之而来的,高级语言也需要一位更高级的翻译称之为编译器 (compiler) 或解释器 (interpreter)。目前的高级语言主要有 Pascal,C,C++,Java,VB

C++ 编程简介

C++ 是由 C 发展而来的一种面向对象的程序设计

C 是一种标准化的语言,我们很少需要修改,便可以通用于不同的计算机系统,C++ 也是 C 的一种扩展

面向对象?我们生活在一个到处是对象的世界,书本,纸,笔都是对象。面向程序,则是强调动作,关注于要做什么,做的流程。面向对象更像我们现在的世界,创建对象,调用对象,从而减少工作量。

C++ 的安装与编译运行

C++ 的开发环境,编程主要有 6 个步骤

编辑,预处理,编译,连接,载入和执行

下边以 DevC++ 为例子展示

若为英语,可由下步骤转为中文

之后就成中文的了

创建一个新源文件

便会出现一个白色区域,称为源代码编辑区域,可以在此编写程序

写完代码后可直接点击上面图标,并选择想要保存的位置,便可运行

若是存在词法于语法的错误则会编译失败,右下脚的框则会显示错误信息,并将错误行代码标红

C++ 输出

例:1.1 在屏幕上输出 HelloWorld!

点击查看代码
#include<iostream>//使用 cin,cout,需调用 iostream 库,否则编译出错
#include<cstdlib>//调用 system() 调用 cstdlib 库
using namespace std;//在 C 语言要省略,例如在 VC++ 和 TC++
int main(){//有的 C 语言可用 void main(),例如 TC++ 和 VC++
	cout<<"Hello World!"<<endl;//输出 Hello World!
	system("pause");//暂停作用,使用 system("pause") 调用 cstdlib 库
	return 0;//结束整个程序
}

代码及解释可自行看注释,也可以继续向下看,后边还会有解释

1.2 梯形阴影部分面积为 150 cm2,求梯形面积

已知梯形上底下底各为 1525。令梯形的高为 h,则由已知三角形面积为 150 cm2,有 150=(15h)/2,得 h20,然后根据梯形面积公式算出梯形面积。如下:

点击查看代码
#include<cstdio>//使用 printf 和 scanf 需调用 cstdio 库,在 C 语言中可调用 stdio.h
#include<cstdlib>//调用 system() 调用 cstdlib 库
using namespace std;//在 C 语言要省略,例如在 VC++ 和 TC++
int main(){//有的 C 语言可用 void main(),例如 TC++ 和 VC++
	float s,h,up,down;//float 定义 s,h,up,down 为单精度实形变量
	up=15;//已知上底
	down=25;//已知下底
	h=2*150/up;//根据上下底求出梯形的高
	s=(up+down)*h/2;//求出梯形的面积
	printf("s=%.2f\n",s);//\n是换行控制符,0.2f按实际位数输出,保留2位小数
	system("pause");//暂停作用,TC++ 和 VC++ 中使用 system() 调用 stdlib.h 库
	return 0;//结束程序,在 TC++ 和 VC++ 中也要保留
}

运行结果:

s=400

思考:

求高为 4,面积为 40 的平行四边行怎么做?

练习

1. 只有一行,按照要求依次输出三个整数,之间以一个空格分开。

样例输出:123456789 0 1

2. 输出字符构成的等腰三角形

  *
 * *
* * *

输入和输出

回顾

下面用两种不同方法输出了 b 的值

#include<iostream>
using namespace std;
int main(){
    int a,b,c;
    a=123;
    b=456;
    c=789;
    cout<<b;
    system("pause");
    return 0;
}
#include<cstdio>
using namespace std;
int main(){
    int a,b,c;
    a=123;
    b=456;
    c=789;
    printf("%d",b);
    system("pause");
    return 0;
}

include 中 # 表示预处理

iostreami > in 输入,o > out 输出,stream > 流,河流组成

cstdioc > 计算机语言 Cstd > standard;io 同上,表示输入输出;

cstlibcstd 同上,lib > library 图书馆,库;

using namespace std 表示所有的标识符都定义在 std

printfprint > 打印;f > format 格式化

说白了,includeusing namespace std 就是类似于放东西的盘子,有了盘子才可以用里面的东西

思考:

如果将上述程序中的输出改为 printf("b",b); 输出的是?

1

有一个牧场,牧场上的牧草每天都在均匀生长,这片牧草可供 15 头牛吃 20 天,或可供 20 头牛吃 10 天,那么,这片牧草每天新生的草量可供几头奶牛吃 1 天?

分析步骤:如果用数学计算如何计算?

点击查看代码
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
    cout<<(15*20-20*10)/(20-10)<<endl;
    system("pause");
    return 0;
}

C++ 输入

例2

知道一张门票 10 元,计算 x 个人的票价一共是多少?

点击查看代码
#include<cstdio>
#include<cstdlib>
using namespace std;
int main(){
    int x,y;
    scanf("%d",&x);
    y=10*x;
    printf("y=%d",y);
    return 0;
}

练习,将输入改为 cin 的方法输入

C++ 中的赋值语句

C++= 作为赋值运算符,而不表示等于

比如 int h; h=5; 表示吧数值 5 赋值给 h 而非 h 等于 5

思考一个盘中有 a 个糖果,另一个有 b 个,想要将他们交换该如何做

一个思路,定义一个新变量 c 先将 b 的值给 c,在把 a 的值给 b,再将 c 的值给 a

点击查看代码
#include<cstdio>
#include<cstdlib>
using namespace std;
int main(){
    int a,b;
    scanf("%d%d",&a,&b);
    int c;
    c=b;
    b=a;
    a=c;
    printf("%d %d",a,b);
}

练习:

1. 给定 a,b,输出 a+b 的值 洛谷 P1001

2.a,b,c,d 四个变量如何将每个数值从左向右移动一个位置

运算符和表达式

自加和自减

C++ 中有一种赋值时自己给自己赋值的方式

x++x

当然 ++ 也可以放前面

其中 ++x 表示先加后调用,x++ 则为先调用后加

可以自己 copy 下面的代码体会一下

点击查看代码
#include<cstdio>
using namespace std;
int main(){
    int x=7,y=8;
    int z1=y-(x++);
    int z2=y-(++x);
    printf("%d %d",z1,z2);
}

赋值语句

例子,鸡兔同笼,头 30,脚 90,求鸡兔各几何?

分析:设鸡为 j 只,兔为 t 只,头为 h,脚 f

点击查看代码
#include<cstdio>
using namespace std;
int main(){
    int h,f,j,t;
    h=30;h=90;//变量赋值为常数
    j=(4*h-f)/2;
    t=h-j;//变量也可由前面已经定义的变量赋值
    printf("j=%d,t=%d\n",j,t);
}

复合算数运算符

即不只是简单的赋值还有运算

a+=1 就等于 a=a+1

当然了,在 a=a+1 中需要调用 a 一次,而 a+=1 不用

所以符合算数运算符是快于简单的赋值运算符的,而且符合算术运算符少打几个字符

关系运算符

故名思意,就是来表示比较关系的

有大于(>),小于(<),等于(==),大于等于(>=),小于等于(<=)和不等于(!=)共6

其中关系运算符最终都表示的是关系的是否成立,成立为 1 反之为 0

好像关系的定义就是有是或非。。。。

比如 2>1 就返回 1

当然了,关系运算符也是可以用来赋值的

比如 a=2>1 则等于 a=1

逻辑运算符

用于逻辑运算,有,与(&&),或(||),非(!)三种

与,就是两者关系都成立就为 1

或,两者关系有一个成立就为 1

非,关系不成立为 1

其中 && 与 || 都用来连接关系运算符

分支结构程序设计

运算符有限优先级

在编写程序的过程中,编译器会对优先级高的表达式先运算

下面是一些表达式的优先级

从上到下,优先级依次递减

(、)

*、/

+、-

、<、>=、<=

posted @   zsfzhjf  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示