c++习题

1、c++中程序的模块叫什么?

函数,由函数头、函数体组成,声明及定义

2、#include <iostream>?

为预处理编译指令,将指定模块的函数复制粘贴到当前编译单元(.cpp)

3、using namespace std?

using编译指令,表明使用std命名空间,表示当前函数或者编译单元能够使用std命名空间中的函数,如cout等

4、定义函数,什么情况下不必使用return?

main函数以及void返回类型的函数

5、%运算符对符号的确定方式?

a%b + (a/b)*b = a

6、类型转换

自动转换:精度问题,截断问题

括号转换:列表初始化,不允许缩窄

表达式中的转换:整型计算:integral promotion

强制转换:typeName (value), static_cast<typeName>(value)

7、cin输入

cin >> variable;

cin.getline(variable, size); getline针对行输入,将指定长度的字符读入到指定变量中,以回车为标志,实际字符数量为size - 1,variable字符数组中最后一位存储空字符,代表字符串的结尾。(字符和字符串的区别)

cin.get(variable, size);与getline基本相同,区别在于get会将输入结尾处的回车符放在输入队列中,可用cin.get().get()解决影响。

8、指针

type* ptr = nullptr;

int a = 0;

int* ptr = &a;

指针是一个整数,存储指定变量的内存地址,16进制形式。指针类型只在重新赋值的时候起作用,所有类型的指针本质相同,均为存储内存地址的整数。

9、引用

int b = 0;

int& ref = b;

引用是指针的语法糖,变量的别名,但并未真正创建新变量。与指针区别在于引用无法重新赋值,而指针可以指向一个变量,再指向另一个变量。引用优点在于使得code更加简洁

10、struct和class

本质相同,可以相互等价。struct适用与单纯的组织数据结构,在结构体内能够组织多种类型的数据,内部无复杂的处理方法;class适用于组织少量属性数据,并具有大量的方法来处理这些数据。struct最好在函数外部进行声明。

eg: struct Student {

        string name,

        float height,

        float weight,

};

Student bob = {"bob", 1.6, 80};

11、string和字符数组

区别:可将string对象声明为简单变量。而char为字符数组,以空字符'/0'结尾。

char first_string[20] = "Hello!"; 其余字符置为空字符

不同语法:string str1 = "Hello!"; 

char str2[20] = "Hello!";

std:: strlen(str2); 

str1.size(); // string类对象,以访问成员函数的形式计算字符串长度。

字符数组不可二次赋值,string类型可以。~类似指针和引用之间的关系。

string类型字符串能够通过+,+=运算符进行字符串连接。char数组类型通过strcpy(),strcat()进行复制,连接等操作。

    string str1;
	string str2 = "Hello!";
	char str3[] = "Hi!";
	char str4[20];
	str1 = str2;
	cout << "string 1 is :" << str1 << endl;
	if (str1 == str2) {
		cout << "Sucessfully assgined!";
	}
	cout << "Please enter name: " << endl;
	cin >> str4;
	cout << "Length of str3: " << std::strlen(str3) << endl;
	cout << "Length of str2: " << str2.size() << endl;
	// string cat
	string str5 = str1 + str3;
	str1 += str2;
	cout << "str5: " << str5 << "  str1: " << str1 << endl;
	strcpy_s(str4, str3);
	cout << "str3 copy to str4:" << str4 << endl;
	strcat_s(str4, str3);

12、struct和struct数组

// struct
	struct Student {
		int studentNumber;
		string studnetName;
		string teacherName;
		short classNumber;
		float height;
		float weight;
		int score;
	};
	Student bob{
		1234567,
		"bob",
		"john",
		2,
		1.77,
		57
	};
	cout << bob.studnetName << " is in class " << bob.classNumber << " and his student number is " << bob.studentNumber << endl;
	// struct array
	Student class1[20];
	cout << class1[0].classNumber << endl;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值