00342高级语言程序设计(一)
00342高级语言程序设计(一)
一、本课程使用教材、大纲
高级语言程序设计(一)课程使用的教材为《高级语言程序设计》
迟成文编著、经济科学出版社、2007年第一版。
二、本课程的试卷题型结构及试题难易度
试卷题型结构表
课 程代 号 | 00342 | 课 程名 称 | 高级语言程序设计(一) | ||||
题 型 | 单选题 | 填空题 | 程序 填空题 | 程序 改错题 | 程序 分析题 | 编程题 | 合计 |
每 题分 值 | 1 | 1 | 6 | 4 | 6 | 10 | |
题 数 | 20 | 10 | 3 | 2 | 4 | 2 | 41 |
合 计分 值 | 20 | 10 | 18 | 8 | 24 | 20 | 100 |
试卷按识记、领会、简单应用、综合应用四个认知层次命制试题,四个认知层次在试卷中所占比例大致分别为:识记占20%、领会占30%、简单应用占30%、综合应用占20%。
试卷难易度大致可分为“容易、中等偏易、中等偏难、难”。根据课程的特点,每份试卷中,不同难易度试题所占的分数比例大致依次为易占30分、中等偏易占30分、中等偏难占20分、难占20分。
三、各章内容分数的大致分布
章 次 | 内 容 | 分 值 |
第1章 | 概述 | 1 |
第2章 | C语言的基本知识 | 1 |
第3章 | 基本数据类型、运算符和表达式 | 10 |
第4章 | 顺序结构、选择结构和循环结构的程序设计 | 22 |
第5章 | 数组 | 22 |
第6章 | 指针 | 16 |
第7章 | 函数 | 12 |
第8章 | 结构型与自定义类型 | 8 |
第9章 | 文件 | 8 |
四、各篇内容的重、难点
篇 次 | 重 点 | 难 点 |
第1章 | 程序设计概念,算法 | |
第2章 | 保留字,标识符,C程序的基本构成,C程序的基本构成,C程序的开发环境 | |
第3章 | 数据类型,常量,变量,运算符,表达式,变量赋值及表达式计算时的类型转换,宏定义 | 运算符的优先级与结合性,逻辑运算的优化,关系运算和数学关系表达式的区别,宏定义 |
第4章 | 顺序结构、选择结构和循环结构的程序设计,各种有关算法 | 各种有关算法 |
第5章 | 一维数组,二维数组,字符数组与字符串,字符串处理常用函数,各种有关一维数组、二维数组、字符串的常用算法 | 有关一维数组、二维数组、字符串的常用算法 |
第6章 | 指针变量的定义和初始化,指针变量和一维数组,指针变量和字符串,指针数组 | 指针变量和一维数组,指针变量和字符串 |
第7章 | 函数的定义和调用,函数调用时数据的传递方式,变量的存储类别和作用域,函数的嵌套调用和递归调用,指针型函数,文件包含命令,常用系统函数 | 函数调用时地址传递,重点掌握数学库函数和字符串处理函数的使用,一维数组做函数参数,变量的存储类别 |
第8章 | 结构型的定义,结构型变量成员的引用,结构型数组,结构型数组与指针 | 结构型成员的引用,结构型数组与指针,结构型变量的存储空间 |
第9章 | 文件的类型,文件指针,文件的打开与关闭,文件的读写,文件指针的定位 | 文件的类型,文件的打开关闭与读写 |
五、各题型范例及解题要求
1.单项选择题
要求:在下列每小题的四个备选答案中选出一个正确的答案,并将其字母标号填入题干的括号内。
例:组成C语言程序的是( B )
A.过程 B.函数 C.子程序 D.主程序和子程序
2.填空题
函数中的形参和调用时的实参都是变量时,传递方式为________。答案:值传递方式
3.程序填空题
例:输入10个整数存入一维数组,再按逆序重新存放后再输出。
main( )
{
int i, j, a[10], t, *p;
for(i=0; i<10; i++)
scanf("%d", __________ );
for(i=0, j=9; i<j; __________)
t=a[i], a[i]=a[j], a[j]=t;
for(p=a; p<a+10; p++) //用指针访问数组元素
printf("%4d", __________);
printf("\n");
}
答案:
(1)&a[i] 或a+i
(2)i++, j--
(3)*p
(直接将答案填在横线上)
4.程序改错题(每题有2个错误)
例:函数fun的功能是:根据整型形参m,计算如下公式的值:
程序中第3到6行有两个错误,请改正。用下划线标出错误所在行,并在其后空白处写出正确语句。
double fun (int m) /* 第1行 */
{ /* 第2行 */
double y, d ; /* 第3行 */
int i ; /* 第4行 */
for ( i =100,i <= m,i += 100 ) /* 第5行 */
{ /* 第6行 */
d = (double) i * (double) i ; /* 第7行 */
y += 1.0 / d ; /* 第8行 */
} /* 第9行 */
return ( y ) ; /* 第10行 */
}
答案:(1)出错行号3,正确的语句是double y = 0, d ;
(2)出错行号5,正确的语句是for(i=100;i<=m;i+=100)
5.程序分析题
例: main()
{
int i,j,row=0,colum=0,max;
int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,15,-5,2}};
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if (a[i][j]>max)
{ max=a[i][j];row=i;colum=j;}
printf("max=%d\nrow=%d\ncolum=%d\n",
max,row,colum);
}
输出的第一行为:_________________________
输出的第二行为:_________________________
输出的第三行为:_________________________
答案(1)max=15
(2)row=2
(3)colum=1
6.编程题
编写程序,利用以下公式计算π的近似值,
直到最后一项的绝对值小于10-8为止。
。
答案:
#include <stdio.h>
#include <math.h>
main()
{ double pi=0, //π/4的前n项的和,初值为0
t=1, //π/4的当前项的值,初值为1
n=1; //n表示分母
int s=-1; //s表示符号 (3分)
while(fabs(t)>=1E-8) (2分)
{ pi+=t; n+=2; s=-s; t=-s/n; } (3分)
printf("π≈%f",pi*4); (1分)
return 0; (1分)
}
直接将答案填在题后的空白处
六、考试注意事项
本课程考试方式为闭卷、笔试,考试时间为150分钟。考生参加考试时只允许携带钢笔、签字笔、圆珠笔、铅笔、橡皮等文具用品和计算器,不允许带有关参考书等