作业 考核 论文 答案联系 QQ:3064302332 微信:wxxygzs
南开23秋学期(仅限-高起专1909、专升本1909)《程序设计基础(上)》在线作业[标准答案]
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.设i,j,k都是变量,下面不正确的赋值表达式是( )。
A.i++
B.i=j=k
C.i=j==k
D.i+j=k
2.计算机内部采用的数制是( )。
A.二进制
B.八进制
C.十进制
D.十六进制
3.下列有关编译预处理命令的描述中,错误的是##。
A.编译预处理命令都是以“#”开头
B.编译预处理命令在编译之前进行处理
C.编译预处理命令“#define X 5+1”,会将程序中出现的X替换为6
D.编译预处理命令可以放在程序的开头、中间或末尾
4.自定义头文件中一般不包含##。
A.数据类型的定义
B.全局变量的定义
C.符号常量的定义
D.内联函数的定义
5.对于语句“ cout<<x<<endl;”错误的是描述是( )。
A.“cout”是一个输出流对象
B.“endl”的作用是输出回车换行
C.“x”是一个变量
D.“<<”称作提取运算符
6.指针函数是指##。
A.所有参数都为指针类型的函数
B.至少有一个参数为指针类型的函数
C.返回值为指针类型的函数
D.以上三种都是指针函数
7.已知“char s[][10]={"Microsoft","Visual","C++"};”,则语句“cout<<s[1][2];”会在屏幕上输出##。
A.s
B.i
C.c
D.icrosoft
8.二进制数10101011B变换为等值的十进制数是( )。
A.17
B.161
C.21
D.171
9.下面关于for循环的正确描述是##。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
10.十六进制数ABH 变换为等值的十进制数是( )。
A.17
B.161
C.21
D.171
11.已知“char s[]="南开大学";”,则数组s的长度为##。
A.4
B.5
C.8
D.9
12.计算机的存储器中,一个字节有( )个二进制位组成。
A.1
B.2
C.4
D.8
13.二进制数1001101011转换为等值的十六进制数是( )。
A.4651
B.1153
C.9AC
D.26B
14.在32位计算机系统中,已知“int a[2][3]; fun(a);”,fun函数的形参变量名为p,则在fun()函数体中通过sizeof(p)计算得到的结果为##。
A.4
B.6
C.12
D.24
15.已知“int a[10], *p=a;”,则以下各选项中对数组元素a[2]访问错误的是##。
A.*(a+2)
B.p[2]
C.*(p+2)
D.p+2
16.已知“char s[]="hello";”,则下面叙述中正确的是##。
A.数组s的长度为5
B.元素s[2]的值为'e'
C.使用“cin>>s;”可以将从键盘上键入的字符串保存在数组s中
D.使用“int t[]=s;”可以定义数组t、并用s中各元素的值初始化t中的各元素
17.下面数中最小的一个数是( )。
A.(11011001)2
B.75
C.(37)8
D.(2A)16
18.下列叙述中,正确的是##。
A.在一个函数的函数体中可以定义另一个函数,但不可以调用另一个函数
B.在一个函数的函数体中可以调用其他函数,但不能调用自己
C.在一个函数的函数体中既可以定义另一个函数,也可以调用另一个函数
D.在一个函数的函数体中既可以调用其他函数,也可以调用自己
19.已知x=3、y=5,则函数调用语句“fun(2*y-1,(++x,y))”中第2个实参的值为##。
A.9
B.3
C.4
D.5
20.已知“char s[]="university";”,则使用“cout<<s[3];”会在屏幕上输出##。
A.n
B.i
C.v
D.iversity
21.以下不正确的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++;}
22.计算机中存储数据的最小单位是( )。
A.字节
B.位
C.字
D.KB
23.已知程序段: 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
24.已知“char *s="mybook";”,则下列语句正确的是##。
A.strcpy(s,"hello");
B.strcat(s, "hello");
C.s="hello";
D.以上均不正确
25.已知“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 道试题,共 50 分)
26.*(+i)与[i]等价
27.对于有默认值的形参,如果在调用函数时给出了相应的实参,也会使用形参。
28.C++语言已预先解决了整型、浮点型、字符型和逻辑型等基本数据在计算机中如何表示、占用多少存储空间以及可以进行的操作等问题,程序员可以直接使用这些基本数据类型的数据来描述和处理自己的问题。
29.C++中的函数分为两类:一类是用户根据待求解问题的需要自己定义的函数;另一类是系统提供的标准函数,即库函数。
30.只能用枚举常量为枚举变量赋值。
31.为了能够识别字符串结束位置,C++系统会在字符串的末尾自动添加一个ASCII编码为00H的字符'\0'(也称空字符),作为字符串的结束符,所以每个字符串的存储长度总是比其实际长度(字符个数)多1。
32.break语句只能用在3种循环语句中。
33.在日常生活中完成一项较复杂的任务时,我们通常会将任务分解成若干个子任务,通过完成这些子任务逐步实现任务的整体目标。
34.switch语句中的default分支不可以缺省。
35.下面程序段不能实现求n!功能。 int i, p,n; cin>>n; for(i=1,p=1; i<=n; i++) p*=i;
36.引用的声明形式为: 数据类型 &引用名 = 变量名; “&”是取地址运算符、作用于引用名,表示紧随其后的是一个引用。
37.定义结构体类型时,结构体中的所有成员必须具有相同的数据类型。
38.下面程序段不能实现求n!功能。 int i, p,n; cin>>n; for(i=1; i<=n; i++) {p=1; p*=i; }
39.定义数组时,数组的数据类型必须是C++中基本数据类型
40.[X]补是一个正数还是一个负数,是根据[X]补的符号位是“0” 还是“1”确定的。
41.定义任何一个变量,系统都会为其分配一定大小的内存空间,访问变量实际上就是访问其所对应内存空间中的数据。
42.一个函数可以使用return返回多个结果,如语句“return a, b;”同时将a、b的值返回到函数调用处。
43.“cout<<"大家好!";”是输出语句,语句的中“<<”叫提取运算符,不能省略。
44.将浮点型赋值给整型时,转换后的值可能丢失小数部分,原来的值也可能超出目标类型的取值范围导致结果错误。
45.在循环语句的或部分必须有改变循环条件、使表达式最终成为假的语句,否则永远为真,造成无法退出循环,即所谓的“死循环”。
46.ASCII 码是一种字符编码,而汉字的各种输入方法也是一种字符编码。
47.具有不同作用域的变量可以同名。
48.在C++中,要对int型的一般数组进行访问,必须逐个元素进行。
49.自定义函数的函数声明,通常将一个源文件中定义的所有函数的函数声明放在一个对应的头文件中。
50.break语句位于多重循环的内循环中,则只能跳出它所在的内层循环。