吉大22春学期《C语言程序设计》在线作业一 -0004
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 40 分)
1.一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
2.有如下程序: 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
3.阅读以下程序及对程序功能的描述,其中正确的描述是 #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.程序完成将两个磁盘文件合并并在屏幕上输出
4.以下叙述中不正确的是
A.在不同的函数中可以使用相同的名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
5.下列程序的输出结果是 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
6.C语言中,能识别处理的文件为
A.文本文件和数据块文件
B.文本文件和二进制文件
C.流文件和文本文件
D.数据文件和二进制文件
7.下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(”%d\n”, d*y); }
A.3
B.3.2
C.0
D.3.07
8.以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); … k=prt_char(G); … }
A.语句 void prt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
9.以下程序有错,错误原因是 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;没有意义,可能会影响后面语句的执行结果
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
二、多选题 (共 5 道试题,共 20 分)奥鹏作业答案请进open5.net或请联系QQ/微信:18866732
11.以下不正确的描述是______。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
12.关于文件的打开方式描述正确的是:______。
A.r:打开只读文件
B.a+:打开或建立用于更新数据的文件,数据追加到文件尾
C.a:打开或建立一个把数据追加到文件尾的文件
D.r+:打开用于更新数据的文件
13.设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
14.在动态存储区中主要存放以下数据______。
A.函数形式参数
B.自动变量
C.函数调用时的现场保护和返回地址
D.全局变量
15.C语言中函数返回值的类型与下列哪项无关?
A.定义函数时所指定的函数类型
B.调用函数时临时
C.调用该函数的主函数类型
D.return语句中的表达式类型
三、判断题 (共 10 道试题,共 40 分)
16.C程序中各函数之间既允许直接递归调用也允许间接递归调
17.for(;;)语句相当于while(1)语句
18.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
19.函数必须有返回值,否则不能使用函数
20.使用getchar函数可以不添加#include <stdio.h>命令。( )
21.puts和gets函数只能输入或输出一个字符串
22.switch语句中,各个case和default的出现次序不影响执行结果。( )
23.宏名必须用大写字母表示。
24.语句int pt中的*pt是指针变量名。
25.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。(
转载请注明:奥鹏作业之家 » 【奥鹏】吉大22春学期《C语言程序设计》在线作业一