第二章 简单程序设计

2.16 数据类型

C++语言有哪几种数据类型?简述其值域。编程显示你使用的计算机中的各种数据

类型的字节数。

cpp 复制代码
#include<iostream>

using namespace std;

int main() {
	cout << "int 的大小:\t" << sizeof(int) << " 字节.\n";
	cout << "The size of a short int is:\t" << sizeof(short int) << " bytes.\n";
	cout << "The size of a long int is:\t" << sizeof(long) << " bytes.\n";
	cout << "The size of a char is:\t\t" << sizeof(char) << " bytes.\n";
	cout << "The size of a float is:\t" << sizeof(float) << " bytes.\n";
	cout << "The size of a double is:\t" << sizeof(double) << " bytes.\n";
	cout << "The size of a bool is:\t\t" << sizeof(bool) << " bytes.\n";
	return 0;
}

结果:

2.17ASCII码

输出ASCII码为32~127的字符。

cpp 复制代码
#include<iostream>

using namespace std;

int main() {
	for (int i = 32; i <= 127; i++)
	{
		cout << i << "的ASCLL码: " << char(i) << " \n";
	}
	return 0;
}

结果:

2.21变量有几种存储类型

采用堆栈方式分配内存空间,属于一时性存储,其存储空间可以被若干变量多次覆盖使用。

2.24 布尔

cpp 复制代码
#include<iostream>

using namespace std;

int main() {
	int a = 1;
	int b = 2;
	int c = 0;
	int d = -2;
	cout << "a:"<<bool(a)<<"\tb:" <<bool(b)<< "\tc:"<<bool(c)<<"\td:"<<bool(d) << endl;
	return 0;
}

下列各式的结果:

cpp 复制代码
#include<iostream>

using namespace std;

int main() {
	int a = 1;
	cout << !a<<endl;					//0
	cout << (!a | a) << endl<<endl;		//1

	cout << ~a << endl;					//-2
	cout << (~a | a) << endl<<endl;		//-1

	cout << (a ^ a )<< endl;//异或				//0
	cout << (a >> 2) << endl;//0001--> 0000		//0

	int b = 3;
	cout << (b >> 1) << endl;//0011--> 0001		//1
	cout << (a ^ b) << endl;//0001 0011--->0010	//2

	return 0;
}

2.25 选择语句

编写一个完整的程序,实现功能:向用户提问"现在正在下雨吗?",提示用户输人Y

或N。若输入为Y,显示"现在正在下雨。";若输人为N,显示"现在没有下雨。";否则

继续提问"现在正在下雨吗?"。

2.26 Switch

写一个完整的程序,运行时向用户提问"你考试考了多少分?(0~100)",接收输人

后判断其等级显示出来。规则如下:

等级=

优90<=分数<=100

良80<=分数<90

中60<=分数く80

差0<=分数く60

cpp 复制代码
#include<iostream>

using namespace std;

//每个 case 后面跟着一个常量值

int main() {
	int score;
	cout << "你考试考了多少分?(0~100):";
	cin >> score;
	int m = score / 10;
	switch (m)
	{
	case 10:
	case 9:
		cout << "优" << endl;
		break;
	case 8:
		cout << "良" << endl;
		break;
	case 7:
	case 6:
		cout << "中" << endl;
		break;
	default:
		cout << "差" << endl;
		break;
	}
	return 0;
}

2.27 菜单程序

实现一个简单的菜单程序,运行时显示"Menu:A(dd)D(elete)S(ort)Q(uit),Selectone:"提示用户输人,A表示增加,D表示删除,S表示排序,Q表示退出,输入为A、D、S时分别提示"数据已经增加、删除、排序。"输人为Q时程序结束。

(1)要求使用if·else语句进行判断,用break、continue控制程序流程。

(2)要求使用switch语句。

cpp 复制代码
#include<iostream>

using namespace std;

int main() {
	char choice;
	while (1)
	{
		cout<< "Menu: A(dd)D(elete)S(ort)Q(uit), Select one .";
		cin >> choice;
		if (choice == 'A')
		{
			cout << "数据已经增加。" << endl;
			continue;
		}
		else if (choice == 'D')
		{
			cout << "数据已经删除。" << endl;
			continue;
		}
		else if (choice == 'S')
		{
			cout << "数据已经排序" << endl;
			continue;
		}
		else if (choice == 'Q')
			cout << "已退出" << endl;
			break;
	}
	return 0;
}

2.28 质数

用穷举法找出1~100的质数并显示出来。分别使用while、do··while、for循环语句实现。

cpp 复制代码
#include<iostream>

using namespace std;

int main() {
	int i = 2;
	while (i <= 100)
	{
		int flag = 1;
		int j = 2;//判断是否是质数
		int k = i / 2;//循环的次数
		while (j <= k) 
		{
			if (i % j == 0)//注意
			{
				flag = 0;
				break;
			}
			j++;
		}
		if (flag) {
			cout << i << " ";
		}
		i++;
	}
	return 0;
}
相关推荐
Brookty1 小时前
Java线程安全与中断机制详解
java·开发语言·后端·学习·java-ee
OEC小胖胖2 小时前
渲染篇(二):解密Diff算法:如何用“最少的操作”更新UI
前端·算法·ui·状态模式·web
找不到、了2 小时前
Java排序算法之<归并排序>
算法·排序算法
香蕉可乐荷包蛋2 小时前
排序算法 (Sorting Algorithms)-Python示例
python·算法·排序算法
Sylvia-girl2 小时前
排序查找算法,Map集合,集合的嵌套,Collections工具类
java·算法·排序算法
TT哇2 小时前
【分治】归并排序——排序数组(medium)
java·算法·排序算法
skyang.2 小时前
LeetCode 85. 最大矩形
算法·leetcode·职场和发展
從南走到北2 小时前
JAVA东郊到家按摩服务同款同城家政服务按摩私教茶艺师服务系统小程序+公众号+APP+H5
android·java·开发语言·微信小程序·小程序
滋滋不吱吱3 小时前
枚举中间位置基础篇
考研·算法·leetcode
阳光不锈@3 小时前
算法:最长递增子序列解法记录
算法·最长递增子序列·超详细分析·java实现