赞
踩
#include <iostream>#include <Windows.h>#include <string>using namespace std;int main( void ) {string name;string pwd;std::cout << " 请输入账号: " ;std::cin >> name;std::cout << " 请输入密码: " ;std::cin >> pwd;if (name == "54hk" && pwd == "123456" ) {//字符串的比较知识点std::cout << "1. 网站 404 攻击 " << std::endl;std::cout << "2. 网站篡改攻击 " << std::endl;std::cout << "3. 网站攻击记录 " << std::endl;std::cout << "4.DNS 攻击 " << std::endl;std::cout << "5. 服务器重启攻击 " << std::endl;} else {cout << " 用户名或密码错误 !" << endl;}system( "pause" );return 0;}
按顺先从前往后比较同序号的字符按“ ASCII ”码值比较直到遇到对应字符不等或者字符串结束
true,其实就是1false,其实就是0
0: 表示假非 0: 表示真
str1 < str2 时, 返回值< 0(有些编译器返回 -1)str1 > str2 时, 返回值> 0(有些编译器返回 1)str1 等于 str2 时, 返回值为 0
demo:
#include <stdio.h>#include <string.h>#include <Windows.h>int main( void ) {char addr[32];int ret;printf( " 美女,你是哪里人? " );scanf( "%s" , addr);if (strcmp(addr, " 湖南 " ) == 0) {printf( " 美女,我们是老乡啊! \n" );} else {printf( " 美女,你和我的同学是老乡啊! \n" );}system( "pause" );return 0;}
其它数据类型的比较运算
#include <iostream>#include <Windows.h>using namespace std;int main( void ) {int weight;printf( " 美女 , 你多重啊 ?\n" );cin >> weight;if (weight >= 120) {cout << " 美女 , 如此丰满 , 真有福气 !" << endl;} else {cout << " 美女 , 这么瘦 , 身材不错啊 !" << endl;}system( "pause" );return 0;}
#include <iostream>#include <Windows.h>using namespace std;int main( void ) {int money;int days;cout << " 你有多少钱 ?" ;cin >> money;cout << " 你看多少天的假期 ?" ;cin >> days;// 如果存款大于 10 万 , 而且假期大于 10 天 , 就去旅游if (money > 100000 && days > 10) {cout << " 我要去旅游 !" << endl;} else {cout << " 还是在家里呆着 " << endl;}system( "pause" );return 0;}
逻辑或 ||
当条件 1 为真时,就不再判断条件 2当条件 1 为假时,才判断条件 2
#include <iostream>#include <string>#include <Windows.h>using namespace std;int main( void ) {int money;string love;cout << " 你有多少钱 ?" << endl;cin >> money;cout << " 你爱我吗 ?" << endl;cin >> love; // 回答 : 爱 或者 不爱if (money > 1000000 || love == " 爱 " ) {cout << " 我们结婚吧 !" << endl;} else {cout << " 你是一个好人 !" << endl;}system( "pause" );return 0;}
逻辑非 !
#include <iostream>#include <Windows.h>using namespace std;int main( void ) {int money;int days;cout << " 你的月薪多少 ?" ;cin >> money;if (!(money >= 30000)) {cout << " 我是菜鸟 , 薪资不到 3 万 , 我要努力修炼 !\n" << endl;} else {cout << " 我要接外包 \n" << endl;}system( "pause" );return 0;}
操作硬件的位运算
0 & 000 & 101 & 001 & 11
// 00001000// 00000011// 00000000
0 | 000 | 111 | 011 | 11
0 | x x// 00001000// 00000011// 00001011
~ 10~ 01
// 00001000// 11110111
0 ^ 0 01 ^ 1 00 ^ 1 11 ^ 0 1
// 00001000// 00000011// 00001011
// 00001000// 01000000
对于负数的移位运算,记:左0右1,即左移补0,右移补1
cout << " 请输入一个整数 : " << endl;cin >> x;// 把 x 的最低 4 位清 0x = x & (~15);// 把 x 的最低 4 位设置为 0110x = x | 6;cout << "x=" << x << endl;
其它运算
x = 100;//赋值运算符== > >= < <= != //比较运算符&& || ! //逻辑关系运算符& | //逻辑运算符~ ^ >> << //逻辑运算符
5++; //ERROR(3+x)++; //ERRO
#include <stdio.h>int main(void) {int x;// 先计算 x = 3+5, 再计算 3*5x = 3+5, 3*5, 10/5;printf("x=%d\n", x); //x=2// 取最后一个表达式的值,作为整个“逗号表达式”的值x = (3+5, 3*5, 10/5);cout << x << endl; //x=2return x;}
#include <iostream>#include <Windows.h>using namespace std;int main( void ) {int salary;printf( " 请输入您的月薪 : " );scanf( "%d" , &salary);cout << (salary > 30000 ? " 老鸟 " : " 菜鸟 " ) << ", 晚上好 !" << endl;system( "pause" );return 0;}
! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
1. 隐式类型转换 ( 自动完成转换) 小范围内的数转为大范围 内数1 )算数转换2 )赋值转换3 )输出转换
#include <stdio.h>int main(void) {int x;// 计算结果 31.4 转换为 int 类型,因为赋值符号的左边变量的类型是 int 类型x = 3.14 * 10.0;cout << x << endl; //31return 0;}
输出转换(C 语言)
#include <stdio.h>int main(void) {printf("%c\n", 255+50); //305 -> 49 ('1');printf("%d\n", 255+50); //305return 0;}
int x = 257 + 100;cout << "x=" << x << endl; //357x = ( char )257 + 100; //100000001 -> 00000001cout << "x=" << x << endl; //101
1) static_cast2) dynamic_cast3) const_cast4) reinterpert_cast
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。