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分钟。考生参加考试时只允许携带钢笔、签字笔、圆珠笔、铅笔、橡皮等文具用品和计算器,不允许带有关参考书等
|