图书在版编目(CIP)数据
C++编程入门指南/明日科技编著.—北京:电子工业出版社,2020.5
ISBN 978-7-121-38368-7
出版发行:电子工业出版社
摘要:由第三章C++语言基础课后例题展开介绍
(1)有两名男性应聘者,他们的年龄分别为25岁和32岁。该公司招聘信息有一个要求,即男性应聘者的年龄在23岁~30岁,判断这两名应聘者是否满足这个要求。
#include <iostream>
int main() {
// 问题(1)
int age1 = 25, age2 = 32;
bool isAge1Valid = (age1 >= 23) && (age1 <= 30);
bool isAge2Valid = (age2 >= 23) && (age2 <= 30);
std::cout << "Applicant 1 age valid: " << isAge1Valid << std::endl;
std::cout << "Applicant 2 age valid: " << isAge2Valid << std::endl;
}
(2)在明日学院网站首页中,可以使用账户名登录,也可以使用手机号登录,还可以使用电子邮箱地址登录。请判断某用户是否可以登录。(已知在服务器中有如下记录,账户名为张三,手机号为12345678900,电子邮箱为zhangsan@163.com)
#include <iostream>
int main() {
// 问题(2)
bool canLoginWithUsername = true;
bool canLoginWithPhone = true;
bool canLoginWithEmail = true;
bool userCanLogin = canLoginWithUsername || canLoginWithPhone || canLoginWithEmail;
std::cout << "User can login: " << userCanLogin << std::endl;
}
(3)使用位运算符,将0xFFFF1234最低位的两个字节设置为0,结果为0xFFFF0000。
#include <iostream>
int main() {
// 问题(3)
unsigned int num = 0xFFFF1234;
num = num & 0xFFFF0000;
std::cout << "Result after setting lowest two bytes to 0: " << std::hex << num << std::endl;
}
(4)用户创建完新账户后,服务器为保护用户隐私,使用异或运算对用户密码进行二次加密,计算公式为“加密数据=原始密码^加密算子”,已知加密算子为79,求用户密码459137经过加密后的值是多少?
#include <iostream>
int main() {
// 问题(4)
int originalPassword = 459137;
int encryptionKey = 79;
int encryptedPassword = originalPassword ^ encryptionKey;
std::cout << "Encrypted password: " << encryptedPassword << std::endl;
}
(5)使用移位运算符,计算1024/8的结果。
#include <iostream>
int main() {
// 问题(5)
int result1 = 1024 >> 3;
std::cout << "1024 / 8 = " << result1 << std::endl;
}
(6)使用移位运算符和算数运算符,计算1024%8的结果。
#include <iostream>
int main() {
// 问题(6)
int result2 = 1024 % 8;
std::cout << "1024 % 8 = " << result2 << std::endl;
}
(7)定义3个变量x、y、z,分别赋值为3、3、1。prinf("%d,%d,%d",(++x,y++),z+x+y+2)语句的输出结果是什么?
#include <iostream>
int main() {
// 问题(7)
int x = 3, y = 3, z = 1;
printf("%d,%d,%d",++x,y++, z + x + y + 2);
}//output:4,3,11
(8)有如下两行表达式,尝试调整(x0,x1,x2)中的3个变量的顺序,使输出的结果为1。
#include <iostream>
int main() {
// 问题(8)
int x0 = 0, x1 = 1, x2 = 2;
printf("%d\n", (x0, x2, x1));
}
(9)有一个整型变量int a=1,将其转换为浮点型输出,使输出结果为1.000000。
#include <iostream>
void main() {
// 问题(9)
int b = 1;
printf("%f\n",(float)b);
}
(10)某基金年化利率是3.5%,现存入10 000元本金,请问1天后连本带利有多少钱?计算公式:1天收益=本金×年化利率/365。
#include <iostream>
void main() {
// 问题(10)
double principal = 10000.0;
double annualInterestRate = 0.035;
double oneDayEarnings = principal * annualInterestRate / 365;
double totalAmount = principal + oneDayEarnings;
printf("%f", totalAmount);
}
总结:
通过习题的形式介绍了C++的运算符以及代码。