北交《C语言程序设计专》在线作业一15秋100分答案.docx
《北交《C语言程序设计专》在线作业一15秋100分答案.docx》由会员分享,可在线阅读,更多相关《北交《C语言程序设计专》在线作业一15秋100分答案.docx(33页珍藏版)》请在冰豆网上搜索。
北交《C语言程序设计专》在线作业一15秋100分答案
北交《C语言程序设计(专)》在线作业一15秋100分答案
一、单选题(共10道试题,共40分。
)
1.设有定义:
intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
正确答案:
D
2.有如下程序:
longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn
(2);}main(){printf(
A.2
汇编语言程序设计
B.4
C.6
D.8
正确答案:
B
3.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:
PROGABCDEFGHIJKL<回车>,则输出结果为main(intargc,char*argv[]){while(--argc>0)printf(
A.ABCDEFG
B.IJHL
C.ABCDEFGHIJKL
D.IJKLABCDEFGH
正确答案:
D
4.下列各数据类型不属于构造类型的是
A.枚举型
B.共用型
C.结构型
D.数组型
正确答案:
A
5.以下程序有错,错误原因是main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;......}
A.p和q的类型不一致,不能执行*p=*q;语句
B.*p中存放的是地址值,因此不能执行*p=40;语句
C.q没有指向具体的存储单元,所以*q没有实际意义
D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
正确答案:
D
6.sizeof(float)是
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
正确答案:
B
7.函数rewind的作用是
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
正确答案:
A
8.有以下程序:
#includeunionpw{inti;charch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;printf(
A.13
B.14
C.208
D.209
正确答案:
A
9.下列程序的输出结果是intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf(
A.4
B.6
C.8
D.10
正确答案:
B
10.下面程序的输出结果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf(
A.3
B.4
C.1
D.2
正确答案:
A
北交《C语言程序设计(专)》在线作业一
二、多选题(共10道试题,共40分。
)
1.以下______是正确的转义字符。
()
A.‘\\'
B.‘\’
C.‘\81'
D.‘\0'
正确答案:
ABD
2.若定义:
inta[2][3]{0,2,4,6,8,10};以下描述正确的有
A.*(a+1)为元素6的地址
B.*(a[1]+1)的值为2
C.**(a+1)+2的值为8
D.a[0]与a相同
3.下列说法中错误的是______。
A.C程序总是从第一个定义的函数开始执行
B.C程序总是从main函数开始执行
C.C函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:
ACD
4.函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
正确答案:
ABC
5.若有以下定义和语句:
doubler=99,*p=&r;*p=r;则以下不正确的叙述是:
______
A.以上两处的*p含义相同,都说明给指针变量p赋值
B.语句“*p=r;”把变量r的地址值赋给指针变量p
C.语句“*p=r;”取变量r的值放回r中
D.在“doubler=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元正确答案:
ABC
6.下列描述正确的是
A.由main函数及其参数argc和*argv[]可以实现命令行方式
B.使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C.字符数组并不要求它的最后一个字符是‘\0’
D.‘A’和“A”都是字符串常量
正确答案:
AC
7.关于静态局部变量的说明正确的是______。
A.静态局部变量存储在静态存储区
B.静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C.若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D.虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
8.已知:
intx;,则下面的说明指针变量pb的语句______不是正确的。
A.intpb=&x;
B.int*pb=x;
C.int*pb=&x;
D.*pb=*x
正确答案:
ABD
9.以下正确的C语言标识符是_____。
A.ABC
B.abc
C.a_bc
D.ab.c
正确答案:
ABC
10.以下说法不正确的是______。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
正确答案:
ABD
北交《C语言程序设计(专)》在线作业一
三、判断题(共5道试题,共20分。
)
1.主函数和其它函数可以相互调用
A.错误
B.正确
正确答案:
A
2.数据结构指的是数据的组织形式,数组就是一种数据结构()
A.错误
B.正确
正确答案:
B
3.语句int*pt中的*pt是指针变量名。
A.错误
B.正确
正确答案:
A
4.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A.错误
B.正确
正确答案:
B
5.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A.错误
B.正确
正确答案:
B
北交《C语言程序设计(专)》在线作业一
一、单选题(共10道试题,共40分。
)
1.下面程序的输出结果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf(
A.3
B.4
C.1
D.2
正确答案:
A
2.函数rewind的作用是
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
正确答案:
A
3.以下程序有语法错误,有关错误原因的正确说法是main(){intG=5,k;voidprt_char();...k=prt_char(G);...}
A.语句voidprt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
正确答案:
C
4.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A.4
B.16
C.32
D.52
正确答案:
C
5.以下不正确的叙述是
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
正确答案:
D
6.以下程序的输出结果是voidreverse(inta[],intn){inti,t;for(i=0;i{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)
s+=b[i];printf(
A.22
B.10
C.34
D.30
正确答案:
A
7.设有定义:
intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
正确答案:
D
8.有如下程序:
longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn
(2);}main(){printf(
A.2
B.4
C.6
D.8
正确答案:
B
9.有以下程序:
#includeunionpw{inti;charch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;printf(
A.13
B.14
C.208
D.209
正确答案:
A
10.在16位IBM-PC机上使用C语言,若有如下定义structdata{inti;charch;doublef;}b;则结构变量b占用内存的字节数是
A.1
B.2
C.7
D.11
正确答案:
D
北交《C语言程序设计(专)》在线作业一
二、多选题(共10道试题,共40分。
)
1.以下叙述中正确的是______。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:
ACD
2.下列关于#include命令的叙述中,正确的是______。
A.一个#include命令中只能指定一个被包含文件
B.一个#include命令中可以指定多个被包含文件
C.一个被包含文件中又可以包含另一个被包含文件
D.#include命令中,文件名可以用双引号或尖括号括起来
正确答案:
ACD
3.以下对一维数组a进行初始化,错误的语句是______。
A.inta[10]=(0,0,0,0,0);
B.inta[10]={};
C.inta[10]={0};
D.inta[2]={10,9,8}
正确答案:
ABD
4.不与while(x)语句中的x等价的是_____。
A.x==0
B.x==1
C.x!
=1
D.x!
=0
正确答案:
ABC
5.在动态存储区中主要存放以下数据______。
A.函数形式参数
B.自动变量
C.函数调用时的现场保护和返回地址
D.全局变量
正确答案:
ABC
6.关于实参和形参的说法正确的是______。
A.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B.实参可以是变量、常量或表达式
C.实参与形参的类型应相同或赋值兼容
D.实参变量对形参变量的数据传递是“值传递”
正确答案:
ABCD
7.下列说法中错误的是______。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
正确答案:
ABD
8.对静态变量的正确描述
A.静态局部变量在静态存储区内分配单元
B.静态外部变量可以赋初值,也可以不赋初值
C.静态外部变量的作用与外部变量相同
D.静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:
ABD
9.在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
正确答案:
ABC
10.以下不正确的描述是______。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
正确答案:
ACD
北交《C语言程序设计(专)》在线作业一
三、判断题(共5道试题,共20分。
)
1.模运算符要求两侧均应为整型数据。
()
A.错误
B.正确
正确答案:
B
2.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
A.错误
B.正确
正确答案:
B
3.C语言中,整常数有三种表示形式:
十进制整数,八进制整数,十六进制整数。
()
A.错误
B.正确
正确答案:
B
4.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A.错误
B.正确
正确答案:
B
5.宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。
A.错误
B.正确
正确答案:
B
北交《C语言程序设计(专)》在线作业一
一、单选题(共10道试题,共40分。
)
1.C语言中,能识别处理的文件为
A.文本文件和数据块文件
B.文本文件和二进制文件
C.流文件和文本文件
D.数据文件和二进制文件
正确答案:
B
2.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:
PROGABCDEFGHIJKL<回车>,则输出结果为main(intargc,char*argv[]){while(--argc>0)printf(
A.ABCDEFG
B.IJHL
C.ABCDEFGHIJKL
D.IJKLABCDEFGH
正确答案:
D
3.以下不正确的定义语句是
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={0,1,3,5,7,9};
C.charc1[]={′1′,′2′,′3′,′4′,′5′};
D.charc2[]={′\x10′,′\xa′,′\x8′};
正确答案:
B
4.一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
正确答案:
B
5.设有intx=11;则表达式(x++*1/3)的值是
A.3
B.4
C.11
D.12
正确答案:
A
6.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。
#includemain(){inti=0,j,k;do{i++;k=316-13*i;}while(______);
(
A.k/11
B.k
C.k/11==0
D.k==0
正确答案:
B
7.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A.4j=k/11;printf
B.16
C.32
D.52
正确答案:
C
8.请选出可用作C语言用户标识符的是
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
正确答案:
B
9.下面程序段的运行结果是char*format=
a=11,b=10;a+=b;printf(format,
A.for,
B.format,
C.a+=b,a=21,b=10
D.以上结果都不对
正确答案:
C
10.函数rewind的作用是
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
正确答案:
A
北交《C语言程序设计(专)》在线作业一
二、多选题(共10道试题,共40分。
)int
1.已知:
intx;,则下面的说明指针变量pb的语句______不是正确的。
A.intpb=&x;
B.int*pb=x;
C.int*pb=&x;
D.*pb=*x
正确答案:
ABD
2.对静态变量的正确描述
A.静态局部变量在静态存储区内分配单元
B.静态外部变量可以赋初值,也可以不赋初值
C.静态外部变量的作用与外部变量相同
D.静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:
ABD
3.以下不正确的叙述是______。
A.C语言的主函数是无参函数
B.C语言的主函数最多允许有1个参数
C.C语言的主函数最多允许有2个参数
D.C语言的主函数可以有2个以上参数
正确答案:
ABC
4.以下对一维数组a进行初始化,错误的语句是______。
A.inta[10]=(0,0,0,0,0);
B.inta[10]={};
C.inta[10]={0};
D.inta[2]={10,9,8}
正确答案:
ABD
5.在C语言中,正确的int类型的常数是:
______。
A.0
B.32768
C.037
D.0xaf
正确答案:
ACD
6.函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
正确答案:
ABC
7.C语言中函数返回值的类型与下列哪项无关?
A.定义函数时所指定的函数类型
B.调用函数时临时
C.调用该函数的主函数类型
D.return语句中的表达式类型
正确答案:
BCD
8.以下说法不正确的是______。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
正确答案:
ABD
9.关于实参和形参的说法正确的是______。
A.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B.实参可以是变量、常量或表达式
C.实参与形参的类型应相同或赋值兼容
D.实参变量对形参变量的数据传递是“值传递”
正确答案:
ABCD
10.下列说法中错误的是______。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
正确答案:
ABD
北交《C语言程序设计(专)》在线作业一
三、判断题(共5道试题,共20分。
)
1.共用体所占的内存空间大小取决于占空间最多的那个成员变量。
A.错误
B.正确
正确答案:
B
2.模运算符要求两侧均应为整型数据。
()
A.错误
B.正确
正确答案:
B
3.主函数和其它函数可以相互调用
A.错误
B.正确
正确答案:
A
4.C程序的执行总是从第一个定义的函数开始
A.错误
B.正确
正确答案:
A
5.for(;;)语句相当于while
(1)语句
A.错误
B.正确
正确答案:
B
北交《C语言程序设计(专)》在线作业一
一、单选题(共10道试题,共40分。
)
1.下面程序段的运行结果是char*format=
A.for,
B.format,
C.a+=b,a=21,b=10
D.以上结果都不对
正确答案:
C
2.下列程序的输出结果是main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(
A.3
B.3.2
C.0
D.3.07
正确答案:
C
3.设有以下说明语句structex{intx;floaty;charz;}example;则下面的叙述中不正确的是
A.struct结构体类型的关键字
B.example是结构体类型名
C.x,y,z都是结构体成员名
D.structex是结构体类型名
正确答案:
B
4.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是
A.a[p-a]
B.*(&a[i])
C.p[i]
D.a[10]
正确答案:
D
5.一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
正确答案:
B
6.下面程序的运行结果是#includemain(){inta=1,b=10;do{b-=a;a++;}while(b--<0);printf(
A.a=3,b=11
B.a=2,b=8
C.a=1,b=-1
D.a=4,b=9
正确答案:
B
7.设有以下语句:
charx=3,y=6,z;z=x^y<<2;则z的二进制值是
A.00010100
B.00011011
C.00011100
D.00011000
正确答案:
B
8.函数rewind的作用是
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
正确答案:
A
9.设有定义:
intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
正确答案:
D
10.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A.4
B.16
C.32
D.52
正确答案:
C
北交《C语言程序设计(专)》在线作业一
二、多选题(共10道试题,共40分。
)
1.下列字符中能构成标识符的是______。
A.数字字符
B.连接符
C.下划线字符
D.大写字母
正确答案