计算机编程 知到智慧树答案2024 z12641
第一章 单元测试
1、
有定义 int a=9,b=6,c; 执行语句 c=a/b+0.5;后,c 的值为 ( )。
A:1.4
B:2.0
C:1
D:2
答案: 1
2、
C++语言源代码文件扩展名为( )。
A:.obj
B:.exe
C:.cpp
D:.c++
答案: .cpp
3、
以下用户标识符中,合法的是( )。
A:Int
B:%123
C:Ling@li
D:moon
答案: moon
4、
int x=10,y=5;则表达式x+=x*=y+8的值为( )。
A:230
B:260
C:150
D:130
答案: 260
5、
5、有定义 int a=9,b=6,c; 执行语句 c=a/b+0.5;后,c 的值为 ( )。
A:1.4
B:2
C:2.0
D:1
答案: 1
6、
以下标识符中,不能作为合法的 C++用户定义标识符的是( )。
A:signed
B:answer
C:to
D:_if
答案: signed
7、
下列字符串中可以用作 C++标识符的是( )。
A:delete
B:_256
C:5char
D:class
答案: _256
8、
下列 C++标点符号中表示一条预处理命令开始的是( )。
A://
B:}
C:;
D:#
答案: #
9、
9、以下程序的运行结果是( )。
main() { int a,b,d=241; a=d/100%9;
b=(-1)&&(-1); cout<<a<<”,”<<b;}
A:6,1
B:2,1
C:6,0
D:2,0
答案: 2,1
10、
语句while(!E); 中的表达式 !E等价于( )
A:E!=0
B:E!=1
C:E==0
D:E==1
答案: E==0
11、
下面程序段的运行结果是:( )。
int a=1;b=2;c=2;
while (a<b<c){t=a;a=b;b=t;c–;}cout<<a<<”,”<<b<<”,”<<c;
A:2,1,0
B:1,2,0
C:1,2,1
D: 2,1,1
答案: 1,2,0
12、
设有程序段: int x=0,s=0;while(!x!=0) s+=++x;cout<<s;输出( )。
A:运行程序段后输出1
B:程序段执行无限次
C:运行程序段后输出0
D:程序段中的控制表达式是非法的
答案: 运行程序段后输出1
13、
以下程序的正确运行结果是(
)。
#include<stdio.h> void num() { extern int x,y; int a=15,b=10; x=a-b; y=a+b; } int x,y; void main() { int a=7,b=5; x=a+b; y=a-b; num(); cout<<x<<”,”<<y<<endl; }
A:不确定
B:12,2
C:1,12
D:5,25
答案: 5,25
14、
已知: int m=5;下列表示引用的方法中,正确的是:( )。
A:int &Z;
B:int &X=m;
C:float &f=&m;
D:int &t=5;
答案: int &X=m;
15、
C++语言源程序的基本单位是( )。
A:子程序
B:标识符
C:函数
D:过程
答案: 函数
16、
下面程序段的输出结果是( ) 。
char a[7]=”abcdef”;
char b[4]=”ABC”;strcpy(a,b);cout<<a;
A:e
B:f
C:b
D:
答案: f
17、
下面程序段的输出结果是( ) 。
char c[ ]=”tv\willn”;cout<<strlen(c);
A:6
B:14
C:9
D:3
答案: 3
第二章 单元测试
1、
结构化程序设计所规定的三种基本控制结构是:( ) 。
A:顺序、选择、循环
B:树形、网形、环形
C:主程序、子程序、函数
D:输入、处理、输出
答案: 顺序、选择、循环
2、
下面程序的输出结果是( )。
main ( )
{ char str[ ]=”SSWLIA” , C; int k; for (k=2;(c=str[k])!=’’;k++) { switch (c) { case ‘I’ : ++k; break ; case ‘L’: continue; default : putchar(c) ; continue ; } putchar(‘*’); }}
A:W*
B:W
C:W*A
D:SW
答案: W*
3、
C++语言中,while和do-while循环的主要区别是:( )。
A:
do-while的循环体至少无条件执行一次
B:
while 的循环控制条件比do-while的循环控制条件严格
C:
do-while 允许从外部转到循环体内
D:
do-while的循环体不能是复合语句
答案:
do-while的循环体至少无条件执行一次
4、
下面程序段执行完后,x 的值是( )。
int x=0; for(int i=0;i<90;i++) if(i) x++;
A:89
B:0
C:90
D:30
答案: 90
5、
以下关于 do-while 循环的不正确描述是( )。
A:do-while 的循环体可以是复合语句
B:do-while 循环由 do 开始,至 while 结束,在 while(表达式)后面不能写分号
C:do-while 的循环体至少执行一次
D:在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零(“ 假”)) 的操作
答案: do-while 循环由 do 开始,至 while 结束,在 while(表达式)后面不能写分号
6、
运行下面程序,程序运行结果是( )。 #include <iostream> using namespace std; int main() { static int a[4]={7,8,9},b[4]={4,5,6},c[4],i; for(i=0;i<3;i++) c[i]=a[i]+b[i]; cout<<c[i]<<” “; cout<<endl; return 0; }
(
A:11 13 15
B:0
C:11 13
D:15
答案: 0
7、
以下程序的输出是( )。#include<stdio.h> main() { int x=1; if(x=2) cout<<“OK”; else if(x<2) cout<<x; else cout<<“Quit”; }
A:1
B:OK
C:Quit
D:无输出结果
答案: OK
8、
若w,x,y,z,m均为int 型变量,则执行下面语句后的m值为( )。
w=1;x=2;y=3;z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;
A:2
B:4
C:1
D:3
答案: 1
9、
若u、w、x、y均是正整型变量,则以下正确的switch语句是( )。
A:switch(x*x+y*y)
{ case 3:
case 3: w=x+y; break;
case 0: w=y-x; break;
}
B: switch(pow(x,2)+pow(y,2))
{ case 1: case 3: w=x+y; break;
case 0: case 5: w=x-y;
}
C:switch x
{ default : u=x+y;
case 10 : w=x-y; break;
case 11 : u=x*y; break;
}
D:switch(x+y)
{ case 10 : u=x+y; break;
case 11 : w=x-y; break;
}
答案: switch(x+y)
{ case 10 : u=x+y; break;
case 11 : w=x-y; break;
}
10、
语句 while(!E);中的表达式!E等价于( )。A)E==0 B)E!=1 C)E!=0 D)E==1
A:E!=1
B:E==0
C:E!=0
D:E==1
答案: E==0
11、
以下程序段( )。 x=-1; do {x=x*x;} while(!x);
A:是死循环
B:循环执行二次
C:有语法错误
D:循环执行一次
答案: 循环执行一次
第三章 单元测试
1、
以下正确的说法是( )。
A:系统根本不允许用户重新定义标准库函数
B:用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C:用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
D:用户若需要调用标准库函数,调用前必须重新定义
答案: 用户可以重新定义标准库函数,若如此,该函数将失去原有含义
2、
以下正确的描述是( )。 在C++语言中
A:函数的定义和函数的调用均可以嵌套
B:函数的定义和函数的调用均不可以嵌套
C:函数的定义可以嵌套,但函数的调用不可以嵌套
D:函数的定义不可以嵌套,但函数的调用可以嵌套
答案: 函数的定义不可以嵌套,但函数的调用可以嵌套
3、
以下程序的正确运行结果是( )。 void main() { int a=2,i; for(i=0;i<3;i++)cout<<f(a); } f(int a) { int b=0; static int c=3; b++; c++; return(a+b+c);
}
A:
7 8 9
B:
7 10 13
C:
7 7 7
D:
7 9 11
答案:
7 8 9
4、
以下程序的正确运行结果是( )。 #include<stdio.h> func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } void main() { int k=4,m=1,p; p=func(k,m); cout<<p<<”,”; p=func(k,m); cout<<p<<endl; }
A:8,20
B:8,8
C:8,16
D:8,17
答案: 8,17
5、
C++语言规定,函数返回值的类型是由( )。
A:调用该函数时系统临时决定
B:调用该函数时的主调函数类型所决定
C:在定义该函数时所指定的函数类型所决定
D:return语句中的表达式类型所决定
答案: 在定义该函数时所指定的函数类型所决定
6、
下面函数调用语句含有实参的个数为( )。
func((exp1,exp2),(exp3,exp4,exp5));
A:2
B:4
C:5
D:1
答案: 2
7、
C++语言中,以下不正确的说法是( ) 。
A:
形参应与其对应的实参类型一致
B:
实参可以为任意类型
C:
形参可以是常量、变量和表达式
D:
实参可以是常量、变量和表达式
答案:
形参可以是常量、变量和表达式
8、
在计算机高级语言 C++中,下面对函数不正确的描述是( )。
A:允许函数递归调用
B:函数形参的作用范围只是局限于所定义的函数内
C:当用数组名作形参时,形参数组元素值的改变可以使实参数组元素的值相 应改变
D:被调用函数必须位于主函数之前
答案: 被调用函数必须位于主函数之前
9、
对下面程序段的描述正确的是( )。 #include<iostream> using namespace std; int Fun(int x, int y) { return x+y; } int main() { int i=10; cout<<Fun(i++, i)<<endl; return 0; }
A:程序输出结果不能确定
B:程序输出结果是 22
C:程序输出结果是 21
D:程序输出结果是 20
答案: 程序输出结果是 20
10、
下列有关形式参数和实际参数的说法正确的是( )。
A:即便是在发生函数调用时,函数中的形参也不会分配内存单元。
B:一般情况下,在调用函数结束后,形参所占的内存单元不会被释放
C:定义函数指定的形参,会一直占用内存中的存储单元。
D:在定义函数时,必须在函数首部指定形参的类型。
答案: 在定义函数时,必须在函数首部指定形参的类型。
11、
若使用一维数组名作为函数实参,则以下正确的说法是( )。
A:实参数组类型与形参数组类型可以不匹配
B:必须在主调函数中说明此数组的大小
C:实参数组与形参数组名必须一致
D:在被调函数中,不需要考虑形参数组的大小
答案: 必须在主调函数中说明此数组的大小
12、
以下正确的说法是( )。
A:实参和与其对应的形参共占用一个存储单元;
B:实参和与其对应的形参各占用独立的存储单元;
C:形参是虚拟的,不占用存储单元。
D:只有当实参和与其对应的形参同名时才共同占用存储单元;
答案: 实参和与其对应的形参各占用独立的存储单元;
13、
以下正确的说法是( )。
如果在一个函数的复合语句中定义了一个变量,则该变量( )。
A:为非法变量
B:在该函数中有效
C:只在该复合语句中有效
D:在本程序范围内均有效
答案: 只在该复合语句中有效
第四章 单元测试
1、
下面关于C++字符数组的叙述中,错误的是( )。
A:字符数组的字符可以整体输入、输出
B:可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
C:可以用关系运算符对字符数组比较大小
D:字符数组可以放字符串
答案: 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
2、
若有数组名作为函数调用的实参,则传递给形式参数的是( )。
A:数组元素的个数
B:数组中全部元素的值
C:数组的首地址
D:数组第1个元素的值
答案: 数组的首地址
3、
已定义一个数组int x[10];则对此数组元素正确的引用是( )。
A:cout<<x[10];
B:int b;b=x[1]+x;
C:cout<<x[3+7];
D:cout<<x[0];
答案: cout<<x[0];
4、
假定a为一个整型数组名,则元素a[4]的地址可表示为( )。
A:a+16
B:a+32
C:a+4
D:a+8
答案: a+4
5、
设有数组定义char a[]=”China”;则数组a所占的空间字节数为( )。
A:6个字节
B:7个字节
C:5个字节
D:4个字节
答案: 6个字节
6、
设有定义语句int a[3][3],则以下叙述错误的是( )。
A:a[1]是由3个整型元素组成的一维数组
B:a[0]代表一个地址常量
C:可以用a[2]=1;的形式给数组元素赋值
D:a数组可以看成是由a[0]、a[1]、a[2]3个元素组成的一维数组
答案: 可以用a[2]=1;的形式给数组元素赋值
7、
有如下声明语句int B[3][3]={{1,2,0},{3,2},{4,5,10}};那么B[1][1]的值是( )。
A:3
B:10
C:2
D:1
答案: 2
8、
以下对一维数组a的正确定义是( )。
A:int n=9, a[n];
B:int n; cin>>n; int a[n];
C:const int N=9; int a[N];
D:int a(9);
答案: const int N=9; int a[N];
9、
运行下面程序,程序运行结果是( )。#include <iostream>using namespace std;int main(){
static int a[4]={7,8,9},b[4]={4,5,6},c[4],i; for(i=0;i<3;i++) c[i]=a[i]+b[i]; cout<<c[i]<<” “; cout<<endl; return 0;}
A:11 13
B:0
C:15
D:11 13 15
答案: 0
10、
若有初始化 char a[ ]=”BASIC”;则cout<<&a[3];的输出结果是( )。
A:输出a[3]的地址
B:”IC”
C:’S’
D:’I’
答案: “IC”
11、
在C++语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A:任何类型的表达式
B:整型表达式
C:整型常量
D:整型常量或整型表达式
答案: 整型常量或整型表达式
12、
在C++中一组同样类型的数据在内容中占用连续存贮空间的数据类型是( )。
A:指向指针的指针
B:指针
C:数组
D:引用
答案: 数组
13、
运行以下程序的输出结果是( )。int f ( int b [ ], int n ){
int i, r = 1;
for ( i = 0; i<=n; i++)r = r* b[i];
return r;}int main(){
int x, a[ ]={2,3,4,5,6,7,8,9};
x = f (a,3);
cout<<x;
return 0;}
A:120
B:720
C:24
D:6
答案: 120
14、
下列do-while 循环的循环次数为( ).已知: int j=5; do{ cout<<j- -<<endl; j- -;}while(j!=0);
A:0
B:1
C:5
D:无限
答案: 无限
15、
若有定义char str1[10]= {“China”},str2[10];要将str1中的字符串复制到str2中去,正确的方法是( ).
A:strcpy(str2,str1);
B:strcpy(“China”,str2);
C:str2=str1;
D:strcpy(str1,str2);
答案: strcpy(str2,str1);
第五章 单元测试
1、
下面结构体的定义语句中错误的是( ).
A:struct st{int num,char name[20];} st a;
B:struct {int num,char name[20];} a;
C:struct st{int num,char name[20];} a;
D:struct st{int num,char name[20];} ;st a;
答案: struct st{int num,char name[20];} st a;
2、
struct abc{int x;int y;} data1=(2,3),data2;则以下赋值语句中错误的是( )。
A:data2.x=data1.x;
B:data2=data1;
C:data2.y=data1.y;
D:data2(9,10);
答案: data2(9,10);
3、
struct abc{int x;char y[20];double z;} data;则以下给结构体变量成员x赋值语句中正确的是( )。
A:data->x=100;
B:data.(*x)=100;
C:*data.x=100;
D:data.x=100;
答案: data.x=100;
4、
struct s {int a,b;}
data[2]={10,100,20,200};int main(){ s p=data[1]; cout<<p.a<<endl; return 0;}程序运行后的输出结果是( )。
A:21
B:20
C:10
D:11
答案: 20
5、
运行程序,程序输出结果是( )。#include <iostream>using namespace std;int main(){
struct stud {
char num [5]; int s[4]; double ave; } a; cout<<sizeof(stud)<<endl; return 0;}
A:29
B:32
C:30
D:31
答案: 32
6、
有下列结构体声明语句struct student{int num; char name[20]; float score[3]; };student s[3]={123,”Li Fang”,67,89,90};要对第1个学生的成绩输出总分,下列表达式正确的是( ).
A:cout<<s.score[0]+s.score[1]+s.score[2];
B:cout<<s.score[1]+s.score[2]+s.score[3];
C:cout<<score[0].s[1]+ score[1].s[1]+score[2].s[1];
D:cout<<s[0].score[0]+s[0].score[1]+s[0].score[2];
答案: cout<<s[0].score[0]+s[0].score[1]+s[0].score[2];
7、
定义以下结构体类型,运行程序的输出结果是( )。#include <iostream>using namespace std;int main(){ struct s{int a;double b;}; cout<<sizeof(s)<<endl; return 0;}
A:16
B:18
C:14
D:12
答案: 16
8、
当定义一个结构体变量时,系统为它分配的内存空间是( ).
A:结构体中占内存容量最大者所需的容量
B:结构中第一个成员所需的内存容量
C:结构中各成员所需内存容量之和
D:结构中一个成员所需的内存容量
答案: 结构中各成员所需内存容量之和
9、
运行程序,程序输出结果为( )#include <iostream>using namespace std;int main(){
struct s { int x; } a[3]; cout<<sizeof(a); return 0;}
A:12
B:18
C:4
D:6
答案: 12
10、
定义以下结构体数组,运行程序,程序输出结果是( )。 #include <iostream>using namespace std;int main(){
struct c
{ int x;
int y;
} s[2]={1,3,2,7}; cout<<s[0].x*s[1].x<<endl; return 0;}
A:14
B:21
C:6
D:2
答案: 2
11、
运行程序,程序运行结果是( ) #include <iostream>using namespace std;struct KeyWord{
char Key[20];
int ID;
} kw[]={“void”,1,”char”,2,”int”,3,”float”,4,”double”,5};int main(){
cout<<kw[3].Key[0]<< “,”<< kw[3].ID ; return 0;
}
A:l,4
B:f,4
C:n,3
D:i,3
答案: f,4
12、
#include <iostream>using namespace std;struct student
{
char name[10];
int score[50];
float average;
} stud1;
int main(){
cout<<sizeof(student); return 0;}
A:128
B:216
C:64
D:256
答案: 216
13、
运行程序,程序运行结果是( )。 #include <iostream>using namespace std;int main(){ struct person {
char name[9]; int age; }; person a[5]={“John”,17,”Paul”,19,”Mary”,18,”Adam”,16}; cout<<a[2].name; return 0;}
A:John
B:Adam
C:Mary
D:Paul
答案: Mary
14、
运行程序,程序运行结果是( ) #include <iostream>using namespace std;int main(){ struct date { int year; int month; int day; }; struct s { date birthday; char name[20];
} x[4]={{2008,10,1, “guangzhou”},{2009,12,25,”Tianjin”}}; cout<< x[0].name<<“,”<<x[1].birthday.year<<endl; return 0;}
A:guangzhou,2009
B:guangzhou,2008
C:Tianjin,2008
D:Tianjin,2009
答案: guangzhou,2009
15、
运行程序,程序输出结果是( )。#include <iostream>using namespace std;struct contry{ int num; char name[20];
} x[5]={1,”China”,2,”USA”,3,”France”,4,”Englan”,5,”Spanish”};int main(){
int i; for (i=3;i<5;i++)
cout<<x[i].num<<“,”<<x[i].name[0]<<endl; return 0;}
A:4E5S
B:F4E
C:3F4E5S
D:c2U3F4E
答案: 4E5S
下方是付费阅读内容:本平台商品均为虚拟商品,无法用作二次销售,不支持退换货,请在购买前确认您需要购买的资料准确无误后再购买,望知悉!
完整答案需点击上方按钮支付5元购买,所有答案均为章节测试答案,无期末答案。购买后上方矩形框将出现已付费的隐藏内容。
点关注,不迷路,微信扫一扫下方二维码
关注我们的公众号:阿布查查 随时查看答案,网课轻松过
为了方便下次阅读,建议在浏览器添加书签收藏本网页
电脑浏览器添加/查看书签方法
1.按键盘的ctrl键+D键,收藏本页面
2.下次如何查看收藏的网页?
点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页
手机浏览器添加/查看书签方法
一、百度APP添加/查看书签方法
1.点击底部五角星收藏本网页
2.下次如何查看收藏的网页?
点击右上角【┇】-再点击【收藏中心】查看
二、其他手机浏览器添加/查看书签方法
1.点击【设置】-【添加书签】收藏本网页
2.下次如何查看收藏的网页?
点击【设置】-【书签/历史】查看收藏的网页