C語言中getch()函數詳解(附實例)
C語言中getch()函數是一個不回顯函數,以下是本站小編搜索整理的關於C語言中getch()函數詳解(附實例),供參考學習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!
前言:
這個函數是一個不回顯函數,當用户按下某個字符時,函數自動讀取,無需按回車,有的C語言命令行程序會用到此函數做遊戲,但是這個函數並非標準函數,要注意移植性!
所以有這樣的一個接口,那就很牛逼了,至少可以做個遊戲來玩下,結合ASCII碼,很容易寫個方向鍵控制的2048或者貪吃蛇等等有趣的`遊戲出來。
以下是以一個簡單的例子:
你會發現當你按下對應的按鍵的時候就會打印相應的語句。
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <conio.h>
#define ESC 0x1B
#define ENTER 0x0D
#define SPACE 0x20
#define KEY_UP 72 //上
#define KEY_DOWN 80 //下
#define KEY_LEFT 75 //左
#define KEY_RIGHT 77 //右
int KEY_EXIT_STATU = 0 ;
int KEY_ENTER_STATU = 0 ;
int KEY_SPACE_STATU = 0 ;
int KEY_UP_STATU = 0 ;
int KEY_DOWN_STATU = 0 ;
int KEY_LEFT_STATU = 0 ;
int KEY_RIGHT_STATU = 0 ;
char ch ;
int get_value() ;
int main(void)
{
int i = 0;
while(1)
{
get_value();
}
return 0 ;
}
int get_value()
{
ch = getch() ;
system("cls");
switch(ch)
{
case ESC : KEY_EXIT_STATU = 1 ;
printf("退出n") ; break ;
case ENTER :KEY_ENTER_STATU = 1 ;
printf("回車n") ; break ;
case SPACE :
KEY_SPACE_STATU = 1 ;
printf("空格n") ; break ;
case KEY_UP:case 'w' :
KEY_UP_STATU = 1 ;
printf("上n") ; break ;
case KEY_DOWN:case 's' :
KEY_DOWN_STATU = 1 ;
printf("下n") ; break ;
case KEY_LEFT:case 'a' :
KEY_LEFT_STATU = 1 ;
printf("左n") ; break ;
case KEY_RIGHT:case 'd':
KEY_RIGHT_STATU = 1 ;
printf("右n") ; break ;
}
}
-
2017年3月計算機二級C語言考試摸底測試題
以下是yjbys考試網小編整理的2017年3月計算機二級C語言考試摸底測試題,希望對大家有所幫助,祝大家計算機二級考試順利通過。一、選擇題(每小題1分。)(1)程序流程圖中帶有箭頭的線段表示的是()。A.圖元關係B.數據流C.控制流D.調用關係(2)結構化程序設計的基本原則...
-
C語言if else語句彙總
對於很多情況,順序結構的代碼是遠遠不夠的,大家都接觸過C語言吧,下面是小編為大家整理的C語言ifelse語句,希望對大家有所幫助。C語言ifelse語句在C語言中,使用if和else關鍵字對條件進行判斷。請先看下面的代碼:#includeintmain(){intage;printf("請輸入你的年齡:");sc...
-
C語言精選面試題詳解
C語言是IT編程中最基礎的語言,在面試中,基本可以忽略又或者格外重要。下面是小編為大家整理的C語言精選面試題詳解,歡迎參考~分析這些面試題,本身包含很強的趣味性;而作為一名研發人員,通過對這些面試題的深入剖析則可進一步增強自身的內功。試題1:以下是引用片段:voi...
-
2017年計算機二級考試C語言備考題及答案
計算機二級對於很多考生來説還是比較有難度的,那麼怎樣順利通過二級考試呢?這就需要大家平時多練習和找方法了。以下是本站小編整理的2017年計算機二級考試C語言備考題及答案,希望對大家有幫助!1.(A)是構成C語言程序的基本單位。A、函數B、過程C、子程序D、子例...