实验1-顺序和分支结构(精)
c语言程序设计课程教学大纲(计算机科学与技术)

甘肃民族师范学院计算机专业课程教学大纲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.了解其他数学函数及随机函数的使用方法。
2.2算法的控制结构(01算法的结构(顺序与分支))课件浙教版高中信息技术必修1

分支结构:单分支
单分支结构:当条件成立时需要执行特定的语句块
,
而条件不成立时不需要格执式行:特定处理。
语句块2
If 条件 then
表达式? 假(0)
真(1) 语句块1
(语句块) 举例: age 年龄等于20 if age>18 then
单分支结构
输出“是成年人”
分支结构:双分支
双分支结构:若条件成立,则执行语句块1(由一个 或多个语句组成),否则执行语句块2。
算法的控制结构 (顺序与分支)
学习目标 1. 掌握算法的结构:顺序结构与分支结构
视频的形成
玩过积木的人都知道,即使很复杂的积木作品,都是由最基本的 积木块(不妨称为基本结构)通过各种组合构成的。类似地,无 论内容怎样复杂、功能如何强大的算法,也都是由基本的结构组 合而成,这些基本的结构称为算法的控制结构。
构
分支结构的特点
一个分支被执行,
另一个被忽略
谢谢观看
a a+b a 25 b a-b b 15 a a-b a 25-15=10
顺序结构的特点
顺序结构的算法执行时具有下列特点: ➢ 每个步骤按照算法中出现的顺序依次执行。 ➢ 每个步骤一定会被执行一次,而且只执行一次。
分支结构:单分支
分支结构 先进行条件判断,再根据判断结果分别执行不同处理 的控制结构就称为分支结构(也称选择结构)。 分支结构:有单分支、双分支、多分支结构
结束 比较两个数输出大的数的算法
分支结构的特点
从上面的流程图可知,分支结构具有下列特点: ➢ 首先进行条件判断,根据条件满足与否来决定执行哪个
分支。 ➢ 在一个分支结构中,必定有一个分支被执行,其它的分
支则被忽略。
01C++语言程序设计习题集(顺序结构和简单分支结构)-ok

顺序结构程序设计习题1、【变量自增运算问题】题目描述:键盘输入整型变量A的值,输出A增加10、再减少30、扩大20倍、缩小5倍后的值。
(要求采用算术复合赋值运算)输入格式:5 输出格式:-602、【交换变量问题】题目描述:键盘输入两个整型变量A、B的值,利用中间变量C交换A、B的值并输出。
输入格式:1 2 输出格式:2 1思考:交换其它数据类型变量的值问题。
3、【三位数数位和问题】题目描述:从键盘输入一个三位的自然数M,分离出它的百位、十位与个位上的数字并求和输出。
输入格式:523 输出格式:104、【大写转小写问题】题目描述:键盘输入一个大写字母,要求改用小写字母输出。
输入格式:A 输出格式:a思考:小写转大写问题。
5、【温度计数转换问题】题目描述:输入一摄氏温度,编程输出华氏温度。
已知:华氏温度转换为摄氏温度的计算公式如下:C=(F-32)5/9;其中,F表示华氏温度,C表示摄氏温度。
输入格式:0 输出格式:326、【长度计数转换问题】题目描述:编程实现输入千米数,输出显示其英里数。
已知:1英里=1.60934千米(用符号常量)。
输入格式:1 输出格式:0.6213简单的分支结构程序设计1、【数字比较问题】题目描述:从键盘上输入两个整型数,比较其大小,并输出显示其中较小的数。
输入格式:20 -30 输出格式:-30思考:输出其中较大的数。
2、【绝对值问题】题目描述:从键盘输入一个浮点型数x,要求不使用系统函数,输出其绝对值。
输入格式:-10.1 输出格式:10.115 153、 【打折问题】题目描述:国庆期间,某超市购物优惠规定:所购物品不超过100元时,按九折付款,如超过100元,超过部分按8折收费,请编一程序完成超市自动计费的工作。
输入格式:90 输出格式:81110 984、 【分段函数问题】题目描述:有一函数如下所示,要求已知x 值时,输出y 值。
输入格式:0.1 输出格式:0.18 1315 105、 【勾股定理】题目描述:输入三角形的三边(整型数据,且数据由小到大排列),利用勾股定理 (商高定理、韦达定理)判断它是否是直角三角形。
实验4分支结构(精)

实验四分支结构程序设计实验一、实验目的1.掌握分支结构程序设计的基本设计方法;2.掌握条件转移指令和无条件转移指令的使用方法; 3.掌握指令对标志寄存器中各标志位的影响情况;4.掌握多分支结构程序设计的三种方法:树型结构法、地址常数表法和指令常数表法。
二、实验要求1.学会使用DEBUG 的T 命令,跟踪检查指令对标志位的影响情况; 2.学会使用DEBUG 中的P 命令,对INT 指令的跟踪方法; 3.学会利用设置断点调试程序的方法;4.了解大写、小写字母及数字在计算机内的表示方法及转换方法。
三、实验内容1.编写程序,已知在DATA 开始的内存单元中,连续存放着三个一位十六进制数,找出其中最大数及最小数,存放在指定的内存单元中。
2.编写程序,从键盘输入若干个任意字符,如果是小写字母a ~z 之间的字符,请将它们转换成相应的大写字母,若为其它字符,则保持不变,将转换后的新字符保存在指定的存储单元中。
四、解题思路1.先对DATA 内存单元连续存放三个一位十六进制数。
先对DATA 内存单元里的前两个数据比较,较大的数据再和第三个数据比较,从而得到最大数据存到MAX 内存单元里。
把两次比较得到的两个较小的数据进行比较,从而得到最小数据存到MIN 内存单元里。
两个无符号数据比较后,用JA/JNBE、JAE/JNB/JNC/、JB/JNAE/JC和JBE/JNA来判别两数的大小关系,这些条件转移指令是把进位标志CF 和零标志位ZF 结合起来判别的。
2.先开辟20个字节的内存单元DATA 用来存储输进来字符串和修改后的字符串。
对字符串的输入是以‘#’为结束字符的,当字符的个数少于20时,只要输入的字符串是以‘#’结尾,就代表字符串输入结束(其中结束字符‘#’也是字符串中的一个字符存储到内存单元里)。
每次输入一个字符,就对其进行判别。
若输入的字符在字符‘a ’到‘z ’之间,那么就对其进行转换成对应的大写字母(方法把小写字母的值减去32即可),然后再存到指定的内存单元中;否则,直接把输入的字符存到指定的内存单元中去。
电气微机实验指导书(最终版) (1)

试验一熟悉汇编环境以及初级程序的编写与调试一实验目的1.熟悉掌握DEBUG的常用命令,学会用DEBUG调试程序。
2.了解数据在存储器中的存取方法以及堆栈中数据的压入与弹出。
3.掌握各种寻址方法及简单指令的执行过程。
二试验要求1.实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析。
2.本实验要求在PC机上进行。
3.本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序、执行程序。
三实验内容1.熟悉DEBUG的常用命令(1)汇编命令A格式:○1A 【段寄存器名】:【偏移地址】○2A 【段地址】:【偏移地址】○3A 【偏移地址】○4A功能:用该命令可以将汇编语言程序直接汇编进入内存。
当键入A命令后,显示段地址和偏移地址等待用户键入汇编指令,每键入一条汇编指令回车后,自动显示下一条指令的段地址和偏移地址,再键入下一条汇编指令,直到汇编语言程序全部键入,又显示下一条地址时可直接键入回车回到提示符“—”为止。
其中○1的段地址在段地址寄存器中,因此在使用该命令时必须将段地址寄存器送入段地址,○3的段地址在CS中,○4的段地址在CS中,偏移地址为100H。
(2)执行程序命令G和单步执行程序T功能:用该G命令可直接执行汇编语言程序;用T命令可单步执行汇编语言程序并显示当前寄存器内容(3)显示内存命令D格式:○1D [地址]○2D [地址范围]○3D功能:显示指定内存范围的内容。
(4)修改存储单元内容命令E格式:○1E [地址][内容表]○2E[地址]功能:○1用命令所给定的内容表去代替指定地址范围的内存单元内容。
○2一个单元一个单元的连续修改单元内容。
其中:内容表为一个十六进制数或一串十六进制数,也可以是用单引号括起的一串字符。
(5)检查和修改寄存器内容命令R格式:○1R○2R [寄存器名]功能:○1显示CPU内部所有寄存器的内容和全部标志位的状态。
○2显示和修改一个指定寄存器的内容和标志位的状态。
顺序分支结构汇总

含义 含义 含义 含义 含义
X是个两位数,X的十位数字和个位数字之和等于9,条 件如何表示?
X是个三位数,X的各位数字之和等于20,条件如何表示?
X是个四位数,X的各位数字之和等于16,条件如何表示?
X是一个两位数: 个位表示: X MOD 10 任何一个整数除以10的余数永远等于此数的个位数字
十位表示: X\10
X是一个三位数: 个位表示: X MOD 10
把想要得到的十位数字变成个位再MOD 10 十位表示:X\10 MOD 10 百位表示: X\100 思考:四位整数X的各位数字怎么用X表示?
14
逻辑表达式:
X表示一个年份值,X是闰年应该满足什么条件?
A,B,C表示三角形三边,A,B,C能构成三角形应 该满足什么条件?
4.不能用一个赋值语句同时给多个变量赋值。
4
指出下列赋值语句中的错误:
10=sin(x)+y c=3+sqr(-3) c+x+y=c*y X=sin(x)/(20 mod 2) Now()=x+y
例
5
Private Sub Form_Click()
Dim X As Integer, Y As Integer
数值表达式:
Dim x As Single x = Val(Text1.Text) If x Then
Print x Else
Print x + 1 End If 结果是什么?
15
例:设计一个账号,密码验证程序。要求用户名为 hg,密码为“abc”,登录界面如下:
用户名,密码正确弹出欢迎窗口,否则弹出错误提示。
思考1:账号、密码不区分 大小写且账号前后容许有 空格怎么实现? 思考2:密码改为系统日期 的年份,怎么实现?
实验二各种分支结构(精)

实验二各种分支结构一.实验目的1. 了解C语言中表示逻辑量的方法(以0代表“假”,以1代表“真”)。
2. 正确使用C语言中的逻辑运算符和逻辑表达式。
3. 熟练掌握if语句,if-else语句和switch-case语句。
二.实验要点在C语言中主要用以下方法实现分支结构:1. if-else语句格式:if(表达式)语句块1else语句块2若表达式的值为真,就执行语句块1;否则,执行语句块2。
2.switch-case语句if语句只有两个分支可供选择,switch语句可以提供多个分支选择。
switch-case语句格式:switch (表达式{ case 常量1:语句1;case 常量2:语句2;case 常量3:语句3;case 常量4:语句4;default: 语句n}三.实验要求1.上机前编写好以下程序。
(1为程序改错,2-6为填空2.上机输入和调试自己所编的程序并存在自己的软盘上。
3.检查实验结果是否正确。
4.上机结束后,整理实验报告。
四.实验内容上机调通以下程序,并写出以下程序的输出结果。
改正以下程序的错误,并上机调通,程序完成输入两个数,按由小到大的顺序输出。
main({int a,b;scanf(“%d,%d”,a,b;if(a>bc=b;b=a;a=c;printf(“%d,%d”,a,b;}输入45,-55 ( 表回车main({int a,b,c;scanf("%d,%d",&a,&b;if(a>b{c=b;b=a;a=c;}printf("%d,%d",a,b;}45,-55-55,45Press any key to continue以下程序的输出结果是()。
main({printf(“%d\t”,3&&6&&9;printf(“%d\t”,3||6||!0;printf(“%d\n”,0&&1||0;}1 1 0Press any key to continue有一函数 x (x<1y= 2x-1 (1≤x<103x-11 (x≥10用scanf函数输入x的值,求y的值。
程序设计基础(Ⅰ)实验目的、内容及实验报告填写要求2015新修改 (1)

封面:2015-2016学年第一学期,年级是2015级,指导教师:网络工程专业1班写:赵玉艳陈海宝;网络工程2班写:赵玉艳肖刚,其它如实填写。
实验名称:实验一用C语言编写简单程序;实验二分支结构程序设计;实验三循环结构程序设计;实验四函数程序设计;实验五数组程序设计;实验六指针程序设计;实验七结构体程序设计。
课程名称:程序设计基础(Ⅰ)实验时间:分别为9.28, 10.12, 11.9, 11.23, 12.7, 12.21, 1.4实验地点:X405组号,同组人以及成绩:不需要填写实验环境:Windows 7;Visual C++ 6.0。
实验目的实验一用C语言编写简单程序1. 熟悉VC6.0的编程环境,掌握运行C程序的基本步骤。
2. 了解C程序的基本框架,模仿例题编写简单的C语言程序。
3. 正确书写算术表达式、赋值表达式和关系表达式。
4. 掌握基本输入输出函数的使用,正确调用C语言提供的数学库函数。
5. 掌握简单的单步调试方法。
实验二分支结构程序设计1.熟练掌握关系表达式的使用。
2.熟练掌握使用else-if语句实现多分支结构程序设计。
3.熟练掌握关系表达式和逻辑表达式的使用。
4.熟练掌握字符型数据的输入输出。
5.熟练掌握用嵌套的if语句或switch语句实现多分支结构程序设计。
6.熟练掌握switch语句中的break语句的作用。
7.掌握使用断点调试程序的方法。
实验三循环结构程序设计1. 熟练使用for、while和do-while语句实现简单的循环程序。
2. 理解循环条件和循环体,以及for、while和do-while语句的相同及不同之处。
3. 掌握使用Debug菜单调试程序的方法。
4. 掌握break语句的使用。
5. 掌握continue语句的使用。
6. 熟练掌握嵌套循环程序设计。
实验四函数程序设计1. 熟练掌握函数的定义和调用。
2. 熟练掌握使用函数编写程序。
3.熟练掌握函数的实参、形参和返回值的概念及使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 顺序、分支结构程序填空1.题目描述:输入三个整数存放在变量a、b、c中,找出三个数中的最大值放于max中,并将其输出。
以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。
代码:#include<stdio.h>main(){int a,b,c,max; //声明四个整型变量printf("请输入3个整型数据:");scanf("%d%d%d",&a,&b,&c);if (a>b) max=a;else max=__(1)__; //将a和b中的较大值记录在max中if (__(2)__c>max) max=c; //如果c是最大值printf("max=%d\n",__(3)__); //输出最大值max}2.题目描述:根据三边长求三角形的面积。
请将未完成的部分填入,使之完整。
该题中使用海伦公式求解:area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s是三边和的一半,即(a+b+c)/2。
sqrt函数包含在math.h的头文件中,它的功能是求平方根。
代码:#include<stdio.h>#include<math.h>main(){float a,b,c,s,area;printf("输入三角形的边长a,b,c:");scanf("%f%f%f",&a,&b, __(1)__);s=__(2)__;area=sqrt(s*(s-a)*(s-b)*(s-c));/* 函数sqrt()用来计算一个非负数的平方根,使用这个函数,需要在源程序中增加"#include<math.h>" */printf("area=%.2f\n",__(3)__);}3.题目描述:输入一个不多于4位的正整数,要求求出它是几位数,分别输出其每一位数字。
以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。
代码:#include<stdio.h>main(){int n,ge,shi,bai,qian; //个,十,百,千位: ge,shi,bai,qianprintf("输入一个不多于4位的正整数:");scanf("%d",&n);if (n<10) printf("%d是1位数\n",n);elseif( n __(1)__ ){printf("%d是2位数\n",n);ge=n%10;shi=n/10;printf("十位:%d,个位:%d\n",shi,ge);}elseif(n<1000){printf("%d是3位数\n",n);ge=n%10;shi=n/10%10;bai=n/100;printf("百位:%d,十位:%d,个位:%d\n",bai,shi,ge);}elseif( n __(2)__ ) printf("它超过了4位!\n");else{printf("%d是4位数\n",n);ge=n%10;shi=n/10%10;bai=n/100%10;qian= __(3)__;printf("千位:%d,百位:%d,十位:%d,个位:%d\n",qian,bai,shi,ge);}}4.题目描述:在屏幕上显示一张中文时间表,用户根据提示从中选择,程序应根据用户的选择输出相应的英文问候信息。
以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。
代码:#include<stdio.h>main(){int n;printf("**** 时间表 ****\n");printf("1:上午\n");printf("2:下午\n");printf("3:晚上\n");printf("请输入您的选择:");scanf("%d",&n); //用户输入1,2或3switch (__(1)__){case 1: printf("Good morning!\n"); __(2)__;case 2: printf("Good afternoon!\n"); break;case 3: printf("Good evening!\n"); break;__(3)__: printf("输入错误!\n");}}5.题目描述:已知银行整存整取存款不同期限的月息..利率分别为:0.33% 期限1年0.36% 期限2年月息利率= 0.39% 期限3年0.45% 期限5年0.54% 期限8年要求输入存款的本金和期限,求到期时能从银行得到的利息与本金的合计。
以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。
代码:#include<stdio.h>main(){int year; //存款期限float money,rate=0,total; //money:本金,rate:月利率,total:本利合计printf("输入本金和期限(1,2,3,5或8年): ");scanf("%f%d",&money,&year);switch(__(1)__){case 1: rate=0.0033; break; //期限一年的月利率case 2: rate=0.0036; break;case 3: rate=0.0039; break;case 5: rate=0.0045; break;case 8: rate=0.0054; break;default: printf("年限输入错误!\n");}total= __(2)__ *(1+ year*12*rate);printf("到期后本利合计为%.4f元\n",__(3)__);}程序设计6.题目标题:通过日期求某月的天数。
题目描述:输入日期的年份和月份,求该月有多少天。
提示:对于月份为1、3、5、7、8、10、12的月份天数为31,月份为4、6、9、11的月份天数为30,月份为2时要结合年份考虑闰年的情况。
输入描述:输入两个正整数y和m分别表示年份和月份。
输出描述:如果y和m满足条件:1900<=y<3000,0<m<13,输出该月的天数;否则输出“Input error!”。
样例输入:2010 12样例输出:317.题目标题:录取研究生。
题目描述:某高校录取研究生的要求是,新生的每门课成绩不低于60分,总成绩不低于340分,370分以下为自费。
编一程序实现输入一个学生的四门课成绩,试判断该生为该校录取的情况(“没有录取”、“自费”、“公费”三种情况)。
输入描述:输入四门课的成绩,成绩均为0~150之间的整数。
输出描述:录取结果。
(“没有录取”、“自费”、“公费”)样例输入:60 100 130 80样例输出:公费8.题目标题:骑车与走路题目描述:在华农校园里,没有自行车,上课办事会很不方便。
但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。
假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。
请判断走不同的距离去办事,是骑车快还是走路快。
输入描述:一个整数:为一次办事要行走的距离,单位为米。
输出描述:对输入的整数,如果骑车快,输出一行“Bike”;如果走路快,输出一行“Walk”;如果一样快,输出一行“All”。
样例输入:【样例输入1】【样例输入2】50 120样例输出:【样例输出1】【样例输出2】Walk Bike9.题目标题:停车场收费题目描述:一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5 + (3.6-3)*2 = 6.2 元。
最高收费为40元。
假设任何车辆的停车时间都不超过24小时。
编写程序,计算每辆车的停车费。
输入描述:输入停车的时间t。
输出描述:输出应该收取的停车费用cost,保留小数点后2位。
样例输入:3.46样例输出:5.925.题目标题:简单计算器。
题目描述:模拟计算器的功能,能根据用户输入的两个运算数和运算符(’+’、‘-’、‘*’ 或‘/’),对两个数进行相应的运算,输出运算结果。
注意..:除法运算‘/’的除数不能为0。
输入描述:两个实数a、b和一个运算符号c。
输出描述:如果能运算,输出a和b的运算结果;如果c为除号,且b为0,输出“除数为0!”;如果c不是’+’、‘-’、‘*’ 或‘/’中的运算符号,输出“运算符号错误!”样例输入:4*9样例输出:4.00*9.00=36.00。