第三章作业 程序控制结构
- 格式:doc
- 大小:170.50 KB
- 文档页数:16
甘肃民族师范学院计算机专业课程教学大纲C语言程序设计一、说明(一)课程性质必修课(二)教学目的本课程是为计算机类等本、专科学生开设的,以培养学生程序设计能力为目的的专业基础课,是学习其他专业课的基础,同时也是第一门高级语言程序设计课。
本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本语法,掌握程序设计的基本思想、基本概念和基本方法和技巧,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C 语言应用程序;同时了解进行科学计算的一般思路,培养应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。
(三)教学内容计算机程序语言发展史,结构化程序设计的三种基本结构,函数,数组,指针,文件。
(四)教学时数90学时,60理论,30上机(五)教学方式多媒体授课二、本文第一章C语言程序设计基础教学要点:C程序的基本结构。
上机环境,进行简单C程序的编写。
教学时数:4学时(理论3学时,上机1学时)教学内容:第一节概述程序设计语言的发展。
C程序的基本结构。
第二节开发环境上机环境,进行简单C程序的编写。
考核要求:1.掌握编写C语言程序的基本步骤。
2. 掌握上机调试过程。
第二章数据类型、运算符与表达式教学要点:数据类型。
表达式。
输入输出函数。
教学时数:12学时(理论8学时,上机4学时)教学内容:第一节数据类型整型、实型、字符型、枚举型、构造类型、指针。
第二节常量与变量第三节运算符与表达式算术运算符及表达式、关系运算符及表达式、逻辑运算符及表达式、逗号运算符及表达式、条件运算符及表达式、赋值运算符及表达式。
第四节标准输入/输出scanf()函数、printf()函数。
第五节数学函数数学库头文件<math.h>。
第六节随机数发生器函数rand()和srand()函数,对应的头文件“stdlib.h”。
考核要求:1.理解数据结构、常量、变量的概念;2.掌握各种运算符的优先级及结合方向;3.熟练掌握数据的输入、输出方法;4.了解其他数学函数及随机函数的使用方法。
vb简单的课程设计一、课程目标知识目标:1. 让学生掌握VB(Visual Basic)编程语言的基本语法和结构;2. 培养学生运用VB编写简单的程序,解决实际问题;3. 让学生了解VB编程中的顺序结构、选择结构和循环结构;4. 使学生掌握VB中常用的内部函数和控件。
技能目标:1. 培养学生独立设计、编写和调试简单VB程序的能力;2. 培养学生运用VB编程解决实际问题的思维方法和技巧;3. 提高学生的逻辑思维能力和编程实践能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发学生的学习积极性;2. 培养学生良好的编程习惯,注重代码规范和可读性;3. 培养学生团队协作精神,学会与他人共同解决问题。
课程性质:本课程为信息技术学科,以实践操作为主,注重培养学生的编程技能和逻辑思维能力。
学生特点:六年级学生具备一定的计算机操作基础,对编程有好奇心,但注意力容易分散,需要结合实际案例和趣味性教学。
教学要求:结合学生特点,采用任务驱动法,引导学生主动探索,注重理论与实践相结合,提高学生的编程实践能力。
通过课程学习,使学生达到上述课程目标,并为后续学习打下坚实基础。
二、教学内容1. VB编程环境介绍:认识VB集成开发环境,熟悉工具栏、菜单栏、属性窗口等基本组成部分。
教材章节:第一章 VB概述2. VB基本语法:掌握变量、常量、数据类型和运算符的使用。
教材章节:第二章 VB编程基础3. VB程序结构:学习顺序结构、选择结构(If条件语句)和循环结构(For、While循环语句)。
教材章节:第三章 程序控制结构4. 内部函数和控件:学习常用内部函数(如数学函数、字符串函数等),了解常用控件(如文本框、按钮等)的使用。
教材章节:第四章 内部函数与控件5. 编程实例分析:分析并编写简单的VB程序,如计算器、九九乘法表等。
教材章节:第五章 实例分析6. 程序调试与优化:学习查找程序中的错误,掌握调试技巧,提高程序质量。
西安交通大学实验报告课程_计算机程序设计_实验名称_控制结构_第 1 页共 15页系别_______________ 实验日期 2014年 3 月 10 日专业班级___ ____组别_____________ 实验报告日期 2014年 3 月 15 日姓名_ ___ __学号____ 报告退发 ( 订正、重做 ) 同组人_________________________________ 教师审批签字一、实验目的:掌握C++语言中的基本控制结构:顺序结构、条件结构、循环结构(do……while ;for ;while等)的使用,尤其是多重循环和条件结构的复合。
二、实验内容:1.第一题:编写程序求斐波那契数列的第n项和前n项和。
斐波那契数列是形如:0、1、1、2、3、5、8、13、……其通项为:F0=0; F1=1; Fn=Fn-1+Fn-2.(1)要点分析:步骤一:输入需要计算的项数n;步骤二:判断输入的项数是否合理,若否,返回第一步;步骤三:从第一项逐项加到第n项;步骤四:输出计算结果;步骤五:选择是否继续运算,若是,返回第一步;否则结束程序。
(2)源程序代码:#include<iostream>using namespace std;int main(){int an_1=0,ch,an=1,S=0,i=1,m=0;double n;//将n定义为双精度以便检验输入是否合理;do//开始循环体;{cout<<"请输入一个正整数n,将计算数列的前n项和:";cin>>n;while(n<=0||n!=(int)n)//对n输入有误的重新输入;{cout<<"您输入的不是正整数!请重新输入:";cin>>n;}while(i<n)//求前n项和,由1到n逐项相加;{S=S+an;m=an;//将an储存于m中;an=an+an_1;an_1=m;//将原来的an赋予an_1;i=i+1;}cout<<"前"<<n<<"项和为:"<<S<<";第"<<n<<"项为:F("<<n-1<<")="<<m<<endl;cout<<"如需继续计算请按1;如要结束请按2!";cin>>ch;}while(ch==1);//选择是否再进行新一轮运算;cout<<"运行结束!";return 0;}(3)实验结果:测试了输入合理和输入不合理以及多次输入的功能:(4)问题分析:不知道第n项是Fn还是Fn-1,最终按照Fn-1算了。
24点游戏java课程设计一、课程目标知识目标:1. 学生能理解“24点游戏”的规则及算法原理,掌握其与Java编程语言的结合方式。
2. 学生能运用Java编程语言实现基础的数据类型、运算符、循环和条件语句,解决24点游戏的计算问题。
3. 学生了解并掌握数组的创建和使用,实现对24点游戏牌组的管理。
技能目标:1. 学生通过编写Java程序,培养解决问题的能力,提高逻辑思维能力。
2. 学生学会使用集成开发环境(IDE)进行Java代码编写、调试和运行,提高实际操作能力。
3. 学生能够运用所学知识,创新性地设计并实现24点游戏的扩展功能。
情感态度价值观目标:1. 学生通过编程解决实际问题,增强对计算机编程的兴趣和热情,培养积极的学习态度。
2. 学生在小组合作中,学会沟通、协作和分享,培养团队精神和责任感。
3. 学生在探索和解决问题的过程中,培养面对挑战、勇于尝试的精神,树立自信心。
本课程针对初中或高中年级的学生,结合他们对编程知识有一定了解和兴趣的特点,以24点游戏为载体,让学生在实践过程中掌握Java编程基础,提高编程能力和解决问题的能力。
课程要求教师注重启发式教学,关注学生个体差异,鼓励创新思维和团队合作,确保学生在完成课程学习后能够达到上述目标。
二、教学内容1. Java基本语法和数据类型:回顾Java基本语法规则,重点讲解整数、浮点数、布尔类型等基础数据类型及其在24点游戏中的应用。
教材章节:第一章 Java语言概述,第二章 基本数据类型与运算符。
2. Java控制结构:讲解条件语句(if-else,switch-case)和循环语句(for,while,do-while),引导学生通过控制结构实现对24点游戏算法的逻辑设计。
教材章节:第三章 控制结构。
3. 数组的使用:介绍数组的定义、初始化和使用,教授如何使用数组存储和管理24点游戏的牌组。
教材章节:第四章 数组。
4. 方法与对象:通过编写方法实现24点游戏的功能模块,初步了解面向对象编程思想,如定义类、创建对象等。
c语言课程设计作业设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单程序的能力,使学生了解程序设计的基本方法,培养学生的逻辑思维能力和创新意识。
1.理解C语言的基本语法和规则。
2.掌握基本数据类型、运算符和控制结构。
3.了解函数的定义和调用。
4.理解程序设计的基本方法。
5.能够使用C语言编写简单的程序。
6.能够阅读和理解简单的C语言程序。
7.能够对程序进行调试和运行。
情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。
2.培养学生的创新意识和团队合作精神。
3.培养学生诚实守信、勇于面对困难的品质。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.第一章:C语言概述介绍C语言的历史、特点和基本语法。
2.第二章:数据类型和运算符讲解C语言的基本数据类型、运算符及其用法。
3.第三章:控制结构讲解条件语句、循环语句及其应用。
4.第四章:函数讲解函数的定义、声明和调用,介绍常用的库函数。
5.第五章:数组和字符串讲解一维数组、多维数组、字符串的基本操作。
6.第六章:指针讲解指针的概念、运算和应用。
7.第七章:结构体和联合体讲解结构体、联合体的定义和应用。
8.第八章:文件操作讲解文件的概念、文件操作函数和文件权限设置。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解C语言的基本语法、数据类型、运算符、控制结构、函数等知识,使学生掌握基本概念和原理。
2.案例分析法:通过分析典型的C语言程序,使学生了解程序设计的方法和技巧。
3.实验法:让学生亲自动手编写和运行C语言程序,培养学生的实际编程能力。
四、教学资源1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言程序设计》3.多媒体资料:PPT课件、在线教程、视频教程4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面反映学生的学习成果。
c 语言课程设计的内容一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握变量定义、数据类型、运算符和表达式等基础知识;2. 学会使用C语言进行顺序、选择和循环结构的编程,并能运用逻辑判断和循环控制解决实际问题;3. 掌握C语言中的数组和字符串操作,能够运用数组进行批量数据处理;4. 了解函数的定义和调用方法,能够编写简单的自定义函数。
技能目标:1. 能够运用C语言编写简单的程序,解决实际问题;2. 培养良好的编程习惯,编写规范、可读性强的代码;3. 学会使用调试工具,能够调试并修复程序中的错误;4. 提高逻辑思维能力,学会分析问题、设计算法并转化为C语言程序。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发学生的创新意识;2. 培养学生严谨、细心的学习态度,提高团队协作能力;3. 使学生认识到编程在现代社会中的重要作用,树立正确的价值观;4. 引导学生遵守编程道德规范,遵循国家法律法规,养成良好的社会责任感。
课程性质:本课程为C语言编程入门课程,旨在让学生掌握C语言的基本知识和编程技能,为后续学习打下基础。
学生特点:学生处于初中或高中年级,具有一定的逻辑思维能力和数学基础,对编程感兴趣,但可能缺乏实际编程经验。
教学要求:结合学生特点,采用任务驱动的教学方法,注重实践操作,让学生在动手实践中掌握编程技能。
同时,注重培养学生的编程兴趣和团队协作能力,提高学生的综合素质。
通过本课程的学习,使学生能够达到上述课程目标,并在后续的学习中不断提高。
二、教学内容1. C语言基础知识:变量、数据类型、常量、运算符、表达式;2. 控制结构:顺序结构、选择结构(if、switch)、循环结构(for、while、do-while);3. 数组:一维数组、二维数组、字符数组与字符串;4. 函数:函数定义、函数调用、函数声明、局部变量与全局变量;5. 编程实践:编写简单的计算器程序、排序算法实现、字符串处理等;6. 调试与优化:使用调试工具(如Turbo C)、程序错误类型及解决方法、代码优化。
程序设计c语言课程设计一、教学目标本课程的教学目标是使学生掌握C语言程序设计的基本概念、语法和编程技巧,培养学生运用C语言解决实际问题的能力。
具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等概念。
2.技能目标:学生能够熟练使用C语言编写程序,解决简单的数学计算、数据处理和排序等问题。
3.情感态度价值观目标:培养学生对编程语言的兴趣,增强其自主学习和解决问题的能力,使其认识到程序设计在现代社会的重要性。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等。
具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点和基本语法。
2.第二章:数据类型和运算符,讲解整型、浮点型、字符型数据以及各类运算符的用法。
3.第三章:控制结构,学习顺序结构、分支结构和循环结构的使用。
4.第四章:函数,讲解函数的定义、声明和调用,以及常用的库函数。
5.第五章:数组和指针,学习一维、二维数组的操作以及指针的基本用法。
6.第六章:字符串和文件操作,了解字符串的表示方式、文件的基本操作。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式:1.讲授法:教师通过讲解、举例等方式,向学生传授C语言的基本概念和编程技巧。
2.案例分析法:教师通过分析实际案例,引导学生运用C语言解决具体问题。
3.实验法:学生动手编写程序,巩固所学知识,培养实际编程能力。
4.讨论法:学生分组讨论,共同解决问题,提高沟通和合作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言入门教程》3.多媒体资料:教学PPT、视频教程、在线编程练习平台4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。
第三章程序控制结构通过本章实验作业应达目标1.熟练掌握格式输入与格式输出函数与各种格式符的使用,掌握各类数据输入/输出的实现方法;2.学会正确使用关系与逻辑运算,熟练构建关系与逻辑表达式;3.练习并熟练掌握if、switch语句使用,实现二路与多路选择结构;4.熟悉while、for、do_while、break、continue语句的作用与使用规范,能使用while语句、for 语句、do_while语句实现循环结构;5.掌握循环结构和选择结构之间嵌套、多重循环间嵌套的设计方法。
6.进行算法设计训练,能综合所学控制结构语句解决一般问题。
本章必须上交作业第一部分输入/输出作业要求程序3_3.c上传至http://121.251.227.27:8080/c。
源程序可以.cpp命名。
第二部分分支结构作业要求程序3_5.c、3_6.c、3_8.c上传至http://121.251.227.27:8080/c。
第三部分循环控制结构作业要求程序3_9.c、3_11.c、3_13.c、3_14.c、3_15.c、3_16.c、3_19.c上传至http://121.251.227.27:8080/c。
第一部分顺序结构与输入/输出程序设计实验一一个三位数逆序输出【实验目的】了解顺序程序结构,学习调试程序。
【实验内容】下面程序功能:键盘输入一个三位数,输出逆序后的数。
例如,输入236,输出632。
程序中有多处错误,改正后在机器上调试通过。
程序以3_1.c命名。
#include<stdio.h>void main(){int x,int y;int a,b,c;a=x/100;b=x/10%10;c=x%10;printf("Please input a num:");scanf("%d",&x);y=100c+10b+a;printf("y=%d\n",y);}【思考】如果输入的数据可以是任意大小的数,并不限制一定是一个三位数,怎样才能将该数逆序并输出?实验二字符数据输入/输出【实验目的】学习字符数据的输入与输出,学习getchar()/putchar()函数使用。
【实验内容】用getchar()函数输入两个字符给c1、c2,然后分别用putchar()分别输出这两个字符,再输出它们的ASCII。
程序以3_2.c命名。
【思考】能否将输入的两个字符转换大小写后再一次输出?即输入是大写字符则输出对应小写字符,输出小写字符则输出对应的大写字符。
实验三复数乘法【实验目的】学习格式化输入/输出操作。
【实验内容】编写程序读入两个复数并输出这两个复数的乘积。
输入输出如下图。
程序以3_3.c命名并上交。
程序运行时用户只须输入两个复数的实部与虚部。
两个复数的乘积仍然是一个复数,复数的乘法按照以下法则进行:设z1=a+bi,z2=c+di(a、b、c、d∈R)是两个任意复数,则它们的积为:(a+bi)(c+di)=(ac-bd)+(ad+bc)i。
【提示】程序运行时屏幕首先显示:输入5,回车后屏幕再次给出输入提示 virtualpart:输入3,回车后屏幕显示该复数,并给出输入第二个复数的提示。
输入第二个复数的实部与虚部,最后输出这两个复数相乘得到的第三个复数。
注意,数学概念中的复数a+bi是一个非实型数据,在C语言中是没有复数类型的,因此没有办法定义一个变量来保存一个数学概念中的复数。
为描述并记录复数,我们在此用两个float类型的变量分别记录一个复数的实部与虚部,用这两个变量描述一个数学概念中的复数。
显示时以×× + ×× i的方式展示数据。
具体说,计算机内是没有复数类型的,程序中用两个实型数据描述一个复数。
复数的计算实质是对实部与虚部的计算,结果放在相应表示复数实部与虚部的变量里。
第二部分分支结构程序设计实验一大小写转换【实验目的】熟悉关系与逻辑运算,了解if-else的顺序与嵌套层次关系。
【实验内容】下面程序希望完成大小写字母转换功能。
若输入一个大写字母,则转化为小写输出;若输入小写字母则转化为大写输出;对其他字母则原样不变输出。
程序以3_4.c命名,运行程序,分别输入一次大写、一次小写字母、一次‘#’进行验证。
如果程序有错,请改正。
#include<stdio.h>void main(){char ch;ch=getchar();if('a'<=ch<='z') ch-=32;if('A'<=ch<='Z') ch+=32;putchar(ch);putchar('\n');}实验二算术运算【实验目的】学习if~else、switch语句的使用。
【实验内容】键盘输入一个算术的运算式子,输出运算结果。
这里我们规定可以接收五个算术运算的符号:+、-、*、/、^(乘方)。
程序以3_5.c命名并上交。
下图是输入输出的示意图:输入一个加法的算术式:输入一个除法的算术式:输入一个乘方的算术式:求3的平方根:【实验提示】本程序需要从键盘接收一个表达式,根据表达式中的运算符号实现相应的运算并将结果保存下来并输出。
C语言本身是没有乘方运算符的,可以调用数学函数pow(x,y)求x的y次方。
注意一定要包含<math.h>。
【思考】输入的表达式实质是按多个不同类型的数据来获取数据的。
程序中需要定义多个变量来接收表达式中包含的数据与运算符,并设计相应的输入/输出函数实现。
实验三金额计算【实验目的】学习分析与解决实际问题的能力,综合嵌套使用if~else或switch语句。
【实验内容】某服装店经营套服。
以50套为限,若购买数量不少于50套,每套80元;不足50套时每套90元;单买上衣每件60元,单买裤子每条45元。
若购买金额大于10000元,则超过10000元部分可以打九折。
编写金额计算程序,实现:键盘读入所买上衣c和裤子t的数量,计算应付款总额。
程序以3_6.c命名并上交。
实验四利息计算【实验目的】综合使用选择结构语句,解决实际问题。
【实验内容】RMB编写程序,要求输入存款总额(以元为单位)与存款期限(以月为单位),计算并输出到期时的利息总额、利息税(20%)与实得利息。
两档期限之间以活期计算,如存款期限为50个月,则36个月按3.96%计算利息,14个月按0.72%计算利息。
程序以3_7.c命名。
实验五判断天数【实验目的】熟练使用switch语句,并设计精巧程序。
【实验内容】按yyyy-mm-dd格式输入一个日期,如2004-10-31,判断这是这一年的第几天。
程序以3_8.c命名并上交。
【实验提示】以2004-10-31为例,先把前九个月的天数加起来,然后再加上31天。
需要考虑的是,当年是闰年,2月为29天,否则2月为28天。
也可以2月固定按28天计算,当年是闰年且月份大于2时,多加一天。
第三部分循环程序设计1.循环设计循环是在循环条件为真时重复执行一组循环体语句的控制结构,是计算机解题的一个基本结构。
循环控制有两种基本方法:计数法和标志法。
(1)计数器控制的循环事先准确地知道循环次数,因此设计一个循环控制变量,由变量值来控制循环次数。
每循环一次,循环变量的值会递增(增值通常为1或-1),当其值达到终值时结束循环。
(2)标志控制的循环事先不知道准确的循环次数,由某一目标值标记循环的结束。
如,例3-23中以变量sum的值达到标记值1000作为循环的结束,例3-24中就是以键盘输入一个负数为标记结束循环。
2.基本算法程序设计的首要工作是算法设计,离开了算法也就没有了程序。
算法,是指完成某一项工作而采取的方法和步骤,具体到程序设计,是对解题过程的准确而完整的描述,并用一种程序设计语言的来实现。
循环主要用来解决程序设计中两类基本的算法:穷举和迭代。
1. 穷举算法穷举的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。
穷举是一种重复型算法,其核心是设计循环,在循环体中依次测试。
例3- 1 输入两个正整数x和y,求其最大公约数。
#include<stdio.h>void main(){int x,y,i,flag;flag=1; /*flag是标志变量,当其值为0时表示已找到公约数*/printf("Please input two numbers:");scanf("%d%d",&x,&y);for(i=x<y?x:y; flag==1; )if(x%i==0&&y%i==0) flag=0; /*条件满足,就改变标志变量的值*/else i--;printf("greatest common divisor=%d\n",i);}两个数中的小者到1之间任何一个数都有可能是公约数,因此用变量i从大到小一一穷举,直到找到为止。
若两数互质,当i==1时也能使条件满足。
2. 迭代算法按照特定规律和方法,重复地由旧值递推出新值,并由新值代替旧值,直至问题解决为止,这种解决问题的方法为迭代。
迭代的关键因素是:迭代初值、迭代公式和迭代次数(精度要求)。
例3- 2 使用辗转相除法求两数的最大公约数。
辗转相除法:如果x除以y的余数为0,则除数y就是最大公约数,或余数不为0,则被除数x被除数y取代,除数y被余数取代,再用新的x除以新的y,判断余数是否为0,如果不为0,则重复此迭代过程,直至余数为0,此时的除数y即为最大公约数。
#include<stdio.h>void main(){int x,y,temp;printf("Please input two numbers:");scanf("%d%d",&x,&y);temp=x%y;while(temp!=0){x=y; /*迭代*/y=temp; /*迭代*/temp=x%y;}printf("greatest common divisor=%d\n",y);}运行时输入:66 121输出:greatest common divisor=11 各值的变化如下:x y temp=x%y66 121 66121 66 1166 11 0实验一 简单的循环设计【实验目的】学习设计一个循环,能进行循环变量的初始化,循环条件的设计与循环变量值的修正。
【实验内容】编写程序,输入一个整数x ,按下式输出对应的y 值。