首页 > 编程语言 >习题整理《C++17从入门到精通》第二章-变量和基本类型

习题整理《C++17从入门到精通》第二章-变量和基本类型

时间:2024-06-05 18:31:32浏览次数:23  
标签:10 cout 17 int auto unsigned C++ long 习题

                                                         //复习用,如有错误,请指正

1.下面哪些是不合法的变量标识符?为什么?

@ohd       *zara     a2bc     move_name     a_123

myname50   _temp    j    a23b9     retVal     51_name

标识符:由字母、数字、下划线组成且不能以数字开头的字符串

不合法的标识符:@ohd,*zara,51_name

2.编写程序,将从键盘输入的两个字符串用+运算符连接成一个字符串,然后输出这个拼接的新字符串。

3.编译程序,看有什么编译错误

字符串之间不能进行乘法运算

4.指出下面文字量的数据类型。

A. ‘a’,L’a’,”a”,L”a”,u”a”,U’a’

B. 10,10u,10L,10uL,012, 0xC,0xAuLL

C. 3.14,3.14f,3.14L,.314e-2L

D. 10,10u,10. ,10e-2

A.char字符串

B.int, unsigned int, long int,unsigned long int,int,int,unsigned long long int

C.double,float,long double,long double

D.int, unsigned int,double, double

5.下列程序的输出是什么?

(1)int main(){

int a = -1, b = -1;

unsigned c = 1;

cout<<a*b<<endl<<a*c<<endl;

(2)int main(){

unsigned u = 42, u2 = 10;

cout<<u-u2<<endl;

cout<<u2-u<<endl;

int i=10,i2=42;

cout<<i-i2<<endl;

cout<<i2-i<<endl;

cout<<i-u<<endl;

cout<<u-i<<endl;

}

(3)int main(){

for(unsigned int i = 10; i>=0; i--)

cout<<i<<endl;

  } 

 (3)死循环

6.

7.输入3个整数,按从小到大的顺序输出

8.对bool类型的值能否进行加、减、乘、除运算?

不能,bool类型只有true和false两个值,表示真和假

9.下列程序的输出是多少?为什么?

#include<iostream>

int a;

int main(){

int b;

std::cout<<a<<’\t’<<b<<’\n’;

}

输出错误,变量b没有初始化

10.输出各种常用基本类型的变量占用内存的大小

11.修改语法错误并运行

12.下面两组变量的定义有什么区别?有没有错误?为什么?

(1)int month{8}, day{6};

(2)int month{08}, day{06};

(2)有错误08是错误的二进制形式

13.下列关于auto的用法哪里有错误?为什么?

auto x;

auto y{ };

auto z{ 0 };

auto u = z;

auto v( u );

x和y没有初始化,无法判断类型

14. 下面程序的输出?

#include<iostream>

int main( ){

int a = 0;

decltype((a))b = a;

b++;

std::cout<<a<<’\t’<<b;

结果:1 1

标签:10,cout,17,int,auto,unsigned,C++,long,习题
From: https://blog.csdn.net/Kethy__/article/details/139479268

相关文章

  • 习题整理《C++17从入门到精通》第五章-复合类型:数组、指针和引用
                                                            //复习用,如有错误,请指正1.下面程序的输出是什么?#include<iostream>usingnamespacestd;intmain(){intx=10;int&ref=x;......
  • c++类中初始化列表的优点以及顺序问题
    1.使用初始化列表的好处效率:使用初始化列表可以避免不必要的拷贝操作,直接在对象构造时初始化成员变量,提高代码的执行效率。(因为变量的初始化分为初始化阶段和赋值阶段,在{}里面初始化属于赋值阶段)常量成员初始化:可以在初始化列表中对常量成员或引用的对象进行初始化,且只能在初......
  • C++PrimerPlus第十一章类的使用 :练习7 复数类的实现和重载运算符对复数做运算----本
    复数有两个部分组成:实数部分和虚数部分。复数的一种书写方式是:(3.0,4.0),其中,3.0是实数部分,4.0是虚数部分。假设a=(A,Bi),c=(C,Di),则下面是一些复数运算。加法:a+c=(A+C,(B+D)i)。减法:a-c=(A-C,(B-D)i)。乘法:ac=(AC-BD,(AD+B*C)i)。乘法::xc=(xC,x*Di),其中x为实数。......
  • C++PrimerPlus第十一章类的使用 :练习6 关系运算符的重载
    6.重新编写Stonewt类(程序清单11.16和程序清单11.17),重载全部6个关系运算符。运算符对pounds成员进行比较,并返回一个bool值。   编写一个程序,它声明一个包含6个Stonewt对象的数组,并在数组声明中初始化前3个对象。然后使用循环来读取用于设置剩余3个数   组元素的......
  • C++PrimerPlus第十一章类的使用 :重写练习七,解决重复造轮子的问题
    在第十一章练习七中,为解决重复造轮子的问题。我们先看一下代码的实现#include"pe11_7.h"#include<iostream>usingnamespacestd;Complex::Complex(doublea,doublebi){ this->a=a; this->bi=bi; SetComplex();}voidComplex::SetComplex(void){ this->co......
  • C++Primer Plus第十二章程序清单12.1~12.3一个失败的例子分析
    12.1.2特殊成员函数StringBad类的问题是由特殊成员函数引起的。这些成员函数是自动定义的,就StringBad而言,这些函数的行为与类设计不符。具体地说,C++自动提供了下面这些成员函数:1,默认构造函数,如果没有定义构造函数;2,默认析构函数,如果没有定义;3,复制构造函数,如果没有......
  • C/C++ 引用和指针的区别及使用场景
    C和C++中的引用(reference)和指针(pointer)都是用于间接访问变量的工具,但它们之间存在一些关键的区别和使用场景。一、什么是引用(Reference)?引用是只有在C++中才存在的概念,C语言是没有引用的。定义:引用是变量的别名,换句话说,就是为其起一个外号。一旦引用被初始化为一个变量,就......
  • C++学习笔记(8):指针
      指针的作用:指针保存数据的地址,可以通过指针间接访问内存。1.指针的定义和使用指针的定义语法:数据类型*指针变量名使用:*指针变量名,通过*操作指针指向内存,可以对内存中的数据进行访问和读写。示例:#include<iostream>usingnamespacestd;intmain(){ inta=......
  • 【C++小知识】为什么C语言不支持函数重载,而C++支持
    为什么C语言不支持函数重载,而C++支持编译链接过程函数名修饰过程总结在了解C++函数重载前,如果对文件的编译与链接不太了解。可以看看我之前的一篇文章,链接:文件的编译链接想要清楚为什么C语言不支持函数重载而C++支持,有俩个过程:1.编译链接。2.函数名修饰过程。编译......
  • c++ 运算符重载、线程安全实现单例
    一、运算符重载namespaceCalcRect{ structRect { Rect(intposX=0,intposY=0,intw=0,inth=0) { x=posX; y=posY; width=w; height=h; } voidoperator=(constRect&other) { x=other.x; y=other.y; width=ot......