武汉工程大学专升本程序设计基础.docx
- 文档编号:6746777
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:10
- 大小:27.87KB
武汉工程大学专升本程序设计基础.docx
《武汉工程大学专升本程序设计基础.docx》由会员分享,可在线阅读,更多相关《武汉工程大学专升本程序设计基础.docx(10页珍藏版)》请在冰点文库上搜索。
武汉工程大学专升本程序设计基础
武汉工程大学
专升本《程序设计基本》考试大纲
一、考试基本规定
掌握高档程序设计语言基本概念、基本理论及程序设计基本办法与编程技巧,掌握进行科学计算普通思路,具备一定抽象思维和逻辑推理能力。
能运用所学知识,具备用计算机解决和解决实际问题思维办法与基本能力。
二、考试办法
闭卷笔试。
三、考试时间
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.TomB.3a66C._6a7bD.$ABC
3.如下语句输出成果是▁▁▁▁▁▁。
#include
voidmain()
{
printf(“%d”,null);
}
A.0B.编译出错,变量无定义C.-1D.1
4.为避免在嵌套条件语句if-else中产生二义性,C语言规定:
else子句总是与▁▁▁配对。
A.同一行上ifB.其之后近来if
C.其之前近来ifD.缩排位置相似if
5.如下程序执行成果是▁▁▁▁▁▁。
#include
voidmain()
{inti,sum;
for(i=1;i<=3;sum++)sum+=i;
printf(“%d\n”,sum);}
A.6B.3C.死循环D.0
6.当执行如下程序时,▁▁▁▁▁▁。
#include
voidmain()
{
inty=-1;
do{y--;}
while(--y);
printf("%d\n",y--);
}
A.循环体将执行一次B.循环体将执行两次
C.循环体将执行无限次D.系统将提示有语法错误
7.若有定义inta[4][5],则元素a[2][3]是数组中第个元素。
A.13B.14C.8D.9
8.在函数调用语句fun1(fun2(x,y),(x,y),z=x+y);中,fun1实际参数个数是。
A.3B.7C.4D.5
9.如下论述中不对的是。
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=(a
a:
b) y: c值为。 5.在函数内部定义只在本函数内有效变量是。 6.函数直接或者间接地自己调用自己,被称为函数。 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.下列程序输出成果是: #include voidmain() {inty=3,x=3,z=1; printf(“%d%d\n”,(++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 voidmain() { 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 voidmain() { inta[5]={1,2,3,4,5}; int*p=a; printf("%d,",*++p); printf("%d,",*p++); printf("%d",a[2]); } 运营成果: 四、程序填空。 依照下列各题题意填空,填写在程序中划线处。 (每空2.5分,共20分) 1.输入2个整数,输出它们最小公倍数和最大公约数。 #include voidmain() {intm,n,gbs,gys; scanf( ); for(gbs=m; ;gbs=gbs+m); gys= } 2.输入若干个学生姓名、学号、数学、英语、计算机成绩到文献中student.dat。 #include voidmain() { charname[8],numb[8]; 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=13、b=25、c=-17,条件表达式((y=(a a: b) y: c值为-17。 5.在函数内部定义只在本函数内有效变量是内部变量。 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.运营成果: 33 2.运营成果: louis10m 3.运营成果: 1001 4.运营成果: 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分) 1.编程,记录在所输入50个实数中有多少个正数、多少个负数、多少个零。 参照程序如下: #include"stdio.h" #defineN50 voidmain() {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)//函数头部定义对的,得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);//输入,得1分。 x=fact(n);//对的调用函数,3分。 printf(“n! =%ld”,x);//输出,得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 (*(s+i)).score[0],(*(s+i)).score[1],(*(s+i)).score[2]); //对的运用循环构造输出成果,得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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉 工程 大学 程序设计 基础