C++基础复习题(笔试题)
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}\)
最小值是负数,负数是以补码的模式存储的。
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. iomanip8、浏览步调,其输出结果为( )。答案: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. 249、浏览步调,其输出结果为( )。答案: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. 110、以下说法中,舛错的是( )。答案:D
A. 运用数学函数须要导入头文件 <cmath>; B. pow(3,4)是指 3*3*3*3; C. sqrt(9) 是指 V*V=9 中 V 的正值,也称为算术平方根。 D. 步调中假如要与一个数 V 的绝对值,可以运用 |V|。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 A14、小明同学忘记了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. 217、以下表达式结果为实的是( )。答案: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
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 122、咱们对平年的界说是:年份能被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 226、阐明下列步调,运止以后,输出的结果是( )。答案: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
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. 130、请问以下的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. 931、请问当输入为 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 932、阐明下列步调,运止以后,输入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. 10133、阐明下列步调,运止以后,输入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. 500034、阐明下列步调,运止以后,输入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 2535、阐明下列步调,运止以后,输入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