当前位置:文档之家› 湖北理工学院14本科C语言实验报告实验三循环控制

湖北理工学院14本科C语言实验报告实验三循环控制

湖北理工学院14本科C语言实验报告实验三循环控制
湖北理工学院14本科C语言实验报告实验三循环控制

湖北理工学院14本科C语言实验报告实验三循环控制实验三循环控制

实验课程名:C语言程序设计

专业班级: 14电气工程2班学号: 201440210237 姓名: 熊帆

实验时间: 4.28-5.5 实验地点: K4-207 指导教师: 祁文青

一、实验目的和要求

1. 熟悉掌握用for语句,while语句和do_while语句实现循环的方法。

2. 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。

二、实验内容

1. 下面程序求1+…+100,填空,实现该功能。

#include

void main()

{

int s,i;

s=0; /* 第5行 */

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

s=s+i;

printf("1+...+100=%d\n",s);

}

解答:

,1,源代码:

#include

void main()

{

int s,i;

s=0;

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

s=s+i;

printf("1+...+100=%d\n",s);

}

(2)运行结果:

(3)运行结果分析:考察for循环语句的运用,i的初值为1,当满足i<=100时就会执行for语句

下面的一条语句,s的值一直累加,直到i=101跳出for循环,输出最终结果,为5050

2. 比较下列两个程序。(验证)

#include

void main()

{ int i,n,sum=0;

scanf("%d",&i);

n=i;

while(i<=10)

{ sum+=i;

i++;

}

printf("%d+...+10=%d",n,sum);

}

#include

void main()

{ int i,n,sum=0;

scanf("%d",&i);

n=i;

do

{ sum+=i;

i++;

} while(i<=10);

printf("%d+...+10=%d",n,sum);

}

分别运行这两题,若输入7,这两个程序的结果分别是多少,若输入12,这两个程序的结

果又分别是多少,比较为什么会有这样的区别,

解答:

,1,源代码:

程序1:

#include

void main()

{

int i,n,sum=0;

scanf("%d",&i);

n=i;

while(i<=10)

{ sum+=i;

i++;

}

printf("%d+...+10=%d",n,sum); }

程序2:

#include

void main()

{

int i,n,sum=0;

scanf("%d",&i);

n=i;

do

{

sum+=i;

i++;

}

while(i<=10);

printf("%d+...+10=%d",n,sum);

}

,2,运行结果:输入7时,两个程序的运行结果分别如下图

输入12时,两个程序的运行结果分别如下图

(3)运行结果分析:程序1和程序2分别用到的分别是while型循环和do while 循环。当输入7

时,i<=10对两个程序来说都是成立的,但是程序1是先判断再执行,而程序2是先执行

再判断,但不影响最后的结果,输出都是34。但是当输入12的时候,由于程序1是先判

断再执行,由于i<=10为假,故输出为0。而程序2是先执行再判断,不管输入是什么整

数值,都至少会执行一遍,所以还是执行了一遍,最终输出和输入结果一样,都是12。

3. 下面程序,若输入12345,分析输出结果是多少,上机验证。

#include

void main( )

{ long data;

scanf("%ld",&data);

while(data)

{ printf("%ld,",data%10);

data=data/10;

}

}

解答:

,1,源代码:

#include

void main()

{

long data;

scanf("%ld",&data);

while(data)

{

printf("%ld,",data%10);

data=data/10;

}

}

(2)运行结果:

(3)运行结果分析:data的定义为长整型,当输入12345时,while(data),则进入一个while循

环,先输出12345除以10的余(加一个逗号),即输出12345的个位数。再令data等于

12345除以10的模,从而data等于1234,再次,输出1234除以10的余(加一个逗号),

即输出12345的十位数。接下来依次类推,最终实现输出5,4,3,2,1。

4. 下面程序实现求Fibonacci数列的前n个数。(验证、调试)

,,1n1n2或,,F ,nF,Fn,3n,1n,2,

运行程序,写出运行结果;采用单步跟踪技术运行该程序,观察一下变量的变化。

#include

void main( )

{ long int f1, f2;

int i,n;

printf("Input n:"); /* 第5行 */

scanf("%d",&n); /* 第6行 */

f1=f2=1;

for(i=1;i

{ printf("%ld\t%ld\n",f1,f2); /* 第9行 */

f1=f1+f2;

f2=f2+f1;

}

}

解答:

,1,源代码:

#include

void main()

{

long int f1, f2;

int i,n;

printf("Input n:"); /* 第5行 */

scanf("%d",&n); /* 第6行 */

f1=f2=1;

for(i=1;i

{

printf("%ld\t%ld\n",f1,f2); /* 第9行 */

f1=f1+f2;

f2=f2+f1;

}

}

(2)运行结果:

调试过程

(3)运行结果分析:验证了2个值,分别为2和9。当输入n=2时,输出1行值,为1 1。

当输入n=9时,输出8行值,如上图所示。

【关于Fibonacci数列:斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,

144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368

特别指出:第0项是0,第1项是第一个1。这个数列从第三项开始,每一项

都等于前两项之和。】

5.下面程序,写出预习结果并上机验证。(验证)

#include

void main( )

{

int i,j,x;

for(i=0,x=0;i<2;i++)

{

x++;

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

{

if(j%2) continue;

x++;

}

x++;

}

printf("x=%d\n", x);

}

思考:用一句话概括if(j%2)语句的作用。

解答:

(1)运行结果:

(2)运行结果分析:if(j%2)语句的作用实际上就是判断j是否为奇数。如果能整除2就执行,不能整除就不执行,通过continue跳出本次循环。即如果j%2=0就执行x++,j%2!=0就通过continue跳出本次循环。通过for循环的嵌套与continue语句的结合,使得最终输出结果为8。

6.下面程序输入一批考试分数,用,1作为结束标志,若输入大于100分,则提示重新输入,然后计算最高分、最低分与平均分。请调试、检查程序中的错误,并改正之。

#include

void main( )

{ int mark;

int n=0 ; sum=0 ;

int max=100 ; min=0 ;

for ( ; ; ) ;

{ scanf("%d", &mark);

if ( mark > 100 )

{ printf(" Mark > 100 , Please reinput \n ");

break;

}

if ( mark=-1)

break;

n ++ ;

sum=sum + mark ;

if( mark > max )

max = mark ;

if( mark < min )

min = mark ;

}

sum=sum/ n ;

printf("max =%d , min = %d, aver = %d \n", max , min , sum); }

解答:

,1,源代码:

#include

void main()

{

int mark;

int n=0,sum=0 ;

int max=100,min=0 ;

for( ; ; )

{

scanf("%d", &mark);

if(mark>100)

{

printf(" Mark > 100 , Please reinput \n ");

break;

}

if(mark=-1)

break;

n ++ ;

sum=sum + mark;

if(mark>max)

max=mark;

if(mark

min=mark;

}

sum=sum/ n ;

printf("max =%d , min = %d, aver = %d \n", max , min , sum);

}

(2)运行结果:

(3)运行结果分析:int语句有误,定义多个变量的时候应该使用逗号隔开。还有一个错误是for

语句后来不能要分号,应该去掉。

运行时输入了10个分数值,并以-1作为结束标志,计算出最高分,最低分和平均分,实验结果与

预期一致。

7. 编程:输入20个1,90的整数,分类统计1,30、31,60、61,90的数各有多少个,

解答:

,1,源代码:#include void main()

{

int count1=0,count2=0,count3=0;

int i,x;

printf("请输入20个数:\n");

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

{

scanf("%d",&x);

if(x>=1&&x<=31)

count1++;

if(x>=31&&x<=60)

count2++;

if(x>=61&&x<=90)

count3++;

}

printf("count1=%d,count2=%d,count3=%d\n",count1,count2,count3);

}

,2,运行结果:

(3)运行结果分析:用三个if语句与for循环结合,输入了20个数字,验证结果与预期一致,如上图所示。

8.编程:素数是除了1和其本身以外,不能被其他自然数整除的自然数。从键盘输入一个数,判断该数是不是素数,

解答:

,1,源代码:#include

void main()

{

int a,b;

printf("请输入一个数:");

scanf("%d",&a);

for(b=2;b<=a-1;b++)

{

if(a%b) ;

else

break;

}

if(b==a)

printf("它是一个素数\n");

else

printf("它不是一个素数\n");

return 0;

}

,2,运行结果:

(3)运行结果分析:运用for循环实现整除的过程,实验运行程序时分别输入了一个9和11,实

验结果均与预期一致。

9.编程:显示所有的水仙花数。谓水仙花数,是指一个3位数,其各位数字立方和等于该数字

333本身。例,153是水仙花数,因为153=1+5+3 。有两种解题思路,选择其中之一编程实现: (1) 利用三重循环,将这三个数通过一定的运算符连接成一个3位数,然后判断是否是水仙

花数。

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

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

for(k=0;k<=9;k++)

注意,因水仙花是一个三位数,百位i是从1开始,不能从0开始,十位j和个数位

k可以从0开始。

(2) 利用一个循环,对100,999范围内的每个3位数逐位分离后进行判断。

for(i=100;i<999;i++)

{ a=i/100;

b=(i-a*100)/10;

c=i%10;

………

}

解答:

,1,源代码:

#include

void main()

{

int a,b,c;

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

for(b=0;b<=9;b++)

for(c=0;c<=9;c++)

if((a*100+b*10+c)==(a*a*a+b*b*b+c*c*c))

printf("%d%d%d\n",a,b,c);

return 0;

}

(2)运行结果:

(3)运行结果分析:运用3个for循环语句,再判断是否满足水仙花数的条件。实验结果如上图,

与预期结果相符。

10.编程:输出下列图形。 *

***

*****

*******

********* 解答:

,1,源代码:

#include

int main()

{

int m,n;

for(m=1;m<=5;m++)

{

for(n=1;n<=5-m;n++)

printf(" ");

for(n=1;n<=2*m-1;n++)

print("*");

printf("\n");

}

return 0;

}

(2)运行结果:

(3)运行结果分析:通过for循环的嵌套,通过输出空格和星号来控制最终的图像,由星号组成的

三角形。

三、结论

本次实验主要考察的是for循环的嵌套的使用~要学会用单步执行来观察程序的每一步

的运行情况~这样非常有利于理解for循环的嵌套。

c语言实验报告 ()

丽水学院计算机实验报告

丽水学院计算机实验报告 一、实验目的 1.熟悉Visual C++和C-Free等集成环境,掌握运行一个C程序的基本步骤,包括编辑、编译、连接和运行。 2.掌握算术表达式和赋值表达式的使用。 3.掌握基本输入、输出函数的使用。 4.能够编程实现简单的数据处理。 二、实验环境 硬件:Pentium以上的计算机。 软件:Windows XP操作系统、Visual C++和C-Free等集成环境。 三、实验内容和结果 1.编程题1 在屏幕上显示一个短句“What is a computer?” 思考: (1)如何在屏幕上显示你自己的学号,姓名和班级? (2)如何在屏幕上显示数字、英文字母和汉字等信息?例如:“你在机房吗?” 编程题1源程序: #include<> void main() { printf("What is a computer?\n");

} 程序运行结果: What is a computer? 思考题(1): #include<> void main() { printf(",小王,班级\n"); } 思考题(2): #include<> void main() { printf("英文字母abcdefgABCDEFG\n"); printf("汉字:哇哈哈啊哈和\n"); } 2.编程题2 在屏幕上显示下列图形。 * * * * * * * * * *

思考:如何在屏幕上显示下列图形? A A A A 编程题2源程序: #include<> void main() { int i,j; for(j=1;j<5;j++) { for(i=5;i>j;i--) printf("*"); printf("\n"); } } 程序运行结果: * * * * * * * * * * 思考题:

游戏C语言实验报告完整版

游戏C语言实验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录

一、实验目的和要求 (1)使用C语言编写2048这款游戏。 (2)能够正常运行,拥有游戏界面。 (3)能正常进行游戏从开始到结束。? (4)用户操作方便。 二、实验环境、内容和方法 实验内容:1、游戏开始时随机产生两个数值为2/4的方格,其中一个方格置于4个角中的一个位置,另一个方格随机的置于其他位置,其他方格置于0。 2、每次按方向键(w,s,a,d)后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。 3、每合并一次格子,将其值累计到游戏总分中。 4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。 5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。 6、2出现的概率为70%,4出现的概率为30%。 实验方法: 通过上机操作完成各内容。 实验环境: 实验用PC机一台,使用操作系统为Windows 7/ Windows 8/ Windows10,安装 vc++或v2008等编译软件 三、程序设计 Y

四、源代码 #include<> #include<> #include<> #include<> #define M 2048 void up(); n"); printf(" 玩家可以选择上(w)下(s)左(a)右(d)四个方向,若棋盘内的数字出现位移或合并,视为有效移动.\n"); printf(" 若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并.\n"); printf(" 合并所得的所有新生成数字想加即为该步的有效得分.\n"); printf(" 玩家选择的方向行或列前方有空格则出现位移.\n"); printf(" 每有效移动一步,棋盘的空位(无数字处)随机出现一个数字(依然可能为2或4).\n"); printf(" 棋盘被数字填满,无法进行有效移动,判负,游戏结束.\n"); printf(" 棋盘上出现2048,判胜,游戏结束"); printf("\n\n\n"); printf(" \t\t\t按回车开始游戏.\n"); getchar(\n);

C语言实验报告参考答案 原

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include main() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include main() { int a,b,c,d; float x; a=160; b=46; c=18;

d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

C语言实验报告合集

《C语言程序设计》实验报告 专业:班级:学号:学生姓名:实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验一熟悉VC++环境 二、实验目的 1. 熟悉C程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h" int main() {int a,b,sum; a=2; b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum); return 0; } 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

《C语言程序设计》实验报告 专业:班级:学号:学生姓名: 实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验二顺序结构程序设计 二、实验目的 (1)掌握C语言数据类型以及变量的声明。 (2)掌握C语言的赋值运算符、赋值表达式、赋值语句。 (3)掌握C语言的整型和字符型的混合运算。 (4)掌握C语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f,请编写程序把它转换为摄氏温度c。 已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3.将字符串“China”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母 替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

洛阳理工学院电力拖动自动控制系统期末考试卷子B卷

第 1 页 共 1 页 洛阳理工学院 2010/2011 学年 第一学期 运动控制系统 期末考试试题卷(B ) 适用班级:Z080401/02 考试日期时间: 一、填空:(每空1分,共37分) 1.某调速系统的调速范围是1450~145转/分,D= ,要求静差率S=5%,系统允许的静态速降是 。 2.为防止起动时产生电流冲击,在单闭环调速系统中须加 环节;在转速、电流双闭环系统中,通过调节 可限制最大电流,即I d m = 。 3.用积分控制的调速系统是 静差系统,用比例控制的系统是 静差系统。 4.在转速负反馈系统中,对电动机磁通的波动 抑制作用,对测速发电机磁通的变化 抑制作用。 5.在两组晶闸管的可逆线路中存在的环流分为静态环流和 环流;其中静态环流包括 环流和 环流两种;α=β工作制能消除 环流,用串入环流通路中的 限制瞬时脉动环流。 6.转速、电流双闭环系统起动过程分为三个阶段,Ⅰ阶段为 阶段;Ⅱ阶段为 阶段;Ⅲ阶段为 阶段。在Ⅰ、Ⅱ阶段,ASR 处于 状态。 7.典型Ⅰ型系统的开环传递函数是 ,其开环放大倍数K 与截止频率ωc 的关系是 ,系统参数乘积KT ≤ 。 8.数字PI 调节器有 式和 式两种算法。 9.α=β配合控制可逆调速系统正向制动过程可分为三个阶段,这3个阶段分别是 、 和 。 10.转速负反馈单闭环调速系统以额定转速稳定运行,负载突升并恢复稳定后,对有静差系统,转速将 ;触发整流装置的输出电压U d 将 ;无静差调速系统的转速将 ;触发整流装置的输出电压U d 将 。 11.α=β配合控制可逆系统中,当U c =0时触发脉冲零位整定在αf0=βr0= 。 12.从整体结构上看,电力电子变压变频器可分为 和 两大类。 13.三相异步电动机原始动态模型相当复杂,简化的基本方法就是坐标变换,不同坐标系中电动机模型等效的原则是:在不同坐标下绕组所产生的合成 相等。 二、问答题:(每小题7分,共35分) 1.在转速负反馈系统中,当电网电压、负载转矩、电动机励磁电流、电枢电阻、测速发电机磁场各量发生变化时都会引起转速的变化,问系统对它们有无调节能力?为什么? 2.某调节对象的传递函数是()12(1)(1) d s K W T s T s ++ 且T 1>>T 2现要校正成典型Ⅱ型系统(1)应采用什么调节器?在此过程中作了哪些近似处理?(2)写出调节器的传递函数;(3)写出校正后的传递函数;(4)求出调节器参数。 3.转速、电流双闭环调速系统中,稳态运行时,当两个调节器都不饱和,写出Un *、Un 、U i *、U i 、I d 、U c t 各量之间的关系,Ce 、R 、Ks 已知。 4.画出六拍阶梯波逆变器供电时电动机电压空间矢量与磁链矢量的关系图,并简单说明之。 5 三相坐标系变换到两相正交坐标系的变换矩阵32C 的表达式,其中 。 三、计算题: 1.单闭环转速负反馈系统,已知电动机参数:P N =2.2KW ,U N = 220V ,I N =10A ,n N =1500r/min , R a =1Ω,整流装置K S =30,R rec =1Ω,最大转速给定电压U n *=10V ,系统要求调速范围D=20,静差率 S=10%,(1)画出系统的静态结构图; (2)计算开环系统的静态速降和调速要求所允许的静态速降; (3)确定放大器的最小放大倍数K P 。 5题图 2.有一转速、电流双闭环系统,速度调节器和电流调节器均采用PI 调节器,已知直流电动机:n N =1000r/min ,I N =15A ,C e =0.21V/rpm ,R a =0.5Ω,总电阻R=2Ω。ASR 输出限幅值U i *=12V ,电动机过载系数λ=2,可控硅装置放大倍数K S =40,当U n m *=12V 时,n=1000r/min 。计算: (1)电流反馈系数β=?转速反馈系数α=? (2)现系统在U n *=6V ,I d =10A 时稳定运行,求此时的稳态转速n=?ACR 的输出电压U c =? (3)试画出待设计转速环的动态结构图。该系统转速环按典型Ⅱ型系统设计,且按M r min 准则选择参数,取中频宽h =7,已知T Σn =0.05s ,T m =0.5s ,试计算转速环的开环增益K N ,调节器的放大倍数Kn ,时间常数τn 及计算出调节器的元件R n 、C n 和C on 参数 。 (4)当系统突加给定空载起动到额定转速时,转速超调量σn 为多少? 附参考公式: n m e n RT h T C h K ∑+=αβ2)1( m a x *(%)2()N n n b m C n T z C n T σλ∑??=?- 32N N =

C语言实验报告3

实验报告 实验名称:最简单的C程序设计——顺序程序设计成绩: 实验日期: 2011 年 10 月 24 日实验报告日期: 2011 年 10 月24 日 实验者:桂婷 一、实验目的 1、掌握C语言中使用最多的一种语句——赋值语句的使用方法。 2、掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 3、进一步掌握编写程序和调试程序的方法。 二、实验内容 1、输入程序并运行结果。 2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。编程序,用scanf输入数据,输出计算结果/。 3、计算存款利息。 有1000元,想存5年,可探子以下5种办法存: (1)一次存5年期; (2)先存2年期,到期后将本息再存3年期; (3)先存3年期,到期后将本息再存2年期; (4)存1年期,到期后将本息存再存1年期,连续存5次; (5)存活期存款。活期利息每一季度结算一次。 三、实验步骤: 1、

总结:1、变量在定义时就赋了初值。 2、两次的printf语句输出都指定了要输出数据的长度和小数点。2、 总结:1、程序在定义时只对部分变量赋了初值,这是允许的。 2、在计算时,乘号是用*表示,不能省略。 3、同样,在输出时指定了输出格式,长度,小数点位数。 3、

总结:1、用scanf语句输入数据,要与指定的格式一样。 2、程序用到了数学公式,调用“include ” 4、实验出现的问题、实验结果分析 1、程序在运行时是自上而下同,自左向右的。运到调用函数则会跳 转,但调用完了仍然回到主函数中。 2、printf语句中的常量是按原样输出的。 3、注意赋值语句的使用。 五、实验小结和思考 1、如果在程序2中不指定输出的长度和小数位数,看运行结果。 2、在程序3中不包含“include ”会怎样? 3、程序3若不给变量赋初值会出现什么情况。

C语言实验报告

《C语言程序设计实训1》报告 设计题目:基于数组的学生信息管理系统学院名称:信息科学技术学院

专业:计算机科学与技术 班级: 姓名:学号 指导教师: 提交日期: 2014年12月22日 一、实验内容 编写并调试程序,实现学校各专业班级学生信息的管理。10个学生的信息存储在文件中。在头文件中定义学生信息的结构体类型,包括: 学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。(同一班 级的学生可以属于不同的专业,同一专业的学生可以属于不同的班级)

二、实验要求 (1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择, 调用相应的函数。 STU student[N]; 函数 #include "" void main() { int i,n,id,num,m,sub,corse;将从文件中读取10个人的信\n"); printf("\n2.您将从文件中随机读取第n(0<=n<=9)个学生的信息\n") printf("\n3.您将根据某一班级某一专业总分超过多少进行查找\n"); printf("\n4.您将求某一课程分数最高的学生序号的下标\n"); printf("\n5.您将对平均成绩由低到高进行简单选择排序法\n ");

printf("\n6.您将对某一个班的平均成绩由低到高进行起泡排序法\n"); printf("\n7.您将对某门专业的学生的某门课程成绩由低到高进行直接插入排序法\n"); printf("\n8.您将把学生信息存入文件\n"); scanf("%d",&id); getchar(); switch(id){ case 1: { printf("\n从文件中读取信息\n"); Input(students,sizeof(students)/sizeof(STU));Sort_select 函数 #include "" void Sort_select(STU * p) { int i,j,k; float sum,ave[N],t; STU tem; for(i=0;i

洛阳理工学院无机及分析化学a卷

洛阳理工学院 2009/2010 学年第一学期无机及分析化学期末考试试题卷(A) 适用班级:07环境监测(五)W070615 考试日期时间:2010.1 一.填空题(每小题1分,共20分) 1.HC2O4-的共轭酸是,共轭碱是,因此它是。 2.原子序数z=20,核外电子排布为,该元素位于周期表周期,族。 3.在溶液中,加入沉淀剂后,被沉淀的离子在溶液中的残留量小于mol·L-1叫做沉淀完全。 4.滴定分析中常用的滴定方式为:、、、。 5.酸的强弱是影响滴定突跃大小的重要因素,当酸的浓度一定时,它的解离常数Ka越大,即酸性,滴定PH突跃范 围。 6.分子间的作用力主要有:、、。 7. 定量分析的一般程序:、、、。 二、选择题 (每小题2分,共20分) 1.质量作用只适用于: A.复合反应 B. 计量方程 C. 基元反应 D. 氧化还原反应 2.增大反应物浓度,使反应速率增大的原因是: A.单位体积的分子数增加 B.反应系统混乱度增加 C.活化分子分数增加 D.单位体积内活化分子总数增加 3.下列原子半径大小顺序中正确的是: A. Be<Na<Mg B. Be<Mg<Na C. Mg<Na<Be D. Na<Be<Mg 4.下列溶液中,PH值最小的是: A. 0.010 mol·L-1 HCl B. 0.010 mol·L-1 H2SO4 C. 0.010 mol·L-1 HAc D. 0.010 mol·L-1 H2C2O4 5.473K时反应2NO(g)+O22NO2 (g)在密闭容器中达平衡,加入惰性气体He使总压增大,平衡将: A.左移 B. 右移 C.不移动 D 不能确定 6.下列各种元素的原子序数中,其原子最外层电子数最多的是: A.2 B. 15 C.28 D . 42 7.已知K bΘ(NH3 )=1.8×10-5 ,K aΘ(HCN )=4.9×10-10 ,K aΘ(HAc )=1.8×10-5 ,下列哪一对共轭酸碱混合物不能配制pH=9的缓冲溶液: A. HAc—NaAc B. NH4Cl—NH3 C. A、B都不行 D. HCN—NaCN 8.在表征共价键的参数中,决定分子空间构型的是: A.键能 B. 键长和键角 C.键长 D. 键角 9.试样用量为0.1~10mg的分析方法为: A.常量分析 B. 半微量分析 C.微量分析 D . 超微量分析 10.下列电子构型中,属于原子激发态的是: A.1s22s22p1 B. 1s22s2 C. 1s22s22p63s24s1 D . 1s22s22p63s23p64s1

C语言实验报告合集

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 二、实验目的 1. 熟悉C 程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C 程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C 程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h"int main(){int a,b,sum;a=2;b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum);return 0;} 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C 语言数据类型以及变量的声明。 (2)掌握C 语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C 语言的整型和字符型的混合运算。(4)掌握C 语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f ,请编写程序把它转换为摄氏温度c 。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3. 将字符串“China ”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2. 软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码:运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

:C语言实验报告册-2016.3资料

学生实验报告册 (理工类) 课程名称:C语言程序设计实验专业班级: 16数字媒体技术学生学号: 1613031008 学生姓名:李翔 所属院部:计算机工程学院指导教师:吕艳林 20 16 ——20 17 学年第一学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:初级程序设计实验学时: 6 实验地点: A107 实验日期: 2016年10月13,20,27 实验成绩: 批改教师:批改时间:

实验1 初级程序设计 一、实验目的和要求 (1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试; (2)掌握C语言中各种运算符的使用; (3)掌握C语言中各种数据类型的区别与应用; (4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用; (5)掌握C语言中输入/输出函数的使用; (6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。 二、实验仪器和设备 奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。 三、实验内容与过程 1、程序调试 (1)#include main() { int s,t,p,sum; scanf(“%d%d%d”,&s,&t,&p); sum=s+t+p; printf(“sum=%d\n”,sum); } (2)#include main() { int k=3; if(k=3) printf(“***”); else printf(“###”); } (3)#include main() {int k=0; do { printf(“k=%d\n”,k); }while(k++>0); } 2、程序改错

数字逻辑实验报告二demo

洛阳理工学院实验报告 系别计算机班级B130532 学号B13053235 姓名李登辉 课程名称数字逻辑实验日期2013.11.4 实验名称译码器及其应用成绩 实验条件: 1.+5V直流电压。 2.逻辑电平开关。 3. 逻辑电平显示器。 4.双踪示波器 5.连续脉冲源 6.拨码开关组 7. 译码显示器 8. 74LS138 CC4511 实验要求: 74LS138译码器逻辑功能测试。用两片74LS138构成一个4线-16线译码器,并进行实验。 实验目的:1掌握中规模集成译码器的逻辑功能和使用方法。 2熟悉数码管的使用。 实验步骤:一:熟悉74LS138译码器,了解其工作原理。其逻辑图和引脚排列如图所示: 其中A2,A1 ,A0为地址输入端,Y0~Y7为译码输出端,S1,S2,S3为使能端。

当S1=1,S2+S3=0时,器件使能,地址码所指定的输出端有信号输出(低电平0有效),其他输出端均无信号输出(全为1)。当S1=0,S2+S3=X,或S1=X,S2+S3=1时,译码器禁止,所有输出同时为1. 二:按照74LS138译码器的逻辑图和引脚排列连接电路,连接成功后观察期工作情况,注意观察其工作情况是否符合其功能。以下为连接后工作图:

三:利用使能端将两个38译码器组合连成一个4-16译码器如图所示: 根据如上所示的原理图在操作台上连线,并观察其工作情况。工作图片如下所示: 级联后138的三个输入端连接后作为4线-16译码器的三个输入端,第一个138的两个使能端与第二个138的非使能端连接后作为4线-16的一个输入端,而第一个138的非使能端与第二个138的使能端分别接高电平,低电平。得到的16 输

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

洛阳理工学院模拟电子期末试题题库

一、填空题 1、在杂质半导体中,( )的浓度对温度非常敏感。 A. 少子 B. 多子 C. 杂质离子 D. 空穴 2、PN 结加正向电压时,空间电荷区将( )。 A. 变宽 B. 变窄 C.基本不变 D.不能确定 3、设二极管的端电压为U ,则二极管的电流方程为( ) 。 A. U I e S B. T U U I e S C. )1e (S -T U U I D. 1e S -T U U I 4、硅管正偏导通时,其管压降约为( )。 A 0.7V B 0.5V C 0.2V D 0.1V 5、三极管当发射结和集电结都正偏时工作于( )状态。 A. 放大 B. 饱和 C. 截止 D. 无法确定 6、某双极型三极管多级放大电路中,测得A 1u =25, A 2u =-10 ,A 3u ≈1,则可判断这三级电路的组态分别是( )。 A. 共射、共基、共集 B. 共基、共基、共集 C. 共基、共射、共集 D. 共集、共射、共基 7、某放大器输入电压为10mv 时,输出电压为7V ;输入为20mv 时, 输出为6V ,则该放大器的电压放大倍数为( ) 。 A. 700 B. 300 C. 100 D. -100 8、某放大器的中频电压增益为40dB ,则在上限频率f H 处的电压放大倍数约为( )倍。 A. 43 B. 37 C. 100 D. 70 9、集成运放存在失调电压和失调电流,所以在小信号高精度直流放大电路中必须进行( )。 A. 虚地 B. 虚短 C. 虚断 D. 调零 10、已知变压器二次电压t u ωsin 28.282=V ,则桥式整流电容滤波电路接上负载时的输出电压平均值约为( )。 A. 28.28V B. 20V C. 24V D. 18 V 11、集成运放的输出级一般采用互补对称放大电路是为了( ) A .增大电压放大倍数 B . 提高带负载能力 C . 稳定电压放大倍数 D. 减小线性失真 12、为了稳定放大电路静态工作点,应引入( )负反馈。 A. 直流 B. 交流 C. 串联 D. 并联 13、欲将方波电压转换成三角波电压,应选用( )运算电路。 A. 比例 B. 加减 C. 积分 D. 微分 14、( )运算电路可实现函数Y =aX 1+bX 2+cX 3,a 、b 和c 均小于零。 A. 同相比例 B. 反向比例 C. 同相求和 D. 反向求和 15、某三极管的V 15,mA 20,mW 100(BR)CEO CM CM ===U I P ,则下列状态下三极管能正常工作的是( )。 A. mA 10,V 3C CE ==I U B. mA 40,V 2C CE ==I U C. mA 20,V 6C CE ==I U D. mA 2,V 20C CE ==I U 16、测得某放大电路中三极管的各极电位分别为2.7V 、2 V 、8V ,则这个三极管是 。 A. PNP 锗管 B. NPN 锗管 C. PNP 硅管 D. NPN 硅管 17、已知两共射极放大电路空载时电压放大倍数绝对值分别为A 1u 和A 2u ,若将它们接成两级放大电路,则其放大倍数绝对值为( )。 A. A 1u A 2u B. A 1u +A 2u C. 大于A 1u A 2u D. 小于A 1u A 2u 18、放大电路如图1所示,已知三极管的05=β,则该电路中三极管的工作状态为( )。 A. 截止 B. 放大 C. 饱和 D. 无法确定 u 图1 图2 图3 图4 19、如图2所示电路( )。 A.能否产生正弦波振荡取决于R 1和R 2 B.不能产生正弦波振荡 C.能产生正弦波振荡 D.不能确定 20、如图3所示电路中,( )。 A .将二次线圈的同名端标在下端,可能振荡 B .将二次线圈的同名端标在上端,就能振荡 C .将二次线圈的同名端标在上端,满足振荡的相位条件 D .将二次线圈的同名端标在下端,满足振幅条件 21、如图4所示电路,当有输入电压u i 时,V 1管集电极电流i C1=0.7mA ,此时V 2管集电极电位 u C2 等于 ( )。

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

洛阳理工学院单片机期末考试题(十套)

洛阳理工学院 2011/2012 学年第一学期单片机原理与接口技术期末考试试题卷(A)适用班级:B090505/06/07/08 考试日期时间:120分钟 一、选择题(每小题2分,共20分) 1.片内RAM的20H~2FH为位寻址区,所包含的位地址是( B )。 A、00H~20H B、00H~7FH C、20H~2FH D、00H~FFH 2.下列哪个并行口可以既作为输入输出口又可以作为高8位地址口( B ) A.P1 B.P2 C.P3 D.P0 3.若AT89C51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。 A、2μs B、4μs C、8μs D、1ms 4.定时器/计数器工作方式1是( D )。 A、8位计数器结构 B、2个8位计数器结构 C、13位计数结构 D、16位计数结构 5.在五个中断源中,可通过软件设置各中断源中断级别的高或低,但在同一级别中,按硬 件排队的优先级别最高的是( C )中断。 A.定时器T0 B.定时器T1 C.外部中断INT0 D.外部中断INT1 E.串行口 6.定时器T0的溢出标志为TF0,采用查询方式,若查询到有溢出时,该标志(A) A.由软件清零B.由硬件自动清零C.随机状态D.AB都可以 7.串行口的工作方式由( C )寄存器决定。 A.SBUF B.PCON C.SCON D.RI 8.单片机C51中用关键字(C)来改变寄存器组 A.interrupt B.unsigned C.using D.reentrant 9.可以将P1口的低4位全部置高电平的表达式是( B ) A.P1&=0x0f B.P1|=0x0f C.P1^=0x0f D.P1=~P1 10.访问绝对地址时,一般需包含的库文件是( B ) A、reg51.h B、absacc.h C、intrins.h D、startup.h 二、填空题(每空1分,共20分) 1.微处理器本身不是计算机,它是微型计算机的核心部件,又称它为CPU ,它包 括两个主要部分运算器、控制器。 2.AT89C51有 4 个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须 先写入 1 。 3.若不使用AT89C51片内的程序存储器,引脚EA非必须接地。 4.AT89C51系列单片机有: 外中断0 , 定时器0 ,外中断 1 , 定时器1 , 串行口等5个中断请求源。 5.用定时器T1方式2计数,要求每计满100次,向CPU发出中断请求,TH1、TL1的初始 值分别是9CH 、9CH 。 6.AT89C51单片机的外部中断请求信号的触发方式有:电平触发方式和边沿触 发方式。 7.存储器扩展包括程序存储器扩展和数据存储器扩展。 8.单片机程序的入口地址是0000H ,外部中断1的入口地址是0013H 。 9.KeiL C51软件中,编译连接后生成可执行的文件扩展名是hex 。 三、简答题(每小题6分,共30分) 1.什么是机器周期?一个机器周期的时序是如何来划分的?如果采用12MHz晶振,一个机 器周期为多长时间? 答:完成一个基本操作所需要的时间称为一个机器周期(1分),每个机器周期包含六个时钟周期(用S表示),每个时钟周期由节拍信号P1和节拍信号P2组成的,每个节拍持续一个振荡周期(2分)。因此一个机器周期包含S1P1~S6P2共6个状态的12个振荡

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

C语言实验报告答案

二、编程题(参考答案) 1、 #include “stdio.h” void main() { int Math=82,eng=78,comp=91,average; average=(Math+eng+comp)/3; printf(“Math=%d,eng=%d,comp=%d,average=%d\n”,Math,eng,comp,average); } 2、 #include “stdio.h” void main() { int n=152,d1,d2,d3; d1=n%10; d2=(n/10)%10; d3=n/100; printf(“整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n”,n,d1,d2,d3); } 3、 #include “stdio.h” void main() { int n1,n2; printf(“Enter n1,n2:”); scanf(“%d,%d”,&n1,&n2); printf(“%d+%d=%d\n”,n1,n2,n1+n2); printf(“%d/%d=%d\n”,n1,n2,n1/n2); printf(“%d%%%d=%d\n”,n1,n2,n1%n2); } 三、改错题 原错误行(共三行): /********************************** found ********************************/ #include “stdoi,h” /********************************** found ********************************/ printf(“%d=%d*%d\n”,x); /********************************** found ********************************/ printf(“%d*%d=%d\n”,y); 改正后: #include “stdio.h” printf(“%d=%d*%d\n”,y,x,x); printf(“%d*%d=%d\n”,x,x,y);

相关主题
文本预览
相关文档 最新文档