您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 武汉工程大学专升本《程序设计基础》
1武汉工程大学2007年专升本《程序设计基础》考试大纲一、考试基本要求掌握高级程序设计语言的基本概念、基本理论及程序设计的基本方法与编程技巧,掌握进行科学计算的一般思路,具有一定的抽象思维和逻辑推理能力。能利用所学知识,具备用计算机解决和处理实际问题的思维方法与基本能力。二、考试方法闭卷笔试。三、考试时间120分钟。四、试卷分值试卷满分100分。五、题型及比例单项选择题:20%填空题:10%读程序写结果:20%程序填空:20%编写程序:30%六、试卷考试内容及要求1.C语言的基本概念(1)了解C语言的发展及特点。(2)掌握程序的基本结构与书写格式。(3)掌握程序的基本概念及程序开发基本过程。(4)理解结构化程序设计的思想和方法.2.数据类型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.指针3(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%八、试题难易度大致比例41.容易题30%2.中等难度题50%3.较难题20%九、参考书目1.《C语言程序设计》,谭浩强编,清华大学出版社。2.《程序设计基础》,吴文虎编,清华大学出版社。5《程序设计基础》考试样卷一、单项选择题(每小题2分,共计20分,将答案写在题中横线上)1.在C语言中,字符型数据在内存中的存储形式是▁▁▁▁▁。A.补码B.反码C.原码D.ASCII码2.下列变量名中合法的是▁▁▁▁▁。A.B.C.TomB.3a66C._6a7bD.$ABC3.以下语句输出的结果是▁▁▁▁▁▁。#includestdio.hvoidmain(){printf(“%d”,null);}A.0B.编译出错,变量无定义C.-1D.14.为避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与▁▁▁配对。A.同一行上的ifB.其之后最近的ifC.其之前最近的ifD.缩排位置相同的if5.以下程序的执行结果是▁▁▁▁▁▁。#includestdio.hvoidmain(){inti,sum;for(i=1;i=3;sum++)sum+=i;printf(“%d\n”,sum);}A.6B.3C.死循环D.06.当执行以下程序时,▁▁▁▁▁▁。#includestdio.hvoidmain(){6inty=-1;do{y--;}while(--y);printf(%d\n,y--);}A.循环体将执行一次B.循环体将执行两次C.循环体将执行无限次D.系统将提示有语法错误7.若有定义inta[4][5],则元素a[2][3]是数组中第个元素。A.13B.14C.8D.98.在函数调用语句fun1(fun2(x,y),(x,y),z=x+y);中,fun1的实际参数的个数是。A.3B.7C.4D.59.以下叙述中不正确的是。A.在不同的函数中可以使用相同名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效10.p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的。A.p2=*&p1;B.p2=**p1;C.p2=&p1;D.p2=*p1;二、填空题(每小题1分,共10分,把答案填在题中横线上)1.一个C语言程序一般由若干个函数构成的,程序中至少应包含一个。2.x是int类型变量,则执行下列语句x=7;x+=x-=x+x;后x的值是。3.设有intx=13;则表达式(++x*1/3)的值是。4.若a=13、b=25、c=-17,条件表达式((y=(ab)?a:b)c)?y:c的值为。5.在函数内部定义只在本函数内有效的变量是。76.函数直接或者间接地自己调用自己,被称为函数的。7.在C语言中,要读取某个数据文件里的数据,首先要将该文件处于打开状态,即对该文件进行操作。8.定义语句为chara[]=”hangzhou”,*p=a,语句for(inti=0;*p!=’\0’;p++,i++);执行后i的值为。9对宏定义语句“#definef(x,y)printf(x,y)”的引用f(”%d\n”,m);置换展开后为。10.释放由p所指向的内存区的语句为。三、读程序写结果(每小题5分,共20分,把答案填在题中“运行结果”处)1.下列程序的输出结果是:#includestido.hvoidmain(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}运行结果:2.以下程序的执行结果是:#includestdio.hvoidmain(){structstud{charname[20];intage;charsex;}student={louis,10,'m'};8printf(%s,%d,%c,student.name,student.age,student.sex);}运行结果:3.以下程序运行后,输出结果是:#includestdio.hvoidmain(){inty=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y=1);for(j=i-1;j0;j--)printf(“%d”,a[j]);printf(\n);}运行结果:4.以下程序运行后,输出结果是:#includestdio.hvoidmain(){9inta[5]={1,2,3,4,5};int*p=a;printf(%d,,*++p);printf(%d,,*p++);printf(%d,a[2]);}运行结果:四、程序填空。根据下列各题题意填空,填写在程序中的划线处。(每空2.5分,共20分)1.输入2个整数,输出它们的最小公倍数和最大公约数。#includestdio.hvoidmain(){intm,n,gbs,gys;scanf(⑴);for(gbs=m;⑵;gbs=gbs+m);gys=⑶⑷}2.输入若干个学生的姓名、学号、数学、英语、计算机成绩到文件中student.dat。#includestdio.hvoidmain(){⑴charname[8],numb[8];⑵scanf(%d,&n);10⑶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分)12345678910DCBCCCBADA二、填空题(每小题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=13、b=25、c=-17,条件表达式((y=(ab)?a:b)c)?y:c的值为-17。115.在函数内部定义只在本函数内有效的变量是内部变量。6.函数直接或者间接地自己调用自己,被称为函数的__递归调用_。7.在C语言中,要读取某个数据文件里的数据,首先要将该文件处于打开状态,即对该文件进行open(或打开文件)操作。8.定义语句为chara[]=”hangzhou”,*p=a;,语句for(inti=0;*p!=’\0’;p++,i++);执行后i的值为8。9对宏定义语句“#definef(x,y)printf(x,y)”的引用f(”%d\n”,m);置换展开后为printf(”%d\n”,m);。10.释放由p所指向的内存区的语句为free(p)。三、读程序写结果(每小题5分,共20分,把答案填在题中“运行结果”处)1.运行结果:332.运行结果:louis10m3.运行结果:10014.运行结果:2,2,3四、程序填空。根据读下列各题题意填空,写入在程序中的划线处。(每空2.5分,共20分)1.(1)”%d%d”,&m,&n(2)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分)121.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。参考程序如下:#includestdio.h#defineN50voidmain(){floatx;unsignedints1,s2,s3,i;//正确定义变量,得2分。s1=s2=s3=0;for(i=1;i=N;i++){//正确使用循环,得2分。scanf(%f,&x);//正确输入数据,得1分。if(x0)s1++;elseif(x==0)s2++;elses3++;//三个计数器每个正确累加,得3分。}printf(负数%u个,零%u个,正数%u个\n,s1,s2,s3);//正确输出,得2分。}2.编程,用递归方法求n!。参考程序如下:#includestdio.hlongfact(intm)//函数头部定义正确,得1分。{longp;if(m==0||m==1)p=1;//正确定义结束条件,得1分。elsep=m*fact(m-1);//正确写出递归表达式,得2分。return(p);//正确返回结果,得1分。}voidmain(){intn;longx;scanf(“%d”,&n
本文标题:武汉工程大学专升本《程序设计基础》
链接地址:https://www.777doc.com/doc-150694 .html