0993C语言程序设计课程基于网络考核方案Word格式文档下载.docx
- 文档编号:4410068
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:16
- 大小:20.91KB
0993C语言程序设计课程基于网络考核方案Word格式文档下载.docx
《0993C语言程序设计课程基于网络考核方案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《0993C语言程序设计课程基于网络考核方案Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。
1
对应教材第1、2章内容,包括C语言常量、变量、函数、表达式的表示与求值,系统头文件stdlib.h和数学头文件math.h的使用,系统函数printf和scanf的作用,上机操作环境的使用。
在计算机上输入、编辑、编译、连接和运行一个给定的C语言程序(包含多个文件),把运行结果依次拷贝到一个文本文件(记事本)中,将其压缩(rar或zip)后提交到形成性考核平台的该课程网站上。
5周
8周
25%
2
对应教材第3、4章内容,包括各种流程控制语句的定义和使用,一维数组和二维数组的定义和使用,字符串的定义和使用等。
根据已知要求进行程序设计,编写出相应的C语言程序,上机运行程序,最后把程序文本和运行结果依次拷贝到一个文本文件中,将其压缩(rar或zip)后提交到形成性考核平台的该课程网站上。
9周
12周
25%
3
对应教材第5、6章内容,包括指针定义和使用,指针和一维数组的关系,用户函数的定义和使用,变量的作用域等。
根据指定要求进行模块化程序设计,上机运行程序和输入数据,最后把整个程序和运行结果(包括输入的数据行)拷贝到一个文本文件中,将其压缩(rar或zip)后提交到形成性考核平台的该课程网站上。
13周
15周
4
对应教材第7、8章内容,包括结构类型的定义和使用,文本文件的定义和使用等。
在计算机上输入和运行带有文件处理功能的程序,并能够根据要求修改程序,把添加的语句和运行结果(即运行时写入到文本文件的内容),将其压缩(rar或zip)后提交到形成性考核平台的该课程网站上。
16周
附四次形成性考核任务样例
第一次形考任务样例:
目的:
了解和熟悉VC++6.0集成开发环境,能够调试和运行具有多文件结构的C语言程序。
内容和步骤:
1、在一个逻辑盘(如D盘)或给定的目录下,使用VC++6.0环境中的“文件→“新建”命令,利用打开的“工作区”选项卡界面,建立名为“C语言形成性考核”的工作区(文件夹);
2、在上述工作区下建立一个内容为空的项目(目录),假定项目名用“xkzy1”表示;
3、在上述项目内建立一个具有如下内容的、名称为“main.c”的程序主文件;
#include<
stdio.h>
#include"
head.h"
voidmain()
{
inta,b,c;
printf("
请输入任意三个整数:
"
);
scanf(“%d%d%d”,&
a,&
b,&
c);
求和:
%d\n"
Sum(a,b,c));
乘积:
Product(a,b,c));
}
4、同时在上述项目内建立一个具有如下内容的、名称为“next.c”的程序次文件;
intSum(inta,intb,intc)
returna+b+c;
intProduct(inta,intb,intc)
returna*b*c;
5、同时在上述项目内建立一个具有如下内容的、名称为“head.h”的用户头文件;
intSum(int,int,int);
intProduct(int,int,int);
6、分别编译上述程序主文件和次文件,均无误后再进行连接,自动生成与项目名相同的可执行文件;
7、选择编译菜单中的“执行”命令运行程序,按要求输入三个整数后,得到运行结果。
三、提交内容
程序执行时,在输出屏幕上呈现的所有内容。
四、评分标准
本次任务占形成性考核成绩的25%。
由于在程序运行时,输入的三个整数是随意的,所以运行结果因输入数据的不同而异。
只要是第2和3行的数据分别是第1行3个整数的和与积,就是正确结果。
第二次形考任务样例:
会使用流程控制语句和数组,编写出进行数据处理的程序,并能够上机调试和运行。
1、利用第一次作业所建立的工作区,或另建一个新工作区;
2、在工作区下建立一个内容为空的项目,假定项目名用“xkzy2”表示;
3、编写一个C语言程序,要求实现的功能为:
从键盘上输入一行包含数字的字符串,假定该字符串的长度不超过50,试统计出该串中每一种十进制数字字符的个数并输出。
4、在上述项目内建立一个能够实现上述功能的、名称为“main.c”的程序文件,并输入、编译、连接和运行此C语言程序文件。
提交内容
你所编写出的程序,以及在程序执行时,其输出屏幕上呈现的所有内容。
评分标准
由于在程序运行时,输入的一个字符串是随意的,所以运行结果因字符串不同而异。
只要程序的逻辑正确,即能够统计和输出字符串中每个数字字符出现的次数,就是正确的运行结果。
参考程序(谨供老师参考):
#include<
voidmain()
{
chars[51];
inti,c[10]={0};
输入一个包含数字的字符串:
scanf("
%s"
s);
for(i=0;
s[i];
i++)
if(s[i]>
='
0'
&
&
s[i]<
9'
)c[s[i]-48]++;
i<
10;
i++)printf("
%d:
i,c[i]);
}
第三次形考任务样例:
会使用函数定义编写出具有一定功能的模块,学会进行结构化和模块化的程序设计。
1、打开第一次作业所建立的工作区,或另建一个新工作区;
2、在工作区下建立一个内容为空的项目,假定项目名用“xkzy3”表示;
3、在上述项目内建立一个名称为“main.c”的程序文件,程序内容如下;
stdlib.h>
int*contrary(inta[],intn);
inta[8]={2,5,8,1,4,9,6,7};
inti,*b;
8;
%d"
a[i]);
\n"
b=contrary(a,8);
b[i]);
4、根据程序中的函数声明,在其程序下面编写出该函数的定义,此函数的功能是:
首先利用calloc函数动态分配一块数组空间,数组长度为n,元素类型为int,接着把参数a数组中的元素值按相反次序复制到新得到的动态数组空间中,最后返回这个动态数组空间的首地址。
5、编译、连接和运行上述程序,得到的运行结果应当为:
25814967
76941852
你所编写的contrary函数的定义模块。
本次任务占形成性考试成绩的25%。
只要程序运行结果正确就可以给满分。
参考程序(只供老师参考)
int*contrary(inta[],intn)
int*b=calloc(n,sizeof(int));
inti;
n;
i++)b[i]=a[n-1-i];
returnb;
第四次形考任务样例:
会利用数据文件存储数据,并学会分析带有文件处理功能的程序。
2、在工作区下建立一个内容为空的项目,假定项目名用“xkzy4”表示;
voidmain(void)
intx;
FILE*f1;
//定义一个文件指针
f1=fopen("
data.txt"
"
w"
//在程序所在目录内建立一个空文件
if(f1==NULL){//当f1对应的文件没有建立和打开时则退出运行
不能够打开文件!
exit
(1);
从键盘向数据文件输入一批整数,直到输入-1时结束!
%d"
&
x);
//从键盘读入一个整数
while(x!
=-1){//对每个有效地整数进行处理
inti=0,d[6];
if(x<
0){//若为负数则向文件写入一个负号
fputc('
-'
f1);
x=-x;
while(x/10!
=0){//用d数组保存整数中的每个数字位
d[i++]=x%10;
x=x/10;
fputc(48+x,f1);
//把整数的最高位数字写入文件中
while(--i>
=0)//依次把整数的后续每位数字写入文件中
fputc(48+d[i],f1);
'
//每个整数后写入一个空格
//再从键盘读入一个整数
fclose(f1);
//关闭f1所对应的data.txt文件
4、修改上述程序,使得从键盘输入到数据文件中的数据内容,每隔4个整数后增加一个换行;
提示:
在intx语句后,增加一条定义变量的语句,用该变量记录从键盘上输入的整数个数;
在fputc('
f1)语句后,增加一条条件语句,用来记数和控制输出换行符。
5、编译、连接和运行上述经修改后的程序,要求从键盘上输入10个以上整数。
经修改需要添加的两条语句,以及程序运行时所建立的数据文件的内容。
程序应添加的两条语句为:
intj=0;
//用来记录输入数据的个数
if(++j%4==0)fputc('
\n'
//每输出4整数后输出一个换行符
在数据文件的内容中,整数之间有一个空格,每4个整数后有一个换行。
这样就是正确的结果。
请根据答题情况酌情给分。
//每4整数后写入一个换行符
六、终结性考试说明
考核目的:
考察学生掌握C语言语法规则的程度和进行程序分析的能力。
考核方式:
终结性考试基于国家开放大学终结性考试系统进行,由国家开放大学统一编制试题,分部组织考试。
成绩比重:
占课程总成绩的40%。
考试时限:
60分钟(闭卷),考试日期由国家开放大学考试中心统一安排(另行通知)。
考核题型:
单项选择题、填空题和分析程序题。
考核题型样例:
单项选择题(每小题3分,共30分)
1.C语言程序中的基本功能模块为()。
A.表达式B.标识符C.语句D.函数
2.逻辑表达式(x>
0||y==5)的相反表达式为()。
A.x<
=0||y!
=5B.x<
=0&
y!
=5
C.x>
0||y!
=5D.x>
0&
y==5
3.循环体至少被执行一次的循环语句为()。
A.forB.whileC.do-whileD.任一种循环
4.假定n的值为5,则表达式n++的值为()。
A.6B.5C.4D.7
5.假定一个二维数组的定义为“inta[3][4]={{3,4},{2,8,6}};
”,则元素a[2][0]的值为()。
A.0B.2C.4D.6
6.假定一个函数原型为“char*func(intn)”,则该函数的返回类型为()。
A.intB.int*C.charD.char*
7.假定a为一个字符数组名,则元素a[i]的指针访问方式为()。
A.a+iB.*(a+i)C.&
a+iD.*a+i
8.假定有语句为“int*p=calloc(10+20,sizeof(int));
”,则p所指向的动态数组中所包含的元素个数为()。
A.10B.20C.30D.40
9.十进制数50表示成符合C语言规定的八进制数为________。
A.20B.32C.62D.062
10.若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。
A."
r+"
B."
ab+"
C."
rb+"
D."
wb+"
填空题(每小题3分,共30分)
1.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为__________。
2.用于从键盘上为变量输入值的标准输入函数的函数名为________。
3.假定一个枚举类型的定义为“enumRA{ab,ac,ad,ae};
”,则ac的值为________。
4.double类型的长度为________。
5.执行“intx=45,y=13;
printf("
x/y);
”语句序列后得到的输出结果为________。
6.把表达式x=x+y转换成复合赋值表达式为__________。
7.假定x的值为5,则执行“a=(!
x?
10:
20);
”语句后a的值为________。
8.假定一维字符指针数组的定义为“char*a[8];
”,则该数组占用的存储空间的字节数为________。
9.假定二维数组的定义为“doublea[M][N];
”,则数组元素的行下标取值范围在_________之间。
10.空字符串的长度为________。
写出程序运行结果(每小题10分,共40分)
1.#include<
voidmain(){
inti,j,k=0;
5;
i++)
for(j=i;
j<
j++)k++;
;
%d\n"
k);
2.#include<
intx=20;
inti=2;
while(i<
x){
if(x%i==0){printf("
i);
x/=i;
i++;
3.#include<
inta[8]={76,63,54,95,40,75,90,66};
inti,s=0;
if(a[i]>
=70&
a[i]<
=90)s+=a[i];
s=%d\n"
4.#include<
intWF(intx,inty){
x=x+y;
y+=x;
returnx+y;
intx=3,y=8;
WF(x,y));
参考答案:
单选题(每小题3分,共30分)
1.D2.B3.C4.B5.A
6.D7.B8.C9.D10.C
填空题(每小题3分,共30分)
1.#include2.scanf3.14.85.3
6.x+=y7.208.329.0~M-110.0
三、写出下列每个程序运行后的输出结果(每小题10分,共40分)
评分标准:
根据答案正确程度酌情给分。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 0993 语言程序设计 课程 基于 网络 考核 方案
![提示](https://static.bingdoc.com/images/bang_tan.gif)