沈阳师范大学C++ pta第2章 C++程序设计基础
判断题
1.可以将结构体变量作为一个整体进行输入或输出。 — — — F
2.C++的运算符按照其操作数的个数可将运算符分为单目运算符和双目运算符。 — — — F
3.定义变量int i; 然后对变量i进行强制类型转换运算:double(i); 运算结束后,变量i的类型转换为double类型。 — — — F
4.swich case语句中,case分支中的语句可以是多个语句且不需要大括号。 — — — T
5.do-while循环的循环体,其最少执行次数为1次。— — — T
6.continue语句的作用是结束本次循环,接着开始判断决定是否继续执行下一次循环。— — — T
7.switch case语句中,case语句后的表达式可以是变量。— — — F
8.判断数组声明及初始化语句 char str[]={‘H’,‘e’,‘l’,‘l’,‘o’};是否正确。— — — T
9.while语句后的表达式在值为true的时候会执行语句。— — — T
10.符号常量在定义时一定要初始化。— — — T
11.表达式 a=0 || sizeof(int) 的值为false。— — — F
12.以下程序可以实现求10以内所有正奇数之和。— — — F
int sum = 0;
for (int i = 1; i != 10; i+=2) sum+=i;
13.判断数组声明及初始化语句 int array [5]={1,2, ,4,5};是否正确。— — — F
14.前置自增运算符与后置自增运算符的区别在于前者对操作数是“先加后用”,后者是“先用后加”。— — — T
15.逻辑运算的短路特性,是指当第一个操作数满足某种条件后,就不会再执行第二个操作数的运算。— — — T
单选题
下列程序计算1+2+3+…+9,请补充代码()。
int sum = 0;
for(int i = 1; i != 10; ___)
sum += i;
A.i=+1 B.i++
C.i-- D.–i
以下属于算术运算符的是()。
A.%
B.|| C.^ D.=
如果要求在if后一对括号中的表达式在表示a 不等于 0 的时候的值为“真”,则能正确表示这一关系的表达式为( )。
A.a<>0 B.!a C.a=0 D.a
以下( )for语句是不能编译的?
A.for(i=0; j=0; i<10; i++ );
B.for(i=0; i<10, j<10; i++);
C.for(i=0; i<10; i–); D.for(i=0; j<10; j++);
下列标识符中都是合法的是( )
A._key, example, a_b
B.INL, _paper, union
C.5ap, test1, _3a D.bcp, @mail, _c_d
C语言中下列叙述正确的是______。
A.不能使用do-while语句构成循环
B.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
C.do-while语句构成的循环,必须用break语句才能退出
D.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
如果变量 x、y 已经正确定义,下列哪个选项的语句不能正确将x、y的值进行交换?
A.x=t, t=y, y=x;
B.t=y, y=x, x=t;
C.x=x+y, y=x-y, x=x-y;
D.t=x, x=y; y=t;
下列正确定义整型变量a、b和c并为其赋初值为10的语句是()。
A.int a=10;b=10;c=10;
B.int a=b=c=10;
C.int a=10,b=10,c=10;
D.int a,b,c=10
以下( )循环并非重复5次?
A.int i;
for (i=1; i<6; i++) {}
B.int i;
for (i=0; i<5; i++) {}
C.int i;
for (i=0; i<=5; i++) {}
D.int i;
for (i=1; i<=5; i++) {}
下列程序的循环次数是( )。
int i=0;
while(i<100)
{ if(i<1)
continue;
if(i==3)
break;
i++;
}
A.1 B.2 C.3 D.死循环
在C++语言中,自定义的标识符( )
A.能使用关键字并且区分大小写
B.不能使用关键字并且区分大小写
C.不能使用关键字并且不区分大小写
D.能使用关键字并且不区分大小写
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是
for (i = 5; i; i–)
for (j = 0; j < 4; j++) {…}
A.25 B.30 C.20
D.24
在int a[ ][3] = { {1,4}, {3,2}, {4,5,6}, {0} };中,a[2][1]的值是( )。
A.0 B.5
C.2 D.6
若已定义: int a[9], *p=a;并在以后的语句中未改变 p 的值,不能表示 a[1] 地址的表达式是( )。
A.a++
B.a+1 C.p+1 D.++p
逻辑运算符两侧运算对象的数据类型( )。
A.只能是 0 或非 0 正数
B.只能是整型或字符型的数据
C.可以是任何类型的数据
D.只能是 0 或 1
下列程序段或语法错误,或执行后s值为____。
int i=5, s=0;
do
if (i%2) continue;
else s+=i;
while (–i);
A.9 B.6
C.15 D.语法错误
在下列选项中,没有构成死循环的程序段是( )。
A.int i=100; while (1) { i=i%100+1; if(i>100) break; }
B.for ( ; ;);
C.int k=1000; do {++k;}while (k>=10000);
D.int s=36; while (s) ;–s;
以下字符串可以作为标识符的是()。
A.int B.123 C._
D.C++
结构化程序设计的基本结构不包含( )。
A.顺序 B.跳转
C.选择 D.循环
下面不是C++中整型常量的是()。
A.02 B.0XAF C.08
D.0
以下数组定义中,不正确的是()。
A.int d[][3]={
{1},{1,2},{1,2,3}};
B.int c[10][10]={0};
C.int a[2][3];
D.int b[3][]={0,1,2,3};
下面的这个循环的循环次数是( )。
for(int i=0,j=10; i=j=10; i++,j–)
A.10 B.无限次
C.1 D.语法错误,不能执行
一下描述正确的是
A.do_while循环中,根据情况可以省略while
B.while,do_while,for循环中的循环体语句都至少被执行一次
C.while循环体中,一定要有能使while后面表达式变为假的操作
D.do_while语句中while(表达式)后面的分号可以省略
假设变量s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0),则与以下程序段功能等价的赋值语句是()。
s = a; for(b = 1; b <= c; b++)
s = s + 1;
A.s = a + b;
B.s = b + c;
C.s = s + c;
D.s = a + c;
当执行以下程序段时。
x=-1; do {x=x*x;} while (!x);
A.循环体将执行一次
B.循环体将执行两次
C.环体将执行无数多次
D.系统将提示有语法错误
以下代码,语法正确的是:
A.for( ; ; ) ;
B.while ( ) ; C.do { } while( ); D.for( ) ;
下列符号中能够用作C++自定义标识符的是()。
A._ab
B.2ab C.-ab D.if
设x和y均为bool量,则x || y为假的条件是()。
A.它们均为假
B.其中一个为真
C.它们均为真
D.其中一个为假
为了避免嵌套的 if … else 语句的二义性, C 语言规定 else 总是与 __ 组成配对关系。
A.在其之前未配对的 if
B.同一行上的 if
C.在其之前未配对的最近的 if
D.缩排位置相同的 if
下列符号中可以用作 C++标识符的是
A._radius
B.3room C.foo~bar D.else
以下正确的描述是( )。
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时, 只能使用continue语句
下列程序段中while循环体执行的次数是()。
int k=0 ;
while(k=1) k++;
A.一次也不执行 B.有语法错误,不能执行 C.无限次
执行语句for(i=1;i<4;i++ );后变量i的值是( )。
A.3 B.5 C.不定 D.4
按照标识符的要求,( )不能组成标识符。
A.大小写字母 B.连接符
C.下划线 D.数字字符
以下叙述正确的是()。
A.用 do-while 语句构成的循环,在 while 后的表达 式为true时结束循环
B.do-while 语句构成的循环不能用其它语句构成的循环来代替
C.do-while 语句构成的循环只能用 break 语句退出
D.用 do-while 语句构成的循环,在 while 后的表达 式为false时结束循环
执行以下的程序片段,将输出几个数字?
for(i=0;i<3;i++);
cout<<i;
A.2 B.3 C.0 D.1
执行以下循环语句时,下列说法正确的是()。
x = -1;
do {
x = x * x;
} while (x == 0);
A.循环体将执行两次
B.循环体将执行一次
C.循环体将执行无限次
D.系统将提示有语法错误
设有程序段:
int k=10;
while(k=0) k=k-1;
这下面描述中正确的是( )。
A.循环体语句执行一次
B.循环体语句一次也不执行
C.循环是无限循环
D.while循环执行10次
执行下列语句后,输出结果是()。
int a=0;
cout<<(a=4+5,a +5),a+25;
A.14
B.39 C.24 D.9
设有程序段
int m=20; while (m=0) m=m++;
则下面描述中正确的是( )。
A.循环体语句执行一次
B.循环是无限循环
C.while 循环执行 10 次
D.循环体语句一次也不执行
下列变量名中,合法的是( )
A.A+a B.CHINA
C.byte-size D.double
在下列给出的表达式中,与while(E)中的(E)不等价的表达式是
A.(E==0)
B.(!E==0) C.(E!=0) D.(E>0 || E<0)
x && y 为真的条件是( )。
A.x 和 y 均为假
B.x 和 y 均为真
C.x 和 y 有一个为真
D.x 和 y 有一个为假
关于标识符下列关于标识符的叙述中,▁▁▁▁▁ 是错误的。
A.用户所定义的标识符应尽量做到“见名知义”
B.用户所定义的标识符中,大、小写字母代表不同的标识
C.用户所定义的标识符允许使用关键字
D.用户所定义的标识符必须以字母或下划线打头
下列程序段执行后s值为__。
int i=5, s=0;
while(i–)
if (i%2) continue;
else s+=i;
A.15 B.9 C.10 D.6
以下的 for 循环次数是多少:
int x,y;
for(x=0,y=0;(y!=123)|| (x<4);x++) ;
A.循环次数不定 B.执行 4 次 C.执行 3 次 D.是无限循环
关于结构化程序设计 结构程序设计的三种结构是 ▁▁▁▁▁。
A.多分支结构、赋值结构、等价结构
B.分支结构、等价结构、循环结构
C.顺序结构、选择结构、循环结构
D.顺序结构、选择结构、转移结构
下列程序的运行结果是()。
int i;
for(i