C语言编写的怎么都是命令控制台程序

大一,一个学期过去了,学了 C语言 , 用的是谭浩强的C语言程序设计,准备下学期学c++,怎么现在用c编写的程序怎么都是命令控制台程序,要编写图形用户界面的程序,需要看学习哪些知识,要看哪些书籍?,前提我能看懂。。

1、控制台程序是基础,有基础了写图形界面的程序就很简单了。学完C++了学windows编程、MFC什么的,到时候就是图形界面了。


2、图形界面需要些SDK的知识,windows的实现中基本上都是用的C语言,其各种接口基本上都是原生C语言函数,具体比如SDK用的windows API。
使用纯C语言编写windows程序,工作量将会相当大,下面是一个小例子:

  /*
  * This is a simple windows program, it does nothing but draw an ellipse.
  * Windows SDK, Win32 API ,Pure C, (Not C++ or MFC !!)
  * Suxpert at gmail dot com, 2008/8/24
  * */
  #include <windows.h>
  LONG WINAPI WndProc( HWND, UINT, WPARAM, LPARAM );
  int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
  LPSTR lpszCmdLine, int nCmdShow ){
  /* The Entry for windows program, just like main() in dos */
  WNDCLASS wc;
  HWND hwnd;
  MSG msg;
  wc.style = 0; // Class style
  wc.lpfnWndProc = (WNDPROC)WndProc; // Window procedure address
  wc.cbClsExtra = 0; // Class extra bytes
  wc.cbWndExtra = 0; // Window extra bytes
  wc.hInstance = hInstance; // Instance handle
  wc.hIcon = LoadIcon( NULL, IDI_WINLOGO ); // Icon handle
  wc.hCursor = LoadCursor( NULL, IDC_ARROW ); // Cursor handle
  wc.hbrBackground = (HBRUSH)( COLOR_WINDOW + 1 ); // Background color
  wc.lpszMenuName = NULL; // Menu name
  wc.lpszClassName = "WinSDKtest"; // WNDCLASS name
  RegisterClass( &wc );
  hwnd = CreateWindow (
  "WinSDKtest", // WNDCLASS name
  "SDK Application", // Window title
  WS_OVERLAPPEDWINDOW, // Window style
  CW_USEDEFAULT, // Horizontal position
  CW_USEDEFAULT, // Vertical position
  CW_USEDEFAULT, // Initial width
  CW_USEDEFAULT, // Initial height
  HWND_DESKTOP, // Handle of parent window
  NULL, // Menu handle
  hInstance, // Application's instance handle
  NULL // Window-creation data
  );
  ShowWindow( hwnd, nCmdShow );
  UpdateWindow( hwnd );
  while ( GetMessage( &msg, NULL, 0, 0 ) ) {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
  }
  return msg.wParam;
  }
  LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam,
  LPARAM lParam )
  {
  /* Windows will call this function anytime... */
  PAINTSTRUCT ps;
  HDC hdc;
  switch(message){
  case WM_PAINT:
  hdc = BeginPaint( hwnd, &ps );
  Ellipse( hdc, 0, 0, 800, 600 );
  // Here we Draw an ellipse in the window of our program
  EndPaint( hwnd, &ps );
  break; // Someone like to write return here.
  case WM_DESTROY:
  PostQuitMessage(0);
  break;
  default:
  return DefWindowProc( hwnd, message, wParam, lParam );
  }
  return 0;
  }


  基本过程就是直接调用windows提供的API函数,完成从窗口创建,显示等界面功能到深层的文件操作,注册表等甚至windows内核调试等高级功能。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-16
因为C语言刚出现时的操作系统和应用程序都是控制台的。当时人们用C语言开发出大量的控制台程序并安装到系统上,就像现在我们安装界面程序到界面系统上一样。
第2个回答  2014-01-12
把C语言基本打好。然后学C++。用VC6就可以编图形用户界面了。
第3个回答  2014-01-12
控制台程序是基础,有基础了写图形界面的程序就很简单了。

你看你现在用的VC6不也只是会用其中的一小部分吗?

学完C++了学windows编程、MFC什么的,到时候就是图形界面了。

别着急,慢慢来。

现在没学数据库、计算机网络,就算编出来图形界面的程序也只是空壳,没用。本回答被提问者和网友采纳
第4个回答  2018-10-17
希望你能看到,也好好学习C语言,我也是带着这个疑问过来的,C可以说比较底层的语言了,你所看到的窗口程序都算是,高级方式编写出来的产物,路子其实是走窄了。
举个Win32界面编程的例子,都是C语言通过宏定义,编织出来的各种结构体(C++又称为类,增加了点功能),大量的封装结构组装起来C++面向对象的编程语言。其实越高级模块化的程度越高,还有比如API其实就是字典,一系列功能的封装,然后就是通过各种的调用,实现你想要的功能。
你想创建窗口是吧,你百度一下用DialogBox();用这个API写一个窗口,然后你会发现,其实它仅仅就是为了满足人的操作和观察习惯,背后就是要用你C的思想把动作和功能串联起来的过程。

C语言编写的怎么都是命令控制台程序
1、控制台程序是基础,有基础了写图形界面的程序就很简单了。学完C++了学windows编程、MFC什么的,到时候就是图形界面了。2、图形界面需要些SDK的知识,windows的实现中基本上都是用的C语言,其各种接口基本上都是原生C语言函数,具体比如SDK用的windows API。使用纯C语言编写windows程序,工作量将会相当大...

为什么C语言写的程序,默认会在cmd中执行
因为你用的编译器编译的就是一个控制台应用程序,还有更多C语言写的程序跑在更广阔的天地里,没有什么“默认”一说。

C语言中的控制台指的是什么?
在windows当中,控制台指的是cmd,中文意思是命令提示符,你按下Windows徽标键+R键,输入cmd,然后回车,cmd就出现了。一个窗口里是黑色的背景,有白色的字母。

C语言学控制台程序有什么用,或者说控制台程序有什么意义。
控制台程序是为了兼容DOS程序而设立的,这种程序的执行就好像在一个DOS窗口中执行一样,没有自己的界面。主要是帮助你学习最基本的c的语法,c的语法还是蛮重要的,是以后编程的基础

什么是C语言控制台
C语言控制台是C语言在新建工程时选的一种工程类型,称为Win32控制台应用程序。控制台应用程序就是模拟DOS环境下运行的程序。建立Win32控制台应用程序的过程如下:1、新建项目Win32到Win32控制台应用程序建立完控制台应用程序 2、在新建的源文件中输入C语言程序;3、编译完成后就可以在DOS环境中运行。

C语言控制台程序和win32程序
控制台程序主要通过命令行界面进行交互,而win32程序则基于Windows操作系统的窗口界面。C语言提供了一种通用的编程方式,适用于这两种不同环境的程序开发。在控制台程序中,C语言常用于开发简单的文本处理程序、命令行工具等。这类程序通常使用标准输入输出流(stdin和stdout)进行数据交换。例如,使用printf...

...发现写出来的C程序打开都是黑色的控制台,和其他的软件看起来根本不一...
要想写出有界面的Windows程序,需要用到Win API实现(望采纳!)如下代码就是创建一个最基本的窗口:\/\/调用api函数创建窗口 \/\/示例:include <windows.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);\/\/窗口过程函数int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine...

c语言如何调用命令行并且是以管理员身份运行的命令行
一般来说,如果你本身是一个控制台程序,那么zhuhuaizhong所说是一个合理的办法。但如果本身是一个windows窗口程序,通过抛出方式运行一个命令行,那么应该采用如下几个办法之一:1.使用cmd的runas命令:runas \/user:user_name program.exe 2.创建外部命令行函数提权,要使用以下几个函数之一(其它如winexec...

用VC++写的C语言程序 检查没有错误 也没有输入语句 运行后黑框不消失...
这是命令控制台窗口,你调用了自然要显示的。若不想显示的话,应该建一个CONSOLE APPLICATION而不是APPLICATION,然后将“{$APPTYPE CONSOLE}”删掉就可以了,有“{$APPTYPE CONSOLE}”就会出现上面的窗口,如果没有,则这个控制台dos窗口不出现了。

如何让编写的C语言程序隐藏运行
对于初学者来说,编写的都是控制台模式的C程序,也就是运行时会出现一个黑底的command窗口。如果要运行时隐藏,就需要使用windows 程序,同时不要创建任何窗体,这样就不会有任何界面了。使用VC创建隐藏运行程序方法如下:1、 在创建工程的时候,不可以选择Win32 Console Application,而是要选择Win32 ...

相似回答