C语言实验1 - 控制结构程序设计(2)

更新时间:2023-11-15 04:04:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

#i实 验 报 告 一

(六学时)

课 程 C语言程序设计 实验项目 电气工程及其专业班级 自动化2014级 姓 名 李鑫宇 实验日期 指导教师 李淮 学 号 201431070087 控制结构程序设计 成 绩 批阅日期 一【实验目的】

1. 2. 3. 4. 5. 6.

了解使用VC++6.0的开发环境,掌握在该系统上如何编辑、编译、连接和运行一个C程序; 通过运行简单的C程序,初步了解C源程序的特点; 学习变量常量的使用;

掌握顺序结构程序设计方法; 掌握选择结构程序设计方法; 掌握循环结构程序设计方法;

二【实验内容】

第一部分:顺序结构程序设计 (一)题目:

【实验1—基础题】(10分)

要求:完成实验指导书P224页2.2.1第2章实验题:熟悉上机实验环境和不同类型变量的定义与赋值 目的:熟悉VC++6.0编译环境,了解变量类型和赋值方法

【实验2—验证题】(10分)

要求:完成实验指导书P224页2.2.2第3章实验题:编程计算并输出球的体积和表面积,球的半径r的值由用户从键盘输入。

目的:熟悉简单的算术运算

【实验3—延伸训练】(10分)

要求:编写程序求

(输入x的值为1,输出时y的值约为20.136249) 提示:(1)1度=π/180弧度

(2)调用数学函数,须在头文件中加入

的值,要求输入一个x,程序输出y的值。

(二)实验/上机过程

【实验1—基础题】

代码截图:#include main() {

int a=1; float b=2.5; char c='A';

printf(\ printf(\ printf(\ printf(\} 运行结果

截图

【实验2—验证题】

代码截图:#include #include

#define PI 3.14159 /*定义宏常量PI*/ main() {

double r,surface,volume; printf(\ scanf(\

surface=4*PI*pow(r,2);

volume=4.0/3.0*PI*pow(r,3);

printf(\ printf(\} 运行结

果截图

【实验3—延伸训练】

代码截图:#include #include #define PI 3.14159 main() {

float a,b,x,y;

printf(\ scanf(\

a=fabs(x*x-7*exp(x));

b=sqrt(3*x*x+PI/2*sin(67*PI/180)); y=a+b;

printf(\ } 运行结

果截图:

(三)实验/上机总结

本次实验/上机获得的知识或认识总结

本次实验/上机过程中遇到的问题分析与解决办法 本次实验/上机的心得体会及改进意见等

这次实验遇到很多问题,很多都是课堂上面没想到的,上课听懂了,下课自己做却发现很多问题,最后通过看书,网上查询,解决了问题。下次上课要多注意老师讲的内容,下课就不用花这么多时间了。

zh

第二部分:选择结构程序设计 (一)题目:

【实验1—基础题】(10分)

要求:从键盘上输入x的值,按下式计算y的值。

?x x<1?y??2x?1 1?x<10?3x?11 x?10?

目的:掌握选择结构if语句的使用方法

【实验2—基础题】(10分)

要求:编写计算器程序,要求如下:

① 从屏幕获取两个变量的值和一个算术运算符(+、-、*、/、%),对这两个变量进行相应的算术运算,输出计算结果,对于其他运算符给出错误信息。

② 用switch语句实现 目的:掌握选择结构switch语句的使用方法

【实验3—延伸训练】(10分)

要求:完成P227第五章实验,实现身高预测程序的编写

每个父母都关心孩子成人后的身高,据有关生理卫生知识与数理分析表明,影响小孩成人后身高的因素包括遗传,饮食习惯和体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。 设faHeight为父亲的身高,moHeight为母亲的身高,身高预测公式为: 男性成人时身高=(faHeight+moHeight)*0.54cm 女性成人时身高=(faHeight*0.923+moHeight)/2cm

此外,如果喜爱体育锻炼,那么身高可增加2%;如果有良好的卫生饮食习惯,那么身高可增加1.5%

编程从键盘输入用户性别、父母身高、是否喜爱体育锻炼、是否有良好的饮食习惯等条件,利用给定公式和身高预测方法对身高进行预测。

目的:熟悉if语句,关系运算符和逻辑运算符以及不同类型数据类型的输入和输出方法。 提示:(1)涉及到的相关变量,确定各变量的数据类型及名称 父亲身高 母亲身高

孩子性别

是否喜欢体育运动 是否有良好的饮食习惯

(2)需要进行的判断及结果,该采用何种控制结构实现该逻辑判断

(二)实验/上机过程

思考每一项任务的设计思想、流程框图、完成程序代码编写,把结果截图至指定位置

【实验1—基础题】

代码截图:#include main()

{

float x,y; printf(\ scanf(\ if(x<1) y=x;

else if(x>=1 && x<10) y=2*x-1; else if(x>=10) y=3*x-11;

printf(\} 运行

结果截图

【实验2—基础题】

代码截图:#include main () {

int a,b; char op;

printf(\ scanf(\ switch(op) {

case'+':

printf(\

break; case'-':

printf(\ case'*':

printf(\ break; case'/': if(0==b)

printf(\ else

printf(\ break; case'%': if(0==b)

printf(\ break; default:

printf(\ } } 运行结果

截图

【实验3—延伸训练】

代码截图:#include

main() {

char sex; char sports; char diet;

float myHeight; float faHeight; float moHeight;

printf(\ scanf(\

printf(\ scanf(\

printf(\ scanf(\

printf(\ scanf(\

printf(\ scanf(\

if(sex == 'M'||sex == 'm')

myHeight=(faHeight+moHeight)*0.54; else

myHeight=(faHeight+moHeight)/2.0; if(sports == 'Y'||sports == 'y') myHeight=myHeight*(1+0.02); if(diet == 'Y'||diet == 'y') myHeight=myHeight*(1+0.015);

printf(\ } 运行结果截

图:

(三)实验/上机总结

本次实验/上机获得的知识或认识总结

本次实验/上机过程中遇到的问题分析与解决办法 本次实验/上机的心得体会及改进意见等

相比于第一次的作业,这次显然没有第一次那么生疏了,但是还是存在很多问题,很多地方还是有些模糊,只能通过看书来多了解,希望下次能做的更好。

第三部分:循环结构程序设计 (一)题目:

【实验1—基础题】(10分)

要求:分别使用while,do?while,for语句,编程实现100以内所有正整数的加和计算。 并把实验结果抓图到相应位置

目的:掌握循环结构while , do…while , for语句的使用方法

【实验2—验证题】(10分)

要求:编程实现,从键盘上输入一行字符,输入回车键后结束字符输入(判定输入字符是否为’\\r’),统计其中英文字母、数字、空格和其它字符的个数。 目的:掌握循环结构的应用

提示:(1)完成程序功能所需变量有哪些,对其进行定义及赋初值 待判定字符变量 英文字符个数 数字个数 其他字符个数 (2)确定循环条件

【实验3—延伸训练】(20分) 要求:完成P230第6章实验

相传国际象棋是古印度舍罕王的在想达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8*8共64格的象棋盘说:“陛下,请您赏我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放4粒,第3格中放8粒,以后每一格都比前一格增加一倍,依次放完棋盘上的64个格子。我就感激不尽了。”舍罕王让人抗来一袋麦子,他要兑现他的许诺。请问:国王能兑现他的承诺么?

3

编程计算舍罕王共需要多少麦子赏赐他的宰相,这些麦子相当于多少立方米?(1m麦子约1.42e8粒) 目的:熟悉循环语句、累加累乘算法、通项的构成规律。

(二)实验/上机过程

思考每一项任务的设计思想、流程框图、完成程序代码编写,把结果截图至指定位置

【实验1—基础题】

代码截图:#include main() {

int i,n,sum;

printf(\ scanf(\ sum=0; i=1;

while(i<=n) {

sum=sum+i; i=i++; }

printf(\ }

#include main() {

int i,n,sum;

printf(\ scanf(\ sum=0; i=1; do{

sum=sum+i; i=i++; }while(i<=n);

printf(\ }

#include main() {

int i,n,sum;

printf(\ scanf(\ sum=0;

for(i=1;i<=n;i=i++) {

sum=sum+i; }

printf(\ } 运行

结果截图:

【实验2—验证题】

代码截图:#include \main()

{char c,english=0,space=0,number=0,other=0; c=getchar(); while(c!='\\n') {

if(c>='a'&&c<='z') english++; else if(c>='0'&&c<='9') number++; else if(c==' ') space++; else other ++; c=getchar(); }

printf(\} 运行结果截图

【实验3—延伸训练】

代码截图:#include #include #define CONST 1.42e8 main() {

int n;

double term,sum=0; for(n=1;n<=64;n++) {

term=pow(2,n-1); sum=sum+term;

}

printf(\

printf(\} 运行结

果截图:

(三)实验/上机总结

本次实验/上机获得的知识或认识总结

本次实验/上机过程中遇到的问题分析与解决办法 本次实验/上机的心得体会及改进意见。

还是很不熟悉,很多符号不是很明白作用。

本文来源:https://www.bwwdw.com/article/f9jv.html

Top