22春学期(高起本1709-1803、全层次1809-2103)《程序设计基础(上)》在线作业-00001
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.下面关于数组的描述中,错误的是##。
A.数组的长度必须在定义数组时指定,且数组中所有元素的数据类型必须相同
B.如果定义一维数组时提供了初始化列表,则数组的长度可以省略
C.如果定义二维数组时提供了初始化列表,则数组的列下标可以省略
D.如果定义二维数组时提供了初始化列表,则数组的行下标可以省略
2.下面关于for循环的正确描述是##。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
3.已知程序段: int a[3][4],*p[3]={a[0], a[1], a[2]},**pp=p,i; for (i=0; i<12; i++) a[i/4][i%4]=i; 则pp[1][2]的值是##。
A.3
B.4
C.5
D.6
4.在C++中,与cout一起使用的插入运算符是( )。
A.<
B.>
C.<<
D.>>
5.已知字母“a”的ASCII码是97,则字母“f”的ASCII码是( )。
A.100
B.101
C.102
D.103
6.变量x表示成绩,C++中表示0<=x<=100的表达式是()。
A.0<=x<=100
B.0<=x && x<=100
C.0<=x ! <=100
D.0<=x || x<=100
7.已知函数原型"void fun(int &a);",则下列关于fun函数的调用形式,正确的是##。
A.int x=3;fun(x);
B.const int y=3;fun(y);
C.fun(3);
D.以上三种都正确
8.关于C++和C语言的描述中,错误的是( )。
A.C++是C语言的超集
B.C++对C语言进行了扩充
C.C++和C语言都是面向对象的程序设计语言
D.C++包含C语言的全部语法特征
9.已知“int a=2, b=3, &r=a; r=b; r=5; cout<<a<<","<<b;”,则输出结果为##。
A.2,5
B.2,3
C.5,3
D.5,5
10.在C++中,函数体是由一对( )括起来的部分。
A.{、}
B.、[、]
C.
D.(、)
11.下列有关内联函数的描述中,错误的是##。
A.内联函数必须在定义处加上inline关键字,否则就是普通的函数
B.内联函数必须是一个小函数,不能包含循环、switch等语句
C.一个函数中如果包含循环、switch等语句,则将其定义为内联函数时编译器会报错
D.在编译程序时,系统会直接将调用内联函数的地方用内联函数中的语句体做等价替换,从而省去运行程序时函数调用所额外消耗的时间
12.默认形参值不可以是##。
A.局部变量
B.全局变量
C.静态全局变量
D.函数调用
13.已知函数原型“int fun(int, int);”,要定义一函数指针变量p使得“p=fun;”成立,则函数指针变量p的定义语句为##。
A.int (*p)(int, int);
B.int *p(int, int);
C.int *p[int, int];
D.以上选项都不对
14.已知x=3、y=5,则函数调用语句“fun(2*y-1,(++x,y))”中第2个实参的值为##。
A.9
B.3
C.4
D.5
15.二进制数10101011B变换为等值的十进制数是( )。
A.17
B.161
C.21
D.171
16.在C++中,与cin一起使用的提取运算符是( )。
A.<
B.>
C.<<
D.>>
17.二进制数1001101011转换为等值的八进制数是( )。
A.4651
B.1153
C.9AC
D.26B
18.下列有关编译预处理命令的描述中,错误的是##。
A.编译预处理命令都是以“#”开头
B.编译预处理命令在编译之前进行处理
C.编译预处理命令“#define X 5+1”,会将程序中出现的X替换为6
D.编译预处理命令可以放在程序的开头、中间或末尾
19.( )是将所设计的算法变成计算机能够运行的代码的过程。
A.算法
B.程序
C.程序设计
D.编程
20.已知函数原型“void fun(const int &a);”,则下列fun()函数调用正确的是##。
A.int x=3; fun(x);
B.const int y=3; fun(y);
C.fun(3);
D.以上三种都正确
21.已知“int a=10, *p, *&rp=p; rp=&a;*p+=20;cout<<a;”,则输出为##。
A.10
B.20
C.30
D.程序有错误
22.已知“char s[]="南开大学";”,则数组s的长度为##。
A.4
B.5
C.8
D.9
23.数组定义为 int a[2][3]={1,2,3,4,5,6},可以使用##访问值为3的数组元素。
A.a[2]
B.a[0][2]
C.a[3]
D.a[1][3]
24.已知“char s[][10]={"Microsoft","Visual","C++"};”,则语句“cout<<s[1][2];”会在屏幕上输出##。
A.s
B.i
C.c
D.icrosoft
25.已知“int *p; fun(p);”,其中,函数fun没有返回值,且其形参定义为引用调用方式,则下列给出的fun函数原型中正确的是##。
A.void fun(int a[]);
B.void fun(int *&a);
C.void fun(int &a[]);
D.void fun(int &*a);
二、判断题 (共 25 道试题,共 50 分)
26.初始化列表只能在数组定义时使用。
27.在程序运行过程中,一个静态局部变量最多只被定义和初始化一次。
28.已知“int a[]={1,2,3};”,则使用“cout<<a;”将在屏幕上输出“1 2 3”。
29.关系表达式值的数据类型为逻辑型。
30.只能用枚举常量为枚举变量赋值。
31.已知“int a[][3]={{1,2,3},{4,5,6}};”,则二维数组a的行长为2。
32.已知“char s[][10]={"Microsoft","Visual","C++"};”,则使用“cout<<s[1];”会在屏幕上输出“Microsoft”。
33.用C++表示数学表达式“0<=x<=100 ”的形式是“0<=x<=100”。
34.已知“int a[]={1,2,3}; const int *p=a;”,则语句“*p=5;”会将元素a[0]的值赋为5
35.for语句中的会被循环执行多次
36.不考虑溢出情况,下面语句不是“死循环”。 int a=3379; while(a++%2+3%2) a++;
37.在定义函数时,函数类型声明为void类型,表示该函数是有值函数。
38.函数返回的指针可以是全局变量、静态全局变量或静态局部变量的地址,但不可以是局部变量的地址。
39.C++程序需要将数据放在内存单元中,变量名就是内存单元中数据的标识符,通过变量名来存储和访问相应的数据。
40.在C++中,要对int型的一般数组进行访问,必须逐个元素进行。
41.在对表达式求值的过程中,C++会将操作数全部转换成同一个数据类型之后,再进行计算。
42.在定义一维数组的同时可以使用初始化列表对数组中的多个元素赋初值。
43.char str[] = {'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\0'}; 和 char str[] = "Hello world!"; 两种定义形式不等价。
44.面对问题,需要找出解决问题的方法,我们把这种能够在有限的步骤内解决问题的过程和方法称为程序。
45.? 如果不加限制地使用goto语句,则会导致程序流程的混乱,降低程序的可读性
46.在定义数组时可以使用整型变量指定数组长度,但要求整型变量的值为大于0的整数。
47.continue语句可以用在switch语句和3种循环语句中。
48.已知“char str[]="my";”,则执行“strcat(str, "book");”后,str中保存的字符串为"mybook"。
49.do…while语句与while语句不一样,它首先执行,然后执行。
50.已知“char s[][10]={"Microsoft","Visual","C++"};”,则使用“cout<<s[0];”会在屏幕上输出“Microsoft”。
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777