當前位置:首頁 » 編程語言 » 好聽的c語言論文歌曲
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

好聽的c語言論文歌曲

發布時間: 2023-08-14 14:04:15

1. 急!編寫一段c語言程序,是關於歌曲排行系統的

編譯能通過---------- 編譯時把注釋去掉

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct song{ //定義一個歌曲結構
int id; //歌曲號
char title[20]; //歌曲名
char singer[20]; //歌手名
};

typedef struct song SONG; //把結構命名為 SONG

int main( void )
{
SONG songlist[100]; //定義一個存儲歌曲信息的列表,長100
int i=0,j;
int c;

clrscr();

while (i<=100) {
printf( "please enter the song's id, title and singer:\n" );

//輸入歌曲號 然後空格 輸入歌曲名 然後空格 輸入歌手名 然後回車

scanf( "%d%s%s", &songlist[i].id, songlist[i].title, songlist[i].singer);
i++;

//每次輸入完一條信息後,把列表中的歌曲信息全部列印出來看一下
printf("the songlist is below:\n\n");
for( j=0; j<=i; j++){
printf( "%d %s %s\n", songlist[j].id, songlist[j].title, songlist[j].singer );
}

printf("\n");

}

getch();
return 0;
}

2. 如何在c語言程序中添加背景音樂

用PlaySound 函數可以播放 .wav 格式音樂。x0dx0a例如 下面 播放 紫竹調.wav 格式音樂,它存放在 D:\\zzz\\zzd.wav x0dx0a其它音樂格式能不能播放,要試驗一下才知道,也許不行,也許可以。x0dx0a#include x0dx0a#include x0dx0a#include x0dx0a#pragma comment(lib, "winmm.lib")x0dx0ax0dx0avoid main(){x0dx0aPlaySound (TEXT("D:\\zzz\\zzd.wav"), NULL, SND_ASYNC | SND_NODEFAULT);x0dx0a x0dx0awhile (1) x0dx0a{x0dx0a printf("program is running... here\n"); //這里跑你的程序,按 Ctrl-C 組合鍵,結束程序。x0dx0a Sleep(1000); //休息1秒x0dx0a}x0dx0ax0dx0aexit(0);x0dx0a}

3. 如何用C語言編寫音樂歌曲

貌似很抽象,,有相關的硬體配置不

4. 求: 用51單片機c語言操作使蜂鳴器奏出「祝你生日快樂」音樂的全部程序!

#include <reg51.h>
sbit speaker=P1^2;
unsigned char timer0h,timer0l,time;
//生日歌
code unsigned char sszymmh[]={5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4,
5,1,1, 5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4,
5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,2, 6,1,2,
4,2,1, 4,2,1, 3,2,2, 1,2,2, 2,2,2, 1,2,4};
// 音階頻率表 高八位
code unsigned char FREQH[]={
0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
} ;
// 音階頻率表 低八位
code unsigned char FREQL[]={
0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i
0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,
0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
};
void delay(unsigned char t)
{
unsigned char t1;
unsigned long t2;
for(t1=0;t1<t;t1++)
{
for(t2=0;t2<8000;t2++)
{
;
}
}
TR0=0;
}
void t0int() interrupt 1
{
TR0=0;
speaker=!speaker;
TH0=timer0h;
TL0=timer0l;
TR0=1;
}
void song()
{
TH0=timer0h;
TL0=timer0l;
TR0=1;
delay(time);
}

void main(void)
{
unsigned char k,i;
TMOD=1; //置CT0定時工作方式1
EA=1;
ET0=1;//IE=0x82 //CPU開中斷,CT0開中斷
while(1)
{
i=0;
while(i<75){ //音樂數組長度 ,唱完從頭再來
k=sszymmh[i]+7*sszymmh[i+1]-1;
timer0h=FREQH[k];
timer0l=FREQL[k];
time=sszymmh[i+2];
i=i+3;
song();
}
}
}

5. c語言課程設計論文

談及C語言,我想凡是學過它的朋友都有這樣一種感覺,那就是「讓我歡喜讓我憂。」歡喜的是,C語言功能非常強大、應用廣泛,一旦掌握了後,你就可以理直氣壯地對他人說「我是電腦高手!」,而且以後若是再自學其他語言就顯得輕而易舉了。憂慮的是,C語言猶如「少林武功」一般博大精深,太難學了。其實就筆者認為C語言並非是「difficult(困難)」的,只要你能理清思路,掌握它的精髓,那麼自學C語言是一件非常容易且又其樂無窮的事。今天本人就與大家一起談談如何學習C語言或者說學習C語言應從哪幾方面著手。

了解一些基本知識

一.C語言的背景

就個人感觸,無論學習哪門語言首先應該了解一下自己所學語言的背景,也可以說它的發展史。

C語言屬於高級程序語言的一種,它的前身是「ALGOL」。其創始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語言問世時是帶有很大的局限性,因為它只能用於UNIX系統上。然而隨著科學技術的進步,計算機工業的發展,C語言逐漸脫離UNIX。1987年美國標准化協會制定了C語言的國際標准,簡稱「ANSI C」,從此以後它便成為一種廣泛使用的程序語言。C語言的優點很多,主要的有如下四點:

1.兼備高級語言與低級語言的優點,屬於一種中間語言。

2.它是一種結構化程序設計語言,非常適合結構化程序設計。

3.有較豐富的數據類型、運算符以及函數供以選用。

4.直接與內存打交道,使修改、編輯其他程序與文檔變得輕松,簡單。

二.二大語系二種不同的學習方法

其實高級程序語言分為兩大語系。例如:C,C++(C語言的擴展),QBASIC,VB(BASIC的可視化),JAVAs cript,Js cript ,VBs cript,JAVA,ASP,FOXPRO,PERL等等。一路是以C為主的程序語言,例如:JAVAs cript,JAVA等,這類語言在函數的調用,程序語句的書寫,循環的控制都極為相似。另一路是以BASIC為首的程序語言,例如:FOXPRO,VBs cript等,此類語言同樣具有相似的函數調用,程序語句書寫以及循環控制,但與C語系是不同的。因此若是您以前是從QBASIC起家的,那麼在學習C語言前最好是先洗洗腦,千萬不要把學習BASIC的方法以及思路用在C身上。

講到這里,我想大家對C語言一定有了感性認識吧!下面讓我們再升華一下,全方位親密接觸它。學習C語言必須從以下四點入手,也就是說,只要你能掌握這四點的內容,那麼基本上就大功告成了。
親密接觸C語言

一.輸入輸出

C語言的輸入輸出是非常嚴格的,或許在其他程序語言中我們可以不關心這個問題,但在C語言中,我們必須要徹底了解它。由於篇幅有限,因此筆者不能詳談,有興趣的朋友可以參考由著名程序語言教授譚浩強先生主編,由清華大學出版社出版的《C程序設計第二版》。不過這里筆者還是有幾點要簡單的談一下。

1.二維浮點數數組的輸入

二維浮點數數組的輸入(即:通過鍵盤給二維浮點數數組賦值)在很多專業書中都沒有詳細講過這個問題。在給二維浮點數數組賦值時一定要先聲明一個變數,接著把數值賦予這個變數,最後把變數數值賦予二維浮點數數組賦值。
2.注意輸出格式中「%」後的字元

C語言的輸出說復雜不復雜,因為常用的都很簡單。可說不復雜也未必,記得曾在一次等級考前輔導我們C語言的教授講道:「如果C語言要考得很難的話,根本不用考什麼指針,只要專考輸出格式,我想百分之九十九的學生都不及格。」當時我們無不認同。從這則事例中可以看出C語言的輸出格式之復雜程度。因此大家在學習它時千萬要學會辨別輸出格式中「%」後的字元,每個字元都有其意義,也都有其作用。
二.優先順序

說道優先順序,有很多朋友都不是很了解或說很模糊。為此筆者想先通過一個例子讓各位有個概念。什麼叫優先順序?比方說,我們在公交車終點站排座隊時總會遇到70歲以上的老人不需要排隊就能上車的情景,這就是優先順序的涵義。C程序在運行時也象排隊坐車一樣,首先照顧那些優先順序高的運算符,若是優先順序相同,那麼就象遇到兩位(或兩位以上)70歲以上的老人那樣,讓他們依次上車。但是C語言中的優先順序的運算並不是千篇一律的,只能說是在大多數情況下,有些運算符的優先順序有其自己的特點,因此這點大家要注意。例如條件表達式:條件?結果1:結果2,這種表達式很多朋友都知道,它的作用與IF…ELSE…條件判斷語句很雷同,它運算時的優先順序就不是按照C語言的規則來完成的。所以說對於優先順序各位編程愛好者一定靈活掌握,不要死記硬背。

三.指針

就個人認為,C語言中的指針是最有特色的,當然也是最難學的。指針說穿了,其實是變數的一種表現形式,只不過這種變數記載的不是數值而是地址。就象一個人可以用姓名來表示自己,也可以用身份證號碼來表示自己一樣。筆者涉足編程已經有三年多了,在這期間曾經收到過很多網友的電子郵件詢問學習指針的方法。就本人感觸,學習指針最好是先學些計算機硬體工作的原理,例如:直接定址,間接定址等,只有了解了這些內容以後,你再學指針就比較容易理會,畢竟C語言是一門介於機器語言與高級語言中間的語言,沒有一些硬體工作知識是很難領悟它的真諦的。然而事事並非絕對,如果你沒有這些知識也不要緊,只要清楚知道以下筆者總結的二點再加上多練習便可:

1.指針是地址變數:它的值有兩種:其一是地址,其二是內容。不同的表達方式可以取不同的值,這有點象一個家庭地址在不同的場合標識的人物也不同。例如:父母親在他們的單位所登記的家庭地址就代表他們自己,而你在學校中登記的同樣的家庭地址就代表你自己。

2.指針是可以運算的,它的運演算法則與變數是一致的。

另外,在編寫一個程序時,除非萬不得已,一般不要使用指針變數。因為指針是比較復雜的,用不好就「當機」。所以筆者建議各位對於指針只要能看懂就行,當然如果你是准備參加考試的就另當別論了。

四.函數

雖說很多程序語言都有函數這一內容,但筆者覺得C語言的函數是最有魅力的。如果你能完全掌握C語言的函數,那麼學習C++就不成問題了(C++是一門建立在C語言上,但又不同於C語言的高級程序語言,它增添了很多函數。)。學習函數的方法是比較簡單的,只有兩個字「牢記」,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。有些朋友認為,程序語言中的函數沒有多大用處,其實這並不正確,函數從本質上講是一段通用程序,用它可以幫助我們節約很多編程的時間,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數來代替的。筆者曾經作過一個比較字元串的實驗,用C語言中的strcmp()函數只要一句話,而自己編寫的話30句話都擺不平,可想而知函數是多麼實用呀!

6. 你能用C語言寫出一首歌嗎

/*本文提供一個C語言音樂的音階?音名及頻率速查程序?運行時,
鍵入音階序號(0~6),屏幕即顯示該音階之下的音名及頻率對照表
,然後,第一遍演奏七個基本音符C?D?E?F?G?A?B,第二遍演奏
包含升降音在內的十二個音符C?C+?D?D+?E?F?F+?G?G+?
A?A+?B,每演奏一個音符均有圖標同步指示?本程序既可作為C語
言音樂編程的輔助工具,也對一般發聲採集頻率數據具有參考作用?
程序在Turbo C2.0下通過*/

#include <conio.h>
#include <dos.h>

int main()
{
int i, k;
long j;
static char m[] = "C C+ D D+ E F F+ G G+ A A+ B";
static unsigned n[][12] =
{
{65, 69, 73, 78, 82, 87, 92, 98, 103, 110, 116, 123},
{131, 139, 147, 156, 165, 175, 185, 196, 208, 220, 233, 247},
{262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494},
{523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988},
{1046, 1109, 1175, 1244, 1318, 1397, 1480, 1568, 1661, 1760, 1865, 1976},
{2039, 2160, 2288, 2422, 2565, 2716, 2877, 3047, 3226, 3417, 3618, 3832},
{4058, 4297, 4551, 4819, 5104, 5405, 5724, 6061, 6419, 6798, 7166, 7625}
};
redo1: clrscr();
gotoxy(22, 13);
printf("請鍵入音階序號(0~ 6,-1退出):");
scanf("%d", &k);
if (k < - 1 || k > 6)
goto redo1;
while (k != - 1)
{
clrscr();
gotoxy(26, 10);
printf("C語言音名及頻率對照表(音階%d)", k);
gotoxy(8, 12);
printf("音名 %s", m);
gotoxy(8, 13);
printf("頻率");
for (i = 0; i <= 11; i++)
{
gotoxy(14+5 * i, 13);
printf("%d", n[k][i]);
}
for (i = 0; i < 11; i += 2)
{
if (i == 6)
i--;
sound(n[k][i]);
gotoxy(14+5 * i, 15);
puts("↑");
for (j = 0; j < 1800000; j++)
;
}
for (i = 0; i <= 11; i++)
{
sound(n[k][i]);
gotoxy(14+5 * i, 16);
puts("↑");
for (j = 0; j < 900000; j++)
;
}
nosound();
getch();
redo2: clrscr();
gotoxy(22, 13);
printf("請鍵入音階序號0~ 6,-1~ 退出):");
scanf("%d", &k);
if (k <= 1 || k > 6)
goto redo2;
}
}

//***********************************************************************************

//***********************************************************************************

/*本文提供一個C語言音樂的音階?音名及頻率速查程序?運行時,
鍵入音階序號(0~6),屏幕即顯示該音階之下的音名及頻率對照表
,然後,第一遍演奏七個基本音符C?D?E?F?G?A?B,第二遍演奏
包含升降音在內的十二個音符C?C+?D?D+?E?F?F+?G?G+?
A?A+?B,每演奏一個音符均有圖標同步指示?本程序既可作為C語
言音樂編程的輔助工具,也對一般發聲採集頻率數據具有參考作用?
程序在Turbo C2.0下通過*/

#include <conio.h>
#include <dos.h>

int main()
{
int i, k;
long j;
static char m[] = "C C+ D D+ E F F+ G G+ A A+ B";
static unsigned n[][12] =
{
{65, 69, 73, 78, 82, 87, 92, 98, 103, 110, 116, 123},
{131, 139, 147, 156, 165, 175, 185, 196, 208, 220, 233, 247},
{262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494},
{523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988},
{1046, 1109, 1175, 1244, 1318, 1397, 1480, 1568, 1661, 1760, 1865, 1976},
{2039, 2160, 2288, 2422, 2565, 2716, 2877, 3047, 3226, 3417, 3618, 3832},
{4058, 4297, 4551, 4819, 5104, 5405, 5724, 6061, 6419, 6798, 7166, 7625}
};
redo1: clrscr();
gotoxy(22, 13);
printf("請鍵入音階序號(0~ 6,-1退出):");
scanf("%d", &k);
if (k < - 1 || k > 6)
goto redo1;
while (k != - 1)
{
clrscr();
gotoxy(26, 10);
printf("C語言音名及頻率對照表(音階%d)", k);
gotoxy(8, 12);
printf("音名 %s", m);
gotoxy(8, 13);
printf("頻率");
for (i = 0; i <= 11; i++)
{
gotoxy(14+5 * i, 13);
printf("%d", n[k][i]);
}
for (i = 0; i < 11; i += 2)
{
if (i == 6)
i--;
sound(n[k][i]);
gotoxy(14+5 * i, 15);
puts("↑");
for (j = 0; j < 1800000; j++)
;
}
for (i = 0; i <= 11; i++)
{
sound(n[k][i]);
gotoxy(14+5 * i, 16);
puts("↑");
for (j = 0; j < 900000; j++)
;
}
nosound();
getch();
redo2: clrscr();
gotoxy(22, 13);
printf("請鍵入音階序號0~ 6,-1~ 退出):");
scanf("%d", &k);
if (k <= 1 || k > 6)
goto redo2;
}
}

另外還有一個惡搞版的

===== 雙截棍(C語言版) =====
樓主hongyou(鴻猷)2002-04-01 01:01:33 在 擴充話題 / 灌水樂園 提問
軟考室的煙味彌漫 坐滿了程序員
室裡面的監考官 系分 已三年
出上午試題的老師 練CPU 耍單片機
硬體功夫最擅長 還會邏輯門三極體

他們學生我習慣 從小就耳濡目染
什麼軟體跟網路我都耍的有摸有樣
什麼語言最喜歡 C++面向對象
想要去英倫美帝 學圖靈諾伊曼

怎麼編 怎麼編 離散數學是關鍵
怎麼編 怎麼編 數值分析也較難
怎麼編 怎麼編 數據結構最重要
演算法不學莫後悔 死的難看

一段代碼寫好 一個左子樹 右子樹
一句不會遞歸有危險 不停調用
一個優秀的庫函 一用好多年 拷貝好帶身邊

怎麼編 怎麼編 我學會動態規劃
怎麼編怎麼編 分支限界的難關
怎麼編怎麼編 已被我一腳踢開
哼 快使用C語言 哼哼哈兮
快使用C語言 哼哼哈兮
編程之人切記 NP無敵
是誰在練匯編 背指令集

快使用C語言 哼哼哈兮
快使用C語言 哼哼哈兮
如果我會分治 快速解題
熟用堆棧隊列 系統分析

快使用C語言 哼
我用VB描述 哼

如果我的答案能解決您的問題,請採納為最佳答案,謝謝!