智慧树知到《C-C++程序设计》章节测试答案
第一章
1、第一个高级语言Fortran出现在( )年
A:1946
B:1954
C:1950
D:1956
答案: 1954
2、下列关于计算机语言的叙述中,正确的是( )
A:在计算机语言中,只有机器语言属于低级语言
B:高级语言的源程序可以被计算机直接执行
C:C语言属于高级语言
D:机器语言是与所有机器无关的语言
答案: C语言属于高级语言
3、源程序test.c经编译产生的目标文件和连接后产生的可执行文件是( )
A:test.bak和test.obj
B:test.obj和test.exe
C:test.exe 和test.c
D:test.bak和test.exe
答案: test.obj和test.exe
4、在算法的流程图表示中,菱形表示()
A:算法条件的转移操作
B:算法的输入/输出操作
C:算法的各种处理功能
D:算法的开始与结束
答案: 算法条件的转移操作
5、关于结构化程序设计阐述正确的是( )
A:采用结构化程序设计方法,可以把一个模块的功能逐步分解细化
B:结构化程序设计方法不一定能提高软件开发效率
C:结构化程序设计中使用顺序结构,可以不按各个模块出现的先后顺序进行程序执行
D:结构化程序设计中使用循环结构,可以无限循环
答案: 采用结构化程序设计方法,可以把一个模块的功能逐步分解细化
第二章
1、以下定义语句中正确的是( )
A:char a='A' b='B';
B:float a=b=10.0;
C:int a=10, b=&a;
D:float a,b=&a;
答案: int a=10, *b=&a;
2、下列选项中,不能用作标识符的是( )
A:1234
B:_1_2
C:int_2_
D:2_int_
答案: 2_int_
3、有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是()
A:a=a+b=b++
B:
w%((int)a+b)
C:(c+w)%(int)a
D:
w=a==b;
答案: (c+w)%(int)a
4、有以下程序:
main()
{int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf{%d,x);
}
程序运行后的输出结果是()
A:3
B:5
C:-1
D:-2
答案: -2
5、表达式3.6-5/2+1.2+5%2的值是( )
A:4.3
B:4.8
C:3.3
D:3.8
答案: 3.8
第三章
1、下列语句中符合C语言语法的赋值语句是( )
A:a=7+b+c=a+7;
B:a=7+b++=a+7;
C:a=7+b,b++,a+7
D:a=7+b,c=a+7;
答案: 2、下面程序的输出是( )
main()
{ int x=10,y=3;
printf(%d,y=x/y);}
A:0
B:1
C:3
D:不确定的值
答案: 3、下面程序的输出是( )
main()
{ int x=023;21
printf(%d,–x);
}
A:17
B:18
C:23
D:24
答案: 4、设有如下程序段:
int x=2002, y=2003;
printf(%d,(x,y));
则以下叙述中正确的是( )
A:输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B:运行时产生出错信息
C:输出值为2002
D:输出值为2003
答案: 5、有定义语句:int x, y;,若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是( )
A:11 12<回车>
B:11,<空格>12<回车>
C:11,12,<回车>
D:11,<回车>12<回车>
答案: 第四章
1、关于C语言逻辑值的说法错误的是( )
A:逻辑值只有两个值,表示为1和0
B:C语言中没有逻辑数据类型
C:C语言中有逻辑数据类型
D:逻辑值以整型类型保存
答案: 2、下列运算符中优先级最低的是( )
A:||
B:!=
C:<=
D:+
答案: 3、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )
A:算术运算、赋值运算、关系运算
B:算术运算、关系运算、赋值运算
C:关系运算、赋值运算、算术运算
D:关系运算、算术运算、赋值运算
答案: 4、以下关于if语句的错误描述是( )
A:条件表达式可以是任意的表达式
B:条件表达式只能是关系表达式或逻辑表达式
C:条件表达式的括号不能省
D:与else配对的if语句是其之前最近的未配对的if语句
答案: 5、main()
{ int x=0,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf(a=%d,b=%d,a,b);}
该程序的输出结果是( )
A:a=2,b=1
B:a=1,b=1
C:a=1,b=0
D:a=2,b=2
答案: 第五章
1、对于dowhile语句,下列说法中正确的是( )
A:用dowhile语句可实现分支程序设计
B:当循环条件不成立时,至少也要执行一次循环体
C:当循环条件不成立时,一次也不执行循环体
D:dowhile与while结构完全相同
答案: 2、下列程序段执行时,若从键盘输入23,则输出为( )
int c,num;
scanf(%d,&num);
do
{c=num%10;printf(%d,c);
num=num/10;
}while(num>0);
printf(
);
A:3,2
B:3
C:2
D:2, 3
答案: 3、有以下程序
main( )
{ int i,s=0;
for(i=1;i<10;i++)s=s+i;
printf(%d,s);
}
程序执行后的输出结果是 ( )
A:自然数1~9的累加和
B:自然数1~10的累加积
C:自然数1~9中的奇数之和
D:自然数1~10中的偶数之和
答案: 4、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )
for (i=5;i;i–)
for(j=0;j<4;j++){}
A:20
B:25
C:24
D:30
答案: 5、有以下程序段
int k = 10 ;
while( k == 0 )k = k - 1 ;
则下面描述中正确的是( )
A:while循环执行10次
B:循环是无限循环
C:循环体语句一句也不执行
D:循环体语句执行一次
答案: 第六章
1、C语言中,下列不合法的字符常量是( )
A:?’
B:5’
C:&’
D:8’
答案: 2、有以下程序
main()
{char a,b,c,d;
scanf{%c,%c,%d,%d,&a,&b,&c,&d);
printf{%c,%c,%c,%c
,a,b,c,d);}
若运行时从键盘上输入:6,5,65,66 <回车>。则输出结果是( )
A:6,5,A,B
B:6,5,65,66
C:6,5,6,5
D:6,5,6,6
答案: 3、有定义语句: int b;char c[10];,则正确的输入语句是( )
A:scanf(%d%s,&b,&c);
B:scanf(%d%s,&b,c);
C:scanf(%d%s,b,c);
D:scanf(%d%s,b,&c);
答案: 4、以下程序运行后的输出结果是( )。
main()
{ char c1,c2;
for(c1='0',c2='5';c1<c2;c1++,c2–) printf(%c%c,c1,c2);
printf(
);
}
A:012345
B:051423
C:035241
D:543210
答案: 5、已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入: B33<回车>。则输出结果是( )。
#include <stdio.h>
main()
{ char a,b;
a=getchar();scanf(%d,&b);
a=a-'A'+'0'; b=b*2;
printf(%c %ca,b);}
A:1 B
B:2 B
C:1 A
D:2 A
答案: 第七章
1、#include<stdio.h>
func(int x)
{ x=10;
printf(%d, ,x); }
main( )
{int x=20;
func(x);
printf(%d, x); }
运行结果为( )
A:20, 20
B:20,10
C:10, 20
D:10, 10
答案: 2、有以下程序
int f(int a)
{ return a%2;}
main()
{ int s[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s);i++)d+=s;
printf(%d,d);}
程序运行后的输出结果是( )
A:9
B:11
C:19
D:21
答案: 3、#include <stdio.h>
void main()
{ int max(flaot x, float y);
float a, b;
int c;
scanf(%f,%f, &a, &b);
c=max(a, b);
printf(Max is %d, c);}
int max(float x, float y)
{ float z;
z = x > y ? x : y;
return z;}
函数max的返回值是什么数据类型( )
A:float
B:int
C:void
D:无返回值
答案: 4、以下叙述中正确的是( )
A:局部交量说明为static存储类,其生存期将得到延长
B:全局变量说明为static存储类,其作用域将被扩大
C:任何存储类的变量在未赋初值时,其值都是不确定的
D:形参可以使用的存储类说明符与局部变量完全相同
答案: 5、程序中对fun函数有如下说明
void *fun();
此说明的含义是( )
A:fun函数无返回值
B:fun函数的返回值可以是任意的数据类型
C:fun函数的返回值是无值型的指针类型
D:指针fun指向一个函数,该函数无返回值
答案: 第八章
1、&称为取地址运算符
A:对
B:错
答案: 2、以下程序段的输出结果是( )
int var,ab;
ab=100;
var=&ab;
ab=var+10;
printf(%d
,*var);
A:100
B:不确定
C:110
D:90
答案: 3、指针的基类型是指指针的类型
A:对
B:错
答案: 4、两个指针变量的值相等时,表明两个指针变量是( )
A:占据同一内存单元
B:指向同一内存单元地址或者都为空
C:是两个空指针
D:都没有指向
答案: 5、若有定义:int x,pb; 则以下正确的赋值表达式是( )
A:pb=&x
B:pb=x
C:pb=&x
D:pb=x
答案: 第九章
1、数组的下标从1开始
A:对
B:错
答案: 2、C语言调用函数中,当数组名做实参时,实参和形参之间的传递方式是按地址传递
A:对
B:错
答案: 3、若有以下定义:
doublew[10];
则w数组元素下标的上限是10
A:对
B:错
答案: 4、若有如下定义,则( )是对数组元素 inta[10] , p ; p=a ;的正确引用
A:&a[10]
B:a[11]
C:*(p+2)
D:p
答案: 5、若有以下定义和语句,且0<=i<5,则( )是对数组元素地址的正确表示
int a[]={1,2,3,4,5},*p,i; p=a;
A:&(a+i)
B:&p
C:a++
D:&p
答案: 第十章
1、已有定义: char a[]=xyz,b[]={'x','y','z'};, 以下叙述中正确的是( )
A:数组 a 和 b 的长度相同
B:a数组长度小于 b 数组长度
C:a 数组长度大于 b 数组长度
D:其余说法都不对
答案: 2、有以下程序
main()
{ char s[]=ABCD,*p;
for(p=s+1;p<s+4;p++)printf(%s,p);}
程序运行后的输出结果是( )
A:ABCD
BCD
CD
D
B:A
B
C
D
C:B
C
D
D:BCD
CD
D
答案: 3、有以下程序
main()
{ char s[]=159,p;
p=s;
printf(%c,p++);
printf(%c,*p++);
}
程序运行后的输出结果是( )
A:15
B:16
C:12
D:59
答案: 4、有以下程序
main()
{ char a[7]=a0a0;int i,j;
i=sizeof(a); j=strlen(a);
printf(%d %d
,i,j);
}
程序运行后的输出结果是( )
A:2 2
B:7 6
C:7 2
D:6 2
答案: 5、设有以下定义和语句 char str[20]=Program,p;p=str;则以下叙述中正确的是( )
A:p与str[0]中的值相等
B:str与p的类型完全相同
C:str数组长度和p所指向的字符串长度相等
D:数组str位中存放的内容和指针变量p中存放的内容相同
答案: 第十一章
1、已知学生记录描述为:
struct student
{
int num;
char name[20];
struct
{
int year;
int month;
int day;
}birth;
};
struct student s;
下列对生日的正确赋值方式是( )
A:year=1980; month=6; day=11;
B:birth.year=1980;birth.month=6;birth.day=11;
C:s.year=1980; s.month=6; s.day=11;
D:s.birth.year=1980; s.birth.month=6; s.birth.day=11;
答案: 2、若有以下说明和定义
typedef int INTEGER
INTEGER p,q;
以下叙述正确的是( )
A:p是int型变量
B:p是基类型为int的指针变量
C:q是基类型为int的指针变量
D:程序中可用INTEGER代替int类型名
答案: 3、设有如下定义:
structsk
{
int a;
float b;
}data;
int p;
若要使p指向data中的a域,正确的赋值语句是( )
A:p=&a;
B:p=data.a;
C:p=&data.a;
D:p=data.a
答案: 4、有以下程序
struct STU
{
char num[10];
float score[3];
}
main()
{
struct STU s[3]={
{20021,90,95,85},
{20022,95,80,75},
返回栏目