C语言如何编程系统唱出两只老虎

C语言如何编程系统唱出两只老虎,第1张

#include<stdio.h>

#include<bios.h>

#define DY_do 131

#define D_sdo 139

#define DY_re 147

#define D_sre 156

#define DY_mi 165

#define DY_fa 175

#define D_sfa 185

#define DY_so 196

#define D_sso 208

#define DY_la 220

#define D_sla 233

#define DY_xi 247

#define ZY_do 262

#define Z_sdo 277

#define ZY_re 294

#define Z_sre 311

#define ZY_mi 330

#define ZY_fa 349

#define Z_sfa 370

#define ZY_so 392

#define Z_sso 415

#define ZY_la 440

#define Z_sla 466

#define ZY_xi 494

#define GY_do 523

#define G_sdo 554

#define GY_re 587

#define G_sre 622

#define GY_mi 659

#define GY_fa 698

#define G_sfa 740

#define GY_so 784

#define G_sso 831

#define GY_la 880

#define G_sla 932

#define GY_xi 988

#define CY_do 1046

#define C_sdo 1108

#define CY_re 1174

#define C_sre 1244

#define CY_mi 1318

#define CY_fa 1396

#define C_sfa 1480

#define CY_so 1568

#define C_sso 1661

#define CY_la 1760

#define C_sla 1864

#define CY_xi 1976

#define SY_do 2092

#define S_sdo 2216

#define SY_re 2348

#define S_sre 2488

#define SY_mi 2636

#define SY_fa 2792

#define S_sfa 2960

#define SY_so 3136

#define S_sso 3322

#define SY_la 3520

#define S_sla 3728

#define SY_xi 3952

然后使用sound(ZY_mi)调用

网上找的,试了一下能响,不过不能d,可以一下多输几个来d,不过不怎么好听。

比如你可以输入:ASDAASDADFGGDFGG(1231 1231 3455 3455)

就是:两只老虎两只老虎跑的快跑的快

主要是靠tone来发声不过直接用会出问题。

/* FILENAME: piano.c

*/

#include <conio.h>

#include <stdio.h> /* use unbuffered i/o */

#include <ctype.h>

#include <dos.h>

#define g1 198

#define C 262/* define frequencies */

#define D 294

#define E 330

#define F 349

#define G 392

#define A 440

#define B 494

#define C2 524

#define Z 1

#define TIMERMODE 182/* code to put timer in right mode */

#define FREQSCALE 1190000L/* basic time frequency in hertz */

#define TIMESCALE 1230L/* number of counts in 0.1 second */

#define T_MODEPORT 67/* port controls timer mode*/

#define FREQPORT 66/* port controls tone frequency*/

#define BEEPPORT 97/* port controls speaker */

#define ON 79/* signal to turn speaker on */

tone (freq, time)

int freq, time

{

int hibyte, lowbyte, port

long i, count, divisor

divisor = FREQSCALE / freq /* scale freq to timer units */

lowbyte = divisor % 256/* break integer into */

hibyte = divisor >>8 /* two bytes */

count = TIMESCALE * time /* convert time to timer units*/

outp (T_MODEPORT, TIMERMODE) /* prepare timer for input*/

outp (FREQPORT, lowbyte) /* set low byte of timer reg */

outp (FREQPORT, hibyte)/* set high byte of timer reg */

port = inp (BEEPPORT) /* save port setting */

outp (BEEPPORT, ON) /* turn speaker on*/

for (i = 0i <counti++)

/* mark time */

outp (BEEPPORT, port) /* turn speaker off, restore */

/* original setting */

}

main ()

{

int key, freq, tempo, time

puts ("Please enter the basic tempo: 10 = 1 second.")

scanf ("%d", &tempo)

printf ("%d\n\r", tempo) /* echo input */

puts ("Thank you. Use the key row a-k to play notes. The\n\r")

puts ("shift key doubles the duration. A ! halts the show.")

while ( (key = getchar()) != '!')

{

time = isupper (key) ? 2 * tempo : tempo

key = tolower (key)

switch (key)

{

case 'a':tone ( C, time)

break

case 's':tone ( D, time)

break

case 'd':tone ( E, time)

break

case 'f':tone ( F, time)

break

case 'g':tone ( G, time)

break

case 'h':tone ( A, time)

break

case 'j':tone ( B, time)

break

case 'k':tone ( C2, time)

break

default:break

}

}

puts ("Bye bye!\n\r")

}

两只老虎c调简谱柱式和弦:

/ 1 2 3 1 / 1 2 3 1 / 3 4 5- /3 4 5- /

两只老虎,两只老虎,跑得快,跑得快 。

/ 5 6 5 4 3 1 / 5 6 5 4 3 1 / 1 5 1- / 1 5 1- /

一只没有眼睛,一只没有耳朵,真奇怪,真奇怪。

2,

1代表大拇指,2代表食指,3代表中指,4代表无名指,5和6代表小指节奏跟着网上音乐走,钢琴键盘上面就是中央c开始d。

3,

C调两只老虎钢琴谱。左手只有两个和弦,适合刚学钢琴的儿童d奏。

1、第一指;大拇指的正确指型,在钢琴里面大拇指也称为①指,都说手指要立起来,虎口要撑开,大拇指关节稍弯,指甲边上的肉触键,注意指甲要与键面有一个角度,这样才算是真正的立起来了。

2、第二指;食指的正确手型。注意两个关节的突出,指尖触键。

3、第三指;中指的正确手型。中指和食指是一样的手型哦,两个关节突出,指尖触键。

4、第四指;无名指正确手型,2、3、4、5指的手型都是一样的了。

5、第五指;小指的正确手型。小小的小指,正确手型也和234指是一样的了。

相关背景:

1926年7月国民革命军誓师北伐,为了鼓舞士气动员民众,黄埔军校政治教官、国民革命军政治部宣传科科长邝墉,根据儿歌《两只老虎》的曲调重新填了词,改名为《国民革命歌》。这首歌经当时的政治部主任邓演达、副主任郭沫若同意,作为国民革命军军歌。

在儿童心理发展的过程中,3~6岁是“恐怖敏感期”,处于这一年龄段的孩子会对“鬼怪、猛兽”产生莫名的恐惧。有时这种恐惧是非理性的,在大人们看来是无凭无据、没有必要的,但也许正是这种无中生有的和无法自圆其说的想象。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7856748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存