22春学期(高起本1709-1803、全层次1809-2103)《程序设计基础(上)》在线作业-00002
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.已知“char s[][10]={"Microsoft","Visual","C++"};”,则语句“cout<<s[2];”会在屏幕上输出##。
A.i
B.c
C.Visual
D.C++
2.已知“int a=10, *p, *&rp=p; rp=&a;*p+=20;cout<<a;”,则输出为##。
A.10
B.20
C.30
D.程序有错误
3.已知“int a=5, b, *p=&a;”,则下列语句中正确的是##。
A.&b=a;
B.b=*p;
C.*p=&b;
D.b=p;
4.下列个数值中,最大的数是( )。
A.7DH
B.(174)8
C.123
D.1111100B
5.下面关于循环语句的叙述中,正确的是##。
A.for循环只能用于循环次数已知的情况
B.for循环与while循环一样,都是先执行循环体后判断条件
C.for循环体内不能出现while语句
D.无论哪种循环,都可以从循环体内转移到循环体外
6.已知函数原型“int fun(int, int);”,要定义一函数指针变量p使得“p=fun;”成立,则函数指针变量p的定义语句为##。
A.int (*p)(int, int);
B.int *p(int, int);
C.int *p[int, int];
D.以上选项都不对
7.已知fun()函数的函数原型为“void fun(int x, double y=3.5, char z='#');”,则下面的函数调用中,不合法的调用是##。
A.f(1);
B.f(2, 4.2);
C.f(3, 3.7, '*')
D.f(0, , '#')
8.如果需要一个变量只在某个函数中可以使用,且每次执行函数时都重新定义并初始化该变量,那么这个变量应定义为##。
A.局部变量
B.全局变量
C.静态局部变量
D.静态全局变量
9.已知“char s[]="university";”,则使用“cout<<s[3];”会在屏幕上输出##。
A.n
B.i
C.v
D.iversity
10.关于C++和C语言的描述中,错误的是( )。
A.C++是C语言的超集
B.C++对C语言进行了扩充
C.C++和C语言都是面向对象的程序设计语言
D.C++包含C语言的全部语法特征
11.下面程序的输出结果为:87,则横线处应填入( )。 #include using namespace std; struct Student { char num[8]; char name[10]; int score[3]; } stu[]={{"1210101","Zhangsan",{87,97,67}},{"1210102","Lisi",{92,86,79}}}; int main() { cout<<##; return 0; }
A.stu[1].score[1]
B.stu[0].score[0]
C.stu[1].score[0]
D.stu[0].score[1]
12.32位的计算机系统指的是计算机的( )是32位。
A.内存
B.硬盘
C.字长
D.位长
13.在C++中,要求操作数必须是整型的运算符是( )。
A.%
B.&&
C./
D.<=
14.二进制数1001101011转换为等值的八进制数是( )。
A.4651
B.1153
C.9AC
D.26B
15.C++源程序文件的扩展名是( )。
A.DLL
B.C
C.CPP
D.EXE
16.运算符优先级按由高到低顺序排列正确的是( )。
A.=,||,!=,%
B.=,%,||,!=
C.%,!=,||,=
D.||,!=,%,=
17.在访问二维数组中的某个元素时,不可以用##指定待访问元素的行下标或列下标。
A.整型常量
B.整型变量
C.整型表达式
D.浮点型常量
18.C++规定,else与##相匹配。
A.同一列的if
B.同一行上的if
C.之后最近的if
D.之前最近的if
19.在C++中,表示单行注释开始的符号是( )。
A.{
B.//
C./*
D.;
20.表达式的'0'+30的值为( )。
A.30
B.95
C.78
D.错误的表达式
21.已知x=3、y=5,则函数调用语句“fun(2*y-1,(++x,y))”中第2个实参的值为##。
A.9
B.3
C.4
D.5
22.已知“enum Color{Red, Green, Blue}; Color co;”,则下列语句正确的是##。
A.co=0;
B.co=Blue;
C.co=Green+1;
D.co++;
23.已知"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);
24.在C++中,函数原型声明中可以省略##。
A.函数类型
B.函数名
C.形参类型
D.形参名
25.C++语言对c语言做了很多改进,C++语言相对于C语言的最根本的变化是( )。
A.引进了类和对象的概念
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.增加了一些新的运算符
二、判断题 (共 25 道试题,共 50 分)
26.初始化列表只能在数组定义时使用。
27.全局变量和静态变量如果不进行初始化,系统会自动初始化为0。
28.函数的形参也是全局变量
29.已知“int a[][3]={{1,2,3},{4,5,6}};”,则二维数组a的行长为2。
30.已知“char s[][10]={"Microsoft","Visual","C++"};”,则使用“cout<<s[0];”会在屏幕上输出“Microsoft”。
31.已知函数原型“double fun();”,要定义一个函数指针变量p指向该函数的首地址,则其定义语句为“double (*p)()=fun;”。
32.一个C++程序至少且仅能包含一个main()函数。main()函数是整个程序的入口,通过在main()函数中调用其他函数
33.SP结构化程序设计方法也称面向过程的程序设计方法,反映了过程性编程的方法,根据执行的操作来设计一个程序。
34.定义数组时,数组的数据类型必须是C++中基本数据类型
35.已知p是一个int型指针变量,则语句“*p=10;”中的“*”是取内容运算符。
36.函数的默认形参值可以在两个位置指定:如果有函数声明,则应在函数声明处指定;否则,直接在函数定义中指定。
37.下面程序段不能实现求n!功能。 int i=1, p=1,n; cin>>n; while(i<=n) { p*=i; ++i; }
38.表达式“x+1>y-2”是算数表达式。
39.? 如果一个指针指向的内存空间中存储的是常量,则只能使用该指针获取内存空间中的数据,而不能使用该指针修改内存空间中的数据。
40.面对问题,需要找出解决问题的方法,我们把这种能够在有限的步骤内解决问题的过程和方法称为程序。
41.一个引用在初始化后,其所引用的对象可以改变。
42.如果在某个函数的函数体中定义了一个静态局部变量,则该静态局部变量的生存期与函数体的执行期相同。
43.计算机中用两个字节来存放一个汉字的编码。
44.只能用枚举常量为枚举变量赋值。
45.在定义函数重载时,函数名相同的函数形参列表也可以完全一样。
46.使用if…else语句可以处理多选择问题,不会因为嵌套层次太多而导致程序的可读性下降,也不容易出错。
47.已知“char s[10]="hello";”,则s[5]的值为'\0'。
48.如果结构体变量中的某个成员仍然是结构体类型的,则要对数据成员进行多层引用。
49.if else语句的测试条件表达式的类型可以是任意类型的表达式。
50.C++程序需要将数据放在内存单元中,变量名就是内存单元中数据的标识符,通过变量名来存储和访问相应的数据。