文档库 最新最全的文档下载
当前位置:文档库 › 高级程序设计语言C课程教学大纲

高级程序设计语言C课程教学大纲

高级程序设计语言C课程教学大纲
高级程序设计语言C课程教学大纲

《数据结构A》课程教学大纲

一、课程基本信息

课程中文名称:数据结构A

课程英文名称:Data StructureA

课程编号:10072105

课程性质:学科基础课

课程学时和学分:总学时:64 总学分:3.5 理论学时:48 上机学时:16

适用专业:计算机科学与技术、网络工程、软件工程

先修课程:计算机程序设计语言、离散数学等

开课系部、教研室:电子与信息工程系、计算机应用教研室

二、课程的地位与作用

《数据结构》是计算机科学中一门综合性的专业核心基础课程。它是编译原理、操作系统、数据库系统原理、算法设计与分析及计算机应用方面的主要基础。

三、课程总的教学目的和要求

本课程教学目的是通过本课程的学习,要求学生掌握数据结构的特点、存储方法和基本运算,培养学生运用C(C++)语言正确编程及调试的能力,运用数据结构解决简单的实际问题的能力,为后续计算机专业课程的学习打下坚实的基础。

四、各章主要教学内容

第1章数据结构概述(2学时)

本章应了解数据结构及算法的概念;掌握计算语句频度和估算算法时间复杂度的方法。

重点:数据结构的逻辑结构、存储结构及数据的运算三方面的概念及相互关系

难点:算法复杂度的分析方法

第2章线性表(8学时)

本章应了解线性表的逻辑结构特性,以及线性表的两种存储实现方式;熟练掌握顺序表的定义与实现,包括查找、插入、删除算法的实现;熟练掌握在各种链表结构中实现线性表操作的基本方法,能在实际应用中选用适当的链表结构;本章实验应掌握线性表的基本操作在顺序和链式存储结构上的实现。

重点:顺序表和单链表上实现的各种基本算法及相关的时间性能分析

难点:使用本章所学到的基本知识设计有效算法解决与线性表相关的应用问题

第3章栈和队列(8学时)

本章应掌握栈和队列的定义、特性,并能正确应用它们解决实际问题;熟练掌握栈的顺序表示、链表表示以及相应操作的实现;熟练掌握队列的顺序表示、链表表示以及相应操作的实现;本章实验应掌握栈和队列的特点及栈和队列的基本运算。

重点:栈和队列在两种存储结构上实现的基本运算

难点:循环队列中对边界条件的处理

第4章串(2学时)

本章应理解串的基本操作的定义,并能利用这些基本操作来实现串的其它各种操作的方法;熟练掌握在串的顺序存储结构上实现串的各种操作的方法;了解串操作的应用方法和特点。

重点:顺序存储结构上串的各种操作

难点:串上实现的模式匹配算法

第5章数组与广义表(4学时)

本章应了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法;掌握对特殊矩阵进行压缩存储时的下标变换公式;了解稀疏矩阵的两种压缩存储方法的特点和适用范围,理解以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法;掌握广义表的结构特点及其存储表示方法,会对非空广义表进行分解。

重点:多维数组的存储方式、矩阵的压缩存储方式、广义表的定义及其求表头和表尾的运算难点:稀疏矩阵的压缩存储表示下实现的算法

第6章树与森林(10学时)

本章应了解树和森林的概念。包括树的定义、树的术语和性质;熟练掌握二叉树的结构特性,熟悉二叉树的各种存储结构的特点及适用范围;熟练掌握二叉树的遍历方法及遍历算法;熟悉树的各种存储结构及其特点,掌握树、森林与二叉树的转换方法;掌握建立哈夫曼树和哈夫曼编码的方法及带权路径长度的计算;本章实验应掌握二叉树的结构特性,以及用指针类型描述、访问和处理二叉树的运算。

重点:二叉树的遍历算法及其相关应用

难点:使用本章所学到的有关知识设计出有效算法,解决与树或二叉树相关的应用问题

第7章图(10学时)

本章应理解图的基本概念,熟悉图的各种存储结构及其构造算法;熟练掌握图的两种搜索路径的遍历, 并理解算法;掌握构造最小生成树的方法;理解用Dijkstra方法求解单源最短路径问题;掌握求活动网络的拓扑排序的方法,并理解算法;了解求解关键路径的方法;本章实验应熟悉图的存储结构及邻接矩阵和邻接表等有关概念,掌握图的两种搜索路径的遍历方法。

重点:图的两种存储结构上实现的遍历算法

难点:图的应用的实现

第8章查找(8学时)

本章应熟练掌握顺序表和有序表的查找算法及其性能分析方法;熟练掌握二叉排序树的构造和查找算法及其性能分析方法;理解AVL树的维护平衡方法;了解B_树、B+的特点、查找及构造方法;熟练掌握哈希函数的构造及解决冲突的方法;本章实验应熟练掌握二叉排序树的构造和查找方法。

重点:顺序查找、二分查找,二叉查找树上查找以及散列表上查找的基本思想和算法实现

难点:二叉查找树的删除算法及B—树上的插入和删除算法

第9章排序(12学时)

本章应掌握排序的基本概念和各种排序方法的特点,并能加以灵活应用;掌握插入排序、交换排序、选择排序、归并排序的方法及其性能分析方法;了解基数排序方法及其性能分析方法;本章实验应掌握常用的排序方法,并掌握用高级语言实现排序算法的方法。

重点:快速排序、堆排序、归并排序和希尔排序的基本思想及排序过程

难点:这四个排序算法的实现

实验1 线性表的应用(4学时)

实验目的:掌握线性表的基本操作在顺序和链式存储结构上的实现。

实验要求:

(1)建立含有若干个元素的顺序表链表;

(2)对已建立的顺序表实现插入、删除、查找、逆置等操作。

实验2 栈和队列的应用(2学时)

实验目的:掌握栈和队列的特点,及栈和队列的基本运算。

实验要求:

(1)栈的初始化、判栈是否为空、进栈、出栈等运算的实现。

(2)利用栈实现判定表达式中的括号是否匹配。

实验3 数组的应用(2学时)(选作)

实验目的:熟悉数组的有关概念,掌握稀疏矩阵的三元组存储结构的转置方法。

实验要求:采用两种方法实现稀疏矩阵的转置。

实验4 树和森林的应用(2学时)

实验目的:掌握二叉树的结构特性,以及用指针类型描述、访问和处理二叉树的运算。

实验要求:

(1)创建以二叉链表作存储结构的二叉树;

(2)按中序遍历二叉树;

(3)计算二叉树的单枝结点数;

(4)按层次遍历二叉树。

实验5 图的应用(4学时)

实验目的:熟悉图的存储结构及邻接矩阵和邻接表等有关概念,掌握图的两种搜索路径的遍历方法。

实验要求:

(1)创建以邻接表作存储结构的无向图;

(2)按深度优先遍历图;

(3)按广度优先遍历图。

实验6 查找方法的实现(2学时)

实验目的:熟练掌握二叉排序树的构造和查找方法。

实验要求:

(1)创建以二叉链表作存储结构的二叉排序树;

(2)实现二叉排序树的查找、插入、中序遍历操作。

实验7 排序方法的实现(2学时)

实验目的:掌握常用的排序方法,并掌握用高级语言实现排序算法的方法。

实验要求:用各种排序方法实现学生考试成绩表的排序并输出。学生的考试成绩表必须通过键盘输入数据而建立,同时要对输出格式进行控制。

实验课考核方式采用课堂表现和实验报告相结合方式。实验课成绩占课程总成绩的10%。

五、课程考核和成绩评定方式

闭卷考试和平时考核方式结合,期末考试占70%;平时成绩占30%。

六、教材与主要参考书

1.教材

[1]王红梅,胡明,王涛.数据结构(c++版).北京:清华大学出版社,2005.

2.实验指导书或教材

[1]王红梅,胡明,王涛.数据结构(c++版)学习辅导与实验指导.北京:清华大学出版社,2005.

[2]严蔚敏,吴伟民著.数据结构题集(C语言版).北京:清华大学出版社,1997.

3、主要参考教材和参考文献

[1]严蔚敏,吴健民.数据结构(C语言版) .北京:清华大学出版社,1997.

[2]Robert .Kruse, C.L.Tondo, Bruce Leung.《Data Structures & program design in C》2nd Edition.北京:清华大学出版社.

执笔人:邢振祥审核:

高级语言程序设计(VB)随堂练习答案DOC

高级语言程序设计(VB)随堂练习答案 第1章概述·1.1程序设计语言 当前页有1题,你已做1题,已提交1题,其中答对1题。 1. https://www.wendangku.net/doc/bf7509964.html,是一种( )程序设计语言。 A. 面向事件 B. 面向属性 C. 面向对象 D. 面向过程 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 第1章概述·1.2程序设计 当前页有2题,你已做2题,已提交2题,其中答对2题。 1.把源程序代码翻译为目标程序代码可以使用的翻译方式为( )。 A. 嵌入方式 B. 运行方式 C. 连接方式 D. 解释方式或编译方式 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 2.编译程序时出现的错误称为( ) 错误。 A. 语法或编译 B. 运行 C. 逻辑 D. 计算 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 第1章概述·1.3建立简单控制台应用程序 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.存储数据不属于数据处理功能。

答题:对. 错. (已提交) 参考答案:× 问题解析: 2.控制台应用程序至少有一个Main过程。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 3.上机时,程序编译和连接成功后,系统自动生成以.exe为扩展名的可执行文件。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 第2章基本数据类型与表达式·2.1基本字符集和词汇集 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.下面选项中()是算术运算符。 A. % B. & C. Mod D. And 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.下面不合法的标识符是()。 A. Go_To B. Integer C. 姓名 D. Int1 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.在程序设计语言系统中具有固定语法含义的符号串称为标识符。 答题:对. 错. (已提交) 参考答案:× 问题解析: 第2章基本数据类型与表达式·2.2 基本数据类型

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

高级语言程序设计实验C

高级语言程序设计实验 C Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

陕西理工大学 《高级语言程序设计(C)》 实验报告 院系: 班级: 学号: 姓名:

目录

实验一:C开发环境与顺序结构程序设计 1.实验目的: (1) 了解集成开发环境VC++的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。 (2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。 (3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。 2.实验环境: (1) 硬件环境 CPU: Inter Pentium(R)4 CPU 以上 内存:2GByte (2) 软件环境 操作系统:Microsoft Windows 7 编译系统:Microsoft Visual C++ 3.实验步骤: 按如图所示流程进行实验内容的 调试。 (1) 在XP操作系统中,启动VC++ 编译环境; (2) 在VC++编译界面输入C源程 序; (3) 选择编译、组建、执行命令 进行编译、链接和运行,并记录 实验数据; (4) 按以上方法依次输入其他源 程序并调试、运行和记录实验数 据。

4.实验内容: 输入并运行下列程序,查看程序运行的结果。 #include<> void main() { printf(“* * * * * * * * * *\n”); printf(“Programing in c A Labrtry Maual\n”); printf(“* * * *\n”); printf(“*\n”); } 查看程序运行的结果 #include<> void main() { int i,j,m,n; i=8; j=10; m=++i; n=j--; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 找出下列程序中的错误,改正后写出程序运行结果. #include<> void main() { Int x,y=z=5,aver; x=7; AVER=(x+y+z)/3 printf(“AVER=%d\n”,aver); }

2020年10月全国高级语言程序设计(一)自考试题及答案解析.docx

??????????????????????精品自学考料推荐?????????????????? 全国 2018 年 10 月高等教育自学考试 高级语言程序设计(一)试题 课程代码: 00342 一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.下列不正确的转义字符是() . A. ′ ′ B. ′ ″ C. ′ \086′ D. ′ \0′ 2.下列运算符中,优先级最高的是() A. [] B.++ C.% D.&& 是 C 语言保留字的是 () 3.下列标识符中,不. A. char B. while C. min D. default 4.下列数据中,不.是 C 语言常量的是 () A. ′ \n′ B. ″ a″ C. e-2 D. 012 5.若定义了 int a; char b; float c ;,则表达式a*b-c 的类型是 () A. float B. int C. char D. double 6.若定义了 int a, x,y;,则下列语句中不.正确的是 () A. x=3 ,y=5 ; B. ++x ; C. x=y+=x*30 ; D. a=y+x=30 ; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是() A. 数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在 C 语言中,函数返回值的类型是由() A. 定义的函数类型决定 B.return 语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了 int b [][ 3]={ 1,2, 3,4, 5, 6, 7};,则 b 数组第一维的长度是 () A. 2 B. 3 C. 4 D.无确定值 1

高级语言程序设计C

高级语言程序设计(C)模拟题四 一、选择题(本题共20道小题,每题2分,共40分。) 1.以下有4组用户标识符,其中合法的一组是()。 A) For -sub Case B) 4d DO Size C) f2_G3 IF abc D) WORD void define 答案:C 解析:标识符的命名规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线,标示符的命名不能同C语言的关键字相同。 2. 若有下面的程序片段: int a[12]={0}, *p[3], **pp, i; for(i=0; i<3; i++) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2) 答案:C 解析:A. pp[0]表示p[0]的地址,而pp[0]也为一个指针,它和pp用法相同,故pp[0][1]则表示a[1]的地址,正确。 B.正确。 C.数组p的最大下标为2,错误。 D. *(*(p+2)+2)表示a[10],正确。 3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 A) a<>0 B) !a C) a=0 D) a 答案:D 解析:对if(a)而言,如果a的值不为0,则if语句括号中表达式的值不为0,if为真,选D。 4. 若已定义: int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10] 答案:D 解析: A. a[p-a]表示a[0],正确。 B. *(&a[i])表示a[i],正确。 C. p[i]表示&a[i],正确。 D. a数组最大下标为9,错误。

高级语言程序设计答案

《高级语言程序设计答案 一、选择题(每题2分,共30分,请将答案写在后面的答题栏...上) 1-5 BDBBB 6-10 BBDCC 11-15 CDBAB 二、填空题(1-3题每空1分,4-8题每空2分,共20分) 1、对象,事件驱动 2、frm ,vbp 3、函数 过程 4、31 5、9 6、countn<5 n mod 3=1 and n mod 5=1 and n mod 7=1 8、7 7、*n s+1/f 三、综合题(每题5分,共25分) 1、 (2*y)/(a*x+b*y)(a*x-c*z) 2、(x+sqr(x^2+1))^(1/3) 3、30 60 4、7 5、1)建立界面。先建立窗体,再利用控件在窗体上创建各种对象。 2)设置属性。设置窗体或控件等对象的属性。 3)编写代码。编写对象的事件代码。 四、程序设计题(8+8+9,共25分) 1:x 的值由文本框输入,计算分段函数的值:y=???????≥<≤<≤<2 ,321,210,10,0x x x x 。 private sub command1_click( ) Dim x% x=text1.text if x>=2 then y=3 elseif x>=1 then y=2 elseif x>=0 then y=1 2:统计100以内被3整除的数比被5整除的数多多少。 Private Sub Command1_Click() Dim i%, s1%, s2% For i = 1 To 100 If i Mod 3 = 0 Then s1 = s1 + 1 If i Mod 5 = 0 Then s2 = s2 + 1 Next i

华南理工大学高级语言程序设计(C++I)试卷及答案

华南理工大学计算机学院 高级语言程序设计(C++I)试卷 学生证号:____________________ 姓名: ____________________ 注意事项:1. 本试卷共五大题,满分100分,考试时间120分钟; 2. 所有答案请写在答卷上,试卷和答卷同时提交; 一.单项选择题(每小题2分,共20分) 1.下列字符列中,合法的长整型常量是: (A) 4.18e3 (B) 0.46793 (C) 4L (D) 956738 2.设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是: (A) 0,0 (B) 0,1 (C) 1,0 (D) 1,1 3.以下运算符中,优先级最低的是: (A) *= (B) ?:: (C) && (D) >= 4.在C++中,char类型数据在内存的存储形式是: (A) 原码(B) 反码(C) 补码(D) ASCII码 5.设变量定义int x = 6, y, z; 执行语句 y = z = x--; y = x == z; 后变量y的值是:(A) 0 (B) 1 (C) 5 (D) 6 6.下面的变量定义中,不正确的是: (A) char *p=”string”(B) int a[]={‘A’,’B’,’C’} (C) float *q=&b, b; (D) doudle a, *r=&a; 7.设有变量定义 doubleb[5], *p=b; 能正确表示b数组中元素地址的表达式是: (A) b (B) b+5 (C) *b[0] (D) &b 8.设有变量定义 int a[]={2,3,5,9,11,13},*pa=a, w; 执行语句w=++(*++pa); 后,变量w和*pa的值是: (A) 3和3 (B) 4和3 (C) 3和4 (D) 4和4 9.语句if(w) … ; else … ; 中的表达式w的等价表示是: (A) w==0 (B) w==1 (C) w!=0 (D) w!=1 10.设有函数说明和变量定义:int max(int x,int y); int(*p)(int,int)=max; int a, b; 以下正确调用函数的代码是: (A) *p(a,b) (B) p(a,b) (C) *(p(a,b)) (D) p(&a,&b)

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

高级语言程序设计实验 C

陕西理工大学 《高级语言程序设计(C)》 实验报告 院系: 班级: 学号: 姓名:

目录

实验一:C开发环境与顺序结构程序设计 1.实验目的: (1) 了解集成开发环境VC++的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。 (2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。 (3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。 2.实验环境: (1) 硬件环境 CPU:Inter Pentium(R)4 CPU 以上 内存:2GByte (2) 软件环境 操作系统:Microsoft Windows 7 编译系统:Microsoft Visual C++ 3.实验步骤: 按如图所示流程进行实验内容的 调试。 (1) 在XP操作系统中,启动VC++ 编译环境; (2) 在VC++编译界面输入C源程 序; (3) 选择编译、组建、执行命令进 行编译、链接和运行,并记录实验 数据; (4) 按以上方法依次输入其他源程 序并调试、运行和记录实验数据。 4.实验内容: 输入并运行下列程序,查看程序运行的结果。 #include<>

void main() { printf(“* * * * * * * * * *\n”); printf(“Programing in c A Labrtry Maual\n”); printf(“* * * *\n”); printf(“*\n”); } 查看程序运行的结果 #include<> void main() { int i,j,m,n; i=8; j=10; m=++i; n=j--; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 找出下列程序中的错误,改正后写出程序运行结果. #include<> void main() { Int x,y=z=5,aver; x=7; AVER=(x+y+z)/3 printf(“AVER=%d\n”,aver); }

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案 一、选择题(共20题,每题3分,共60分) 1. 下列四个选项中,均是合法的整型常量的选项是() A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是() A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是() A.'\t' B. "A"C.54 D. A 4. 在C语言中,要求运算数一定是整型的运算符是() A./ B. ++C.!= D. % 5. 字符串常量”mine”的字符个数是() A.4 B. 5C.6 D. 7 6. 以下属于非法的C语言转义字符的是() A.'\b' B. '0xf'C.'\037' D. '\' 7. 若x、y、z均为int型变量,则执行以下语句后的输出是() x=(y=(z=10)+5)-5; printf("x=%d, y=%d, z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d, y=%d, z=%d\n",x,y,z); A. x=10, y=15, z=10 B.x=10, y=10, z=10 x=0, y=10, z=0x=0, y=10, z=0 C.x=10, y=15, z=10 D. x=10, y=10, z=10 x=10, y=10, z=0 x=10, y=10, z=0 8. 在以下一组运算符中,优先级最高的运算符是() A.<= B. =C.% D. && 9. 已知:int x; float y; 所用的scanf调用语句格式为: scanf( “x=%d, y=%f”, &x, &y ); 为了将数据10和66.6分别赋给x和y,正确的输入应当是() A.x=10, y=66.6<回车> B. 10, 66.6<回车> C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车> 10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开

华南理工 《高级语言程序设计C 》平时作业

一、分析程序,写输出结果 1.#include #include void main() {int m, k, i ; for( m=1; m<=10; m+=2 ) { k = m/3; for( i=2; i<=k; i++ ) if( m%i ) cout << m << " "; } } 解:m 的取值为1,3,5,7,9 对应k的取值为0,1,1,2,3, 第二个for循环:只有当k=2和k=3时才执行,当k=2,i=2,m%i等于1为真,输出m为7 当k=3,i=2,m%i等于1为真,输出m为9, i=3,m%i等于0为假,无输出结果为: 7 9 2.#include void fun(); void main() {int i; for(i=1;i<5;i++) fun(); cout< int fun(int n) { if(n==0) return 1; return 2*fun(n-1); } void main()

{ int a=5; cout< void main() { char *cp="word"; for (int i=0 ; i<4; i++ ) cout< void main() { int max; int a[10]={76,55,95,87,85,83,65,90,77,85}; int *p= a ; max=*p; for( ; p< &a[10] ; p++) if( *p>max ) max= *p ; cout<<"max= "<

华工高级语言程序设计C++_随堂练习答案

华工高级语言程序设计C++_随堂练习答案答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

高级语言程序设计作业及答案(2017.1)

《高级语言程序设计(https://www.wendangku.net/doc/bf7509964.html,)》作业 2017.1 教学中心:新疆产业发展研究中心校外学习中心 专业层次: 高中升大专 学 号:2009 姓 名: 王 成 均 分 数: 注意事项:1. 本作业共五大题,满分100分; 2. 请将以上各项信息填写清楚,否则,作0分处理; 3. 所有答案直接做在答案栏上,做在其它地方无效。 一.判断题(如正确打√,否则,打×。) 1.源程序中的错误一般分为编译错误、运行错误和逻辑错误等三种。 2.控制台应用程序至少有一个Main 过程。 3.在程序设计语言系统中具有固定语法含义的符号串称为标识符。 4. 判别a 是否等于b ,若a=b ,则输出字符串 “a is equal to b ”的块结构条件语句为: If a=b Then WriteLine(“a is equal to b ”) End If 5. 输入结构变量的值就是输入该变量的各个元素的值。 6.若某个模块中以关键字private 定义函数过程,则该函数过程只能在该模块中使用。 7. 关键字private 用于声明私有成员。私有成员可以在类中和类外访问。 8.在程序运行期间,用户可以用文本框显示信息。文本框接受输入的内容的属性是Text 。 9.列表框ListBox 中项目的序号从1开始到Listcount 结束。 10.以数据流的方式对文本文件中的数据进行读/写操作,需要StreamReader 类和StreamWriter 类。 答案栏: 1.√ 2.√ 3.√ 4.√ 5.√ 6.× 7.√ 8.× 9.√ 10.×二.单项选择题 1.下列变量名中错误的是( )。 A. n B. 名称 C. ab# D.“年龄” 2.设X 为整型变量,不能正确表达1< X < 5的逻辑表达式是( )。 A. 1< X <5 B. X=2 or X=3 or X=4 C. 1=5) 3.设有数组说明语句:Dim c( 10) AS Integer ,则下面表示数组c 的元素选项中( )是错误的。 A. c(i-1) B. c(5+0.5) C. c(0) D. c(11) 4.在过程的形式参数前面加上关键字( ),则该参数说明为引用参数。 A. Val B. ref C. Byref D. ByVal 5. 设已定义函数过程f ,它有三个实型传值参数;设a,b 和c 为实型变量,则调用该函数的正确形式为( )。 A. f B. f( a+b, b+c ) C. f ( a+b, b+c ,c+a ) C. f a+b, b+c, c+a 6. 若使命令按钮不可见,可以设置Visible 属性的值为( )。 A. False B. True C. T D. F 7.要使单选按钮RadioButton 处于选中或未选中状态,需由( )属性来决定。 A. Show B. List C. Text D. Checked 8.要删除列表框中的某一个项目,需要使用( )方法。 (密封线内不答 题 )

2020年10月全国高级语言程序设计(一)自考试题及答案解析

全国2018年10月高等教育自学考试 高级语言程序设计(一)试题 课程代码:00342 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列不.正确的转义字符是( ) A. ′\\′ B. ′\″ C. ′\086′ D. ′\0′ 2.下列运算符中,优先级最高的是( ) A.[] B.++ C.% D.&& 3.下列标识符中,不.是C语言保留字的是( ) A. char B. while C. min D. default 4.下列数据中,不.是C语言常量的是( ) A. ′\n′ B. ″a″ C. e-2 D. 012 5.若定义了int a;char b;float c;,则表达式a*b-c的类型是( ) A. float B. int C. char D. double 6.若定义了int a,x,y;,则下列语句中不.正确的是( ) A. x=3,y=5; B. ++x; C. x=y+=x*30; D. a=y+x=30; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( ) A.数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在C语言中,函数返回值的类型是由( ) A.定义的函数类型决定 B.return语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了int b[][3]={1 ,2,3,4,5,6,7};,则b数组第一维的长度是( ) A. 2 B. 3 C. 4 D.无确定值 1

《高级语言程序设计(C)》期末考试试题

《高级语言程序设计(C)》期末考试试题 一、选择题(本题共20道小题,共40分。) 1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是 A)把x和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值 2. 下面程序的输出是 void prtv(int *x) { printf("%d\n", ++(*x));} main() { int a=25; prtv(&a);} A) 23 B) 24 C) 25 D) 26 3. int x=10, y=20, z=30; if(x>y) z=x; x=y; y=z; 以上语句执行后x, y, z的值是 A) x=10,y=20,z=30B) x=20,y=30,z=30 C) x=20,y=30,z=10D) x=20,y=30,z=20 4. 设有以下宏定义: #define N 3 #define Y(n) ((N+1)*n) 则执行语句:z=2 *(N+Y(5+1))后,z的值为 A)出错 B)42 C)48 D)54 5. 逻辑运算符两侧运算对象的数据类型是()。 A) 只能是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据 6. 当执行以下程序段时 x=-1; do { x=x*x;} while(!x); A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次 D)系统将提示有语法错误 7. int x=3; do { printf("%3d",x-=2);} while(!(--x)); 以上程序段的输出结果是 A) 1 B) 3 0 C) 1-2 D) 死循环 8. main() {int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } 以上程序段的输出结果是 A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b 9.以下程序的输出结果是()。 main() { int num=0; while(num<=2) { num++; printf(“%d\n”,num);} } A) 1B) 1C) 1D) 1 2 2 2

高级语言程序设计(C)答案

学习中心/ 函授站_ 姓名学号 西安电子科技大学网络与继续教育学院 2015 学年上学期 《高级语言设计(C)》期末考试试题 (综合大作业) 题号一二三四总分 题分15 25 30 30 得分 考试说明: 1、大作业于2015 年4 月3 日公布,2015 年5 月9 日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 一、名词解释(每小题 3 分,共15 分) 1、【初始化】: 初始化就是把变量赋为默认值,把控件设为默认状态,把没准备的准 备好。 2、【软件测试】: 描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过 程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。 3、【库函数】:顾名思义是把函数放到库里,是别人把一些常用到的函数编完放到一个 文件里,供程序员使用,程序员用的时候把它所在的文件名用#include<> 加到里面就可以了(尖括号内填写文件名),例如#include 。 4、【作用域】:通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部 性,增强程序的可靠性,减少名字冲突。 5、【编译预处理】:编译预处理是 C 语言区别于其它高级程序设计语言的特征 之一,它属于 C 语言编译系统的一部分。 C 程序中使用的编译预处理命令均以# 开头,它在 C 编译系统对源程序进行编译之前,先对程序中这些命令进行“预处

理”。本章的知识点是编译预处理命令的三种不同形式:宏定义、文件包含和条 件编译。 二、简答题(每小题 5 分,共25 分) 1、为什么要用变量? 答:1) 、计算机在工作过程中所产生的所有数据,都是在“内存”是存储和读取的。 大家可以把“内存”想象成一个工厂的仓库,数据呢就是这个工厂工作过程中要使用的“零 件”。在一段程序中,有很多很的数据(零件),它们分别存放在内存(仓库)中的不同地方。需要用变量把它引用出来。 2、算法设计的一般步骤有哪些? 答:1)、分析问题:输入是什么?输出是什么?条件是什么?能用什么方法? 2 )、用流程图画出解决方案:决定了程序的结构。三大结构有:顺序结构、判断结构、循 环结构 3 )、算法设计:常见的算法设计方法:穷举法、迭代法、递推法、递归法、回溯法、贪婪 法、分治法 4 )、程序设计:用编程语言来实现 3、引入数组机制的好处是什么? 答:数组在内存中分配是栈内存,是【连续】存储【同一种类型】的【线性】结构。它 的作用主要体现在对同一类型的数据进行存储。(要是int 型,全都是int 型,要是char 型,全都是char 型),不可以出现其他类型。对数据的访问是具名访问,可是直接读出数 据中某一块的数据,例如int array[5]={1,2,3,4,5}; array[3] 等于 3. 这里需要注意的是:数组的下标是从0 开始的。如果你想访问array[5], 会提示错误,因为已经越界了。提取数据比较方便,因为数组在内存中是连续存储数据的,好找。随便说句,数组可以当指针用,但它绝不是指针。 4、函数设计三要素包括功能、输入和输出三个方面的内容,它们和函数结构的关系是 怎么样的? 答:函数设计的功能告诉这个函数具有具体的功能。输入对应函数的首部,输出对应函数的返回值。 5、值调用的特点是什么? 答:函数体内相应数据的改变不影响调用它的函数中的数据。 三、分析填表题(每小题 6 分,共30 分) 1. struct student { int StuId; int Score[4]; int Total ; } struct student com [10] ={{ 1, 90, 83, 72, 82},{ 2, 71, 92, 88, 78 }, { 3, 85, 72, 98, 66 },{ 4, 78, 95, 63, 90 } }; struct student x, *sPtr; sPtr=com; x=com[0]; 结构成员引用值 x. Total 0

高级语言程序设计(C)答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学院 2015学年上学期 《高级语言设计(C)》期末考试试题 (综合大作业) 考试说明: 1、大作业于2015年4月3日公布,2015年5月9日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 一、名词解释(每小题3分,共15分) 1、【初始化】:初始化就是把变量赋为默认值,把控件设为默认状态,把没准备的准备好。 2、【软件测试】:描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。 3、【库函数】:顾名思义是把函数放到库里,是别人把一些常用到的函数编完放到一个文件里,供程序员使用,程序员用的时候把它所在的文件名用#include<>加到里面就可以了(尖括号内填写文件名),例如#include。 4、【作用域】:通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定 这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部 性,增强程序的可靠性,减少名字冲突。 5、【编译预处理】:编译预处理是C语言区别于其它高级程序设计语言的特征之一,它属于C语言编译系统的一部分。C程序中使用的编译预处理命令均以#开头,它在C编译系统对源程序进行编译之前,先对程序中这些命令进行“预处

理”。本章的知识点是编译预处理命令的三种不同形式:宏定义、文件包含和条 件编译。 二、简答题(每小题5分,共25分) 1、为什么要用变量? 答:1)、计算机在工作过程中所产生的所有数据,都是在“内存”是存储和读取的。大家可以把“内存”想象成一个工厂的仓库,数据呢就是这个工厂工作过程中要使用的“零件”。在一段程序中,有很多很的数据(零件),它们分别存放在内存(仓库)中的不同地方。需要用变量把它引用出来。 2、算法设计的一般步骤有哪些? 答:1)、分析问题:输入是什么?输出是什么?条件是什么?能用什么方法? 2)、用流程图画出解决方案:决定了程序的结构。三大结构有:顺序结构、判断结构、循环结构 3)、算法设计:常见的算法设计方法:穷举法、迭代法、递推法、递归法、回溯法、贪婪法、分治法 4)、程序设计:用编程语言来实现 3、引入数组机制的好处是什么? 答:数组在内存中分配是栈内存,是【连续】存储【同一种类型】的【线性】结构。它的作用主要体现在对同一类型的数据进行存储。(要是int型,全都是int型,要是char 型,全都是char型),不可以出现其他类型。对数据的访问是具名访问,可是直接读出数据中某一块的数据,例如 int array[5]={1,2,3,4,5}; array[3]等于3.这里需要注意的是:数组的下标是从0开始的。如果你想访问array[5],会提示错误,因为已经越界了。提取数据比较方便,因为数组在内存中是连续存储数据的,好找。随便说句,数组可以当指针用,但它绝不是指针。 4、函数设计三要素包括功能、输入和输出三个方面的内容,它们和函数结构的关系是怎么样的? 答:函数设计的功能告诉这个函数具有具体的功能。输入对应函数的首部,输出对应函数的返回值。 5、值调用的特点是什么? 答:函数体内相应数据的改变不影响调用它的函数中的数据。 三、分析填表题(每小题6分,共30分) 1. struct student { int StuId; int Score[4]; int Total; } struct student com [10] ={{ 1, 90, 83, 72, 82},{ 2, 71, 92, 88, 78 }, { 3, 85, 72, 98, 66 },{ 4, 78, 95, 63, 90 } }; struct student x, *sPtr; sPtr=com; x=com[0];

相关文档
相关文档 最新文档