前言

最近挖库存挖到了一个刚刚学习编程的时候用C语言写的生日祝福代码,其中用C语言代码用Beep函数控制蜂鸣器根据音调高低的不同演奏了一曲《天空之城》,满满都是怀念的感觉啊!

或许这没有什么技术难度,但是却是为了学习编程培养了浓厚的兴趣,记得当时我还用C语言实现了炫屏功能、琢磨出如何用C语言打印出十八种爱心和演奏了生日快乐歌等等,hahaha~还是挺好玩的。


关于用c语言演奏《天空之城》那些事

谱子:

琴谱:     ​​​​

代码谱:


谱子:

琴谱:
     ​​​

代码谱:

#include<iostream>
#include <windows.h>
#include<string>
#include<math.h>
#include<stdlib.h>
#include <cstdio>void Tiansing(){const int qdo=262;const int qre=294;const int qmi=330;    //q前缀为低音,1后缀为高音,s前缀为半音阶const int qfa=349;const int qso=392;const int qla=440;const int qsi=494;const int d=523;const int re=578;const int mi=659;const int fa=698;const int so=784;const int la=880;const int si=988;const int do1=1046;const int re1=1175;const int  mi1=1318;const int  fa1=1480;const int  so1=1568;const int  la1=1760;const int  si1=1976;const int sqdo=277;const int  sqre=311;const int  sqfa=370;const int  sqso=415;const int  sqla=466;const int  sdo=554;const int  sre=622;const int  sfa=740;const int  sso=831;const int  sla=932;const int  sdol=1046;const int  sre1=1245;const int  sfa1=1480;const int  sso1=1661;const int  sla1=1865;int pai=400,ban=200;int ting=128;Sleep(1000);Beep(la,ban);Beep(si,ban);Sleep(ting);Beep(do1,pai+ban);Beep(si,ban);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(mi1,pai);Sleep(ting);Beep(si,3*pai);Sleep(ting);Beep(mi,ban);Beep(mi,ban);Beep(la,ban+pai);Beep(so,ban);Sleep(ting);Beep(la,pai);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(so,2*pai);Sleep(ting);Sleep(pai);Beep(mi,ban);Sleep(ting/2);Beep(mi,ban);Sleep(ting/2);Beep(fa,pai+ban);Beep(mi,ban);Sleep(ting);Beep(fa,ban);Beep(do1,ban+pai);Sleep(ting);Beep(mi,2*pai);Sleep(ting);Sleep(ban);Beep(do1,ban);Sleep(ting/2);Beep(do1,ban);Sleep(ting/2);Beep(do1,ban);Sleep(ting/2);Beep(si,ban+pai);Beep(sfa,ban);Sleep(ting);Beep(sfa,pai);Beep(si,pai);Sleep(ting);Beep(si,2*pai);Sleep(ting);Sleep(pai);Beep(la,ban);Beep(si,ban);Sleep(ting);Beep(do1,pai+ban);Beep(si,ban);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(mi1,pai);Sleep(ting);Beep(si,2*pai);Sleep(ting);Sleep(pai);Beep(mi,ban);Sleep(20);Beep(mi,ban);Sleep(ting);Beep(la,pai+ban);Beep(so,ban);Sleep(ting);Beep(la,pai);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(so,3*pai);Sleep(ting+ban);Beep(mi,ban);Sleep(ting/2);Beep(fa,pai);Sleep(ting);Beep(do1,ban);Beep(si,ban);Sleep(20);Beep(si,pai);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(re1,ban);Sleep(20);Beep(re1,ban);Sleep(20);Beep(mi1,ban);Sleep(ting/2);Beep(do1,pai);Sleep(ting+pai);Beep(do1,pai);Beep(si,ban);Sleep(ting);Beep(la,ban);Sleep(20);Beep(la,ban);Sleep(ting);Beep(si,pai);Sleep(ting);Beep(sso,pai);Sleep(ting);Beep(sso,2*pai);Sleep(ting+pai);Beep(do1,ban);Beep(re1,ban);Sleep(ting);Beep(mi1,pai+ban);Beep(re1,ban);Sleep(ting);Beep(mi1,pai);Sleep(ting);Beep(fa1,pai);Sleep(ting);Beep(re1,2*pai);Sleep(pai+ting);Beep(so,ban);Sleep(20);Beep(so,ban);Sleep(ting);Beep(do1,ban);Beep(si,ban);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(mi1,pai);Sleep(ting);Beep(mi1,2*pai);Sleep(ting+2*pai);Beep(la,ban);Beep(si,ban);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(si,pai);Sleep(ting);Beep(re1,ban);Sleep(20);Beep(re1,ban);Sleep(ting);Beep(do1,pai+ban);Beep(so,ban);Sleep(20);Beep(so,pai);Sleep(pai+ting);Beep(fa1,pai);Sleep(ting);Beep(mi1,pai);Sleep(ting);Beep(re1,pai);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(mi1,4*pai);Beep(mi1,pai*2);Sleep(pai+ting);Beep(mi1,pai);Sleep(ting);Beep(la1,2*pai);Sleep(ting);Beep(so1,pai);Sleep(ting);Beep(so1,pai);Sleep(ting);Beep(mi1,ban);Sleep(ting/2);Beep(re1,ban);Sleep(ting);Beep(do1,pai);Sleep(ting+ban);Beep(do1,ban);Sleep(ting);Beep(re1,pai);Sleep(ting);Beep(do1,ban);Beep(re1,ban);Sleep(20);Beep(re1,ban);Sleep(ting);Beep(so1,pai);Sleep(ting);Beep(mi1,2*pai);Sleep(ting+pai);Beep(mi,pai);Sleep(ting);Beep(la1,2*pai);Sleep(ting);Beep(so1,2*pai);Sleep(ting);Beep(mi1,ban);Beep(re1,ban);Sleep(ting);Beep(do1,2*pai);Sleep(ting+ban);Beep(do1,ban);Sleep(ting);Beep(re1,pai);Sleep(ting);Beep(do1,ban);Beep(re1,ban);Sleep(20);Beep(re1,ban);Sleep(ting);Beep(si,pai);Sleep(ting);Beep(la,2*pai);Sleep(ting);Beep(la,ban);Beep(si,ban);Beep(do1,pai+ban);Beep(si,ban);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(mi1,pai);Sleep(ting);Beep(si,3*pai);Sleep(ting);Beep(mi,ban);Beep(mi,ban);Beep(la,ban+pai);Beep(so,ban);Sleep(ting);Beep(la,pai);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(so,2*pai);Sleep(ting);Sleep(pai);Beep(mi,ban);Sleep(ting/2);Beep(mi,ban);Sleep(ting/2);Beep(fa,pai+ban);Beep(mi,ban);Sleep(ting);Beep(fa,ban);Beep(do1,ban+pai);Sleep(ting);Beep(mi,2*pai);Sleep(ting);Sleep(ban);Beep(do1,ban);Sleep(ting/2);Beep(do1,ban);Sleep(ting/2);Beep(do1,ban);Sleep(ting/2);Beep(si,ban+pai);Beep(sfa,ban);Sleep(ting);Beep(sfa,pai);Beep(si,pai);Sleep(ting);Beep(si,2*pai);Sleep(ting);Sleep(pai);Beep(la,ban);Beep(si,ban);Sleep(ting);Beep(do1,pai+ban);Beep(si,ban);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(mi1,pai);Sleep(ting);Beep(si,2*pai);Sleep(ting);Sleep(pai);Beep(mi,ban);Sleep(20);Beep(mi,ban);Sleep(ting);Beep(la,pai+ban);Beep(so,ban);Sleep(ting);Beep(la,pai);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(so,3*pai);Sleep(ting+ban);Beep(mi,ban);Sleep(ting/2);Beep(fa,pai);Sleep(ting);Beep(do1,ban);Beep(si,ban);Sleep(20);Beep(si,pai);Sleep(ting);Beep(do1,pai);Sleep(ting);Beep(re1,ban);Sleep(20);Beep(re1,ban);Sleep(20);Beep(mi1,ban);Sleep(ting/2);Beep(do1,pai);Sleep(ting+pai);Beep(la,4*pai);Sleep(1000);}int mian(){Tiansing();return 0;
}

番外:

#include <stdio.h>
int main()
{
int n;
int b=20;
for(n=0;n<21;n++)
{
printf("\a\a");
printf("%d",b-n);
}
getchar();
return 0;
}

Question:

   书上说\a这个字符可以使电脑发出声音,试了下果然,大约是是1秒钟滴2下,然后我就编了个类似于倒计时的小程序,但发现这根本行不通,数字刷一下出来完了,声音还是一下一下响(估计这个响的声音与输出bel字符是不相符的),而且程序老崩溃。请问这是怎么回事啊?怎么才能做到,响两声后,在输出b的值呢? 

Reply:

       你是想声音和数字都慢慢的出来吗?你的程序太短小,在一瞬间就执行完了,其实声音可能响了20下,但是是在一瞬间同时发出来的,你分辨不出来而已。可以包含windows头文件,调用sleep函数延迟发声和打印,就可以出现有节奏的效果。一次发声只需要打印一个'\a'就可以了。

#include <stdio.h>#include<windows.h>    // 包含windows头文件int main(){int n;int b=20;for(n=0;n<21;n++){printf("\a");printf("%d\n", b - n);Sleep(500);    // 延迟 500 毫秒}getchar();return 0;}

关于用c语言演奏《天空之城》那些事相关推荐

  1. C语言指针的那些事:第三篇(函数指针,指针函数,函数指针数组,指向函数指针数组的指针)

    文章目录 1. 函数指针 1)函数指针的例题 2. 指针函数 3. 函数指针数组 1)函数指针数组的用途 4. 指向函数指针数组的指针 5. 一些后话 1. 函数指针 函数指针就是指向函数的指针:本质 ...

  2. 和在java和c语言中的那些事

    一.在c语言中&和&&: 1.&:取地址符号 #include<stdio.h> main() {int a; scanf("%d",& ...

  3. 拾叁-关于R语言中括号的一些事,以及因子、向量转换的一些情

    在R语言中,遇到什么事情,请别犹豫,立刻输入?somethingunknow(当然somethingunknow的意思是some thing unknow,例如你不懂函数ctree,你要输入?ctre ...

  4. Matlab演奏天空之城

    Matlab--天空之城 主函数: Fs=8192; y1 = air_city(6,0.25,-1); y2 = air_city(7,0.25,-1); y=[y1,y2]; y1 = air_c ...

  5. 【C语言】利用Beep函数实现歌曲演奏(C语言演奏)

    本程序使用了文件指针,字符串数组,Beep蜂鸣函数等完成. 不用依靠单片机,我们依然可以实现音乐的演奏,此程序设计较为简单,仅支持在四分音符以上,六拍以下的音乐使用,也可以自行更改曲谱的延长时间实现更 ...

  6. CAPL语言编译的那些事

    CAPL是类似于C语言的面向过程语言,这是众所周知的.C或C++代码在执行前需要编译成机器语言,也就是二进制语言,如此能够更快速运行.CAPL程序也是一样的,需要编译后执行 在CAPL Browser ...

  7. matlab 天空之城,matlab演奏天空之城

    %天空の城 fs = 44100; % sample rate dt = 1/fs; T16 = 0.125; t16 = 0:dt:T16; [temp k] = size(t16); t1 = l ...

  8. 精通python要多久-精通python 或者R语言大约需要多长时间?怎样算精通?

    谢邀!这个问题其实蛮难回答的,因为我还不是精通人士. 要想精通一门语言,三件事是必备的: 1.爱它并全身心投入使用: 2.使用并用过很多次: 3.使用过程中,每次用追求一个大的变化: 要想精通pyth ...

  9. C语言 小游戏之贪吃蛇

    还记得非常久曾经听群里人说做贪吃蛇什么的,那时候大一刚学了C语言,认为非常难,根本没什么思路. 前不久群里有些人又在谈论C语言贪吃蛇的事了,看着他们在做,我也打算做一个出来. 如今大三,经过了这一年半 ...

  10. 对c语言课程的心得体会,C语言课程设计心得体会

    C语言课程设计心得体会 回想这三周C语言课程设计的过程,真是痛并快乐着. 从领到书的那一刻,我就很郁闷?<C语言程序设计>到底事学什么的,到底有什么用.刚开始上课时?还在迷茫这门课程是用来 ...

最新文章

  1. c语言编程软件出现问号,【C语言】if语句和问号表达式
  2. 上海公布公交卡成本 押金拟从30元调至20元
  3. 研究生申请:就一个字
  4. Asp.Net中几种相似数据绑定标记符号的解释及用法
  5. 网众linux安装教程,网众Linux搭建Samba教程
  6. 李飞飞斯坦福博士提出SLIDE模型
  7. 展讯召开2017全球合作伙伴大会,发布两款新平台及新战略
  8. 基本功 | Java即时编译器原理解析及实践
  9. centos命令行xkill
  10. mysql 事物gljbie,提升mysql性能几大参数丶章怀柔
  11. Java中stringbutter_java 中String和StringBuffer与StringBuilder的区别及使用方法
  12. Modbus-RTU入门篇
  13. shell学习(一)简单示例help用法
  14. 闽江师范高等专科学校计算机系成立时间,闽江师范高等专科学校2018届毕业典礼...
  15. Ubuntu下用Emacs编写D语言程序
  16. [转]NLP关键词提取方法总结及实现
  17. T007V-采购订单税码对应的税率所在后台表
  18. 闸门机制(Gate Mechanism)
  19. Linux命令手动清除缓存
  20. android 8.0 屏蔽首次开机弹出的‘即将完成 Android 更新’的弹窗

热门文章

  1. 软件研发的绩效考核漫谈一
  2. 计算机音乐公子,抖音公子在等谁是什么梗 公子在等谁背景音乐《心机》
  3. java文件传输实验分析_Java实验报告(实验五)
  4. matlab 鲁棒性分析,电液速度系统的鲁棒性分析及MATLAB计算
  5. matlab 系统找不到指定路径
  6. 5G即将全面普及,我们到底该换手机卡还是换手机?
  7. pyqt显示圆形图片
  8. mysql 视图创建与查询数据库作业(10)
  9. 八进制数转换为十进制计算机在线,在线十进制转成八进制
  10. Android手机安装.pem证书文件