武汉工程大学专升本《程序设计基础》.docx
- 文档编号:12288259
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:14
- 大小:48.33KB
武汉工程大学专升本《程序设计基础》.docx
《武汉工程大学专升本《程序设计基础》.docx》由会员分享,可在线阅读,更多相关《武汉工程大学专升本《程序设计基础》.docx(14页珍藏版)》请在冰点文库上搜索。
武汉工程大学专升本《程序设计基础》
武汉工程大学2007年
专升本《程序设计基础》考试大纲
一、考试基本要求
掌握高级程序设计语言的基本概念、基本理论及程序设计的基本方法与编程技巧,掌握进行科学计算的一般思路,具有一定的抽象思维和逻辑推理能力。
能利用所学知识,具备用计算机解决和处理实际问题的思维方法与基本能力。
二、考试方法
闭卷笔试。
三、考试时间
120分钟。
四、试卷分值
试卷满分100分。
五、题型及比例
单项选择题:
20%
填空题:
10%
读程序写结果:
20%
程序填空:
20%
编写程序:
30%
六、试卷考试内容及要求
1.C语言的基本概念
(1)了解C语言的发展及特点。
(2)掌握程序的基本结构与书写格式。
(3)掌握程序的基本概念及程序开发基本过程。
(4)理解结构化程序设计的思想和方法.
2.数据类型
(1)掌握C语言的字符集及常用词法符号。
(2)理解C语言的数据类型(基本类型、构造类型、指针类型、空类型)。
(3)掌握常量及变量的定义方法。
(4)掌握标准输入/输出函数的使用方式。
3.运算符和表达式
(1)掌握运算符的种类、运算优先级、结合性。
(2)掌握各种表达式类型(赋值表达式、算术表达式、逗号表达式、条件表达式、关系表达式、逻辑表达式等)及求值规则。
(3)掌握不同类型数据间的转换与运算。
4.语句
(1)掌握选择语句的使用方法。
(2)掌握循环语句的使用方法。
(3)掌握continue、break语句。
(4)理解循环的嵌套调用。
5.数组
(1)掌握一维数组定义、初始化和引用。
(2)掌握排序算法、查找算法和插入算法。
(3)理解二维数组的定义、初始化和引用。
(4)掌握字符数组的使用,了解字符串常用函数。
6.函数
(1)掌握常用库函数的正确调用方法。
(2)掌握自定义函数的定义方法。
(3)掌握形式参数与实际参数的区别及参数的传递方式。
(4)掌握函数的类型及其返回值。
(5)掌握函数的调用方法,理解函数的嵌套调用、递归调用。
(6)掌握局部变量和全局变量,理解变量的作用域和生存期。
(7)理解变量的存储类型。
(8)了解内部函数和外部函数。
7.指针
(1)掌握指针的概念及指针的定义。
(2)掌握指针与地址运算符及指针的运算。
(3)掌握指向变量、数组、字符串的指针变量。
(4)理解指针变量作函数参数和指针型函数。
(5)理解指针数组和指向函数的指针。
8.编译预处理
(1)掌握编译预处理的概念和特点。
(2)理解不带参数的宏定义及其使用。
(3)理解带参数的宏定义及其使用。
(4)掌握“文件包含”的概念和使用。
(5)了解条件编译及其使用。
9.结构与联合
(1)掌握结构类型数据的定义方法。
(2)掌握结构型数据的引用方法。
(3)了解联合类型数据的定义方法和引用方法。
(4)理解指向结构体的指针变量。
10.文件
(1)掌握定义和使用文件指针的方法。
(2)掌握文件的打开和关闭方法。
(3)掌握文件的读写方法。
七、考试内容大致比例
1.基础知识部分20%
2.数组20%
3.函数20%
4.指针15%
5.结构与联合20%
6.文件5%
八、试题难易度大致比例
1.容易题30%
2.中等难度题50%
3.较难题20%
九、参考书目
1.《C语言程序设计》,谭浩强编,清华大学出版社
2.《程序设计基础》,吴文虎编,清华大学出版社。
程序设计基础》考试样卷
、单项选择题(每小题2分,共计20分,将答案写在题中横线上)
1.
在C语言中,字符型数据在内存中的存储形式是,
A.
补码
B.反码
C.原码
D.
ASCII码
2.
列变量名中合法的是
A.
B.C.Tom
B.3a66
C.
6a7b
D.
$ABC
3.
以下语句输出的结果是
#include
printf(
%d”,null);
A.0
B.编译出错,变量无定义
C.-1
D.1
4.为避免在嵌套的条件语句if-else中产生二义性,
C语言规疋:
else子句总是与,
配对。
A.同一行上的if
B.其之后最近的if
C.其之前最近的if
D.缩排位置相同的if
5.以下程序的执行结果是。
#include
for(i=1;i<=3;sum++)sum+=i;
printf(“n%”d,sum);}
A.6B.3C.死循环D.0
6.当执行以下程序时,
#include
{
inty=-1;
do{y--;}
while(__y);
printf("%d\n",y--);
}
7.若有定义inta[4][5],贝U元素a[2][3]是数组中第个元素
9.以下叙述中不正确的是。
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
10.
p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的
二、填空题(每小题1分,共10分,把答案填在题中横线上)
1.一个C语言程序一般由若干个函数构成的,程序中至少应包含一个。
2.x是int类型变量,则执行下列语句x=7;x+=x-=x+x;后x的值是。
3.设有intx=13;则表达式(++x*1/3)的值是。
4.若a=13b=25、c=-17,条件表达式((y=(a
a:
b) y: c的值为 5.在函数内部定义只在本函数内有效的变量是。 6.函数直接或者间接地自己调用自己,被称为函数的 7.在C语言中,要读取某个数据文件里的数据,首先要将该文件处于打开状态,即对该文 件进行操作。 8.定义语句为chara[]=”hangzhou”,,*j语旬for(inti=0;*p! =O';'p++,i++); 执行后i的值为。 9对宏定义语句“#definef(x,y)printf(x,y)”的引用f(”%ra”,m);置换展开后 为。 10.释放由p所指向的内存区的语句为。 三、读程序写结果(每小题5分,共20分,把答案填在题中“运行结果”处) 1.下列程序的输出结果是: #include voidmain() {inty=3,x=3,z=1; printf(“%dr%d,(++x,y++),z+2);} 运行结果: 2.以下程序的执行结果是: #include voidmain() {structstud { charname[20]; intage; charsex; }student={"louis",10,'m'}; printf("%s,%d,%c",student.name,student.age,student.sex); 运行结果: 3.以下程序运行后,输出结果是: #include { inty=18,i=0,j,a[8]; do {a[i]=y%2;i++; y=y/2; }while(y>=1); for(j=i-1;j>0;j--) printf(“%d”,a[j]);printf("\n");}运行结果: 4.以下程序运行后,输出结果是: #include { inta[5]={1,2,3,4,5}; int*p=a; printf("%d,",*++p); printf("%d,",*p++); printf("%d",a[2]); } 运行结果: 四、程序填空。 根据下列各题题意填空,填写在程序中的划线处 1.输入2个整数,输出它们的最小公倍数和最大公约数。 #include voidmain() {intm,n,gbs,gys; scanf(⑴); for(gbs=m;⑵;gbs=gbs+m); gys=⑶ ⑷ } 2.输入若干个学生的姓名、学号、数学、英语、计算机成绩到文件中 #include voidmain() {⑴)—charname[8],numb[8]; ⑵ (每空2.5分,共20分) student.da。 scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%s%s%d%d%d",name,numb,&m,&e,&c);fprintf(fp,"%s%s%d%d%d\n",name,numb,m,e,c); } ⑷; } 五、编写程序(每小题10分,共30分) 1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。 2.编程,用递归方法求n! 。 3.编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个 记录包括num,name,score[3,用主函数输入这些记录,用print函数输出这些记录。 《程序设计基础》考试样卷参考答案与评分标准 、单项选择题(每小题2分,共计20分) 1 2 3 4 5 6 7 8 9 10 D C B C C C B A D A 二、填空题(每小题1分,共10分,把答案填在题中横线上) 1.一个C语言程序一般由若干个函数构成的,程序中至少应包含一个main()函数 2.x是int类型变量,则执行下列语句x=7;x+=x-=x+x;后x的值是-14。 3.设有intx=13;则表达式(++x*1/3)的值是4。 4.若a=13b=25、c=-17,条件表达式((y=(a a: b) y: c的值为-17。 5.在函数内部定义只在本函数内有效的变量是内部变量。 6.函数直接或者间接地自己调用自己,被称为函数的递归调用_。 7.在C语言中,要读取某个数据文件里的数据,首先要将该文件处于打开状态,即对该文 件进行open或打开文件)操作。 8.定义语句为chara[]=”hangzhou”,*p语句for(inti=0;*p! =O';'p++,i++); 执行后i的值为8。 9对宏定义语句“#definef(x,y)printf(x,y)”的引用f(”%d',m);置换展开后为printf(”%d,m);。 10.释放由p所指向的内存区的语句为free(p)。 三、读程序写结果(每小题5分,共20分,把答案填在题中“运行结果”处) 1.运行结果: 33 2.运行结果: louis10m 3.运行结果: 1001 4.运行结果: 2,2,3 四、程序填空。 根据读下列各题题意填空,写入在程序中的划线处。 (每空2.5分,共20分) 1. (1)”%d%”,&m,&n ⑵gbs%n! =0 (3)m*n/gbs; (4)printf(”%d%d\n”,gbs,gys); 2. (1)FILE*fp; (2)intm,e,c,i,n; (3)fp=fopen(”student.dat”,”W'); (4)fclose(fp); 五、编写程序(每小题10分,共30分) 1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零参考程序如下: #include"stdio.h" #defineN50voidmain() {floatx;unsignedints1,s2,s3,i;//正确定义变量,得2分。 s1=s2=s3=0; for(i=1;i<=N;i++){ //正确使用循环,得2分。 scanf("%f",&x); //正确输入数据,得1分。 if(x<0)s1++;elseif(x= } =0)s2++;elses3++;//三个计数器每个正确累加,得3分。 printf("负数%u个,零%u个,正数%u个\n",s1,s2,s3);//正确输出,得2分 } 2.编程,用递归方法求n! 。 参考程序如下: #include longfact(intm) {longp; //函数头部定义正确,得1分。 if(m==0||m==1)p=1; //正确定义结束条件,得1分。 elsep=m*fact(m-1); //正确写出递归表达式,得2分。 return(p); //正确返回结果,得1分。 } voidmain() { intn; longx; scanf(“%d”,&n); //输入,得1分。 x=fact(n); printf(“n! =%ld”,x); //正确调用函数,3分。 //输出,得1分。 3.编写一个函数print,打印包含学生成绩的数组,该数组中有5个学生的数据记录,每个 记录包括num,name,score[3,用主函数输入这些记录,用print函数输出这些记录。 参考程序如下: #include structstudent{charnum[7],name[9];intscore[3];};//正确定义结构体,得1分。 voidprint(structstudent*s,intn)//函数头部定义正确,得2分。 {inti; for(i=0;i //正确利用循环结构输出结果,得3分。 return; } voidmain() {structstudentt[4];inti; for(i=0;i<4;i++) scanf("%s%s%d%d%d",&t[i].num,&t[i].name,&t[i].score[0],&t[i].score[1],&t[i].score[2]);//正确利用循环结构输入数据,得2分 print(t,4);//正确调用函数,得2分。 }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计基础 武汉 工程 大学 程序设计 基础