15秋北交《C语言程序设计》在线作业二满分答案.docx
《15秋北交《C语言程序设计》在线作业二满分答案.docx》由会员分享,可在线阅读,更多相关《15秋北交《C语言程序设计》在线作业二满分答案.docx(42页珍藏版)》请在冰豆网上搜索。
15秋北交《C语言程序设计》在线作业二满分答案
15秋北交《C语言程序设计》在线作业二满分答案
一、单选题(共15道试题,共30分。
)
1.已知intm,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。
A.-34
B.-24
C.-33
D.-23
正确答案:
B
2.下面说法错误的是______。
A.整型变量可以存放字符型数据
B.字符型变量可以存放任意整型常量的值
C.变量必须限定以后使用
D.字符串的长度不等于它占的字节数
正确答案:
B
3.若w=1,x=2,y=3,z=4;,则条件表达式w>x?
w:
y<z?
y:
z的结果为______。
()
A.4
B.3
C.2
D.1
正确答案:
B
4.以下说法下确的是_____。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
正确答案:
C
5.数组int**a[3][4]占据多大空间
A.64
B.12
C.48
D.128
正确答案:
C
6.二进制语言是属于面向_____的语言。
A.机器
B.过程
C.问题
D.对象
正确答案:
A
7.不合法的八进制数是()
A.0
B.028
C.077
D.01
正确答案:
B
8.合法的数组定义是________。
A.inta[]="string";
B.inta[5]={0,1,2,3,4,5};
C.vhsts="string";
D.chara[]={0,1,2,3,4,5};
正确答案:
D
9.若有输入语句scanf("%d%d%d",&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是______。
A.5,6,7<回车>
B.567<回车>
C.56<回车>7<回车>
D.5<回车>,6<回车>,7<回车>
正确答案:
A
10.已知:
inta,*p=&a;,则下列函数调用中错误的是______。
()
A.scanf("%d",&a);
B.scanf("%d",p);
C.scanf("%d",*p);
D.printf("%d",a);
正确答案:
C
11.在C程序中,若对函数类型未加说明,则函数的隐含类型为()。
A.int
B.double
C.void
D.char
正确答案:
A
12.若变量已正确定义,执行语句scanf("%d%d%d",&k1,&k2,&k3);时,()是正确的输入。
A.2030,40
B.203040
C.20,3040
D.20,30,40
正确答案:
B
13.C语言是_______语言。
A.高级
B.中级
C.机器
D.汇编
正确答案:
A
14.C语言中最简单的数据类型包括()。
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.整型、实型、逻辑型、字符型
正确答案:
B
15.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是______。
A.INPUTx、y、z;
B.scanf(“%d%d%d”,&x,&y,&z);
C.scanf(“%d%d%d”,x,y,z);
D.read(“%d%d%d”,&x,&y,&z);
正确答案:
B
北交《C语言程序设计》在线作业二
二、多选题(共15道试题,共45分。
)
1.不与while(x)语句中的x等价的是_____。
A.x==0
B.x==1
C.x!
=1
D.x!
=0
正确答案:
ABC
2.下列关于#include命令的叙述中,正确的是______。
A.一个#include命令中只能指定一个被包含文件
B.一个#include命令中可以指定多个被包含文件
C.一个被包含文件中又可以包含另一个被包含文件
D.#include命令中,文件名可以用双引号或尖括号括起来
正确答案:
ACD
3.关于实参和形参的说法正确的是______。
A.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B.实参可以是变量、常量或表达式
C.实参与形参的类型应相同或赋值兼容
D.实参变量对形参变量的数据传递是“值传递”
正确答案:
ABCD
4.已知:
intx,a,b;下列选项中正确的if语句是______。
A.if(a=b)x++;
B.if(a=<b)x++;
C.if(a-b)x++;
D.if(x)x++;
正确答案:
ACD
5.C语言中函数返回值的类型与下列哪项无关?
A.定义函数时所指定的函数类型
B.调用函数时临时
C.调用该函数的主函数类型
D.return语句中的表达式类型
正确答案:
BCD
6.下列说法不正确的是______。
A.C程序由符号构成
B.C程序由标识符构成
C.C程序由函数构成
D.C程序由C语句构成
正确答案:
ABD
7.关于静态局部变量的说明正确的是______。
A.静态局部变量存储在静态存储区
B.静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C.若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D.虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确答案:
ABCD
8.内存中供用户使用的存储空间可分为:
______。
A.程序区
B.静态存储区
C.动态存储区
D.数据存储区
正确答案:
ABC
9.在C语言中,正确的int类型的常数是:
______。
A.0
B.32768
C.037
D.0xaf
正确答案:
ACD
10.以下说法不正确的是______。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
正确答案:
ABD
11.下列_________数据类型属于C语言提供的基本数据类型。
A.数组类型
B.指针类型
C.整型
D.结构体类型
E.空类型
F.字符型
G.实型
H.共用体类型
正确答案:
CFG
12.以下对一维数组a进行初始化,错误的语句是______。
A.inta[10]=(0,0,0,0,0);
B.inta[10]={};
C.inta[10]={0};
D.inta[2]={10,9,8}
正确答案:
ABD
13.在动态存储区中主要存放以下数据______。
A.函数形式参数
B.自动变量
C.函数调用时的现场保护和返回地址
D.全局变量
正确答案:
ABC
14.关于文件的打开方式描述正确的是:
______。
A.r:
打开只读文件
B.a+:
打开或建立用于更新数据的文件,数据追加到文件尾
C.a:
打开或建立一个把数据追加到文件尾的文件
D.r+:
打开用于更新数据的文件
正确答案:
ABCD
15.以下正确的C语言标识符是_____。
A.ABC
B.abc
C.a_bc
D.ab.c
正确答案:
ABC
北交《C语言程序设计》在线作业二
三、判断题(共10道试题,共25分。
)
1.getch()和getche()函数的功能相同。
A.错误
B.正确
正确答案:
A
2.free函数只能释放malloc()函数分配的存储空间。
A.错误
B.正确
正确答案:
A
3.假定x和y为double型,则表达式x=2,y=x+3/2的值是3。
A.错误
B.正确
正确答案:
A
4.表达式a=a+b可以写成a+=b。
A.错误
B.正确
正确答案:
B
5.对于二维数组a[2][3],则a[1]表示是第二行的首地址。
A.错误
B.正确
正确答案:
B
6.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。
()
A.错误
B.正确
正确答案:
B
7.数据结构指的是数据的组织形式,数组就是一种数据结构()
A.错误
B.正确
正确答案:
B
8.下列程序段的输出结果是hellomain(){charb[]="Hello,you";b[5]=0;printf("%s\n",b);}
A.错误
B.正确
正确答案:
B
9.对于任何函数,它都有一个返回值。
A.错误
B.正确
正确答案:
B
10.C语言中,函数的隐含存储类别是extern
A.错误
B.正确
正确答案:
B
北交《C语言程序设计》在线作业二
一、单选题(共15道试题,共30分。
)
1.已知:
inta,*p=&a;,则下列函数调用中错误的是______。
()
A.scanf("%d",&a);
B.scanf("%d",p);
C.scanf("%d",*p);
D.printf("%d",a);
正确答案:
C
2.下面说法错误的是______。
A.整型变量可以存放字符型数据
B.字符型变量可以存放任意整型常量的值
C.变量必须限定以后使用
D.字符串的长度不等于它占的字节数
正确答案:
B
3.合法的数组定义是________。
A.inta[]="string";
B.inta[5]={0,1,2,3,4,5};
C.vhsts="string";
D.chara[]={0,1,2,3,4,5};
正确答案:
D
4.C语言程序中,下列______组用户标识符是合法。
A.abc、_2id、while
B.4d、DO、oodb
C.str_1、print、aBc
D.WORD、oodb、I\amm
正确答案:
C
5.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。
A.EOF
B.非0值
C.0
D.NULL
正确答案:
D
6.设n=3;则执行++n语句后,n的值为_____。
()
A.5
B.4
C.3
D.2
正确答案:
B
7.执行以下程序段后,x,y和z的值分别是______。
intx=10,y=20,z=30;if(x>y)z=x;x=y;y=z;
A.10,20,30
B.20,30,30
C.20,30,10
D.20,30,20
正确答案:
B
8.已定义c为字符型变量,则下列语句中正确的是______。
A.c=''97''
B.c="97";
C.c=97;
D.c="a";
正确答案:
C
9.在C语言中,while语句中的条件为()时,结束该循环。
A.0
B.1
C.true
D.非0
正确答案:
A
10.以下程序段x=-1;do{x=x*x;}while(!
x);正确的说法是______。
A.死循环
B.循环一次
C.循环两次
D.有语法错
正确答案:
B
11.C语言是_______语言。
A.高级
B.中级
C.机器
D.汇编
正确答案:
A
12.调用strlen("abcd\0\ef\0g")的返回值是______。
A.4
B.5
C.8
D.9
正确答案:
A
13.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的文件。
A.”.c”
B.“.obj”
C.“.exe”
D.“.bas”
正确答案:
C
14.若w=1,x=2,y=3,z=4;,则条件表达式w>x?
w:
y<z?
y:
z的结果为______。
()
A.4
B.3
C.2
D.1
正确答案:
B
15.若变量已正确定义,执行语句scanf("%d%d%d",&k1,&k2,&k3);时,()是正确的输入。
A.2030,40
B.203040
C.20,3040
D.20,30,40
正确答案:
B
北交《C语言程序设计》在线作业二
二、多选题(共15道试题,共45分。
)
1.在动态存储区中主要存放以下数据______。
A.函数形式参数
B.自动变量
C.函数调用时的现场保护和返回地址
D.全局变量
正确答案:
ABC
2.以下对C语言函数的有关描述中,错误的是:
______。
A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.程序中有调用关系的所有函数必须放在同一个源程序文件中
正确答案:
BCD
3.关于宏定义的说法正确的是:
A.
宏名一般习惯用大写字母表示,以便与变量名相区别
B.使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C.宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D.宏定义不是C语句,不必在行末加分号
正确答案:
ABCD
4.以下叙述中正确的是______。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:
ACD
5.设有如下定义:
int(*ptr)();则以下叙述中不正确的是______。
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
正确答案:
ABD
6.C语言中函数返回值的类型与下列哪项无关?
A.定义函数时所指定的函数类型
B.调用函数时临时
C.调用该函数的主函数类型
D.return语句中的表达式类型
正确答案:
BCD
7.函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
正确答案:
ABC
8.以下______是正确的转义字符。
()
A.‘\\'
B.‘\’
C.‘\81'
D.‘\0'
正确答案:
ABD
9.以下正确的C语言标识符是_____。
A.ABC
B.abc
C.a_bc
D.ab.c
正确答案:
ABC
10.已知:
intx,a,b;下列选项中正确的if语句是______。
A.if(a=b)x++;
B.if(a=<b)x++;
C.if(a-b)x++;
D.if(x)x++;
正确答案:
ACD
11.下列说法中错误的是______。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
正确答案:
ABD
12.下列字符中能构成标识符的是______。
A.数字字符
B.连接符
C.下划线字符
D.大写字母
正确答案:
ACD
13.下列_________数据类型属于C语言提供的基本数据类型。
A.数组类型
B.指针类型
C.整型
D.结构体类型
E.空类型
F.字符型
G.实型
H.共用体类型
正确答案:
CFG
14.已知:
intx;,则下面的说明指针变量pb的语句______不是正确的。
A.intpb=&x;
B.int*pb=x;
C.int*pb=&x;
D.*pb=*x
正确答案:
ABD
15.在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
正确答案:
ABC
北交《C语言程序设计》在线作业二
三、判断题(共10道试题,共25分。
)
1.在C语言中,不区分字母的大小写。
()
A.错误
B.正确
正确答案:
A
2.free函数只能释放malloc()函数分配的存储空间。
A.错误
B.正确
正确答案:
A
3.数据结构指的是数据的组织形式,数组就是一种数据结构()
A.错误
B.正确
正确答案:
B
4.对于任何函数,它都有一个返回值。
A.错误
B.正确
正确答案:
B
5.变量的指针就是指向该变量指针变量的值。
A.错误
B.正确
正确答案:
B
6.在程序运行过程中,其值不能被改变的量称为常量()
A.错误
B.正确
正确答案:
B
7.‘a’和“a”在内存中所占字节数相同。
()
A.错误
B.正确
正确答案:
A
8.在C语言中,变量不区分大小写。
A.错误
B.正确
正确答案:
A
9.使用printf和scanf函数时,必须添加#include<stdio.h>命令。
()
A.错误
B.正确
正确答案:
A
10.逻辑运算符的优先级比算术运算符高。
A.错误
B.正确
正确答案:
B
北交《C语言程序设计》在线作业二
一、单选题(共15道试题,共30分。
)
1.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。
A.EOF
B.非0值
C.0
D.NULL
正确答案:
D
2.下面程序的结果是什么?
Inti=3,j=4;i?
i++:
j++;printf(“%d%d\n”,i,j);
A.33
B.44
C.34
D.43
正确答案:
B
3.在C程序中,若对函数类型未加说明,则函数的隐含类型为()。
A.int
B.double
C.void
D.char
正确答案:
A
4.若有输入语句scanf("%d%d%d",&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是______。
A.5,6,7<回车>
B.567<回车>
C.56<回车>7<回车>
D.5<回车>,6<回车>,7<回车>
正确答案:
A
5.C语言中最简单的数据类型包括()。
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.整型、实型、逻辑型、字符型
正确答案:
B
6.合法的数组定义是________。
A.inta[]="string";
B.inta[5]={0,1,2,3,4,5};
C.vhsts="string";
D.chara[]={0,1,2,3,4,5};
正确答案:
D
7.已知:
inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2;则值为3的表达式是______。
A.(*p)++
B.*p++
C.*++p
D.++*p
正确答案:
B
8.已知inta=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是_______。
A.0
B.6
C.-24
D.-60
正确答案:
A
9.若有以下定义和语句:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是____。
A.*p
B.a[10]
C.*a
D.a[p-a]
正确答案:
B
10.若w=1,x=2,y=3,z=4;,则条件表达式w>x?
w:
y<z?
y:
z的结果为______。
()
A.4
B.3
C.2
D.1
正确答案:
B
11.以下说法下确的是_____。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
正确答案:
C
12.在C语言中,while语句中的条件为()时,结束该循环。
A.0
B.1
C.true
D.非0
正确答案:
A
13.执行以下程序段后,x,y和z的值分别是______。
intx=10,y=20,z=30;if(x>y)z=x;x=y;y=z;
A.10,20,30
B.20,30,30
C.20,30,10
D.20,30,20
正确答案:
B
14.已知:
inta,*p=&a;,则下列函数调用中错误的是______。
()
A.scanf("%d",&a);
B.scanf("%d",p);
C.scanf("%d",*p);
D.printf("%d",a);
正确答案:
C
15.二进制语言是属于面向_____的语言。
A.机器
B.过程
C.问题
D.对象
正确答案:
A
北交《C语言程序设计》在线作业二
二、多选题(共15道试题,共45分。
)
1.以下说法不正确的是______。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
正确答案:
ABD
2.C语言中函数返回值的类型与下列哪项无关?
A.定义函数时所指定的函数类型
B.调用函数时临时
C.调用该函数的主函数类型
D.return语句中的表达式类型
正确答案:
BCD
3.以下______是正确的转义字符。
()
A.‘\\'
B.‘\’
C.‘\81'
D.‘\0'
正确答案:
ABD
4.带参宏定义与函数的区别是:
______。
A.函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B.函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C.宏不存在类型问题,宏名和参数都不存在类型问题
D.调用函数只能得到一个返回