日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第一节课作业

發(fā)布時(shí)間:2025/5/22 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一节课作业 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1

C語言是在國內(nèi)外廣泛使用的一種計(jì)算機(jī)語言。其語言功能豐富、表達(dá)能力強(qiáng)、使用靈活方便、既具有高級(jí)語言的優(yōu)點(diǎn),又具有低級(jí)語言的許多特點(diǎn),適合編寫系統(tǒng)軟件。其功能強(qiáng)大,不僅用在計(jì)算機(jī)上廣泛用在電子,機(jī)械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,無一例外,哪一個(gè)不是C語言寫的?很多新型的語言如,C++,Java,C#,J#,perl...都是衍生自C語言。掌握了C語言,可以說你就掌握了很多門語言。

學(xué)習(xí)C程序這門課一年了,這是我們學(xué)的第一門專業(yè)課,在大學(xué)里C語言不但是計(jì)算機(jī)專業(yè)的必修課程而且也是非計(jì)算機(jī)專業(yè)學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)的一門必修課程。所以作為我這個(gè)計(jì)算機(jī)專業(yè)的學(xué)生來說當(dāng)然十分重要,老師在第一節(jié)課說過,C語言是計(jì)算機(jī)的基礎(chǔ),大多數(shù)軟件都需要用C語言來編寫,通過一個(gè)年的學(xué)習(xí),使我由初步掌握簡(jiǎn)單的應(yīng)試知識(shí)到完成高難度的深入編程,如我們?cè)诰帉懸粋€(gè)較大的程序時(shí)應(yīng)該把它分開成幾個(gè)小程序來看,這樣會(huì)容易得多。同時(shí),我覺得C語言應(yīng)該是操作和理論相結(jié)合的課程,在不斷地編寫中去思考,兩者是不可分割的。

在學(xué)習(xí)一年C語言的過程中我也在慢慢探索怎樣才能學(xué)好C語言,并總結(jié)了一點(diǎn)經(jīng)驗(yàn):

要了解C語言就要從語法規(guī)為基礎(chǔ)來學(xué)習(xí)起,首先要是要了解它的結(jié)構(gòu),比如變量,首先要了解變量的定義方式(格式),其意義是什么(定義變量有什么用);其次就是要我要怎么去運(yùn)用它(我要用什么型式去應(yīng)用它)。在C語言的命令行中所有的語句都是有它自己的一定格式和形式出現(xiàn)在我們面前,所以我們?cè)趯W(xué)習(xí)某種語句或命令時(shí)你首先要了解的就是它的規(guī)則是什么、有什么用、怎么實(shí)現(xiàn)等。這些都是語法基礎(chǔ)也是C語言的基礎(chǔ)如果把它們都了解很好了,那么你編起程序來就很得心應(yīng)手了。比如說IFELSE和SWITCHCASE這兩種條件語句都是用來判斷執(zhí)行功能的,那我要什么時(shí)侯用IF什么時(shí)侯用SWITCH呢?如果你很好地了解它們的結(jié)構(gòu)和作用的話那么就知道:若它的條件分支是多個(gè)而且條件的值是整數(shù)或是一個(gè)字符值時(shí)就會(huì)選SWITCH而不會(huì)選IF。因?yàn)槿绻麠l件分支太多時(shí)要用IF語句,這樣一定會(huì)出現(xiàn)IF的嵌套,如果IF的嵌套越多時(shí)程序的開銷就會(huì)隨著增大,這樣對(duì)整個(gè)程序的運(yùn)行效率就大在降底。而SWITCH就不同,它只要比較一次就可以找出條件的結(jié)果比起嵌套IF它的效率就大大的提高了很多。不過SWITCH也有它的約束條件,就是它的條件值一定要是一個(gè)整型數(shù)或是一個(gè)字符值,所以碰到它不能解決的問題時(shí)我們也會(huì)通常使用IF語句,畢竟IF語句它使用起來也比較方便用的范圍也比較廣。所以說了解語法規(guī)則是很重要的,如果沒有一個(gè)良好的語法基礎(chǔ)是很難編出一個(gè)好的程序!學(xué)習(xí)好基礎(chǔ)后我們就可以開始來編程了。

2

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define N 35
void print(int [][N]);//輸出函數(shù)
void movebul(int [][N]);//×××移動(dòng)函數(shù)
void movepla(int [][N]);//敵機(jī)移動(dòng)函數(shù)
void setting(void);//設(shè)置函數(shù)
void menu(void);//菜單函數(shù)
int scr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;//全局變量:界面、我機(jī)初始位、界面寬度、敵機(jī)速度、敵機(jī)密度、得分、死亡
main(void)
{
??? menu();
????
?int i=0,j=0;???????????? //?????????? 制定大體的規(guī)則?
??? scr[21][pl]=1;
??? scr[0][5]=3;
??? while(1)
??? {
?? if(kbhit())
?? switch(getch())//?????????????????? 控制左右移動(dòng)和進(jìn)入菜單
????? {
?????? case 'a':case 'A':
???????? if(pl>0)
???????? scr[21][pl]=0,scr[21][--pl]=1;
????? break;
????????? case 'd':case 'D':
???????? if(pl<width-2)
???????? scr[21][pl]=0,scr[21][++pl]=1;??? //?? 通過if switch語句 區(qū)判斷從鍵盤上輸入什么 然后進(jìn)行相應(yīng)的處理?
?????????????? break;
????????? case 'w':case 'W':
???????? scr[20][pl]=2;
???????? break;
??? case 27 :
??????? setting();
????????????? break;
????? }
??????
?? if(++j%density==0)//控制生產(chǎn)敵機(jī)的速度
????? {
????? j=0;srand(time(NULL));
???????? scr[0][rand()%width]=3;
????? }
????? if(++i%speed==0)//控制敵機(jī)移動(dòng)速度,相對(duì)于×××移動(dòng)速度
???????? movepla(scr);
????? movebul(scr);
??????
????? print(scr);
????? if(i==30000)
????? i=0;//以免i 越界
??????
?? }
??
}
void print(int a[][N])??????????????? //制定整體的框架?
{
?? system("cls");
?? int i,j;
?? for(i=0;i<22;i++)
?? {
???? a[i][width-1]=4;
???? for(j=0;j<width;j++)????? //? 1111通過循環(huán) 和判斷語句規(guī)劃整體的框架?
? {
??? if(a[i][j]==0)
?????? printf(" ");
?????? if(a[i][j]==1)
????????? printf("\5");//輸出我機(jī)的符號(hào)
?????? if(a[i][j]==2)
?????? printf(".");//×××
?????? if(a[i][j]==3)
?????? printf("\3"); //輸出敵機(jī)符號(hào)
?????? if(a[i][j]==4)
?????? printf("|");
?????? if(i==0&&j==width-1)
?????? printf("得分:%d",score);//右上角顯示得分
?????? if(i==1&&j==width-1)
?????? printf("死亡:%d",death);
?????? if(i==2&&j==width-1)
?????? printf("設(shè)置:Esc");
?????? if(i==3&&j==width-1)
?????? printf("Copyright:王攀");
???? }
???? printf("\n");
? }
}
void movebul(int a[][N])
{
??? int i,j;
??? for(i=0;i<22;i++)
??????? for(j=0;j<width;j++)
??????? {
????????? if(i==0&&a[i][j]==2)
?????? a[i][j]=0;
?????? if(a[i][j]==2)
????????? {
???????????? if(a[i-1][j]==3)
?????? score+=10,printf("\7");
???????????? a[i][j]=0,a[i-1][j]=2;
????????? }
??????? }
}
void movepla(int a[][N])???????????????????? //界定范圍?
{
??? int i,j;
??? for(i=21;i>=0;i--)//從最后一行往上是為了避免把敵機(jī)直接沖出數(shù)組。
??????? for(j=0;j<width;j++)
??????? {
?????????? if(i==21&&a[i][j]==3)
??????? a[i][j]=0;//底行賦值0 以免越界。
?????????? if(a[i][j]==3)
??????? a[i][j]=0,a[i+1][j]=3;
??????? }
??? if(a[20][pl]==3&&a[21][pl]==1)
?? death++;
}?
void setting(void)//????????????????????????????????????????? 定義界面?
{
???? int sw=0,i,j;
???? system("cls");
???? do{sw=0;printf("\n 游戲界面的大小:1.大2.小>> ");//?? 111 通過?? do while語句和switch語句去執(zhí)行開始界面?
???? switch(getche())
???? {
???????? case '1':
????? width=34;
???break;
???????? case '2':
????? width=24;
???break;
???????? default:
?????? printf("\n 錯(cuò)誤,請(qǐng)重新選擇...\n");
???????? sw=1;
???? }
?? }
??? while(sw);
??? do
??? {
????? sw=0;
????? printf("\n 請(qǐng)選擇敵機(jī)密度:1.大2.中3.小>> ");
????? switch(getche())
????? {
????????? case '0':
?????? density=10;
???????????? break;
????????? case '1':
?????? density=20;
???????????? break;
?? case '2':
?????? density=30;
???????????? break;
?? case '3':
?????? density=40;
??? break;
???????? default:
?????? printf("\n 錯(cuò)誤,請(qǐng)重新選擇...\n");
???????? sw=1;
???? }
? }while(sw);
? do
? {
???? sw=0;
???? printf("\n 敵機(jī)的飛行速度:1.快2.中3.慢>> ");
???? switch(getche())
???? {
?????? case '1':
??? speed=2;
????????? break;
?????? case '2':
????? speed=3;
???????? break;
?????? case '3':
????? speed=4;
???????? break;
?????? default:
????? printf("\n 錯(cuò)誤,請(qǐng)重新選擇...\n");
?????? sw=1;
??? }
? }while(sw);
? for(i=0;i<22;i++)
???? for(j=0;j<45;j++)
?????? scr[i][j]=0;
?? scr[21][pl=9]=1;
?? printf("\n 按任意鍵保存...");
?? getch();
}
void menu(void)
{
?? printf("說明:按A D 控制我機(jī)左右飛行,W 發(fā)射×××\n 設(shè)置:請(qǐng)按Esc\n 開始游戲:任意鍵\n?????????????????????????????? by yan_xu");
?? if(getch()==27)
?? setting();
}

轉(zhuǎn)載于:https://blog.51cto.com/11521004/1774452

總結(jié)

以上是生活随笔為你收集整理的第一节课作业的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。