北京交通大学《C语言程序设计(专)》在线作业一答案答案.docx
北交C语言程序设计(专)在线作业二-0002试卷总分:100得分:100一、单选题(共10道试题,共40分)1.若有以下程序 ttinclude int a L =2, 4, 6, 8) ; main () int i ; int *p=a; for (i=0; i<4; i+) a i=*p;printf (级dn,a 2) ;上面程序输出结果是6A. 8C.4D. 2 答案:D.下列各数据类型不属于构造类型的是A.枚举型B.共用型C.结构型D.数组型 答案:A2 .假定以下程序经编译和连接后生成可执行文件PROG. EXE,如果在此可执行文件 所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL回车,则输出结果为main ( int argc, char *argv 口) while (-argc>0)printf(%s,argv argc) ; printf (n);A.ABCDEFGB. IJHLC.ABCDEFGHIJKL D.IJKLABCDEFGH 答案:D4. C语言允许函数类型缺省定义,此时函数值隐含的类型是 A.floatintB. longdouble 答案:B5 .阅读以下程序及对程序功能的描述,其中正确的描述是 ttinclude main () FILE *in, *out; char ch, infile 10 , outfile 10;printf(z,Enter the infile name: n);scanf(infile); printf("Enter the outfile name: ;scanf (s,outfile) ; if(in=fopen (infile, r") =NULA.程序完成将磁盘文件的信息在屏幕上显示的功能B.程序完成将两个磁盘文件合二为一的功能C.程序完成将一个磁盘文件复制到另一个磁盘文件中D.程序完成将两个磁盘文件合并并在屏幕上输出 答案:C.有以下程序:ttinclude union pw int i; char ch2 ; a;main ()a. ch 0= 13;a. ch 1 =0;printf (dn,a. i) ; 程序的输出结果是A. 1314B. 208209答案:A.有如下程序:long fib (int n) if (n>2) return (fib (nT)+fib (n-2) ; else return (2) ; main () printf (dnfib (3) ; 该程序的输出结果是A. 24B. 68答案:B.函数rewind的作用是A.使文件位置指针重新返回文件的开始位置B.将文件位置指针指向文件中所要求的特定位置C.使文件位置指针指向文件的末尾D.使文件位置指针自动移至下一个字符位置 答案:A7 .设有int x=11;则表达式(x+*l/3)的值是A. 3B.411C. 12答案:A10.以下程序的输出结果是void reverse (int a , int n) inti, t; for ( i=0; i t=a i ; a i =a n-l-i ;a n-l-i1 =t;main () int b 10 =1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ; int i, s=0; reverse(b, 8) ; for (i=6; i<10; i+) s+=b i ; printf ( %dn ,s);22A. 1034B. 30答案:A二、多选题(共10道试题,共40分)11.关于实参和形参的说法正确的是 oA.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单 元B.实参可以是变量、常量或表达式C.实参与形参的类型应相同或赋值兼容D.实参变量对形参变量的数据传递是“值传递”答案:ABCD12 .下列描述正确的是A.由main函数及其参数argc和* argv可以实现命令行方式B.使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中C.字符数组并不要求它的最后一个字符是‘ 0’D.‘A’和都是字符串常量 答案:AC13 .在缓冲文件系统中用于读写的函数有putchar ()A. fread ()rewind ()B. purw()答案:ABD14 .下列说法不正确的是 oA.C程序由符号构成B.C程序由标识符构成C.C程序由函数构成D.C程序由C语句构成答案:ABD15 .若定义:int a23 0, 2, 4, 6, 8, 10;以下描述正确的有A.* (a+l)为元素6的地址B.* (al+l)的值为2C.* (a+1) +2 的值为 8D. a0与a相同答案:ACD16 .以下叙述中正确的是。A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标 越界”的出错信息C.可以通过赋初值的方式确定数组元素的个数D.数组名代表的是数组所占存储区的首地址,其值不可改变答案:ACD.以下对C语言函数的有关描述中,错误的是:oA.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.程序中有调用关系的所有函数必须放在同一个源程序文件中答案:BCD.设有如下定义:int (*ptr)();则以下叙述中不正确的是 oA. ptr是指向一维数组的指针变量ptr是指向int型数据的指针变量B. ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向int型数据的指针 答案:ABD18 .在C语言中,正确的int类型的常数是:oA. 0B.32768037C. Oxaf答案:ACD20 .下列关于均根1皿。命令的叙述中,正确的是 o一个#include命令中只能指定一个被包含文件A. 一个#include命令中可以指定多个被包含文件一个被包含文件中又可以包含另一个被包含文件B. ttinclude命令中,文件名可以用双引号或尖括号括起来答案:ACD三、判断题(共5道试题,共20分). switch语句中,多个case可以共用一组执行语句。()答案:正确. 一个int型与一个double型数据进行混合运算时,其结果是double型。 答案:正确21 .宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。 答案:正确. switch语句中,各个case和default的出现次序不影响执行结果。() 答案:正确22 .静态外部变量既可以在文本文件中引用,也可以在其它文件引用答案:正确