首页 > 其他分享 >复习题

复习题

时间:2023-02-22 11:45:03浏览次数:36  
标签:main 答案 int namespace 复习题 && include

C++基础~for循环:选择,判断
HELLO,亲爱的小朋友!
我们准备 35个选择题,对for循环及之前的内容进行一个简单的复习,快来看一下吧!

顺序&选择结构

1、对于C++中变量的命名规则,下列说法正确的是( )。

(1)变量名中只能出现字母(A~Z,a~z)、数字(0~9)或者下划线。
(2)第一个字符不能是数字。
(3)不能是C++关键字,即C++中已经定义好的有特殊含义的单词。
(4)区分大小写。

A. 全部正确		B. 仅 1,2 正确		C. 4 错误		D. 1、3 错误

答案:A,C++中变量的命名规则就是上述4条,并且建议变量命名简单清晰,见名知意。

2、下列是合法变量名的是( )。

A. int		B. abcd		C. 1y	D. ab$3)

答案:B

3、关于变量的定义格式,以下错误的是( )。

A. int a;
B. char ch = "A";
C. float PI = 3.1415;
D. double PI = 3.1415926;

答案:B,定义单个字符使用单引号或者ASCII码,如:

char ch = 'A';
char ch = 65;

4、下列对于C++中常用数据类型的说法,错误的是( )。

A. int 的空间大小为 4 Byte(字节)。
B. char 的空间大小为 1 Byte。
C. double 的空间大小为 8 Byte,所以该类型最大值为2的63次方-1。
D. 1 Byte 等于 8 bit。

答案:C,在不同地程序语言中,数据类型的大小会有所不同,
甚至在C++中,同一种数据类型,但是不同的编译环境,其大小也会不同。
此处是以大众默认的规则为例:

sizeof(int) = 4 Byte
sizeof(char) = 1 Byte
sizeof(float) = 4 Byte
sizeof(double) = 8 Byte
sizeof(long long) = 8 Byte
1 Byte(字节) = 8 bit(比特位/二进制)

数据在内存中的存储最终是以二进制的形式保存,整数和小数是不同的转换形式。

整数,如 int a=7; // 7(十进制) = 00.. 0111(二进制)
整数的二进制中,第一位表示符号位,也就是正负,0表示正,1表示负,所以
int 范围的最大值 INT_MAX = 011..1111 (31位1) = \(2^{31}-1\)
int 范围的最大值 INT_MIN = 100..0000 (31位0) = \(-2^{31}\)
最小值是负数,负数是以补码的形式存储的。

小数,如 double a=3.14; // 3.14 = 0.314 × 10^1
// 内存存储按照32bit: 数符:0 + 小数部分:[21位0]+11 + 阶码:0000 0001
        符号位     阶码    尾数(小数部分)   长度
float     1        8      23      		 32
double    1       11      52     		 64

5、关于“return 0;” 说法正确的是( )。参考答案:A

A. 表示函数结束,正常返回一个数据 0。
B. 输出 “0”,不含双引号。
C. 直接终止所有程序,关闭软件。
D. 每个函数的结尾都必须有这条语句。

6、对于变量的输入输出格式,以下错误的是( )。

A. cin>>a;
B. cin>>a>>b>>c>>endl;
C. cout<<a<<b<<c<<endl;
D. cout<<a<<" "<<b<<" "<<c;

答案:B,输入不使用endl,修改 cin>>a>>b>>c;

7、如果想要使用输入和输出功能,C++需要引入下列哪个头文件( )参考答案:A

A. iostream
B. cmath
C. algorithm
D. iomanip

8、阅读程序,其输出结果为( )。答案:C

#include<iostream>
using namespace std;
int main() {
    int a=1, b=2, c=3;
    int d = a+b+c;
    cout<<a+b+c+d<<endl;
    return 0;
}

A. 3		B. 6		C. 12		D. 24

9、阅读程序,其输出结果为( )。答案:B

#include<iostream>
using namespace std;
int main() {
    char a = 'A';
    int b = 97;
    cout<<b-a<<endl;
    return 0;
}

A. 'a'		B. 32		C. '1'		D. 1

10、以下说法中,错误的是( )。答案:D

A. 使用数学函数需要导入头文件 <cmath>;
B. pow(3,4)是指 3*3*3*3;
C. sqrt(9) 是指 x*x=9 中 x 的正值,也称为算术平方根。
D. 程序中如果要取一个数 x 的绝对值,可以使用 |x|。

11、以下说法中,错误的是( )。答案:D

A. 自增运算符 ++a;的作用是 a=a+1;
B. 自减运算法 --a;的作用是 a=a-1;
C. 自增运算符 a++;的作用是 a=a+1;
D. ++a;与 a++; 的作用完全一样。

12、小明同学学习了三角形的面积公式,面积 =(底 × 高)/ 2;现在给定一个三角形的底为 3 米,高为 5 米。按照如下程序运行,其输出结果为( )。

#include<iostream>
using namespace std;
int main() {
    int a,b; cin>>a>>b;
    cout<<a*b/2<<endl;
    return 0;
}

A. 7.5		B. 7		C. 6		D. 8

答案:B,int 类型会自动取整。

13、阅读程序,其输出结果为( )。答案:C

#include<iostream>
using namespace std;
int main() {
    int a=65;
    char ch = a;
    cout<<ch<<" "<<a;
    return 0;
}

A. 65 65		B. a 65		C. A 65		D. A A

14、小明同学忘记了26个字母的顺序,现在想通过程序回忆字母 ‘m’ 的下一个字母是多少,但是他很忙,程序只写了一部分。请你来帮他填写一下剩余内容,你发现横线上的内容需要填写( )。答案:D

#include<iostream>
using namespace std;
    int main() {
    char ch='m';
    ___________
    cout<<ch;
    return 0;
}

A. ch+1;		B. ch-1;		C. ch=ch++;		D. ch++;

15、以下关系表达式写法错误的是( )。

A.大于等于:>=
B.小于:<
C.等于:==
D.不等于:≠

答案:D,数学上的写法和程序中的写法不能混淆。

16、表达式(5==6)的值是( )。答案:B

A. true			B. false		C. 1		D. 2

17、以下表达式结果为真的是( )。答案:D

A. (1+2)&&(3+4)&&0
B. 1>2 || 2>3
C. (4||5||0)&&0
D. pow(2,3)>=9 || 2>=abs(1-3)

18、在C++语言中,如果a = 1, b = 0, c = 1; 则表达式中为真的是(C)

A. (a && b) || (b && c)
B. a + b > c || b
C. !(!c && (!a || b))
D. !(a + b + c)

19、—次期末考试,某班有15人数学得满分,有12人语文得满分,并且有4 人语、数都是满分,那么这个班至少有一门得满分的同学有多少人?( )

A. 23		B. 21		C. 20		D. 22

答案:A

image-20230222110325726

20、“只要下雨,小明就一定带伞出门”,则下列说法中正确的是( )。答案:C

A. 只要不下雨,小明就一定不带伞出门
B. 只要小明带伞出门,则当天一定下雨
C. 即使小明带伞出门,也不一定下雨
D. 存在一个下雨天,小明出门没有带伞

21、小明家里有七扇门,编号分别为 1 到 7。最开始他的爸爸把所有门都打开,之后妈妈把所有编号为 2 的倍数的门作相反的处理(开着的门关上,关着的门打开),最后他自己将所有编号为 3 的倍数的方面作相反的处理,问共有几扇门是开着的?( )

A. 2		B. 3		C. 4		D. 5

答案:C
门的编号:1  2  3  4  5  6  7
   爸爸:1  1  1  1  1  1  1(1开0关)
   妈妈:1  0  1  0  1  0  1
     我:1  0  0  0  1  1  1

22、我们对闰年的定义是:年份能被4整除但不能被100整除或者年份能被400整除的称为闰年。那么下列选项中判断闰年的表达式正确的是( )。

A. if(year%400==0 && year%4==0 && year%100!=0) { ... }
B. if(year%400==0 || year%4==0 || year%100!=0) { ... }
C. if((year%400==0 || year%4==0) && year%100!=0) { ... }
D. if(year%400==0 || (year%4==0 && year%100!=0)) { ... }

答案:D, a 可以被 b 整除,也就是 a 除以 b 的余数为 0.==>if(a%b==0)

23、假设变量定义为“int a=1,b=0,c=0,d=1”,以下逻辑运算表达式为真的是( )。答案:C

A. a&&b
B. ((a&&b)||c)&&d
C. (b||c)||d
D. (a||d)&&(b||c)

24、用来判断两个值的大小关系的运算符的是( ) 。答案:D

A. 算术运算符
B. 逻辑运算符
C. 赋值运算符
D. 关系运算符

25、分析下列程序,输入 9、2,运行以后,输出的结果是( )。答案:A

#include <iostream>
using namespace std;
int main() {
    int a,b,c=0,d=0;
    cin>>a>>b;
    if(a > b) {
        c=a/b, d=a%b;
    } else {
        c=a, d=b;
    }
    cout<<c<<" "<<d<<endl;
    return 0;
}

A. 4 1		B. 9 2		C. 2 4		D. 4 2

26、分析下列程序,运行以后,输出的结果是( )。答案:B

#include <iostream>
using namespace std;
int main() {
    int i = 0;
    if(i < 0) {
        cout<<i++;
    } else {
        cout<<++i;
    }
    return 0;
}

A. 0		B. 1		C. 2		D. 3

循环结构
27、for循环的结构如下,下列选项中说法错误的是()。答案:A

for( 初始化变量; 循环条件; 循环变量增量 ) {
   语句1;
   语句2;
}
A. 初始化变量的执行次数与循环条件有关。
B. 循环条件是用来判断是否应该执行语句 1 和语句 2 的。
C. 循环变量增量在语句2执行结束后执行。
D. 初始化变量,循环条件,循环变量增量在程序中都可以省略。

28、在for语句中,跳出循环的条件是什么?()答案:B

A. 循环变量为0
B. 不满足循环条件
C. 满足循环条件
D. 有cout语句输出

29、请问以下程序结束的时候,i 等于多少()。答案:C

#include<iostream>
using namespace std;
int main() {
    int a=7, i;
    for(i=1; i<=a; i++) {
        cout<<i<<endl;
    }
    return 0;
}

A. 6		B. 7		C. 8		D. 1

30、请问以下的for语句中循环体的执行次数即 a 的输出次数()。C

#include<iostream>
using namespace std;
int main() {
    int a=1;
    for(int i=2; i<=9; i++) {
       cout<<a<<" ";
    }
    return 0;
}

A. 2	B. 7		C. 8	D. 9

31、请问当输入为 9 时,输出结果为( )。答案:B

#include<iostream>
using namespace std;
int main() {
    int n;  cin>>n;
    for(int i=2; i<=n; i+=2) {
        cout<<i<<" ";
    }
    return 0;
}

A.2 3 4 5 6 7 8 9
B.2 4 6 8
C.2 4 6 8 9
D.1 3 5 7 9

32、分析下列程序,运行以后,输入100,请问输出的结果是( )答案:D

#include<iostream>
using namespace std;
int main(  ) {
    int n,sum=0; cin>>n;
    for(int i = 0; i<=n; i++) {
        sum += 1;
    }
    cout<<sum;
    return 0;
}
A.0        B. 1        C. 100    	D. 101

33、分析下列程序,运行以后,输入100,请问输出的结果是( )。答案:C

#include<iostream>
using namespace std;
int main() {
    int n,sum=0; cin>>n;
    for(int i=0; i<=n; i++) {
        sum += i;
    }
    cout<<sum;
    return 0;
}

A.0        B. 1010        C. 5050        D. 5000

34、分析下列程序,运行以后,输入10,请问输出的结果是( )。答案:C

#include<iostream>
using namespace std;
int main() {
    int n,sum1=0,sum2=0;
    cin>>n;
    for(int i=1; i<=n; i++) {
        if(i%2!=0) sum1 += i;
        else sum2 += i;
    }
    cout<<sum1<<" "<<sum2<<endl;
    return 0;
}

A.0 10        B. 10 10        C. 25 30        D. 30 25

35、分析下列程序,运行以后,输入10,请问输出的结果是( )。答案:C

#include<iostream>
using namespace std;
int main() {
    int a=1,b=1,c,n;
    cin>>n;
    for(int i=1; i<=n; i++) {
        c = a+b;
        a = b;
        b = c;
    }
    cout<<a;
    return 0;
}

A.10        B. 88        C. 89        D. 101

标签:main,答案,int,namespace,复习题,&&,include
From: https://www.cnblogs.com/hellohebin/p/17136399.html

相关文章

  • 前端复习题记录
    异步操作有哪些?回调函数,事件监听,promise,ajax,async,setTimeout,GeneratorPromise是什么?Promise是异步编程的一种解决方案。从语法上讲,promise是一个对象,通过它可以......
  • Java程序设计基础复习题
    Java程序设计基础1-6一、Java语言概述1.Java语言有哪些特点?简单易学。Java去掉了C/C++语言支持的单个不易理解和掌握的数据类型(指针pointer、联合体unions、结构体stru......
  • 计算机网络复习题
    1.假定一台主机的IP地址是222.205.74.56,子网掩码为255.255.240.0,该子网地址为(B)。A.222.205.0.0B.222.205.64.0C.222.205.72.0D.222.205.74.0解析:直接相与即可得到答案2.......
  • 操作系统——期末复习题
    单选题1、在下列系统中,(B)是实时系统。A、计算机激光照排系统B、航空定票系统C、办公自动化系统D、计算机辅助设计系统2、在单一处理器上执行程序,多道程序的执行是......
  • 面向对象分析与设计——期末复习题
    选择题1、组成UML构造块三大要素为:(B)A、事物、元素、关系B、事物、关系、图形C、事物、组件、图形D、事物、图形、结构3、UML中的关系分为哪几种?(C......
  • 操作系统自测复习题01
    列出并简要定义计算机的主要4个部分定义处理寄存器的两种主要类型一般而言,一条机器指令能指定的4种不同操作是什么什么是中断多个中断的处理方式是什么内......