可做奥鹏各院校作业、国开形考作业、在线作业、离线作业、毕业论文,
微信:wxxygzs
南开21秋学期(1709、1803、1809、1903、1909、2003、2009、2103、2109)《程序设计基础(上)》在线作业
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.在C++中,函数体是由一对( )括起来的部分。
A.{、}
B.、[、]
C.
D.(、)
2.下面关于break语句的描述中,不正确的是##。
A.break语句用于if语句中将退出该if语句
B.break语句用于循环体内将退出该循环
C.break语句用于switch语句中将退出该switch语句
D.break语句在一个循环体内可以多次出现
3.在访问二维数组中的某个元素时,不可以用##指定待访问元素的行下标或列下标。
A.整型常量
B.整型变量
C.整型表达式
D.浮点型常量
4.已知“char a[]="abcd”,*p=a+2;",则语句“cout<<p;”会在屏幕上输出##。
A.bcd
B.c
C.cd
D.d
5.下列有关文件包含的描述中,错误的是##。
A.#include后面指定包含的文件可以是系统的头文件
B.#include后面指定包含的文件可以是自定义的头文件
C.如果包含的头文件名用尖括号括起,则会先在当前工作目录下搜索头文件
D.如果包含的头文件名用双引号括起,则会先在当前工作目录下搜索头文件
6.C++源程序文件的扩展名是( )。
A.DLL
B.C
C.CPP
D.EXE
7.对于语句“ cout<<x<<endl;”错误的是描述是( )。
A.“cout”是一个输出流对象
B.“endl”的作用是输出回车换行
C.“x”是一个变量
D.“<<”称作提取运算符
8.有关函数的形参和实参的描述,错误的是##。
A.函数调用时传入的参数称为实参
B.函数定义时给出的参数称为形参
C.形参和实参可以同名
D.在函数体中修改形参,则相应实参的值也会改变
9.已知程序段: 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
10.指针函数是指##。
A.所有参数都为指针类型的函数
B.至少有一个参数为指针类型的函数
C.返回值为指针类型的函数
D.以上三种都是指针函数
11.以下不正确的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++;}
12.计算机中存储数据的最小单位是( )。
A.字节
B.位
C.字
D.KB
13.关于C++和C语言的描述中,错误的是( )。
A.C++是C语言的超集
B.C++对C语言进行了扩充
C.C++和C语言都是面向对象的程序设计语言
D.C++包含C语言的全部语法特征
14.下面说法中正确的是( )。
A.空语句就是一个空行
B.空语句是什么也不输出的语句
C.复合语句就是多条语句
D.复合语句逻辑上是一条语句
15.已知“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
16.在访问数组中的某个元素时,不可以用##指定待访问元素的下标。
A.浮点型常量
B.整型变量
C.整型表达式
D.整型常量
17.与十进制数230等值的十六进制数是( )。
A.E6
B.F6
C.E2
D.F2
18.下面定义的一维字符型数组中,存储的数据不是字符串的为##。
A.char s[]="abc";
B.char s[]={'a', 'b', 'c', '\0'};
C.char s[]={'a', 'b', 'c'};
D.char s[20]="abc";
19.下列有关编译预处理命令的描述中,错误的是##。
A.编译预处理命令都是以“#”开头
B.编译预处理命令在编译之前进行处理
C.编译预处理命令“#define X 5+1”,会将程序中出现的X替换为6
D.编译预处理命令可以放在程序的开头、中间或末尾
20.已知“char *s="mybook";”,则strlen(s)的值为##。
A.4
B.6
C.7
D.不确定
21.在C++中,函数原型声明中可以省略##。
A.函数类型
B.函数名
C.形参类型
D.形参名
22.运算符优先级按由高到低顺序排列正确的是( )。
A.=,||,!=,%
B.=,%,||,!=
C.%,!=,||,=
D.||,!=,%,=
23.下面关于c++语言的描述错误的是( )
A.C++语言支持数据封装
B.C++语言中引入友元没有破坏封装性
C.C++语言允许函数名和运算符重载
D.C++语言支持动态联编
24.已知“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中的各元素
25.在一个非零的二进制数后增加一个0后的数是原来的( )倍。
A.1倍
B.2倍
C.3倍
D.4倍
二、判断题 (共 25 道试题,共 50 分)
26.如果在某个函数的函数体中定义了一个静态局部变量,则该静态局部变量的生存期与函数体的执行期相同。
27.语句“int &r=10;”在编译时会报错。
28.C++编译器总是将else与其前面最近的那个if匹配成一个if … else结构。
29.gets()函数与cin功能类似,但使用gets()函数时只有遇到换行符才表示一个字符串的结束,而使用cin时除了换行符,遇到空格或制表符也表示一个字符串的结束。
30.负数的补码就是原码逐位取反后的结果。
31.只有带返回值的函数调用才能作为操作数参与其他运算。
32.int *p1, p2; 则表示定义了两个指针变量p1和p2。
33.ASCII 码是一种字符编码,而汉字的各种输入方法也是一种字符编码。
34.二维数组元素的和都是从0开始的。
35.已知“char s[][10]={"Microsoft","Visual","C++"};”,则使用“cout<<s[1];”会在屏幕上输出“Microsoft”。
36.已知“int a[3];”,则可以使用“a[2]=10;”将数组a中的第3个元素赋值为10。
37.已知“char s[10]="hello";”,则s[4]的值为'l'。
38.函数的函数头包括和。
39.while和do while 语句没有任何区别
40.一维数组中的所有元素必须具有相同的数据类型。
41.一个引用在初始化后,其所引用的对象可以改变。
42.定义结构体类型时,结构体中的所有成员必须具有相同的数据类型。
43.不考虑溢出情况,下面语句不是“死循环”。 int k=100; while(1) { k=k%100+1; if( k==20) break; }
44.已知“char s[]="hello";”,则使用“cout<<s[3];”可以在屏幕上输出“llo”
45.if else语句的测试条件表达式的类型可以是任意类型的表达式。
46.函数的形参是全局变量,可以在程序的所有函数中访问。
47.无参宏定义和条件编译结合使用可以解决头文件重复包含问题。
48.已知“char a[]="abc";”,则数组a的长度为3。
49.算数表达式“12+'a'”值的数据类型是char型。
50.if语句中的()可以是任意类型的表达式。