19秋(1709、1803、1809、1903、1909)《程序设计基础(上)》在线作业-0001
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.下面的循环体执行的次数与其它不同的是##。
A.i = 0; while( ++i <= 100) { cout<< i << ” “; }
B.for( i = 0; i < 100; i++ ) { cout << i << ” “; }
C.for( i = 100; i >= 1; i– ) { cout << i << ” “; }
D.i = 100; do { cout 0);
2.已知“char *s=”mybook”;”,则strlen(s)的值为##。
A.4
B.6
C.7
D.不确定
3.C++源程序文件的扩展名是( )。
A.DLL
B.C
C.CPP
D.EXE
4.已知“char s[][10]={“Microsoft”,”Visual”,”C++”};”,则语句“cout<<s[1][2];”会在屏幕上输出##。
A.s
B.i
C.c
D.icrosoft
5.数组定义为 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]
6.二进制数1001101011转换为等值的八进制数是( )。
A.4651
B.1153
C.9AC
D.26B
7.在计算机中采用二进制,是由于( )。
A.硬件成本低
B.系统稳定
C.运算简单
D.上述3个原因
8.已知程序段: 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
9.下列函数原型中,错误的是##。
A.int fun(int, int);
B.void fun(int x,y);
C.int fun(int x, int y);
D.void fun();
10.下面关于数组的描述中,错误的是##。
A.数组的长度必须在定义数组时指定,且数组中所有元素的数据类型必须相同
B.如果定义一维数组时提供了初始化列表,则数组的长度可以省略
C.如果定义二维数组时提供了初始化列表,则数组的列下标可以省略
D.如果定义二维数组时提供了初始化列表,则数组的行下标可以省略
11.如果需要一个变量来记录函数的调用次数,那么这个变量不能定义为##。
A.局部变量
B.全局变量
C.静态局部变量
D.静态全局变量
12.关于C++和C语言的描述中,错误的是( )。
A.C++是C语言的超集
B.C++对C语言进行了扩充
C.C++和C语言都是面向对象的程序设计语言
D.C++包含C语言的全部语法特征
13.已知“int a[]={1,2,3,4,5};”,则下面叙述中正确的是##。
A.数组a的长度为5
B.元素a[1]的值为1
C.使用“cin>>a;”可以将从键盘上键入的整数保存在数组a中
D.使用“int b[5]=a;”可以定义数组,并用a中各元素的值初始化b中的各元素
14.计算机唯一可以读懂的语言就是计算机的指令,叫做机器语言,被称为( )程序设计语言。
A.低级
B.中级
C.高级
D.特级
15.在C++中,与cout一起使用的插入运算符是( )。
A.<
B.>
C.<<
D.>>
16.C++中常量123默认的数据类型是( )。
A.int
B.float
C.double
D.long double
17.设i,j,k都是变量,下面不正确的赋值表达式是( )。
A.i++
B.i=j=k
C.i=j==k
D.i+j=k
18.一个浮点法表示的数值由( )两部分组成。
A.指数和基数
B.尾数和小数
C.阶码和尾数
D.整数和小数
19.已知”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);
20.下列无符号数中最大的是( )。
A.101
B.(66)16
C.(145)8
D.(01100101)2
21.已知“char s[]=”university”;”,则使用“cout<<s[3];”会在屏幕上输出##。
A.n
B.i
C.v
D.iversity
22.C++中,常量99.78默认的数据类型是( )。
A.int
B.float
C.double
D.long double
23.已知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, , ‘#’)
24.已知函数定义“void fun(int &a, int b) { b++; a++;}”,则执行“int x=2,y=3; fun(x,y);”后,变量x、y的值分别为##。
A.2,3
B.3,4
C.2,4
D.3,3
25.有关函数的形参和实参的描述,错误的是##。
A.函数调用时传入的参数称为实参
B.函数定义时给出的参数称为形参
C.形参和实参可以同名
D.在函数体中修改形参,则相应实参的值也会改变
二、判断题 (共 25 道试题,共 50 分)
26.关系表达式值的数据类型为逻辑型。
27.已知“int a[]={1,2,3}; const int *p=a;”,则语句“*p=5;”会将元素a[0]的值赋为5
28.continue语句可以用在switch语句和3种循环语句中。
29.[X]补是一个正数还是一个负数,是根据[X]补的符号位是“0” 还是“1”确定的。
30.返回引用的函数中return后面可以是一个全局变量、静态全局变量或静态局部变量,但不可以是局部变量。
31.C++中一维数组元素的从1开始。
32.已知“char s[10]=”hello”;”,则s[4]的值为’l’。
33.如果结构体变量中的某个成员仍然是结构体类型的,则要对数据成员进行多层引用。
34.全局变量和静态变量如果不进行初始化,系统会自动初始化为0。
35.在定义函数时,函数类型声明为void类型,表示该函数是有值函数。
36.如果x=10,那么while(x)与while(x==10)等价。
37.一个C++程序由一个main()函数构成。
38.在C++中,如果在函数调用之后再进行函数定义的话,就需要在调用之前给出函数原型。
39.C++中的任何一条语句以分号“;”结束。
40.一个C++程序至少且仅能包含一个main()函数。main()函数是整个程序的入口,通过在main()函数中调用其他函数
41.for语句中的会被循环执行多次
42.二维数组元素的和都是从0开始的。
43.数据类型的定义,如结构体、枚举等类型的定义等一般放在用户自定义的头文件中。
44.语句for(i=0;;i++)和for(;;)都表示一次也不循环。
45.对于二维数据的存储问题,只能使用C++提供的二维数组。
46.在递归算法中,一个函数会直接或间接地调用自身来完成某个计算过程。
47.函数的函数体需要用一对花括号“{}”括起来。
48.具有不同作用域的变量可以同名,在访问时优先访问具有较小作用域的变量。
49.已知“char str[]=”my”;”,则执行“strcat(str, “book”);”后,str中保存的字符串为”mybook”。
50.不考虑溢出情况,下面的语句,不是“死循环”。 int i=0; do { ++i; }while(i>=0);