19春北交《C语言程序设计(专)》在线作业二[答案]满分答案
北交《C语言程序设计(专)》在线作业二-0008
试卷总分:100 得分:0
一、 单选题 (共 10 道试题,共 40 分)
1.下面能正确进行字符串赋值操作的是
A.char s[5]={"ABCDE"};
B.char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
C.char *s;s="ABCDE";
D.char *s;char a; scanf("%s",&s);
2.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
A.a=20000+20000;
B.a=4000*10;
C.a=30000+10000;
D.a=4000L*10L
3.有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
A.2
B.4
C.6
D.8
4.设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
5.C语言允许函数类型缺省定义,此时函数值隐含的类型是
A.float
B.int
C.long
D.double
6.下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d\n",res); }
A.4
B.6
C.8
D.10
7.阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf("Enter the infile name:\n"); scanf("%s",infile); printf("Enter the outfile name:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NUL
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中
D.程序完成将两个磁盘文件合并并在屏幕上输出
8.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A.4
B.16
C.32
D.52
9.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
A.ABCDEFG
B.IJHL
C.ABCDEFGHIJKL
D.IJKLABCDEFGH
10.下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
A.3
B.4
C.1
D.2
19春北交《C语言程序设计(专)》在线作业二[答案]多选题答案
二、 多选题 (共 10 道试题,共 40 分)
1.关于宏定义的说法正确的是:
A.宏名一般习惯用大写字母表示,以便与变量名相区别
B.使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C.宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D.宏定义不是C语句,不必在行末加分号
2.已知:int x,a,b;下列选项中正确的if语句是______。
A.if(a=b) x++;
B.if(a=<b) x++;
C.if(a-b) x++;
D.if(x) x++;
3.下列说法中错误的是______。
A.C程序总是从第一个定义的函数开始执行
B.C程序总是从main函数开始执行
C.C函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
4.在动态存储区中主要存放以下数据______。
A.函数形式参数
B.自动变量
C.函数调用时的现场保护和返回地址
D.全局变量
5.以下______是正确的转义字符。( )
A.‘\\'
B.‘\’
C.‘\81'
D.‘\0'
6.以下说法不正确的是______。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
7.设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
8.若定义:int a[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相同
9.若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:______
A.以上两处的*p含义相同,都说明给指针变量p赋值
B.语句“*p=r;”把变量r的地址值赋给指针变量p
C.语句“*p=r;”取变量r的值放回r中
D.在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
10.在缓冲文件系统中用于读写的函数有
A.putchar ()
B.fread()
C.rewind ()
D.purw()
三、 判断题 (共 5 道试题,共 20 分)
1.使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )
A.错误
B.正确
2.C程序的执行总是从第一个定义的函数开始
A.错误
B.正确
3.‘ a’和“a”在内存中所占字节数相同。( )
A.错误
B.正确
4.C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )
A.错误
B.正确
5.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A.错误
B.正确
19春北交《C语言程序设计(专)》在线作业二[答案]历年参考题目如下: