版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
知到智慧树网课:C语言程序设计(山盟-莉泽学院)章节测试满分答案
第一章单元测试
1【单选题】(10分)
能将高级语言编写的源程序转换为目标程序的是()。
A.编译程序
B.解释程序
C.链接程序
D.编辑程序
2【单选题】(10分)
C语言的注释定界符是()。
A.()
B./**/
C.[]
D.{}
3【单选题】(10分)
以下标识符中,不能作为合法的C用户定义标识符的是()。
A.IF
B.void
C.a3b3
D._123
4【单选题】(10分)
C语言源程序的基本单.位是()。
A.过程
B.函数
C.标识符
D.子程序
5【单选题】(10分)
计算机能直接执行的程序是用()程序设计语言编写的。
A.机器语言
B.C语言
C.汇编语言
D.C++
6【单选题】(10分)
C程序中main函数的位置是()。
A.必须在程序的中间位置
B.可以任意位置
C.必须在程序的开始
D.必须在程序的最后
7【单选题】(10分)
C语言程序上机调试步骤是()。
A.编写源程序、执行
B.编写源程序、组建、执行
C.编写源程序、编译、组建、执行
D.编写源程序、编译、执行
8【判断题】(10分语句的结束标志是冒号
A.对
B.错
9【判断题】(10分C程序中1条语句必须写在1行。
A.对
B.错
10.【多选题】(10分)
正确答案:CD
属于低级语言的是
A.C语言
B.JAVA语言
C.汇编语言
D.机器语言
第二章单元测试
1【单选题】(5分)
C语言中,最基本的数据类型是()
A.整型,实型,逻辑型
B.整型,实型,字符型,逻辑型
C.整型,实型,字符型
D.整型,字符型,逻辑型
2【单选题】(5分)
以下不合法的整型常量是()。
A.Oxabc
B.12345
C.147
D.68
3【单选题】(5分)
以下浮点数的表示不正确的是()。
A.7.19E21
B.12.E2
C.22.3
D.e23
4【判断题】(5分C程序中变量可以不定义而直接使用。
A.对
B.错
5【判断题】(5分不能将字符串赋给字符变量。
A.错
B.对
6【单选题】(5分)
以下不合法的实型常量是()。
A.5.0
B.0.5
C..5
D.5
7【单选题】(5分)
以下哪个是字符数据类型关键字()。
A.char
B.CHAR
C.c
D.string
8【判断题】(5分在程序运行期间,变量可以多次被赋值。
A.对
B.错
9【单选题】(5分)
以下关于符号常量的说法正确的是()。
A.使用符号常量不仅便于程序的调试和维护,还能大大提高程序的运行速度
B.可以将圆周率这个常量值定义为符号常量,定义方法为:define
PI=3.1415926
C.符号常量是以标识符形式出现的常量,一经定义,它所代表的常量值在其
作用域内不能改变
D.符号常量名可以不遵循C语言的标识符和命名规则
10【单选题】(10分)
以下定义变量的语句错误的是()。
A.Doubleal;
B.doublezl;
C.floatyl;
D.intxl;
11.【多选题】(10分)
正确答案:ABC
以下能正确定义变量并给变量赋值的是()。
A.inta,b;a=b=6;
B.inta=5,b=5;
C.inta=5,b;b=5;
D.inta=b=5;
12.【多选题】(10分)
正确答案:ABC
以下是合法C语言常量的是()。
A.012
B.匕'
C.“a”
D.e-2
13.【多选题】(5分)
正确答案:ABC
以下合法的C语言整型常量是()。
A.-Oxffff
B.160
C.011
D.Ola
14【单选题】(5分)
若己定义inta=ll;执行prin若己a=%d,a=%o,a=%x”,a,a,a);语句后的输
出结果是()o
A.a=ll,a=13,a=b
B.a=ll,a=13,a=c
C.a=ll,a=12,a=13
D.a=ll,a=ll,a=b
15【单选题】(5分)
函数putchar(65)的功能是向终端输出()。
A.6
B.有编译错误
C.65
D.A
16【判断题】(5分使用scanf()函数,在输入数据时,若遇非法输入则
认为该数据输入结束。
A.对
B.错
17【判断题】(5分gotchar()和scanf()均为输入函数,它们之间可•通
用,没有任何区别。
A.对
B.错
第三章单元测试
1【单选题】(5分)
若变量已正确定义,表达式(j=3,j++)的值是一。
A.3
B.6
C.5
D.4
2【单选题】(5分)
若"intn;floatf=13.8;”,则执行〃n=(int)f*3"后,n的值是()。
A.1
B.4.6
C.4.33333
D.4
3【单选题】(5分)
若有定义"chara;intb;floatc;doubled;",则表达式“a*b+d-c”
值的类型为—。
A.char
B.double
C.float
D.int
4【单选题】(5分)
若x为浮点型,则表达式x=10/4为()。
A.2.0
B.3
C.2.5
D.2
5【单选题】(5分)
假设字符变量ch中存放有小写英文字母,将其转费为相应的大写英文字母
的表达式是()。
A.tolower(ch)
B.ch=ch+32
C.ch-='a'+'A'
D.ch=ch-a'+'A'
6【单选题】(5分)
C语言中,要求运算对■象只能为整数的运算符是()o
A.*
B./
C.
D.%
7【判断题】(5分为了确保表达式n/2的值为float型,可写成
float(n/2)o
A.对
B.错
8【单选题】(5分)
若有定义:inta=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()。
A.2.0
B.1.4
C.2
D.1
9【单选题】(5分)
设有i=10,在表达式j=i-,则j的值是()。
A.9
B.8
C.10
D.11
10【单选题】(5分)
在C语言程序中,表达式5%2的结果是()。
A.3
B.2
C.2.5
D.1
11【单选题】(5分)
若x、i、j和k都是int型变量,则计算x=(i=4,j=16,k=32)表达
式后,x的值是(
A.52
B.4
C.32
D.16
12【判断题】(5分设x和y都是int型变量,则以下语句:
x+=y;y=x-y;x-=y;的功能是交换x和y的值。
A.对
B.错
13【单选题】(5分)
若变量已正确定义,以下合法的赋值表达式是(
A.++(a+b)
B.a=a/(b=5)
C.y=int(a)
D.a=l/b=2
14【单选题】(5分)
逻辑运算符两侧运算对象的数据类型()。
A.只能是0或非0正数
B.可以是任何类型的数据
C.只能是0或1
D.只能是整型或字符型数据
15【判断题】(5分在赋值表达式中,赋值号左边既可以是变量也可以是任
意表达式。
A.错
B.对
16【单选题】(5分)
若a为int型,且其值为3,则执行完表达式:a+=6后,a的值是()。
A.12
B.3
C.6
D.9
17【判断题】(5分单月运算符、赋值运算符和条件运算符均为右结合性。
A.对
B.错
18【单选题】(5分)
能表示x为偶数的表达式是().
A.x%2
B.x%2==0
C.x%2==l
D.x%2!=0
19【单选题】(5分)
已知inti=10;表达式'的值是()
A.1
B.19
C.20
D.O
20【单选题】(5分)
能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”
的表达式是()
A.(x=l)||(x<=10)||(x=200)|I(x<=210)<!—=10)||(x-
B.(x=l)11(x<=10)(x=200)||(x<=210)<!-=10)&&(x-
C.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”
的表达式是()
D.(x=l)(x<=10)||(x=200)(x<=210)<!—=10)||(x-
第四章单元测试
I【单选题】(10分)
以下程序运行时,输入的x值在()范围时才会有输出结果。
A.大于3且不等于10的整数
B.不等于10的整数
C.小于3的整数
D.大于3且等于10的整数
2【单选题】(10分)
若a是基本整型变量,c是单精度实型变量,输入语句—是错误的。
A.scanf("d=%d,c=%fM,a,c);
B.scanf,a,c);
C.scanfw,a,c);
D.scanf("%d%f",a,c);
3【单选题】(10分)
main()
{inta=2,b=-l,c=2;
if(a<b)c=0;
elsec++;
printf(**%d",c);
}
该程序的输出结果是()
A.2
B.O
C.3
D.1
4【单选题】(10分)
有以卜程序
<stdio.hmainO
{intx=l,y=2,z=3;
if(xy)
if(y<z)printfl,++z);
elseprintf("%d”,++y);
printf("%d”,x++);
}
</stdio.h程序的运行结果是()
A.321
B.3
C.1
D.31
5【单选题】(10分)
若x=0,y=3,z=3,以下表达式值为0的是()。
A.!x
B.x%2y==z
C.x<y?l:0
D.y=x||z/3
6【判断题】(10分在C程序中,运算符%仅能用于整型数的运算。
A.错
B.对
7【单选题】(10分)
有以下程序
<stdio.hvoidmainO
{inta;
scanf(“%d”,a);
if(a<9)printf(a%dw,a);
elseprintf("%d”,a—);
}程序运行时键盘输入9<回车,则输出的结果是()<!一回车-Y/stdio.h
A.8
B.11
C.10
D.9
8【单选题】(10分)
为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组
成配对关系。
A.缩排位置相同的if
B.在其之前未配对的最近的if
C.同一行上的if
D.在其之前未配对的if
9【判断题】(10分赋值运算符的结合性为左结合c
A.对
B.错
10【单选题】(10分)
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中
正确的是()
A.必须是整数值
B.可以是任意合法的数值
C.必须是正数
D.必须是逻辑值
第五章单元测试
I【单选题】(10分)
设有程序段intm=20;while(m=0)m=m++;以下说法正确的是()
A.循环是无限循环
B.while循环执行10次
C.循环体语句一次也不执行
D.循环体语句执行一次
2【单选题】(10分)
以下叙述正确的是(,
A.do-while语句构成的循环不能用其它语句构成的循环来代替.
B.用do-while语句构成的循环,在while后的表达式为非零时结束循环.
C.用do-while语句构成的循环,在while后的表达式为零时结束循环
D.do-while语句构成的循环只能用bak语句退出.
3【单选题】(5分)
在以下给出的表达式中,与do-while(E)语句中的(E)不等价的
表达式是()。
A.(!E==0)
B.(E!=0)
C.(E==0)
D.(E0||E<0)
4【单选题】(5分)
对for(表达式1;;表达式3)可理解为()。
A.for(表达式1;表达式A表达式3)
B.for(表达式1;表达式3;表达式3)
Cfor(表达式1;0;表达式3)
D.for(表达式1;1;表达式3)
5【单选题】(5分)
从循环体内某一层跳此继续执行循环外的语句是()。
A.turn语句
B.continue语句
C.空语句
D.bak语句
6【单选题】(10分)
下列程序的输出为
main()
{inty=10;
while(y-);
printf(rty=%dw,y);
}
A.y=0
B.y=-l
C.y=l
D.while构成无限循环
7【单选题】(5分)
若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;)printf(,i—);
A.无限次
B.2次
C.O次
D.1次
8【单选题】(5分)
C语言中while和do-while循环的主要区别是()。
A.do-while允许从外部转到循环体内
B.do-while的循环体至少无条件执行一次
C.do-while的循环体不能是复合语句
D.while的循环控制条件比do-while的循环控制条件更严格
9【单选题】(10分)
有以下程序
<stdio.hmain()
{inta=l,b=2;
while(a<6){b+=a;a+=2;}
printf(<<%d,%dw,a,b);
}程序运行后的输出结果是()</stdio.h
A.6,1
B.5,11
C.7,1
D.7,11
10【单选题】(10分)
有以下程序段
intn=0,p;
do
{
scanf(,p);
n++;
}while(p!=12345n<3);
此处do-while循环的结束条件是。
A.p的值不等于12345或者n的值小于3
B.p的值不等于12345并且n的值小于3
C.p的值等于12345并且n的值大于等于3
D.p的值等于12345或者n的值大于等于3
11【单选题】(5分)
以下程序段中的变量已正确定义
for(i=0;i<4;i=i+2)
for(k=l;k<3;k++)printfC*');
程序段的输出结果是()
A.****
B.********
C.*
D.**
12【单选题】(10分)
以下程序的运行结果是()。
main()
(
inti,b,k=0;
for(i=l;i<=5;i++)
{b=i%2;
while(bO){b—;k++;}}
printf(rtk=%d,b=%dw,k,b);)
A.k=8,b=-l
B.k=3,b=0
C.k=8,b=-2
D.k=3,b=-l
13【判断题】(5分循环结构中的continue语句是使整个循环终止执行
A.错
B.对
14【判断题】(5分while和do…while循环不论什么条件下它们的结果
都是相同的.
A.对
B.错
第六章单元测试
I【单选题】(10分)
在一个被调用函数中,关于turn语句使用的描述,错误的是()
A.被调用函数中可以不用turn语句
B.被调用函数中,如果有返回值,就一定要有turn语句
C.被调用函数中可以使用多个U1E语句
D.被调用函数中,一个turn语句可以返回多个值给调用函数
2【单选题】(10分)
以下()函数的定义是错误的?
A.voidf(inti){turni+1;}
B.voidf()(}
C.voidf(inti){)
D.intf(){turn0;)
3【单选题】(5分)
C语言中函数返回值的类型是由()决定的。
A.调用函数时临时决定
B.定义函数时所指定的函数类型
C.调用该函数的主调函数的类型
D.turn语句中的表达式类型
4【单选题】(5分)
C语言规定,必须用])作为主函数名。
A.main
B.include
C.stdio
D.Function
5【单选题】(10分)
下列说法正确的是()。
A.main函数可以放在C程序的中间部分,但在执行C程序时是从main
函数开始的
B.main函数必须放在C程序的开头
C.main函数可以放在C程序的中间部分,但在执行C程序时是从程序开
头执行的
D.main函数必须放在C程序的最后
6【单选题】(10分)
以下程序的输出结果是()o
voidfun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(5,2,a);
printf("%d”,a);
}
A.29
B.无定值
C.O
D.31
7【单选题】(10分)
C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是:()。
A.地址传递
B.单向值传递
C.由用户指定传递方式
D.双向值传递
8【单选题】(5分)
以下函数头定义正确的是:()。
A.doublefun(intx,y)
B.doublefun(intx;inty)
C.doublefun(intx,inty)
D.doublefun(intx,inty);
9【单选题】(10分)
现有如下程序
^include"stdio.h"
intfun(intx)
{printf(rtx=%dw,++x);}
intmain()
{fun(12+5);turn0;)
则程序的输出结果是1)。
A.x=18
B.x=17
C.x=13
D.x=12
10【单选题】(10分)
有以下程序,执行后输出的结果是()。
voidf(intx,inty)
{intt;
if(x<y)(t=x;x=y;y=t;}
}
main()
{inta=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printfC%d,%d,%d*,a,b,c);)
A.4,3,5
B.5,4,3
C.3,4,5
D.5,3,4
11【单选题】(5分)
以下关于C语言程序中函数的说法正确的是:().
A.函数的定义不可以嵌套,但函数的调用可以嵌套
B.函数的定义和调用均不可以嵌套
C.函数的定义和调用都可以嵌套
D.函数的定义可以嵌套,但函数的调用不可以嵌套
12【判断题】(5分turn语句在一个函数体内只能有一个。
A.对
B.错
13【判断题】(5分在C语言中,一个函数一般由两个部分组成,它们是函
数首部和函数体。
人.错
B.对
第七章单元测试
I【单选题】(10分)
凡是函数中未指定存储类别的局部变量,其隐含的存储类别是
A.gister
B.auto
C.extern
D.static
2【单选题】(20分)
下列程序的输出结果是()。
#include<stdio.h
intf(intn)
(
staticintk,s;
n——;
for(k=n;kO;k-)
s+=k;
turns;
}
intmain(void)
(
intk;
k=f⑶;
printf(*(%d,%d)k,f(k));
turn0;
}
A.(6,6)
B.(6,12)
C.(3,6)
D.(3,3)
3【单选题】(10分)
在一个C源程序文件中,若要定义一个只允许木源文件中所有函数使用的
全局变量,则该变量需要使用的存储类别是()。
A.gister
B.auto
C.static
D.extern
4【单选题】(10分)
以下程序的输出结果是()。
#defineMAX(x,y)(x)(y)?(x):(y)
main()
(
inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf('%d',t);
}
A.60
B.7
C.70
D.6
5【单选题】(10分)
变量的有效范围与其定义的位置有关,()的作用或在整个源程序文件中都
有效。
A.在定义第一个函数之前所定义的变量
B.在第一个函数中定义的变量
C.在主函数中定义的变量
D.在函数中定义的静态变量
6【单选题】(10分)
以卜.关于编译预处理的叙述中错误的是()。
A.预处理命令行必须以#开始
B.预处理命令不是C语言本身的组成部分
C.一条有效的预处理命令必须单独占据一行
D.预处理命令行只能位于源程序中的所有语句之前
7【单选题】(10分)
如果在一个函数中的复合语句中定义了一个变量,则该变量()。
A.只在该复合语句中有效
B.在该函数中有效
C.为非法变量
D.在本程序范围内有效
8【判断题】(10分进行宏定义时,宏名必须使用大写字母表示。
人.错
B.对
9【判断题】(10分在C语言中,在gister寄存器中存储变量比在内存中
存储变量运算速度快。
A.对
B.错
第八章单元测试
1【单选题】(10分)
下面的程序段将输出。doublea[]={1,2,3,4,5);
printfsizeof(a));
A.5
B.0
C.48
D.40
2【单选题】(10分)
下面程序的运行结果是()#include<stdio.hintmain(){int
a[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:
switch(a[i]%2){case0:a[i]++;bak;
case1:a[i]一;}bak;}for(i=0;i<4;i++)
printfa[i]);printfC**);turn0;}
A.3040
B.2050
C.3344
D.0304
3【单选题】(10分)
以下正确地定义了一维整型数组a的语句组是()
A.intn=10,a[n];
B.intn;scanf("%d",n);inta[n];
C.inta[SIZE];(在程序开始有#defineSIZE10)
D.inta(10);
4【单选题】(10分)
假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};则数
组x在内存中所占字节数是()。
A.20
B.3
C.10
D.6
5【单选题】(10分)
在C语言中,一维数组的定义方式为:类型说明符数组名().
A.[整型变量]
B.[整型表达式]
C.[整型常量]或[整型表达式]
D.[整型常量表达式]
6【单选题】(5分)
若有说明:inta[10j;,则对a数组元素的正确引用是().
A.a[10-10]
B.a(5)
C.a[10]
D.a[3.5]
7【单选题】(5分)
下面关于数组的描述不正确的是().
A.数组是构造数据类型
B.同一个数组共用一个数组名
C.数组是基本数据类型
D.数组是相同数据类型的集合
8【单选题】(5分)
以下能对一维数组a进行正确初始化的语句形式是().
A.inta[3]=(10,5,8);
B.inta[10]=(0,0,0,0,0);
C.inta[]={0};
D.inta[10]={};
9【单选题】(10分)
若有定义:intx[10]={l,2,4};则数组元素x[4]的值是()。
A.O
B.4
C.1
D.2
10【单选题】(10分)
若有说明:inta[5];,则下面可以输出数组a中所有元素值的是()。
A.while(b[i]!=,*)printf(飞d”,a[i]);
B.for(i=0;i<5;i++)printf("%d",a[i]);
C.printf(“%d”,a);
D.for(i=l;i<=5;i++)printf(w%dw,a[i]);
11【单选题】(5分)
下列不是给数组的第一个元素赋值的语句是().
A.inta[4];scanf(或d”,a);
B.a[l]=2;
C.inta[4]={2*3};
D.inta[4]=(l};
12【判断题】(5分若有说明:inta[10]={6,7,8,9,10};则该语句不正确,
因为数组长度与初值个数不相同。
A.错
B.对
13【判断题】(5分一般地,一维数组各元素分配在连续地内存单元之中。
A.错
B.对
第九章单元测试
I【单选题】(10分)
有两个字符数组sl,s2,则以下正确的输入格式是()
A.gets("si"),gets("s2〃);
B.scanf("%s%s”,si,s2);
C.scanf("%s%s",si,s2);
D.gets(si,s2);
2【单选题】(10分)
以下不能对二维数组a进行正确初始化的语句是()
A.inta[][3]={1,2,3,4,5,6);
B.inta[2][3]=((l,2),{3,41,{5,6});
C.inta[2][3]={0};
D.inta[][3]={{1,2},{0}};
3【单选题】(10分)
以下对二维数组a的正确说明是()
A.floata(3,4);
B.inta[3][];
C.floata[3][4];
D.floata(3)(4);
4【单选题】(10分)
若有说明:inta[][3]={l,2,3,4,5,6,7};,则a数组第一维的大小是()
A.无确定值
B.4
C.3
D.2
5【单选题】(10分)
有以下程序段:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12);
printf(,a[l][5]);,执行后输出的结果是()
A.10
B.编译有错误
C.11
D.4
6【单选题】(5分)
若有初始化语句:inta[3][4]={0};,则下面正确的叙述是(
A.数组a中各元素都可得到初值,但其值不一定为0
B.此初始化语句不正确
C.只有元素a[0][0]可得到初值0
D.数组a中每个元素均可得到初值0
7【单选题】(5分)
如有说明:inta[3][4];,则对a数组元素的正确引用是()。
A.a[l+l][0]
B.a[l,3]
C.a(2)(l)
D.a[3][4]
8【单选题】(5分)
对两个数组a和b进行初始化:chara[]="ABCDEF”;char
b[]=则以下叙述正确的是()
A.a与b中都存放字符串
B.a的长度比b长
C.a与b数组完全相同
D.a与b长度相同
9【单选题】(5分)
下列能正确定义二维实型数组a的选项是().
A.floata[3][];
B.floata(3,4);
C.floata[3][4];
D.floata[3][]={{1},{0});
10【单选题】(5分)
下面描述正确的是().
A.字符个数多的字符串比字符个数少的字符串大
B.字符串“That〃小于字符串〃The〃
C.两个字符串所包含的字符个数相同时,才比较字符串
D.字符串〃STOP口”与"STOP”相等(其中口表示1个空格)
11【单选题】(5分)
若有定义:chara[4]=*abc*,b[20]="Hello";,则执行语句strcat(b,a);
后,数组b中的内容为().
A.abcllello
B.Helloabc
C.abc
D.Hello
12【判断题】(5分字符数组中的数据存储时必须以'\0'结尾。
A.错
B.对
13【判断题】(5分有定义:chara[]=T;则a数组的长度是2。
A.对
B.错
14.【多选题】(5分)
正确答案:ACD
下列字符串赋值语句中,能正确把字符串Cprogram赋给数组的语句是()
.charaL10J={C,,p,r,o,g,r,a,m,};
.charalJ={C,,p,r,o,g,r,a,m);
C.chara[10]={"Cprogram*):
D.chara[10];strcpy(a,program");
15.【多选题】(5分)
正确答案:ABC
如有说明:inta[3][4];,则对a数组元素的合法引用是()
A.a[2][0]
B.a[O][2]
C.a[l][3]
D.a[O][4]
第十章单元测试
1【判断题】(10分for(j=h+l;j<=max-l;j++)printf(*%04d*»a[j]);
输出结果中,若数组小于1000则前面显示前导字符0.
A.错
B.对
2[判断题】(10分程序能实现求20的阶乘值。
s=l;n=l;for(n=l;n<=20;n++)s=s*n;
A.错
B.对
3【判断题】(10分对数组卜标的访问规律变化,可用数组赋指定值实现。
A.错
B.对
4【判断题】(10分扫雷游戏设计数据结构只能用二维数组。
A.错
B.对
5.【多选题】(10分)
正确答案:ABCDE
程序设计基本过程包括:
A.理解题意,分析需求。
B.总体设计和详细设计
C.界面设计。
D.代码的编写、调试、运行。
E.确定数据的组织形式即数据结构。
6【单选题】(5分)
一个递归算法必须包括()。
A.终止条件和递归部分
B.终止条件和循环部分
C.递归部分
D.循环部分
7【单选题】(5分)
对于递归函数f,调用f(4),其返回值为()o
intf(intn)
(
if(n)turnf(n-1)+n;
elseturnn;
}
A.O
B.其余选项均不是
C.4
D.10
8【单选题】(5分)
调用函数f(27)的输出结果是()。
voidf(intn)
{if(n<5)
printfn);
else{
printfn%5);
f(n/5);
)
}
A.20
B.102
C.201
D.21
9【单选题】(5分)
有如下函数调用语句:func(cl,c2+c3,(c4,c5));则该函数调用语
句中,含有的实参个数是()。
A.3
B.有语法错
C.4
D.5
10【单选题】(5分)
在C语言中,下列错误的说法是。
A.对于continue语句,可以通过改变程序的结构而不使用它
B.函数可以递归调用
C.不允许在函数定义中再定义函数
D.递归程序不可能用非递归算法实现
11【单选题】(5分)
对于以下递归函数f,调用f(4),其返回值为()。
intf(intn)
{turnf(n-l)+n;}
A.其余选项均不是
B.10
C.O
D.11
12【单选题】(5分)
有两个字符数组a,b,则以下正确的输入语句是().
A.gets("a"),gets("b");
B.gets(a,b);
C.scanf(*%s%s*»a,b);
D.scanfa,b);
13【单选题】(5分)
若用数组名作为函数调用时的实参,则实际上传递给形参的是()。
A.数组元素的个数
B.数组中全部元素的值
C.数组首地址
D.数组的第一个元素值
14【判断题】(5分对字符串进行输入输出操作时,只能对字符串整体进行
输入输出。
A.对
B.错
15【判断题】(5分若有说明:inta[][4]={0,0};则表示二维数组a的
第一维大小为lo
A.对
B.错
第十一章单元测试
I【单选题】(10分)
使用指针变量访问目标变量,也称为对目标变量的()访问。
A.直接
B.间接
C.一般性
D.一次性
2【单选题】(10分)
若有说明:inti,j=7,*p=i;则与i=j;等价的语句是().
A.i=**p;
B.*p=*j;
C.i=j;
D.i=p;
3【单选题】(10分)
inta=2,*p=a,*q=p,则以下非法赋值语句是()。
A.a=*q;
B.q=a;
C.*p=*q;
D.p=q;
4【单选题】(10分)
若有定义“int则下列选项中正确的是().
A.scanf(继d”,n);*p二n;
B.p=n;scanf(“为d",*p);
C.p=n;scanf(w,p);
D.p=n;*D=m;
5【单选题】(10分)
若定义:inta=5,*b=a;则printf("%d",*b);的输出结果是()。
A.无确定值
B.5
C.a的地址
D.6
6【单选题】(10分)
下列关于指针概念的描述,错误的是().
A.指针是变量,它也具有一个内存地址值
B.指针中存放的是某变量或对象的地址值
C.指针的类型是他所存放的数值的类型
D.指针的值是可以改变的
7【单选题】(10分)
如果x是整型变量,则合法形式为()。
A.(x+5)
B.*x
C.*x
D.*x
8【单选题】(10分)
变量的指针,其含义是指该变量的()。
A.值
B.名
C.一^I、标志
D.地址
9【判断题】(10分系统对变量的直接访问是将变量的地址放在另一个内存
单元中。
A.错
B.对
10【判断题】(10分“inti,k,*p=i;w中定义的“*p=i;”等价于“int
*p;p=i;
A.错
B.对
第十二章单元测试
I【单选题】(10分)
假设scanf语句执行时输入ABCDE<同车,能使puts(s)语句正确输出
ABCDE字符串的程序段是
A.chars[5]={"ABCDE"};puts(s);
B.chars[5]-{'A','B','C','D','E'};puls(s);
C.char*s;s=“ABCDE”;puts(s);
D.char*s;scanfs);puts(s);
2【单选题】(10分)
下面程序的运行结果是()。
#include<stdio.hintmain(void){intx[5]={2,4,6,8,10),*p,
**pp;p=x;
pp=p;printf(”,*(p++));printf(w%dw,**pp);
turn0;}
A.24
B.44
C.22
D.46
3【单选题】(10分)
根据声明inta[10],*p=a;,下列表达式错误的是()。
A.a[9]
B.p[5]
C.a++
D.*p++
4【单选题】(10分)
若有定义“inta[10]={l,2,3,4,5,6,7,8,9,10},*p;w,则下列语句正确的
是()。
A.for(p=a;p<(a+10);++a)
B.for(p=a,a=a+10;p<a;p++)
C.for(p=a;p<(a+10);p++)
D.for(p=a;a<(p+10);a++)
5【单选题】(10分)
若有定义“inta[10J,*p=a;w,则p+5表示()。
A.a[5]的值
B.a[4]的地址
C.a[5]的地址
D.a[6]的值
6【单选题】(10分)
若有定义chara[]=rIamaboy",*b="Iamaboy”;,则下列叙述错误的
是()。
A.b中存放的地址值可以改变
B.a+3表示的是字符m的地址
C.b指向其他字符串时,字符串的长度不受限制
D.b中存放的地址就是数组a的首地址
7【单选题】(10分)
若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a,则()不是对a数组
元素的正确引用(0<=i<=10)o
A.a[p-a]
B.p[i]
C.*(a[i])
D.*(*(a+i))
8【单选题】(5分)
w
若有定义"inta[5],*p=a;,能正确引用a数组元素的是()。
A.a[5]
B.*(a+2)
C.a+2
D.*(p+5)
9【单选题】(5分)
设有定义语句“floats[10],*pl=s,*p2=s+5;",下列表达式错误的是()。
A.p2—
B.pl=Oxffff
C.pl-p2
D.pl<=p2
10【单选题】(5分)
以卜程序段的输出结果是()。
char*p[]={"ABC〃,”DEF”,
intj;
puts(p[l]);
A.B
B.ABC
C.DEF
D.C
11【判断题】(5分用指针变量可以指向一维数组中的元素,也可以指向多
维数组中的元素。
A.对
B.错
12【判断题】(5分数组名代表数组的起始地址。
A.错
B.对
13【判断题】(5分有如下说明:inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是*(p+8)。
A.错
B.对
第十三章单元测试
1【单选题】(10分)
以下程序运行后的输出结果是一O
#include<stdio.hstructs{intx;inty;}data[2]={10,100,20,
200};intmain(){structs*p=data+1;printfp-x);
turn0;}
A.11
B.10
C.21
D.20
2【单选题】(10分)
有如下定义:
structStudent{charname[10];intage;chargender;)std[3],*p=std;
则以下各输入语句中错误的是:
A.scanfstd.name);
B.scanf(继d”,(*p).age);
C.scanfstd[OJ.gender);
D.scanf(“枇",(p-gender));
3【单选题】(10分)
有如卜定义:structdate{intyear;intmonth;intday;};struct{char
name[20];charsex;structdatebirthday;}person;下面正确的赋值语句是
()o
A.birthday.year=1980:
B.person.year=1980;
C.vear=1980;
D.person,birthday.year=1980;
4【单选题】(10分)
共用体变量在程序执行期间()。
A.没有成员一直驻留在内存中
B.只有一个成员一直驻留在内存中
C.所有成员一直驻留在内存中
D.部分成员一直驻留在内存中
5【单选题】(10分)
设有以卜定义:structsk{inta;floatb;}data;int*p;若要使p指向
data中的a域,正确的赋值语句是()。
A.p=data.a;
B.p=data.a;
C.*p=data.a;
D.p=a;
6【单选题】(10分)
对于结构体变量的引用,下列叙述正确的是()。
A.只能引用结构体变量成员的地址,不能引用结构体变量的地址。
B.对结构体成员可以进行各种运算,其中”优先级最低。
C.如果成员本身就是一个结构体,只能对最低级的成员进行赋值等引用和运
算。
D.两个同一类型的结构体变量之间不能整体赋值。
7【单选题】(5分)
以下叙述错误的是()。
A.用typedef定义新类型后,原有类型名仍有效
B.用typedef可以为各种类型起别名,但不能为变量起别名
C.可以用typedef将已存在的类型用一个新的名字代表
D.可以通过typedef增加新的类型
8【单选题】(5分)
在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结
点,则执行()。
A.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2.1.2 种子植物 课件(内嵌视频)2026-2027学年人教版七年级生物上册
- 吉林省长春市2026届高三一模数学试题(含答案)
- 广东深圳实验学校初中部2026-2027学年九年级上学期10月期中语文试题(含答案)
- d类事业单位考试题库及参考答案
- 2026年调剂员考试题库(含答案)
- 国家开放大学电大专科学前儿童发展心理学选择判断题题库及参考答案
- 改革开放题库带答案
- 大学生工程流体力学历年试卷及参考答案
- 2026年中国水科院国际合作处招聘考试题库(含答案)
- 精神科考试题库及答案
- 支模架施工方案
- 自然资源资产生态价值核算技术指南(试行)
- 2025年低温等离子灭菌器操作试题及答案
- 2026陕西投资集团高校毕业生春季校园招聘备考题库及答案详解(夺冠系列)
- 2026年北邮全校教职工人工智能素养培训分类分层发展体系
- 粤政易使用规范制度
- 山东省德州市2025-2026学年高一上学期期中考试生物试卷(含答案)
- 碳十醇酮团体标准
- DB52∕T 1816-2024 机械发泡温拌沥青混合料施工技术规范
- 钢梁步履式顶推技术规范
- 大数据与财务管理专业教学标准(高等职业教育专科)2025修订
评论
0/150
提交评论