24春学期(高起本:1709-2103、专升本/高起专:2003-2103)《程序设计基础(上)》在线作业-00002
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.已知程序段: 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
2.已知“int a[10], *p=a;”,则以下各选项中对数组元素a[2]访问错误的是##。
A.*(a+2)
B.p[2]
C.*(p+2)
D.p+2
3.下列表达式中的值为1是( )。
A.1-'0'
B.1-'\0'
C.'1'-0
D.'\0'-'0'
4.下面定义变量语句中,错误的是( )。
A.int x(10), y(10);
B.int x=y=10;
C.int x=10, y=10;
D.int x=10, y=x;
5.下面的描述,不正确的是##。
A.语句for(i=0;;i++)表示无限循环
B.语句for(;;)表示无限循环
C.语句for( )表示无限循环
D.while(1)表示无限循环
6.一个浮点法表示的数值由( )两部分组成。
A.指数和基数
B.尾数和小数
C.阶码和尾数
D.整数和小数
7.已知字母“a”的ASCII码是97,则字母“f”的ASCII码是( )。
A.100
B.101
C.102
D.103
8.表达式的70*43.6f+34数据类型是( )。
A.float
B.double
C.long double
D.错误的表达式
9.已知函数原型“void fun(const int &a);”,则下列fun()函数调用正确的是##。
A.int x=3; fun(x);
B.const int y=3; fun(y);
C.fun(3);
D.以上三种都正确
10.在C++中,函数体是由一对( )括起来的部分。
A.{、}
B.、[、]
C.
D.(、)
11.对于相同类型的指针变量,不能进行的运算是##
A.*
B.=
C.-
D.>
12.下列有关编译预处理命令的描述中,错误的是##。
A.编译预处理命令都是以“#”开头
B.编译预处理命令在编译之前进行处理
C.编译预处理命令“#define X 5+1”,会将程序中出现的X替换为6
D.编译预处理命令可以放在程序的开头、中间或末尾
13.表达式的100+43.6*'a'数据类型是( )。
A.float
B.double
C.long double
D.错误的表达式
14.以下不正确的if语句形式是##。
A.if(x>y);
B.if(x=0)x+=y;
C.if(X!=y)cin>>x
D.if(x<y) else cin>>y; { x++; y++;}
15.在C++中,与cin一起使用的提取运算符是( )。
A.<
B.>
C.<<
D.>>
16.已知函数调用“char str[2][10]={"abc", "def"}; fun(str);”,则下列给出的fun()函数原型中正确的是##。
A.void fun(char (*p)[2]);
B.void fun(char (*p)[10]);
C.void fun(char *p[2]);
D.void fun(char **p);
17.下面程序的输出结果为: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]
18.已知“char str[20]="mybook",*p=str+2;”则以下各选项中输出结果为"b"的是##。
A.cout<<p;
B.cout<<p[0];
C.cout<<str;
D.cout<<str+2;
19.二进制数 1011+1001=( )。
A.10l00
B.1010l
C.11010
D.10010
20.6位二进制数能表示的最大十进制数是( )。
A.32
B.31
C.64
D.63
21.下列个数值中,最大的数是( )。
A.7DH
B.(174)8
C.123
D.1111100B
22.一台微型计算机的内存容量为2G,指的是该微机的内存是2G个( )。
A.位
B.字
C.字节
D.块
23.默认形参值不可以是##。
A.局部变量
B.全局变量
C.静态全局变量
D.函数调用
24.已知“int a[2][3], b=fun(a);”,则fun()函数原型为##。
A.void fun(int (*p)[2]);
B.void fun(int (*p)[3]);
C.int fun(int (*p)[2]);
D.int fun(int (*p)[3]);
25.在C++中,表示一条语句结束的符号是( )。
A.[
B.//
C./*
D.;
二、判断题 (共 25 道试题,共 50 分)
26.在递归算法中,一个函数会直接或间接地调用自身来完成某个计算过程。
27.二维数组元素的和都是从0开始的。
28.计算机中可以直接处理十进制数。
29.while语句中的会至少被执行1次
30.如果x=10,那么while(x)与while(x==10)等价。
31.break语句位于多重循环的内循环中,则只能跳出它所在的内层循环。
32.已知“int a[]={1,2,3};”,则使用“cout<<a;”将在屏幕上输出“1 2 3”。
33.gets()函数与cin功能类似,但使用gets()函数时只有遇到换行符才表示一个字符串的结束,而使用cin时除了换行符,遇到空格或制表符也表示一个字符串的结束。
34.循环语句的循环体在逻辑上是一条语句,当一个循环体需要多条语句才能完成时,必需用花括号将他们括起来。
35.continue语句可以用在switch语句和3种循环语句中。
36.for语句中的会被循环执行多次
37.在多文件结构的程序中,某个源文件中定义的外部函数除了可以在该源文件中调用、还可以在其他源文件中调用。
38.if语句中的()不能缺少,只能是逻辑类型的表达式。
39.C++编译器总是将else与其前面最近的那个if匹配成一个if … else结构。
40.一个函数可以使用return返回多个结果,如语句“return a, b;”同时将a、b的值返回到函数调用处。
41.表达式“x+1>y-2”是算数表达式。
42.无值函数调用后能够作为操作数参与其他运算。
43.C++中的任何一个程序必须有且只能有一个主函数main。
44.函数的形参是全局变量,可以在程序的所有函数中访问。
45.用new动态分配内存时既可以使用常量也可以使用变量指定元素数目。
46.如果在某个函数的函数体中定义了一个静态局部变量,则该静态局部变量的生存期与函数体的执行期相同。
47.赋值表达式具有计算和赋值双重功能。
48.定义数组时,数组的数据类型必须是C++中基本数据类型
49.下面程序段不能实现求n!功能。 int i, p,n; cin>>n; for(i=1,p=1; i<=n; i++) p*=i;
50.将数组名作为函数实参,表示将数组首地址传递给函数,在函数中可以通过该首地址操作数组中的元素并更改元素的值。