实验3 结构化程序设计初步

实验3 结构化程序设计初步

1.实验目的

(1)掌握C++赋值语句与输入输出语句的使用方法,区别C语言的输入输出语句

(2)掌握关系运算符、逻辑运算符与条件运算符的运算规则并能熟练计算由这些

运算符构成的表达式

(3)深入掌握C++各种流程控制语句(选择语句、循环语句和跳转语句)的要点

和使用方法

(4)能够灵活地运用C++各种语句进行综合程序设计

2.实验内容

2.1程序分析题。分析下面程序的运行结果,上机运行程序,观察其输出结果与

你的分析结果是否相同?

(1)有如下程序,从键盘输入123456.78↙后,变量c1、c2、a、b的值分别是

多少?

#include

void main( )

{

char c1,c2;

int a;

float b;

cin>>c1>>c2>>a>>b;

cout<

}

(2)#include

#include

void main( )

{

double a=123.456789012345;

cout<

cout<

cout<

cout<

cout<

}

(3)#include

#include

void main( )

{

double a=123.456789012345;

cout<

cout<

}

#include

void main( )

{

int b=123456;

cout<

cout<

cout<

cout<

cout<

cout<

}

(5)有如下程序,从键盘输入86 24 75↙后,程序的输出结果为多少,为

什么?

#include

void main( )

{

int a,b,c;

cin>>a>>oct>>b>>hex>>c;

cout<

}

(6)#include

#include

void main( )

{

short a=-1;

cout<

}

(7)#include

void main( )

{

int a=-1;

printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",a,a,a,a);

}

(8)以下程序中,为了给整型变量k1,k3赋值为10,给k2,k4赋值为20,如

何输入数据?

#include

void main( )

{

int k1,k2,k3,k4;

scanf("%d%d",&k1,&k2);

scanf("%d,%d",&k3,&k4);

printf("k1=%d,k2=%d,k3=%d,k4=%d\n",k1,k2,k3,k4);

}

void main( )

{

int a=3,b=4,c=5,d=6,e,f;

e=a>b&&(c=8);

cout<

f=a

cout<

f=a0?d++:d--);

cout<

}

(10)#include

void main( )

{

int x,y,z,w;

z=(x=-1)?(y=-1,y+=x+5):(x=7,y=9);

w=y*'a'/4;

cout<

}

(11)#include

void main( )

{

int a=5,b=7,c=3,t;

if(a= -1) cout<<"Yes"<

else cout<<"No"<

if(a>b) { t=a;a=b;b=t; }

if(a>c) { t=a;a=c;c=t; }

if(b>c) { t=b;b=c;c=t; }

cout<

}

解析:a被赋值为-1,输出YES

If语句成立则执行,不成立则不执行

分析只有b>c成立,=后面的值赋给左边的,顺序从左到右(12)#include

void main( )

{ char c='3';

switch(c-'1')

{

case 0:

case 1:

cout<

case 2:

cout<

default:cout<

}

}

‘3’是字符型,ASCLL码为051,

执行Switch时,根据switch表达式的值找到与之匹配的case子句,就从此子句开始执行下去,不再进行判断

(13)#include

void main( )

{

int a=2,b=7,c=5;

switch(a>0)

{

case 1:

switch(b<0)

{

case 1: cout<<"+";break;

case 2: cout<<"-";break;

}

case 0:

switch(c==5)

{

case 0: cout<<"*";break;

case 1: cout<<"/";break;

default: cout<<"#";break;

}

default: cout<<"$";

}

cout<<"\n";

}

a>0是真,值为1,执行case1,继续下面,b<0是假,不执行其中的case1.case2

c==5是真,值为1,执行case1,输出/,其后有break,被中断不再执行分句里其下的命令,default: cout<<"$"前面没有break,则输出$

(14)#include

void main( )

{

int a=10,b=0;

do

{

a+=2;

b+=a;

cout<<"a="<

if(b>20) break;

}while(a!=14);

}

(15)#include

void main( )

{

int i,j;

for(i=10;i<20;i++)

{

for(j=2;j<=i/2;j++)

if(i%j==0) break;

if(j>i/2)

cout<

}

cout<

}

(16)#include

void main( )

{

int i,j,m=0;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

if(j>=i) m++;

cout<

}

(17)#include

void main( )

{

int i,j;

for(i=1;i<=9;i++)

{

for(j=1;j<=9;j++)

{ if(j>i) break;

cout<

}

cout<

}

}

(18)#include

void main( )

{

int i=1,sum=0;

while(i<=100)

{

if(i%2==0)

{ i++; continue;}

sum+=i;

i++;

}

cout<

}

2.2编程题

(1)编写程序从键盘输入一个大写字母,将其转换为小写字母并输出。要求

分别用getchar和putchar函数输入和输出字符。

(2)编写程序,输入两个非零整数,输出相加、相减、相乘、相除和求模运

算的结果。

(3)编写程序,输入一个3位正整数,要求逆序输出对应的数,如输入123,

则输出321。

(4)编写程序解鸡兔同笼问题:已知鸡兔总数为a,鸡兔腿总数为b,计算鸡

兔各有多少只?a、b值从键盘输入。

(5)从键盘输入一个整数,判断其奇偶性。

(6)从键盘输入3个整数,求它们的最大值并输出。

(7)从键盘输入一个整数,判断其符号并输出(+表示正整数,0表示0,-表

示负整数)。

(8)假设0-6分别代表星期天—星期六,从键盘输入任意整数,若在0-6内则

将相应的星期输出,否则显示“输入数据不在0-6范围内”。

(9)编写程序,输入年份与月份,判断该年是否是闰年,并根据给出的月份

判断是什么季节和该月有多少天?

(10)编写程序,根据用户输入的三角形的三条边长判定是何种三角形,对于

有效三角形,求其面积。

(11)编写程小

(12)计算圆周率。计算方法为:计算355/113的值,该值是我国著名科学家祖

冲之计算的圆周率,要求精确到小数点后n位,n值从键盘输入。

(13)已知abc+cba=1333,其中a、b、c均为一位数,编写一个程序求出a、b、

c分别代表什么数字?

(14)百钱买百鸡问题。已知公鸡5元1只,母鸡3元一只,小鸡1元3只,

问用100元买100只鸡,各多少只?求出所有的购买方案并输出。

(15)小明今年12岁,他母亲比他大20岁。编写一个程序计算出小明的母亲

在几年后比小明的年龄大一倍,那时他们两人的年龄各是多少?

(16)一位百万富翁遇到一位陌生人,陌生人找他谈一个换钱的计划,该计划

如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给

你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱……

你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高

兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了

百万富翁多少钱,百万富翁给陌生人多少钱?

2.3逻辑问题求解题

(1)某地刑侦大队对涉及6个嫌疑人的一桩疑案进行分析:

(a)A,B至少有1人作案;

(b)A,E,F3人中至少有2人参与作案;

(c)A,D不可能是同案犯;

(d)B,C或同时作案,或与本案无关;

(e)C,D中有且仅有1人作案;

(f)如果D没有参与作案,则E也不可能参与作案。

试编写程序将作案人找出来。

(2)4名专家对4款赛车进行评论。

A说:2号赛车是最好的。

B说:4号赛车是最好的。

C说:3号不是最佳赛车。

D说:B说错了。

事实上只有一款赛车最佳,且只有一名专家说对了,其他3人都说错了。请编程输出最佳车的车号,以及哪位专家说对了。

(3)3个人比饭量大小,每人说了两句话。

A说:B比我吃得多,C和我吃得一样多。

B说:A比我吃得多,A也比C吃得多。

C说:我比B吃得多,B比A吃得多。

事实上饭量越小的人讲对的话越多。请编程按饭量的大小输出3个人的顺序。

(4)5位跳水高手将参加10m高台跳水决赛,有好事者让5人据实力预测比

赛结果。

A选手说:B第二,我第三。

B选手说:我第二,E第四。

C选手说:我第一,D第二。

D选手说:C最后,我第三。

E选手说:我第四,A第一。

决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错。请编程解出比赛的实际名次。

(5)我国有4大淡水湖。

A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。

B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。

C说:洪泽湖最小,洞庭湖第三。

D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。

4个人每个人仅答对了一个,请编程给出4个湖从大到小的顺序。

(6)A,B,C是小学老师,各教2门课,互不重复。共有如下6门课:语文、

算术、政治、地理、音乐和美术。已知:

(a)政治老师和算术老师是邻居。

(b)地理老师比语文老师年龄大。

(c)B最年轻。

(d)A经常对地理老师和算术老师讲他看过的文学作品。

(e)B经常和音乐老师、语文老师一起游泳。

请编程输出A、B、C各教哪两门课。

(7)校田径运动会上A,B,C,D,E分获百米、四百米、跳高、跳远和三

级跳冠军。

观众甲说:B获三级跳冠军,D获跳高冠军。

观众乙说:A获百米冠军,E获跳高冠军。

观众丙说:C获跳远冠军,D获四百米冠军。

观众丁说:B获跳高冠军,E获三级跳冠军。

实际情况是每人说对一句,说错一句。请编程求出A,B,C,D,E各获哪项冠军。

(8)夏日炎炎,空调机走俏。5家空调机厂的产品在一次质量评比活动中分获

前5名。评比前大家就已知道E厂的产品肯定不是第2名和第3名。

A厂的代表猜:E厂的产品稳获第1名。

B厂的代表猜:我厂可能获第2名。

C厂的代表猜:A厂的质量最差。

D厂的代表猜:C厂的产品不是最好的。

E厂的代表猜:D厂会获第1名。

评比结果公布后发现,只有获第1名和第2名的两个长的代表猜对了。请编程给出A,B,C,D,E各是第几名?

3.思考题

(1)如何从键盘输入空格字符和回车换行符赋给字符变量?

(2)整型变量与字符变量是否在任何情况下都可以互相代替?

(3)if语句的嵌套中,else与哪个if配对?

(4)使用switch语句时要注意哪几个要点?

(5)while和do-while循环的主要区别是什么?

(6)break语句和continue语句的主要区别是什么?

(7)什么是循环嵌套?在两层循环中,假设外循环的循环次数为m,内循环的循

环次数为n,则在外循环结束后,内循环体内的语句将被执行多少次?在多重循环中使用break语句时,可跳出哪层循环?

4.实验报告

(1)实验内容

①编写程序解鸡兔同笼问题:已知鸡兔总数为a,鸡兔腿总数为b,计算鸡兔各有多少只?a、b值从键盘输入。

②计算圆周率。计算方法为:计算355/133的值,该值是我国著名科学家祖冲之计算的圆周率,要求精确到小数点后n位,n值从键盘输入。

(2)实验目的

①学会分析问题,并通过程序实现方程的解答;熟悉顺序结构程序的编写。

②通过循环结构将整数除法计算机程序化,熟练循环结构的使用。

(3)问题分析过程

(4)程序代码与运行结果

(5)遇到的问题与实验心得

c语言程序设计课程教学大纲(计算机科学与技术)

甘肃民族师范学院计算机专业课程教学大纲 C语言程序设计 一、说明 (一)课程性质 必修课 (二)教学目的 本课程是为计算机类等本、专科学生开设的,以培养学生程序设计能力为目的的专业基础课,是学习其他专业课的基础,同时也是第一门高级语言程序设计课。本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本语法,掌握程序设计的基本思想、基本概念和基本方法和技巧,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C 语言应用程序;同时了解进行科学计算的一般思路,培养应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。 (三)教学内容 计算机程序语言发展史,结构化程序设计的三种基本结构,函数,数组,指针,文件。 (四)教学时数 90学时,60理论,30上机 (五)教学方式 多媒体授课 二、本文 第一章C语言程序设计基础 教学要点: C程序的基本结构。上机环境,进行简单C程序的编写。 教学时数: 4学时(理论3学时,上机1学时) 教学内容: 第一节概述 程序设计语言的发展。C程序的基本结构。 第二节开发环境 上机环境,进行简单C程序的编写。 考核要求: 1.掌握编写C语言程序的基本步骤。 2. 掌握上机调试过程。 第二章数据类型、运算符与表达式 教学要点: 数据类型。表达式。输入输出函数。 教学时数: 12学时(理论8学时,上机4学时) 教学内容: 第一节数据类型 整型、实型、字符型、枚举型、构造类型、指针。

第二节常量与变量 第三节运算符与表达式 算术运算符及表达式、关系运算符及表达式、逻辑运算符及表达式、逗号运算符及表达式、条件运算符及表达式、赋值运算符及表达式。 第四节标准输入/输出 scanf()函数、printf()函数。 第五节数学函数 数学库头文件。 第六节随机数发生器函数 rand()和srand()函数,对应的头文件“stdlib.h”。 考核要求: 1.理解数据结构、常量、变量的概念; 2.掌握各种运算符的优先级及结合方向; 3.熟练掌握数据的输入、输出方法; 4.了解其他数学函数及随机函数的使用方法。 第三章程序控制结构 教学要点: 结构化程序设计的三种基本结构:顺序结构、分支结构、循环结构; 教学时数: 18学时(理论12学时,上机6学时) 教学内容: 第一节程序的基本结构 顺序结构、分支结构、循环结构。 第二节语句 第三节顺序结构 第四节选择结构 单分支语句,双分支语句、多分支语句 第五节循环结构 while循环、do-while循环、for循环及goto构成的循环; 第六节结构化程序设计的方法 自顶向下、逐步细化及模块化的程序设计方法 考核要求: 1.熟练掌握程序设计的三种基本结构及语句; 2.了解结构化程序设计的方法。 第四章函数与预处理 教学要点: 函数及参数、返回值的概念,函数定义及调用方法; 教学时数: 18学时(理论12学时,上机6学时) 教学内容: 第一节函数的定义与声明 函数的定义和声明是两件不同的事情。函数的定义是指依照函数定义的格式,编写若干程序语句以实现函数的功能。函数的声明是指在函数定义好之后,在调用之前对函数的类型和参数的类型进行说明。 第二节函数调用 函数调用的一般形式为:函数名(实参表列)。

实验3 结构化程序设计初步

实验3 结构化程序设计初步 1.实验目的 (1)掌握C++赋值语句与输入输出语句的使用方法,区别C语言的输入输出语句 (2)掌握关系运算符、逻辑运算符与条件运算符的运算规则并能熟练计算由这些 运算符构成的表达式 (3)深入掌握C++各种流程控制语句(选择语句、循环语句和跳转语句)的要点 和使用方法 (4)能够灵活地运用C++各种语句进行综合程序设计 2.实验内容 2.1程序分析题。分析下面程序的运行结果,上机运行程序,观察其输出结果与 你的分析结果是否相同? (1)有如下程序,从键盘输入123456.78↙后,变量c1、c2、a、b的值分别是 多少? #include void main( ) { char c1,c2; int a; float b; cin>>c1>>c2>>a>>b; cout< #include void main( ) { double a=123.456789012345; cout< #include void main( ) { double a=123.456789012345; cout<

第6章程序设计初步教参

第六章程序设计初步 【本章概述】 中小学程序设计教学的目的,是要求学生掌握程序设计的一般方法,发展他们的思维能力、分析问题和解决问题的能力。 VB是一种面向对象的程序设计语言,Visual意为“可视化的”,Basic指的是BASIC语言。在学习VB时,除了学习界面设计,更要学习灵活运用VB实现各种算法。教学过程中,教师应注重算法的教学,通过阅读程序、编写和调试程序、使用程序,逐步培养学生的程序设计的能力。 【教学要求】 1.本章总的教学要求 ⑴熟悉Visual Basic窗口的组成,学会建立Visual Basic程序。 ⑵理解对象的概念,知道对象的三要素,了解事件驱动的程序设计思想和面向对象的程序设计方法。 ⑶理解窗体和控件的概念,掌握四个常用控件——命令按钮、标签、文本框和定时器,学会用可视化的设计工具设计程序界面。 ⑷掌握Visual Basic的常量、变量、标准函数和表达式。 ⑸掌握Let、End语句及输入输出技术,会用注释符(')为程序添加注释。 ⑹掌握程序控制语句。 ⑺理解数组、数组元素、下标的概念,掌握数组的简单应用。 ⑻掌握算法的概念和一些简单的典型算法,能用流程图描述算法,并能用Visual Basic 语言实现算法。 ⑼学会编辑、调试和运行程序。 ⑽学会使用Visual Basic的帮助功能,培养通过帮助获取信息的能力。 ⑾培养对程序设计的兴趣和用程序设计方法解决实际问题的能力。 ⒉教学内容及课时安排 本章教学约需23课时(含上机实践),具体安排如下: 第一节:程序设计的基本方法1课时 第二节:Visual Basic的基本知识2课时 第三节:程序的建立和运行3课时(1) 第四节:Visual Basic语言基础4课时(1)

C++程序设计实验报告-使用

XXXX学院公选课实验报告 实验一结构化程序设计 实验名称:实验一结构化程序设计 实验目的: ⒈熟悉和理解C++语言中的类型简单数据(整型、实型、字符型)、运算、表达 式; ⒉掌握常见格式控制字符对输出结果的控制作用; ⒊能利用学习的数据类型,编制简单的C++程序; ⒋初步学习调试方法。 实验原理:利用对条件、循环语句、数组的掌握进行编程。。 实验设备:电脑, VISUAL C++6.0 实验内容: 1.编写程序任意输入一个三位,将其反向输出。如输入123,输出321。 2.编程按分段统计学生成绩,输入为负数时结束。要求按90-100、80-89、70- 79、60-69、60以下五档分别统计各分数段人数(用if语句和switch语句编写程 序)。 3.用do…while, while, for 三种循环语句求出1+3+5+….+101的和,输出结果。 4.先定义一个含有30个整型元素的数组,依次赋予从2开始的偶数,然后按顺序每五个数的平均值放在另一个数组中,并要求按每行6个数输出结果。 实验代码: 1、 #include int main() { char str[3]; for(int i=0;i<3;i++) cin>>str[i]; for(int j=2;j>=0;j--) cout< void main() {

int s[5]={0}; int a; while(1) { cout<<"请输入成绩:"; cin>>a; if(a<0) break; if(a>=90&&a<=100) s[0]++; if(a>=80&&a<90) s[1]++; if(a>=70&&a<80) s[2]++; if(a>=60&&a<70) s[3]++; else s[4]++; } cout<<"90-100人数为:"< void main() { int sum=0; for(int i=1;i<=101;i+=2) { sum+=i; } cout<

程序设计基础实践设计

程序设计基础实践指导书 一、总则 程序设计基础实践是的重要实践环节。一般来讲,课程设计应该比课程教学实验复杂一些,要求所涉及的内容应该有一定的深度和广度,并更加接近现实应用。通过这种课程设计形式的综合训练,最终目标是帮助学生系统地掌握该门课程的主要内容,更好地完成课程的教学任务,达到培养学生分析实际问题和解决实际问题的能力以及编程和动手实践的能力之目的。 二、课程设计目标 通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 课程设计的目的和要求: 1、使学生巩固和加强《C语言程序设计》课程的理论知识。 2、使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程序设计的思想和方法;学会利用传统流程图或N-S图表示算法。 5、使学生掌握调试程序的基本方法及上机操作方法。 6、掌握书写程序设计开发文档的能力,使学生学会撰写课程设计总结报告。课程设计的思想和方法还可以作为学生做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。 8、初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。 9、培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 10、培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。

C++教学大纲

《电介质物理》课程教学大纲 四年制本科能源与电子材料专业用 学时:56(其中理论课学时:42 上机学时:14)学分:3 一、课程性质、目的和任务 性质:专业基础课 目的:本课程目的是让学生通过学习能够运用C++语言的基本要素,进行基本的结构化程序设计和面向对象的程序设计。 任务:主要讲授C++程序设计语言、程序结构和过程化基础,以及在C++程序设计基础上面向对象程序设计的方法。 课内学时40,讲授完成本教材的全部内容,本课程的内容是以C 语言为基础,并且具有一定的编程基础。可根据学生学习的具体情况,选讲部分C语言以及编程基础知识。 要求学生熟练掌握和理解所讲授的主要内容。 二、课程基本要求 本课程主要介绍C++语言的基本概念和面向过程程序设计的方法,以c++语言中的面向过程机制为主。要求学习者在学习过程中通过大量的程序实例和相关练习,逐步掌握c++语言的面向过程的思想和方法,从而掌握面向过程程序设计的基本知识和基本技能。 三、课程内容 第一章程序设计基础知识 1、计算机的基本工作原理 简要介绍计算机的工作过程和工作机制。

2、计算机系统的构成 介绍计算机的硬件系统和软件系统构成。 3、计算机系统的二进制编码机制 介绍计算机系统的二进制编码、八进制编码、十六进制编码以及编码之间的转换;介绍原码、反码、补码的概念。 4、程序设计语言 介绍程序设计语言的发展过程以及各程序设计语言编写的程序的执行过程。 5、面向过程的程序设计和算法 算法的概念;算法的表示。 第二章 C++的初步知识 1、C++的产生 介绍从C语言到C++语言的发展过程。 2、最简单的C++程序 通过最简单的C++程序实例介绍完整的C++程序的构成。 3、C++程序的构成和书写形式 对C++程序的构成和书写形式进行总结、归纳。 4、C++程序的编写和实现 介绍一个C++程序从编写到最后得到运行结果要经历的步骤。 关于C++上机实践 5、介绍C++程序的运行环境及使用方法。 第三章数据类型与表达式

C语言结构化程序设计实验报告

实验2 结构化程序设计 一、 实验目的 1.了解C/C++语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 2.学会正确使用逻辑运算符和逻辑表达式。 3.熟练掌握if 语句和switch 语句。 4.熟练掌握while 语句、do ...while 语句和for 语句格式、使用方法以及区别,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 5.掌握break 和continue 程序控制语句的使用。 6.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 7.结合程序掌握一些简单的算法。 8.学习调试程序。 二、实验环境 PC 微机 Windows 操作系统 VS 2019 程序集成环境 三、实验内容与步骤 1.编写程序:根据公式 2 222213121116n ++++= π ,输出 π的值。 要求: (1)变量π为单精度类型,n 为整型; (2)计算当n 的取值分别为20,50 ,100,200时的π值,说明什么问题? (3)修改程序,不给出n 值,而改为求π值,直到最后一项的数值小于10-4 为止。 (4)对修改后的程序,输出π值以及总的项数n 。输出格式为:π=值;n=值。 代码①: #include

#include int main() { int n,i; float pi; double sum = 0; while ((scanf("%d", &n) != EOF)) { for (i = 1; i <= n; i++) { sum += 1.0 / (i * i); } pi = (float)sqrt(6 * sum); printf("%f\n", pi); sum = 0; } return 0; } 代码②: #include #include int main() { int n,i; float pi; double sum = 0; for (i = 1; 1.0 / (i * i) >= 1e-4; i++) { sum += 1.0 /( i * i); } pi = (float)sqrt(6.0 * sum); n = i; printf("pi = %f;n = %d",pi,n); return 0; } 结果分析: 1.第一问:当n = 20、50、100、200时pi分别为“3.094670、3.122627、3.132077、3.136826”, 由此可知当n越大时,pi的精度越高。 2.第二问:pi = 3.132077,n = 101。 实验总结:这道题主要是运用for语句来实现变量的增长和控制,做题时应注意对限制量的思考。 2.编程实现:由用户从键盘输入一串字符(以回车键结束),统计其中数字、大、小写字母、空格、其它字符的个数。 要求: (1)通过键盘输入字符。

[结构化程序设计方法]结构化程序设计

[结构化程序设计方法]结构化程序设计 结构化程序设计篇一:C语言程序设计的试题及答案 第一章基础知识 一、填空 1. 每个 C 程序都必须有且仅有一个________ 函数。 2. C 语言程序开发到执行通常要经过 6 个阶段即编辑、预处理、 ________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C 语言是由________组成的。 7. C 语言的函数可分为主函数 main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将 C 语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA) 、管理信息系统(MIS) 、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为 _________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

c语言选择结构程序设计实验报告

c语言选择结构程序设计实验报告 实验目的:通过程序设计,熟悉C语言中选择结构if-else、switch-case的使用,掌握结构化程序设计方法。 实验环境:Windows10操作系统、Dev C++编译器 实验内容: 1. if-else结构 首先,我们先来看看if-else结构的语法格式: if(条件1) { //如果条件1成立,执行该语句块 } else if(条件2) { //如果条件1不成立,但条件2成立,执行该语句块 } else { //如果条件1和条件2都不成立,执行该语句块 } if-else语句块的执行顺序是:先判断条件1是否成立,如果成立,就执行if语句块中的语句,然后跳过else-if和else语句块;如果条件1不成立,就继续判断条件2是否成立,如果成立,就执行else-if语句块中的语句,然后跳过else语句块;如果条件2也不成立,就执行else语句块中的语句。 下面给出一个简单的例子,通过if-else结构来判断一个数的正负性: 2. switch-case结构

switch(表达式) { case 常量1: //如果表达式的值等于常量1,执行该语句块 break; case 常量2: //如果表达式的值等于常量2,执行该语句块 break; ... default: //如果表达式的值既不等于常量1,也不等于常量2,执行该语句块 break; } switch-case语句块的执行过程是:首先计算表达式的值,然后与每个case后的常量进行比较,如果匹配成功,则执行对应的语句块,直到遇到break或者switch-case语句 块执行完毕;如果所有case都不匹配,就执行default语句块中的语句。 实验总结: 本次实验是一次很好的C语言程序设计练习,通过对选择结构的学习和应用,不仅巩 固了基本知识点,还学习了如何使用结构化程序设计方法来解决实际问题。在实验过程中,我遇到了一些问题,比如在switch-case语句块中,没有添加break语句会导致程序出错,需要仔细检查。通过这次实验,我学会了如何使用选择结构if-else、switch-case来处理不同的逻辑情况,提高了编程的能力和理解能力,这对我以后的学习和工作都大有帮助。

软件工程中的结构化设计方法

软件工程中的结构化设计方法 张耀民 【摘要】针对大型项目开发,为了保证软件产品质量,提高软件开发效率,在进行详细设计、程序设计之前,必须先确定软件总体结构,而结构化设计方法是进行软件总体结构的主要方法.该方法以需求分析阶段获得的数据流图为基础,通过一系列映射,把数据流图变换为软件结构图.在此主要分析了不同类型数据流图如何“映射”成软件总体结构,并给出了优化软件结构的规则,及不同类型数据流图“映射”成软件总体结构图时顶层、第1层及其下层的转换方法,其可操作性强.%For large-scale project development, the general software structure must be confirmed to guarantee the quality of the software product and improve the software development efficiency before a detailed design and program design. The structured design method is a main method to design the general structure of software, The method takes the data flow diagram obtained in the requirement analysis stage as a foundation to convert the data flow graphs to the software structure diagrams through a series of maps. This paper analyzes how different types of data flow diagrams map into the software general structure and gives the rules of optimizing software structure. The innovation is a conversion method of top layer, first layer and bottom layer when a different type of data stream graph is converted into a general software structure diagram. The method has a strong operability. 【期刊名称】《现代电子技术》

实验结构化程序方案初步

实验3结构化程序设计初步 1.实验目的 (1)掌握C++赋值语句与输入输出语句的使用方法,区别C语言的输入输出语句 (2)掌握关系运算符、逻辑运算符与条件运算符的运算规则并能熟练计算由这 些运算符构成的表达式 (3)深入掌握C++各种流程控制语句<选择语句、循环语句和跳转语句)的要点 和使用方法 (4)能够灵活地运用C++各种语句进行综合程序设计 2.实验内容 2.1程序分析题。分析下面程序的运行结果,上机运行程序,观察其输出结果与 你的分析结果是否相同? (1)有如下程序,从键盘输入123456.78↙ 后,变量c1、c2、a、b的值分别是多少? #include void main( > { char c1,c2。 int a。 float b。 cin>>c1>>c2>>a>>b。 cout< #include void main( > { double a=123.456789012345。 cout<<<<<< #include void main( > { double a=123.456789012345。 cout<<<<

《C语言程序设计》课程教学设计

《C语言程序设计》课程教学设计 理学院电子科学系计算机基础教研室赵永梅 《C语言程序设计》是大学计算机基础教学系列中的核心课程之一,是计算机及信息类专业本科生必修的一门专业基础课。它讲述了C语言的语法、数据类型、结构化程序设计方法等方面的内容,从而形成一个比较完整的、系统的计算机及信息类专业计算机程序设计基础教学内容,是学员从技术的角度学习计算机的主要基础课,具有不可替代的基础性、先导性和全局性作用。 一、课程教学对象分析 本课程的教学对象是培训部计算机类专业一、二年级本科层次学员。所有教学对象都应该已经学习过《大学计算机基础》,但由于学员的计算机基础的较大差异,针对教学对象的实际情况,应当根据教育部高等学校计算机科学与技术教学指导委员会《关于进一步加强高等学校计算机基础教学的意见》暨计算机基础课程教学基本要求,给以适当的分类、分层次教学,即一般要求和较高要求,使学员掌握C语言的简单程序设计的基本技术和方法。 二、课程基本理念 本课程以培养复合型的专业技术人才为目标,全面贯彻素质教育和创新教育思想,着力提高人才培养质量。通过本课程的学习应使学员掌握正确的程序设计方法与思想。具有初步的利用计算机分析问题、解决问题的意识与能力,为学员将来到社会从事专业应用软件的开发打下重要基础。 三、课程设计思路 以本课程的基本理念为指导,对课程目标分别从知识与技能、过程与方法、情感态度与价值观等方面进行了具体明确的阐述。课程内容与教学要求主要阐述学员学习本课程必须掌握的内容要点及达到的基本要求,并注明了重点和难点。在实施建议部分,分别对课程教学实施、课程考核评

价、教材选编使用、课程资源开发与利用以及教学保障等提出了明确建议。本课程是一门实践性很强的课程,应改变传统的注重语法规则的应试型教学模式,合理安排教学实践环节,加强程序设计技能的教学,以培养学员的专业技能,突出学员学习的主体地位。可通过与实际应用结合紧密的例题,增设小型工程应用项目的研究或运用案例式教学,提高学员编程的技巧。 四、课程教学目标 以《计算机程序设计》的课程标准为参考,根据教育部新的精神和要求,通过课堂教学与实践教学,让学员了解《C语言程序设计》这门课程的性质、地位和在工程应用中的价值;熟练掌握C语言的语法,掌握程序设计的基本思想和方法,具备良好的程序设计风格和程序的调试技能。能够利用软件工程的思想,运用数据结构基本知识和算法,解决实际生活中或者专业课中涉及到的实际问题,从而培养学员分析问题、解决问题的能力。 五、课程教学内容 (一)教学内容 根据《C语言程序设计》课程标准,参照相关专业人才培养方案以及后续课程的开设情况,讲授8个教学单元的教学内容。 第一单元:C语言概述 教学内容:C语言的特点、C语言源程序简介、C语言源程序的基本结构、C程序的编辑、编译、链接和运行 学时分配:讲课2学时,实习2学时 目的和要求:了解C语言及其特点、掌握C语言源程序基本结构、掌握C语言源程序集成开发环境 重点:C语言源程序的基本结构。 难点:C语言源程序集成开发环境。 第二单元:基本数据类型及其运算

C语言上机

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容:说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P3) *************************

Very Good ************************* 2、计算两个整数的和与积。(实验指导书P4) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书P4) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验答案:(代码+运行结果截屏) 实验二简单的C程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、掌握C语言的数据类型。 2、学会使用C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、输入r1、r2,求出圆形垫片面积。(实验指导书P10) 2、输入华氏温度h,输出摄氏温度c。(实验指导书P11) 3、从键盘输入一个3位整数,将输出该数的逆序数。(实验指导书P14) 4、输入并运行以下程序,分析运行结果。 #include void main( ) \'7b int i,j; i=8; j=10; printf(“%d,%d\n”,++i,++j); i=8; j=10; printf(“%d,%d\n”,i++,j++); i=8; j=10; printf(“%d,%d\n”,++i,i); i=8; j=10; printf(“%d,%d\n”,i++,i);\'7d 5、输入三角形三条边的边长,求三角形的面积。(实验指导书P153) 6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(实验指导书P154) 四、实验答案:(代码+运行结果截屏) 实验三选择结构程序设计(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟练掌握if语句和switch语句。 2、练习并掌握多分支选择结构的编程方法。

C++实验报告3

C++程序设计实验报告 一、实验题目:实验三 C++程序设计初步 二、实验环境: 硬件:系统windowns xp ;CPU:Pentium(R) 4 cpu 内存:512MB ; 硬盘:38.2G 软件:Microsoft Visual C++ 三、实验目的 (1)掌握简单的C++程序的编写和调试方法。 (2)掌握C++程序中使用最多的语句——赋值语句和输入输出的使用方法。 (3)掌握结构化程序的3种基本结构(顺序结构、选择结构、循环结构)在C++中的实现。 四、实验内容 要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 (1)有一函数:12111031110x x y x x x x <⎧⎪ =-≤<⎨⎪-≥⎩ 用cin 语句输入x 的值,求y 值。 运行程序,输入x 的值(分别为1x <、1~10、10x ≥),检查输出的y 值是否正确。 (2)一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6123=++,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子: 6,its factors are 1,2,3 要用两种不同的方法编程序,并作比较。 (3 )用迭代法求x = 112x n n a x x x +⎛⎫ =+ ⎪⎝⎭ 要求前后两次求出的x 的差的绝对值小于5 10-。

在运行时输入不同的数值赋给变量a,分析所得结果是否正确。如果输入的值为一负数,在运行时会出现什么情况?修改程序使之能出来任何a 值。 前后两次求出的x 的差的绝对值能否改为小于10 10-或更小为什么请试一下。 (4)要求输出以下图案。 ************************* 在运行程序得到正确结果后,请修改程序,以输出以下图案: (5)两个乒乓球队进行比赛,各出3人。甲队为A,B,C 三人,乙队为X,Y ,Z 三人。以抽签决定比赛名单。有人向队员打听比赛的名单,A 说他不喝X 比,C 说他不和X,Z 比,请编程序找出3队赛手的名单。 五、实验步骤与结果 (1)输入以下的程序: *************************

第3章程序设计初步第1-7节

第3章程序设计初步第1-7节 一、选择题 1、C语言中用于结构化程序设计的3种基本结构是( D ) A) for,while,do-while B) if,for,continue C) if,switch,break D)顺序结构、选择结构、循环结构 2、流程控制语句的基本控制结构有三种,不属于这一种结构的是( D )。 A) 顺序结构 B) 选择结构 C) 循环结构 D) 计算结构 3、输入输出格式控制是在哪个头文件中定义的?( B )。 A) iostream B) iomanip C) istream D) ostream 4、输入输出时需要包含哪个头文件?( A )。 A) iostream B) iomanip C) istream D) ostream 5、对于语句cout<>”称作提取运算符. ”<<”称作插入运算符 6、下列有关输入、输出的说法错误的是( C )。 A) C++语言本身没有提供输入、输出语句 B) C++语言中输入输出功能是通过输入输出流库中的流对象cin和cout实现的 C) 函数putchar()只能用来输出字符型变量的内容 D) 函数getchar()一次只能输入一个字符 7、在ios中提供控制格式的标志位中,哪个是转换为十六进制形式的标志位?(A )。 A) hex B) oct C) dec D) left 8、关系表达式的求值结果为( B )。 A)1或-1 B)1或0 C)任意正整数或0 D)任意负整数或0 9、设变量a和b的值满足a=a&&x<=b D)a=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10||a<=0 11、判断字符型变量ch是否为大写英文字母,应使用表达式( B )。 A)ch>='A' & ch<='Z' B)ch>='A' && ch<='Z' C)'A'<=ch<='Z' D)ch<='A' ||ch>='Z' 12、判断字符型变量ch是否为小写英文字母,应使用表达式( B )。 A)ch>='a' & ch<='z' B)ch>='a' && ch<='z' C)'a'<=ch<='z' D)ch<='a' ||ch>='z' 13、if(!x),表达式!x等效于(B )。 A) x==1 B) x==0 C) x!=1 D) x!=0 14、if(x),表达式x等效于(D )。 A) x==1 B) x==0 C) x!=1 D) x!=0 15、下列表达式中表示int变量x可以被3整除的表达式是( B )。 A)x/3==0 B)x%3==0 C)x%3!=0 D)(x/3) 16、设有定义:int x=1,y=2;则表达式x--||++y的值是( C )。 A)2 B)0 C)1 D)3 设有定义:int x=1,y=2;则执行表达式x--||++y后,x,y的值是( 0 2 )。表达式的值是(1) 设有定义:int x=1,y=2;则执行表达式 --x||++y后,x,y的值是( 0 3 )。表达式的值是(1) 17、已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为( C ) A) 1 B) 2 C) 3 D) 4 解析:++x为真,后面的就不运算了,所以语句执行结束后x=2,y=1,z=1 18、设 int x=0, y=1; 表达式(x||y)的值是( B ) A) 0 B) 1 C) 2 D) -1 19、设int x=1,y=1;表达式(!x||y- -)的值是( B ) A) 0 B) 1 C) 2 D) -1

C语言实验报告

C语言实验报告 C语言实验报告1 一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能! 一、心得与感想 首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在做题的过程中让我们把这些知识复习了一遍,强化了知识! 其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。 再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用! 虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富! 这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才

上交的作业。每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业! 这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。 在编写程序中,真的是细节决定成败,因为不管程序的语句是多是少,但是只要有一条语句或语法不正确,就不能使程序得到所需要的结果。没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。 C语言实验报告2 学号:__________ 姓名:__________ 班级:_________ 日期:__________ 指导教师:__________ 成绩:__________ 实验六综合实验

《-C语言程序设计》实验指导书

《C语言程序设计》实验指导书 课程编号:课程名称:C语言程序设计•实验学时:44 一、本实验课的性质、任务与tl的 本实验课目的是使学生掌握C语言编程的常用方法,熟悉该语言中的语法、词法规则,为以后进行软件开发和学习后继专业课程打下基础。通过学习能够运用c语言中的各个知识点编写能完成一定功能的程序。训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,其重要程度决不亚于知识的传授。把高级语言的学习与程序设计.上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。 二、本实验课所依据的课程基本理论 本实验课基于C语言的语法和词法规则、数据的表示及算法的处理,而语法及算法正是高级语言程序设计的主要研究对象。《C语言程序设计》的主要任务是:C语言是一种应用广泛结构化程序设计语言,本课程介绍c语言的基本概念.基本语法和编程方法,重点描述C语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用C语言编写程序的能力。 三、实验类型与要求 在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图, 要求独立完成。 说明:1>实验类型:设计性; 2、实验要求:必做。 四、每组人数与实验学时数 每组1人,实验学时数44学时。 五、考核方式与评分办法 实验总成绩二出勤情况"0%+实验报告*20%+平时*30%+实验表现*40% 六、本实验课配套教材或实验指导书 谭浩强.C程序设计.北京:清华大学出版社,2006年3月第3版 谭浩强.C程序设计题解与上机指导.北京:清华大学出版社,2006年3月第3版 谭浩强.C程序设计试题汇编.北京:清华大学出版社,2006年3月第2版 夏宽理.C语言程序设计.北京:中国铁道出版社,2006年2月第1版 夏宽理.C语言程序设计上机指导与习题解答.北京:中国铁道出版社,2006年2月第1 版王士元・C高级实用程序设计.北京:清华大学出版社,1996年1月第1版 七、实验报告要求 在机器上交作业,每次实验成绩分为优、良、及格、不及格,未参加的为0分。要求认真书写实验报告。 实验报告编写要求:

程序的设计基础实验报告

西华大学实验报告(理工类) 开课学院及实验室:汽车学院机房(5D-215)实验时间: 2008年 3 月 9 日 1、实验目的 1.掌握标签、命令按钮的常用属性、事件和方法。 2.掌握运用图片框和图像框加载图像的方法。 3.掌握计时器和滚动条的编程方法。 2、实验设备、仪器及材料 PC机;操作系统:WINDOWS98/2000/2003/XP;编程工具:Visual Basic 6.0 3、实验容 3.1上机实验的容及要求 编写动画程序。运行界面如图所示。单击“开始”按钮,图像从左到右不断运动,“开始”按钮变为不可用,同时“停止”变为可用;用滚动条来控制运动的速度。 3.2算法设计思想与算法实现步骤 1.界面设计 相关属性设置如下: Command1:Caption为“开始”。 Command2: Caption为“停止”, Enabled为 False。 HScroll1:Max 为 1000, LargeChange 为 200 , SmallChange 为20。 Label1 Label2: Caption分别为“快”和“慢”。 Timer1:Enabled 为 False。 Image:Stretch 为True, Picture过剪贴板粘贴一幅图象。 2.程序代码设计 3.运行/调试程序

4.保存工程 3.3程序核心代码,程序调试过程中出现的问题及解决方法Private Sub Command1_Click() Command2.Enabled = True Command1.Enabled = False Timer1.Enabled = True End Sub Private Sub Command2_Click() Command1.Enabled = True Command2.Enabled = False Timer1.Enabled = False End Sub Private Sub HScroll1_Change() Timer1.Interval = HScroll1.Value End Sub Private Sub Timer1_Timer() Image1.Move (Image1.Left + 1) End Sub 3.4 程序运行的结果

相关文档
最新文档