C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx

上传人:b****3 文档编号:16845327 上传时间:2022-11-26 格式:DOCX 页数:16 大小:24.12KB
下载 相关 举报
C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx_第1页
第1页 / 共16页
C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx_第2页
第2页 / 共16页
C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx_第3页
第3页 / 共16页
C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx_第4页
第4页 / 共16页
C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx

《C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

C语言程序设计课程考核大纲说明定稿Word格式文档下载.docx

本课程考核采用平时上机练习、平时考勤及上课表现和期末考试相结合的方式。

平时上机练习作业,占总成绩的20%;

平时考勤及上课表现,占总成绩的10%;

期末考试采用书面和闭卷方式,考试成绩占总成绩的70%,由华商学院统一命题和考试时间,答卷时限为120分钟。

总成绩满分为100分,合成成绩达到60及以上分数者可获得该课程规定的4学分,否则不获得该课程学分。

第二部分考核内容及要求

第一章C语言概述

考核内容(知识点):

1.程序、程序文件和函数的概念及其相互之间的关系。

2.函数的定义格式和作用,主函数的特殊地位和作用。

3.C语言简单语句和复合语句的语法格式。

4.#include预处理命令的格式与作用。

5.头文件的文件名格式、在程序中的使用方法和作用。

6.程序中两种注释标记的写法和作用。

7.标准输出函数printf()和标准输入函数scanf()的定义格式和具体应用。

8.C语言程序文件名、编译后生成的目标文件名和连接后生成的可执行文件名的命名规则,以及上机输入、编辑、编译、连接和运行程序的过程。

考核要求:

要求了解和理解以上内容。

第二章数据类型和表达式

重点考核的内容(知识点):

1.C语言中的数据类型的分类。

2.各种整数类型的关键字表示,存储空间的大小和值域范围。

3.整型变量的定义和初始化,十进制整型常量的表示。

4.字符类型的关键字表示,存储空间的大小和值域范围;

字符型常量的表示,回车、换行、单引号、双引号、反斜线、空字符等特殊字符的表示。

5.字符型变量的定义和初始化,字符型与整型的关系。

6.枚举的概念,枚举类型的定义,枚举变量的定义和初始化,枚举常量与整型常量的对应关系。

7.各种实数类型的关键字表示,存储空间的大小和有效位数。

8.单精度和双精度实数的定点表示和浮点(科学)表示,实型变量的定义和初始化。

9.加、减、乘、除、取余、赋值、增1、减1、取数据存储长度等算术运算符的表示、含义、运算对象个数和运算优先级。

10.关系运算符的定义和关系表达式的计算,逻辑运算符的定义与逻辑表达式的计算,根据任意表达式的值判断其逻辑值的方法。

一般考核的内容(知识点):

1.整型常量的八进制和十六进制表示。

2.符号常量的两种定义方法,它们之间的区别。

3.位操作符、复合赋值操作符的含义与使用。

4.求关系或逻辑表达式的相反表达式的方法。

考核要求:

理解和掌握以上重点考核的内容,了解和理解以上一般考核内容。

第三章流程控制语句

1.C语言程序中的顺序、分支和循环这三种基本结构,每种结构的执行过程。

2.简单if语句、带else子句的if语句、多分支结构的if语句的定义格式、执行过程和在处理问题中的具体应用。

3.switch语句的定义格式、执行过程和在处理问题中的具体应用。

4.if语句与switch语句之间的功能比较,if语句与switch语句之间的转换。

5.for循环、while循环和do-while循环的定义格式、执行过程和在处理问题中的具体应用。

6.三种循环结构不同特点。

7.Break语句在switch语句和各种循环语句中的作用,continue语句在各种循环语句中的作用。

8.goto语句和return语句的定义格式和功能。

理解和掌握本章的所有内容,并能够灵活应用。

第四章数组和字符串

1.一维数组的含义、定义格式及初始化格式。

2.数组长度、数组元素、元素下标的含义,访问数组元素的语法格式,下标运算符的操作对象和操作结果。

3.数组元素的下标变化范围,数组元素所占存储空间大小和整个数组所占存储空间大小的计算,各元素对应存储空间的排列情况,每个元素的存储地址的计算。

4.利用一维数组存储数据,按元素值的升序或降序排列数据,按给定条件或功能对数组元素依次进行访问和处理。

5.二维数组的含义、定义格式及初始化格式。

6.二维数组的行数和列数的概念,数组长度(即所含元素个数)的计算。

7.访问二维数组元素的语法格式,每个下标运算符的操作对象和操作结果。

8.二维数组中的所有元素在存储空间中的排列情况,每个元素的存储地址的计算。

9.利用二维数组存储矩阵数据,按给定条件或功能对数组元素依次进行访问和处理。

10.字符串常量的定义格式,字符串的存储格式,字符串长度的概念。

11.一维字符数组、二维字符数组与字符串之间的关系,一维字符数组与二维字符数组的初始化。

12.strlen、strcpy、strcmp、strcat等字符串函数的声明格式及功能。

13.利用typedef语句定义数据类型的方法。

了解和理解一维数组、二维数组和字符串的概念的使用方法,会利用它们存储和处理数据。

第五章指针

1.指针的概念,指针变量的定义和初始化。

2.指针赋值(=)、取对象(变量)地址(&

)、访问指针所指对象(*)、指针比较(==、!

=、>

、<

等)、指针算术运算(+、-、+=等)、指针增1或减1(++、--)等各种运算的含义和使用。

3.数组名的指针含义。

4.一维数组元素的下标访问方式与指针访问方式及其之间的转换。

5.二维数组元素的下标访问方式与指针访问方式及其之间的转换。

6.动态存储分配函数malloc()和calloc()以及动态存储空间释放函数free()的定义格式与调用方法。

理解指针的概念,掌握利用指针访问简单数据和数组元素的方法,掌握进行动态存储分配与释放的方法。

第六章函数

1.函数的定义格式。

2.函数调用表达式的语法格式及执行过程。

3.函数定义中形参变量的作用及实虚参数结合的过程。

5.函数声明(原型)语句的定义格式及作用。

6.形参为一维数组或二维数组时的说明格式,调用时数组参数传递的过程。

7.变量的作用域的概念和含义;

系统对全局变量、static变量、局部变量的建立和初始化过程。

8.函数的递归调用的概念和递归函数的具体执行过程。

9.头文件在程序文件中的位置和作用。

掌握用户自定义函数的定义、声明与调用方法,掌握函数调用中一般参数、指针参数、数组参数的传递,以及函数体执行和返回的过程。

第七章结构与联合

1.结构的概念,结构类型的定义格式,结构类型的声明(即不完整定义)格式。

2.结构对象(变量)的各种定义格式和初始化,结构大小的计算,结构对象和结构数组对象的动态分配和初始化。

3.结构赋值,结构成员的直接访问和间接访问,利用结构数组保存和处理数据。

4.结构和结构指针作为函数参数和返回值类型的具体应用。

5.链表的概念,链表中结点的结构,链表的建立和遍历的方法和算法。

6.联合的概念,联合类型的定义格式,联合对象的定义和初始化,联合的存储结构及大小的计算,匿名联合的特点。

理解和掌握结构和联合类型的特点以及数据成员的访问方法,了解和理解链表中结点的结构和建立与访问链表的方法,以及结构与联合嵌套定义的概念。

第八章文件

1.数据文件的概念。

2.文件的打开和关闭方法。

3.文件的各种访问方式的表示。

4.对字符文件进行的输入和输出数据的方法。

5.对字节文件进行的输入和输出数据的方法。

了解和理解文件的有关概念和访问方式,会利用字符或字节文件保存和处理数据。

第三部分模拟考核试题及解答

一、选择题

1.由C语言源程序文件编译而成的目标文件的缺省扩展名为()。

A.cppB.exeC.objD.C

2.C语言程序的基本模块为()。

A.表达式B.标识符C.语句D.函数

3.x>

0||y==5的相反表达式为()。

A.x<

=0||y!

=5B.x<

=0&

&

y!

=5

C.x>

0||y!

=5D.x>

0&

y==5

4.枚举类型中的每个枚举常量的值都是一个()。

A.整数B.浮点数

C.字符D.逻辑值

5.循环语句“for(inti=0;

i<

n;

i++)S;

”中循环体S被执行的次数为()。

A.1B.n-1C.nD.n+1

6.在下面的while循环语句中,其循环体被执行的次数为()。

inti=0,s=0;

while(s<

20){i++;

s+=i;

}

A.4B.5C.6D.7

7.若定义了函数double*function(),则返回值类型为()。

A.实数型B.实数指针型C.函数指针型D.数组型

8.若用数组名作为函数调用的实参,传递给形参的是()。

A.数组的首地址B.数组中第一个元素的值

C.数组中全部元素的值D.数组元素的个数

9.假定a为一个整型数组名,则元素a[4]的地址比该数组的首地址大()个字节。

A.4B.8C.16D.32

10.下列给字符数组赋初值时,正确的是()。

A.chars1[]="

abcdef"

;

B.chars2[4]="

abcd"

C.chars3[2][3]={"

abc"

"

xyz"

};

D.chars4[4][]={'

a'

'

x'

s'

t'

A.char*p=s;

B.char*p=&

s;

C.char*p;

p=*s;

D.char*p;

p=&

11.要使p指向二维整型数组a[10][20],p应定义为()。

A.int*p=a;

B.int**p=a;

C.int*p[20]=a;

D.int(*p)[20]=a;

12.标准输入设备的文件流标识符是()。

A.stdinB.stdoutC.stderrD.stdio

13.若要以读/写操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。

A."

r+"

B."

ab+"

C."

rb+"

D."

wb+"

二、填空题

1.单行或多行注释的开始标记符为__________。

2.使用#include命令可以包含一个头文件,也可以包含一个______文件。

3.执行“printf("

%s%s%d"

wei"

rong"

18);

”语句后得到的输出结果为________。

4.执行“printf("

%c"

A'

+2);

5.short类型的大小为________个字节。

6.十进制数3.26f的类型为________。

7.假定y=10,则表达式++y*3的值为________。

8.关系表达式(x==0)的等价表达式为________。

9.若x=5,y=10,则x!

=y的逻辑值为________。

10.在if语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。

11.当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。

12.假定二维数组的定义为“chara[M][N];

”,则该数组所占存储空间的字节数为________。

13.存储字符串"

a"

需要占用存储器的________个字节空间。

14.strlen函数用于计算一个字符串的________。

15.函数中的形参变量的初值由调用该函数时对应的________值决定。

16.程序的编译是以__________为单位进行的。

17.假定a是一个一维数组,则a[i]的指针访问方式为________。

18.执行int*p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为________。

19.假定要动态分配一个类型为structWorker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句表达式为________________=malloc(n*sizeof(structWorker))。

20.与结构成员访问表达式p->

name等价的表达式是____________。

三、写出下列每个程序运行后的输出结果

1.#include<

stdio.h>

voidmain(){

inti,s=0;

for(i=1;

i++){

if(s>

50)break;

if(i%2==0)s+=i;

}

printf("

i,s=%d,%d\n"

i,s);

2.#include<

charch='

*'

inti,n=5;

while

(1){

for(i=0;

i<

i++)printf("

ch);

\n"

);

if(--n==0)break;

3.#include<

voidmain()

{

intx=24,y=88;

inti=2,p=1;

do{

while(x%i==0&

y%i==0){

p*=i;

x/=i;

y/=i;

i++;

}while(x>

=i&

y>

=i);

%d\n"

p*x*y);

4.#include<

inta[9]={36,25,48,24,55,40,18,66,20};

inti,b1,b2;

a[0]<

=a[1]?

(b1=a[0],b2=a[1]):

(b1=a[1],b2=a[0]);

for(i=2;

9;

i++)

if(a[i]<

b1){b2=b1;

b1=a[i];

elseif(a[i]<

b2)b2=a[i];

%d%d\n"

b1,b2);

5.#include<

inta=10,b=20;

a,b);

{intb=a+25;

a*=4;

6.#include<

voidSelectSort(inta[],intn)

inti,j,k,x;

i++){//进行n-1次选择和交换

k=i-1;

for(j=i;

j<

j++)

if(a[j]<

a[k])k=j;

x=a[i-1];

a[i-1]=a[k];

a[k]=x;

inti;

inta[6]={20,15,32,47,36,28};

SelectSort(a,6);

6;

i++)printf("

%d"

a[i]);

7.#include<

voidLE(int*a,int*b){

intx=*a;

*a=*b;

*b=x;

intx=15,y=26;

x,y);

LE(&

x,&

y);

8.#include<

#include<

string.h>

structWorker{

charname[15];

//姓名

intage;

//年龄

floatpay;

//工资

};

intEqual(structWorker*r1,structWorker*r2)

if(strcmp(r1->

name,r2->

name)==0)return1;

elsereturn0;

structWorkera[4]={{"

25,420},{"

defa"

58,638},

{"

ghin"

49,560},{"

jklt"

36,375}};

structWorkerx={"

4;

i++)

if(Equal(a+i,&

x))break;

if(i>

=4)printf("

没有查找所需要的记录!

elseprintf("

%s%d%6.2f\n"

a[i].name,a[i].age,a[i].pay);

四、写出下列每个函数的功能

1.intSE(intn){//n为大于等于1的整数

intx,s=0;

输入%d个整数:

"

n);

scanf("

%d"

&

x);

if(n==1)returnx;

s=x;

while(--n){scanf("

s+=x;

returns;

voidWA(inta[],intn){

inti,k,j,x;

for(i=0;

n-1;

k=i;

for(j=i+1;

if(a[j]>

x=a[i];

a[i]=a[k];

}

3.#include<

int*LJ(inta[],intn){

inti,k=0;

i++)

if(a[i]>

a[k])k=i;

return&

a[k];

4.intOutput(structIntNode*f)

intsum=0;

if(!

f)return-9999;

//用返回特定值-9999表示空表

while(f){

sum+=f->

data;

f=f->

next;

returnsum;

假定structIntNode的类型定义为:

structIntNode{

intdata;

//结点值域

structIntNode*next;

//结点指针域

5.intwr4(FILE*fptr)

charch;

intc=0;

fseek(fptr,0,SEEK_SET);

ch=fgetc(fptr);

if(ch!

=EOF)c++;

elsebreak;

returnc;

五、根据下列每个题目要求编写程序

1.编写一个函数fun(),首先从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a[4][4]中,接着求出主对角线上元素之和,最后返回求和结果。

2.编写一个主函数,计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。

3.编写一个主函数,已知6≤a≤40,15≤b≤30,求出满足不定方程2a+5b=120的全部整数组解。

如(13,20)就是其中的一组解。

参考解答:

1.C2.D3.B4.A5.C

6.C7.B8.A9.C10.A

11.D12.A13.C

1./*2.程序

3.weirong184.C

5.26.float

7.338.(!

x)

9.1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1