用C语言编写窗口界面程序,应该学习什么? 100

如题,小弟刚刚考过了C语言二级,以这样的基础,想进一步学习编写窗口界面程序,下面该看什么书呢?额,我也体会到仅仅过了二级还是没法编出哪怕最简单的实用程序,说出来只是希望各... 如题,小弟刚刚考过了C语言二级,以这样的基础,想进一步学习编写窗口界面程序,下面该看什么书呢?
额,我也体会到仅仅过了二级还是没法编出哪怕最简单的实用程序,说出来只是希望各位高手能根据我目前的基础,推荐适合我水平的学习材料。哪位能推荐本适合刚过了二级这样水平人看的参考书呀,感激不尽!
另:我不是计算机专业,纯属个人兴趣
展开
 我来答
等待晴天818
推荐于2017-10-03 · TA获得超过3.8万个赞
知道大有可为答主
回答量:8793
采纳率:82%
帮助的人:832万
展开全部
  学习c++程序基础知识学习经典入门。
  C++程序是一门广泛用于工业软件研发的大型语言。具有很高的复杂性和解决问题的能力。C++不仅在开发上极具价值,同时在学术界也就有很高的价值。有关C++的文章应该可以用浩如烟海来形容了吧。
  C++的世界级经典书籍也是数不胜数。然而,目前开发语言是如此地繁荣,就连微软也在推出了新的开发语言C#。一个不可否认的现实是,在低阶程序设计领域,C++挤压着C同时也在承受着C的强烈反弹,前段时间看了据说是微软操作系统源代码的东东,其中很多还是C语言。而在高阶程序设计领域,Java和C#正在不断蚕食着C++的地盘。
  也许Java和C#的狂潮终将迫使C++回归本位— 回到它有着根本性优势的开发领域:低级系统程序设计、高级大规模高性能应用设计、嵌入式程序设计、通用程序设计以及数值科学计算等。果真如此,我认为这未尝不是一件好事。电力系统软件所要求的高性能和大规模数值计算正是C++所擅长的。就我所接触的南瑞和鲁能,很多涉及到电力系统计算的软件如PAS等,都是用C++来开发的。
  在电力系统软件开发这块阵地,C++大有用武之地。C++吸引如此之多的智力投入,以至于这个领域的优秀作品,包括重量级的软件产品、程序库以及书籍等,数不胜数。在C++之父Bjarne Stroustrup的个人主页上,有一页列出了一些(全部或大部分)使用C++编写的系统、应用程序和库。
多年的一些沉淀
2010-12-01
知道答主
回答量:33
采纳率:0%
帮助的人:15.6万
展开全部
必学MFC,这个是微软弄的C语言的窗口界面编辑的库。刚接触可能觉得复杂,推荐先去学习C#,那种面向对象程序语言比较好学,大概了解以后再来学习MFC会好一些,希望对你的问题有帮组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
484117
2010-12-01 · TA获得超过1220个赞
知道小有建树答主
回答量:1553
采纳率:100%
帮助的人:1066万
展开全部
过了二级不算什么 可以说根本就不怎么样
编写程序需要的东西很多 你的构思 你的想法 要学会写文档 测试一系列一列的东西
不是说你简单过了个二级就怎么样 我不太清楚你是什么专业的 如果是计算机专业可以看些清华大学出版社的(个人建议) 学习编程历路还长 再说你现在还没搞过项目 还不太明白这里面的东西 先从简单的小程序开始吧... 一步一个脚印...
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怨纸堂讨掩dT
2010-12-01 · 超过12用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:18.5万
展开全部
C语方下可以在文本模式下作出,也可以在图形模式下画出,用的是一些扩展库,就是说不是C标准库,下面给一个框架,不知道建不建议学,感觉过时了,看你自已的兴趣了,感兴趣下了功夫肯定能学好,因为它根本就不难,只不过用了些非标准库的所谓高级函数而已

#include <process.h>
#include <dos.h>

#include <conio.h>
#define Key_DOWN 0x5100
#define Key_UP 0x4900
#define Key_ESC 0x011b
#define Key_ALT_F 0x2100
#define Key_ALT_X 0x2d00
#define Key_ENTER 0x1c0d

void box(int startx,int starty,int high,int width);

main()
{
int i,key,x,y,l;
char *menu[] = {"File","Edit","Run","Option","Help","Setup","Zoom","Menu"};
/* 主菜单各项 */
char *red[] = { "F","E","R","O","H","S","Z","M" }; /* 加上红色热键 */
char *f[] = {"Load file", "Save file", "Print", "Modify ", "Quit A1t_x"};
/* File 项的子菜单 */
char buf[16*10*2],buf1[16*2]; /* 定义保存文本的缓冲区 */

while(1)
{
textbackground(BLUE);
clrscr();
textmode(C80);
window(1,1,80,1);/* 定义显示主菜单的窗口 */
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
gotoxy(5,1);
for(i=0,l=0;i<8;i++)
{
x=wherex(); /* 得到当前光标的坐标 */
y=wherey();
cprintf("%s",menu[i]); /* 显示各菜单项 */
l=strlen(menu[i]); /* 得到菜单项的长度 */
gotoxy(x,y);
textcolor(RED);
cprintf("%s",red[i]); /* 在主菜单项各头字符写上红字符 */
x=x+l+5;
gotoxy(x,y);
textcolor(BLACK); /* 为显示下一个菜单项移动光标 */
}
gotoxy(5,1);

key=bioskey(0);
switch (key){
case Key_ALT_X:
exit(0); /* ALT_X 则退出 */
case Key_ALT_F:
{
textbackground(BLACK);
textcolor(WHITE);
gotoxy(5,1);
cprintf("%s",menu[0]); /* 加黑 File 项 */
gettext(5,2,20,12,buf); /* 保存窗口原来的文本 */
window(5,2,20,9);/* 设置作矩形框的窗口 */
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
box(1,1,7,16); /* 调用作框函数 */
for(i=2;i<7;i++) /* 显示子菜单各项 */
{ gotoxy(2,i);
cprintf("%s",f[i-2]);
}
gettext(2,2,18,3,buf1); /*将下拉菜单的内容保存在 buf1*/
textbackground(BLACK);
textcolor(WHITE);
gotoxy(2,2);
cprintf("%s",f[0]);/*加黑下拉菜单的第一项 load file*/
gotoxy(2,2);
y=2;

while ((key=bioskey(0))!=Key_ALT_X) /* 等待选择下拉菜单项*/
{
if ((key==Key_UP)||(key==Key_DOWN))
{
puttext(2,y,18,y+1,buf1); /* 恢复原先的项 */
if (key==Key_UP)
y=y==2?6:y-1;
else
y=y==6?2:y+1;
gettext(2,y,18,y+1,buf1);/*保存要压上光条的子菜单项*/
textbackground(BLACK);
textcolor(WHITE);
gotoxy(2,y);
cprintf("%s",f[y-2]); /* 产生黑条压在所选项上 */
gotoxy(2,y);
}
else
if (key==Key_ENTER)/* 若是回车键,判断是哪一子菜单按的回
车,在此没有相应的特殊处理*/
{
switch ( y-1 ){
case 1: /* 是子菜单项第一项:Load file */
break;
case 2: /* Save file */
break;
case 3: /* print */
break;
case 4: /* modify */
break;
case 5:
exit(0);
default:
break;
}
break;
}
else
if (key==Key_ESC)
break; /* 是 Esc 键,返回主菜单 */
}
if (key==Key_ALT_X) exit(0);
break;
}
}
}
}

void box(int startx,int starty,int high,int width) /* 画矩形框函数 */
{ int i;
gotoxy(startx,starty);
putch(0xda); /* 画┌ */
for (i=startx+1;i<width;i++) putch(0xc4); /* 画— */
putch(0xbf); /* 画┐ */
for( i=starty+1;i<high;i++)
{
gotoxy(startx,i);putch(0xb3); /* 画│ */
gotoxy(width,i);putch(0xb3); /* 画│ */
}
gotoxy(startx,high);
putch(0xc0); /* 画└ */
for (i=startx+1;i<width;i++) putch(0xc4); /* 画— */
putch(0xd9); /* 画┘ */
return ;
}

这算是个例题吧 照着这样的格式 自己琢磨吧 想看书就看 《Windows程序设计》吧
里面应该有介绍窗口设计的知识吧
希望对你有用 给点分吧 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iwant2008
2010-12-03 · 超过19用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
建议先学C++,
因为基本每本C++入门的书,前一半是C的知识,后一半是C++知识,既可巩固知识,又可提高水平,之后建议看 孙鑫 的VC++视频 共20讲,这个视频有MFC的内容,特别适合学完C++的编程人员,之后你就知道怎么编,基于窗口的程序了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式