考试大纲Word文档格式.docx
- 文档编号:3219166
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:218
- 大小:108.39KB
考试大纲Word文档格式.docx
《考试大纲Word文档格式.docx》由会员分享,可在线阅读,更多相关《考试大纲Word文档格式.docx(218页珍藏版)》请在冰点文库上搜索。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型、运算符和表达式
1.C语言的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法。
2.C语言的运算符的种类和功能,运算优先级和结合性。
3.不同类型数据间的转换(自动转换与强制转换)与运算。
4.C语言的表达式(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、程序设计初步
1.C语言的语句:
表达式语句,空语句,复合语句。
2.数据的输入/输出,输入/输出函数的使用。
3、选择结构程序设计
(1)用if语句实现选择结构。
(2)用switch语句实现多分支选择结构。
(3)选择结构的嵌套。
4.循环结构程序设计
(1)while和do-while循环结构。
(2)for循环结构。
(3)break语句和continue语句。
(4)循环嵌套。
5.编译预处理
(1)宏定义:
不带参数的宏定义;
带参数的宏定义。
(2)文件包含命令。
四、数组
1.数组的含义和存储特点。
2.一维数组和二维数组的定义、初始化;
数组元素的引用。
3.字符串与字符数组;
常用的字符串处理函数。
五、函数
1.C语言库函数的调用。
2.函数的定义与声明。
4.函数的类型与返回值。
5.函数的形式参数与实在参数,参数值的传递。
6.函数的正确调用,嵌套调用与递归调用。
7.局部变量和全局变量。
8.变量的存储类型,变量的作用域和生存期。
六、指针
1.变量及数组元素的地址,指针与地址运算符,指针与指针变量。
2.指针变量的声明、赋值,通过指针变量来引用所指变量的值。
3.数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。
通过指针引用以上各类型数据。
4.用指针作函数的参数。
5.返回指针值的函数。
6.指针数组,指向指针的指针。
7.main函数的命令行参数;
有参main函数的程序运行。
七、结构体与共用体
1.结构体和共用体类型数据的定义和引用:
结构体变量,结构体数组,结构体指针等。
2.用指针和结构体构成链表,单向链表的建立、输出、删除与插入。
3.结构体和共用体类型的存储特点。
八、文件
1.文件类型指针(FILE类型指针)的定义。
2.文件的打开与关闭(FOPEN,FCLOSE)。
3.正确使用文件读写函数(FPUTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTF,FSCANF)进行文件的读写,文件定位函数(REWIND,FSEEK)的使用。
注:
只要求缓冲文件系统。
25次
(第一套)
(60分钟)
一、程序调试(文件名为test1-1.c40分)
下列程序其功能是:
计算并输出M以内最大的10个素数之和,M由主函数传给fun函数。
例如:
当M的值为100,则函数的值为732。
请修改程序中的错误,使之能输出正确的结果。
注意:
不得增加行或删行,不得更改原程序结构。
#include<
stdio.h>
intfun(intm)
{intsum=0,n=0,j,yes;
while((m>
=2)||(n<
10))
{yes=0;
for(j=2;
j<
=m/2;
j++)
if(m%j==0)
break;
}
if(yes)
{sum+=m;
n++;
m++;
return;
}
voidmain()
{intm;
printf("
enterm:
\n"
);
scanf("
%d"
m);
%d\n"
fun(m));
二、编写程序(文件取名为test1-2.c60分)
磁盘上的test1-2.txt文件中以文本形式存放有10名学生的记录,每条记录由学号和一门课程成绩组成。
用函数调用方式编写程序,要求实现:
在main函数中读入10名学生记录,存入结构数组s,调用fun函数,把平均成绩和分数最低的学生记录输出到屏幕上。
被调函数fun求出10名学生的平均成绩并统计分数最低的学生记录(注意:
分数最低的学生可能不止一个),fun的参数是数组s的首地址和数组h的首地址(h中存放分数最低的学生记录),fun的返回值是分数最低的学生的人数。
一个学生记录放在如下结构中:
structstudent
{charnum[10];
ints;
};
(第二套)(60分钟)
一、程序调试(文件名为test2-1.c40分)
程序中fun函数的功能是在一个字符数组中查找一个指定的字符,若数组中含有该字符则返回该字符在数组中第一次出现的位置(下标值);
否则返回-1,查询结果在main函数中输出。
voidfun(char*a,charch)
{
inti,j;
for(i=0;
;
i++)
if(*(a+i)==ch)
{
j=i;
continue;
elsei=-1;
returnj;
charstr[100],ch;
intk;
enterastring:
"
ges(str[100]);
enteracharacter:
ch=getchar();
k=fun();
if(k==-1)printf("
notfound!
elseprintf("
found=%d\n"
k);
二、编写程序(文件取名为test2-2.c60分)
已有一数据文件test2-2.dat,文件中的数据依次由:
准考证号、笔试成绩、上机成绩三项组成,中间由空格分开。
编程统计及格(笔试成绩和上机成绩均大于等于60分的为及格)的考生人数,以及及格率(即及格考生在总人数中占的百分比),并将获得及格的考生信息(准考证号、笔试成绩、上机成绩),考生总人数,获得及格的考生的考生人数和及格率输出到屏幕上同时写入到文件test2-2.out中。
(第三套)(60分钟)
一、程序调试(文件名为test3-1.c40分)
在程序中有一fun函数,其功能是:
在字符串s中的数字字符(不超过8个)取出,按原来顺序组成整数疳输出。
当s中的字符串为:
“A12C9D76EF”,由取出的正整数为12976。
请改正程序中的错误,使程序能得出正确的结果。
math.h>
voidfun(char*s,char*t,intk)
inti;
k=0;
s[i];
if(0<
=s[i]&
&
s[i]<
=9)
{t[*k]=s[i];
*k+=1;
chars[100],t[9];
longintn;
intI,k;
\npleaseentetstrings:
%s"
s);
fun(s,t,&
k);
for(i=0,i<
k;
n+=(t[k-1-i]-'
0'
*pow(10,i);
theresultis:
:
n);
二、编写程序(文件取名为test3-2.c60分)
已有一数据文件test3-2.dat,内容是9位评委为位艺术考生的艺术表演按考生编号的评分结果(第一行的第一列为考生编号,后9列为9位评委的打分),编写程序实现:
结考生考试成绩进行统计,去掉一个最高分和一个最低分作为最后得分,将7位评委打分的平均值作为考生的最后成绩。
将结果按test3-2.dat文件的格式,在第一行的最后加上平均他输出到屏幕上。
要求数据文件中的考生信息输入到如下结构数组中:
structdefen
{charksbh[10];
intcj[9];
}ks[10];
(第四套)(60分钟)
一、程序调试(文件名为test4-1.c40分)
在字符串中找出ASII码值最大的字符,将其入在第一个位置上,并郊该字符前的字符向后顺序移动。
输入字符串ABCeDEFG,调用fun函数后输出的字符串为:
eABCDFG.。
不得增行或删行,不得更改原程序的结构。
voidfun(charp)
charmax,*q;
inti=0;
max=p[i];
while(p[i]!
=0)
{if(max<
p[i])
{max=p[i];
p=q+i;
i++;
while(q<
p)
{
*q=*(q-1);
q++;
p[0]=max;
charstr[80];
gets(str);
\ntheoriginalstring:
'
puts(str);
fun(str);
\nthestringaftermoving:
二、编写程序
编写程序求表达式的值:
s=a+aa+aaa+…..+aa…a(此处aa…a表示n个a,a和n的值均在1至9之间)。
a=3,n=4时,s=3+33+333+33333其值为3702。
要求用函数调用方式编写程序:
main函数中输入a和n,调用函数fun完成表达式值的计算(a和n作为fun函数的参数,表达式的值作为fun函数的返回值),然后main函数将结果显示在屏幕上,同时存放在test4-2.txt文件中。
25-1套参考答案:
一、程序调试题(文件名为test1-1.c)(40分)
#include<
intfun(intM)
while((M>
10))/*改为&
*/
/*改为1*/
=M/2;
if(M%j==0)
{sum+=M;
M++;
/*改为M--*/
/*改为returnsum*/
{intM;
EnterM:
M);
/*改为&
M*/
fun(M));
评分标准:
每改对一处得8分
二、编程题(程序文件取名为test1-2.c)(60分)
1、结构数组或指针定义正确10分2、平均成绩计算正确10分
3、分数最低的学生记录和人数统计正确10分4、函数调用和参数传递正确10分
5、文件打开、记录读入和关闭正确10分6、输出结果正确10分
参考程序:
#defineN10
ints;
floataverage;
intfun(structstudent*a,structstudent*b)
{inti,n=0,min;
floatsum=a[0].s;
min=a[0].s;
for(i=1;
i<
N;
{if(min>
a[i].s)
min=a[i].s;
sum+=a[i].s;
average=sum/N;
if(min==a[i].s)
{b[n]=a[i];
returnn;
main()
{structstudents[N],h[N];
inti,n;
FILE*fp;
if((fp=fopen("
test1-2.txt"
"
r"
))==NULL)
{printf("
Fileopenerrors!
exit(0);
fscanf(fp,"
%s%d"
s[i].num,&
s[i].s);
fclose(fp);
n=fun(s,h);
Theaveragescoresis:
%5.2f\n"
average);
THe%dlowestscore:
n;
%s%4d\n"
h[i].num,h[i].s);
25-2套参考答案:
一、程序调试题(文件名为test2-1.c)(40分)
voidfun(char*a,charch)/*改为int*/
{inti,j;
;
i++)/*改为a[i]!
=’\0’*/
{j=i;
continue;
/*改为break*/
elsej=-1;
{charstr[100],ch;
Enterastring:
/*改为gets(str)*/
Enteracharacter:
/*改为fun(str,ch)*/
Notfound!
二、编程题(程序文件取名为test2-2.c)(60分)
1、文件指针定义、打开文件、关闭文件正确(10分)2、读文件内容正确(10分)
3、统计考生总人数,获得及格的考生人数方法正确(10分)
4、及格率计算正确(10分)5、写入文件正确(10分)
6、屏幕输出正确(5分)7、结构合理(5分)
{FILE*in,*out;
charc1[20];
intcj1,cj2;
intn=0,m=0;
test2-2.dat"
Fileopenerror!
out=fopen("
test2-2.out"
w"
while(!
feof(in))
{fscanf(in,"
c1);
fscanf(in,"
%d%d"
&
cj1,&
cj2);
if(cj1>
=60&
cj2>
=60)
%s"
%d"
cj1);
cj2);
fprintf(out,"
fclose(in);
Thetotal:
Thepassnumber:
Thepassrate:
%02f%\n"
(float)n/m*100);
fclose(out);
25-3套参考答案:
一、程序调试题(文件名为test3-1.c)(40分)
voidfun(char*s,char*t,intk)/*改为*k*/
{inti;
/*改为*k=0*/
=9)/*改为'
<
='
9'
{chars[100],t[9];
/*改为n=0*/
inti,k;
Pleaseenterstrings:
)*pow(10,i);
Theresultis:
/*改为%ld*/
二、编程题(程序文件取名为test3-2.c)(60分)
1、文件指针定义、打开文件、关闭文件正确10分2、读文件内容正确10分
3、最高、最低分的确定正确10分4、平均分计算正确15分
5、输出结果正确10分6、结构合理5分
{FILE*in;
structdefen
{charksbh[10];
intcj[9];
}ks[10];
floataveg;
intmax,min;
inti,j,sum;
if((im=fopen("
test3-2.dat"
10;
{sum=0;
max=0;
min=100;
ks[i].ksbh);
for(j=0;
9;
ks[i].cj[j]);
if(ks[i].cj[j]>
max)max=ks[i].cj[j];
if(ks[i].cj[j]<
min)min=ks[i].cj[j];
sum+=ks[i].cj[j];
aveg=(sum-max-min)/7.0;
ks[i].cj[j]);
%8.1f\n"
aveg);
第25-4套参考答案
一、程序调试题(文件名为test4-1.c)(40分)
voidfun(charp)/*改为*p*/
{charmax,*q;
)/*改为'
\0'
*/
/*改为q=p+i*/
p)/*改为q>
p*/
{*q=*(q-1);
/*改为q--*/
{charstr[80];
\nTheorginalstring:
\nThestringaftermoving:
%s\n"
str);
二、编程题(程序文件取名为test4-2.c)(60分)
1、fun函数算法正确(15分)2、文件指针定义、打开文件、关闭文件正确(10分)
3、函数调用、参数传递、返回值正确(15分)4、a和n输入正确(5分)
5、数据输出到文件正确(5分)6、屏幕显示正确(5分)
7、程序结构合理(5分)
longintfun(in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 大纲