西南科技大学C++程序设计实验一(C++基础知识)

news/2025/2/6 7:12:41/

目录

一、实验目的

二、实验任务

三、预习内容(复习书中前3章内容,说明C++相对于C的扩展有哪些?)

四、问题思考与讨论


一、实验目的

1.熟悉编程环境

2.掌握程序调试方法。

3.熟悉枚举类型、结构体类型等自定义数据类型的使用

4.熟悉函数的定义、说明与使用

5.熟悉引用作为函数参数的使用

6.理解内联函数、默认形参函数概念与使用

二、实验任务

1.编写程序,理解逻辑表达式的特点。已知" a=1, b=2, c=3, d=4, m=1, n=1 ",编程完善程序,输出以下表达式的结果,回答程序注释部分的思考题!

(1)(m=a>b)&&(n=c>d)

(2)(m=a>b)||(n=c>d)

(3)!(a>b)||( c<d)

(4)3&5

#include<iostream>

using namespace std;

int main()

{

       int a=1,b=2,c=3,d=4,m=1,n=1;

       cout<<((m=a>b)&&(n=c>d));

       cout<<" m="<<m<<" n="<<n<<endl; //思考1为什么输出结果中m=0,n=1? 理解逻辑与的“短路特性”?

       cout<<((m=a>b)||(n=c>d));

       cout<<" m="<<m<<" n="<<n<<endl; //思考2为什么输出结果m=0,n=0? 理解逻辑或的“短路特性”?

       cout<<(!(a>b)||( c<d)); //思考3:输出的结果? 理解逻辑反的运算特点?

    cout<<(3&5); //思考4:输出的结果?理解位运算特点?

       return 0;

}

实验思考题回答与分析:

(1)因为a=1,b=2,所以a>b为假,m输出为0。对于逻辑与,当第一个条件为假时,不再执行第二个条件,n值不变,仍输出为1。

(2)因为a=1,b=2,所以a>b为假,m输出为0。对于逻辑或,当第一个条件为假时,第二个条件会继续执行,c=3,d=4,所以c>d为假,n输出为0。

(3)输出为1。在逻辑运算中非比或优先,先进行非运算,a>b为假,取反为1,||当第一个为true,不再对第二个操作求值。

(4)输出为1。按位与操作的作用是将两个操作数对应的每一位分别进行逻辑与操作,3的二进制是00000011

,5的二进制为00000101,位与操作后输出为00000001,为1。

2.分析程序,理解位运算表达式的特点。已知" a=1, b=2, c=3 ",编程完善程序,输出以下表达式的结果,回答程序注释部分的思考题!

(1)a|b&c

(2)!a&b

(3)c>>2

(4)~b^c

#include<iostream>

using namespace std;

int main()

{

         int a=1,b=2,c=3,d=4,m=1,n=1;

         cout<<(a|b&c)<<endl; //思考1输出的结果是什么? “|”、“&”分别完成什么操作?

      cout<<(!a&b)<<endl; //思考2输出的结果是什么? “|”、“&”分别完成什么操作?

      cout<<( c>>2)<<" "<<( c<<2)<<endl; //思考3输出的结果是什么? “>>”、“<<”分别完成什么操作?

      cout<<(~b^c)<<endl; //思考4输出的结果是什么? “~”、“^”分别完成什么操作?

         return 0;

}

实验思考题回答与分析:

(1)输出为3. “&”是2和3按位与得2,“|”是1和2按位或得3,

(2)输出为0,!的优先级大于&,a取反后为0,与b按位相与为0.

(3)0,12.“<<”向左移两位,“>>”向右移两位


http://www.ppmy.cn/news/1246472.html

相关文章

js moment时间范围拿到中间间隔时间

2023.11.27今天我学习了如何对只返回的开始时间和结束时间做处理&#xff0c;比如后端返回了&#xff1a; [time:{start:202301,end:202311}] 我们需要把中间的间隔渲染出来。 [202301,202302,202303,202304,202305,202306,202307,202308,202309,202310,202311] 利用moment…

Leetcode刷题之设计循环队列(C语言版)

Leetcode刷题之设计循环队列&#xff08;C语言版&#xff09; 一、题目描述二、题目示例三、题目解析Ⅰ、typedef structⅡ、MyCircularQueue* myCircularQueueCreate(int k)Ⅲ、bool myCircularQueueIsEmpty(MyCircularQueue* obj)Ⅳ、bool myCircularQueueIsFull(MyCircularQ…

怎么把dwg格式转换pdf?

怎么把dwg格式转换pdf&#xff1f;DWG是一种由AutoCAD开发的二维和三维计算机辅助设计&#xff08;CAD&#xff09;文件格式&#xff0c;它的名称是“绘图&#xff08;Drawing&#xff09;”的缩写。DWG文件通常包含了设计图纸、模型和元数据等信息&#xff0c;并且被广泛用于工…

DHCP协议及实验omnipeek抓包工具分析 IPv4协议

一 抓包命令 adb shell tcpdump -i wlan0 -w /data/tcpdump.pcap 抓包后截图如下 二 DHCP是什么 2.1 DHCP定义 DHCP( Dynamic Host Configuration Protocol, 动态主机配置协议)定义: 存在于应用层(OSI) 前身是BOOTP(Bootstrap Protocol)协议 是一个使用UDP(User …

flutter的TextField参数、案例整理(上)

TextField 概述 TextField 用于文本输入 构造函数 const TextField({Key key,this.controller, this.focusNode,this.decoration const InputDecoration(),TextInputType keyboardType,this.textInputAction,this.textCapitalization TextCapitalization.none,this.style…

Python实现WOA智能鲸鱼优化算法优化XGBoost回归模型(XGBRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

服务器配置 ssh 连接登录

服务器配置 ssh 连接登录 配置 服务器安全组策略&#xff0c;开放 ssh 22 端口&#xff0c;以 root 用户登录服务器。 配置 ssh key 登录 ssh-keygen 生成公钥和私钥对 如果不需要其他设置&#xff0c;一直回车 可以在 ~/.ssh 目录下看到两个文件&#xff0c;即刚生成的私钥…

java:/comp/env/jdbc/testDbJndi通过JAVA代码读取JNDI获取数据源

java:/comp/env/jdbc/testDbJndi 这是一种Java 代码中获取 JNDI 数据源的方式 举例&#xff1a; ## 初始化名称查找上下文 Context ctx new InitialContext(); ## 通过 JNDI 名称找到 DataSource DataSource dataSource (DataSource) ctx.lookup("java:comp/env/jdbc/te…