c语言编程可以做什么程

欢迎您来到大学生自学网,希望《c语言程序设计视频教程全集》对您有所帮助!C语言网 - 领先的编程在线学习平台
下一个教主就是你
在线学习 与老师实时交流
教程 编程 学习之路
开始于@ 20:00:00&总赛时2小时
已结束@ 22:00:00
已结束@ 22:00:00
已结束@ 22:00:00C语言程序设计(上)_北京理工大学_中国大学MOOC(慕课)
扫码下载官方APP
C语言程序设计(上)
&&&&&&&&大家好!欢迎你们!无论是新同学还是老朋友,都非常高兴能在这里和大家相聚!&&&&&&& 我们一如既往还说C,因为它称霸于计算机语言,超乎我们的想象。&&&&&&& 如果想深刻的理解这个时代,就要理解计算机编程!&编程完成了基于计算机的计算实现,改变着我们的思维方式!&编程的日子上演着种种惊喜,让我们实现着梦想!&&&&&&&C 语言具备了面向过程程序设计的基本要求,在诸多领域无可替代,也适合于构建程序设计基础。所以它是一门程序设计的公共基础课程,相信也是热爱程序设计的朋友们会青睐的一门课。对于计算机类专业,程序设计是专业基础课,它是后续专业课程的基础;对于非计算机类专业,程序设计将会改变我们的思维,教给我们信息时代如何思考问题,从而能更好地利用计算机科学与技术解决本专业领域的计算相关、信息处理相关的问题。&&&&&&&&为了循序渐进,我们将《C语言程序设计》这门课程分为上、下两部分完成。以数组为分割点,由《C语言程序设计(上)》和《C语言程序设计(下)》,前者8周,后者10周。采用分而治之,旨在由浅入深,坚固基础,追求完备。&&&&&&&&我们的课堂将从零基础开始,为大家介绍“什么是程序设计?如何实现程序设计?”。本课程以计算思维为导向,以应用问题为牵引,以能力培养为目标,实施 “传授知识与思维训练相结合,编程语言与程序设计相结合,自主学习与平台引导相结合”的教学模式。&&&&&&&& 温馨提示:&&&&&&&&&《C语言程序设计(上)》和《C语言程序设计(下)》是一个系统的课程,考虑学期时间限制和大家的时间安排才分为两个相对独立的部分。(上)完成的是程序设计的基础部分教学,可以独立学习。尤其对于初学程序设计的读者,可以先尝试学习,循序渐进。而《C语言程序设计(下)》则最好是在有了上的基础上进行学习,这样便于理解和有效跟进。我们安排先开放&(上),五周之后再开放(下),这样大家既可以系统学习,也可以按需选择。当然,对于有C语言基础的朋友,可以直接从(下)开始,或者通篇选择学习。&&&&& && (上)、(下)按两门课程管理,成绩和证书都是分别计入。&&&&&&&&&& 欢迎大家在这里学习课程,分享快乐,贡献精彩!
通过本课程的理论学习及编程练习,初步具备计算思维及基本的程序设计能力。
通过视频学习,完成测试和作业,达到课程要求后,可以获得课程主讲教师签名颁发的合格证书或优秀证书。总成绩由各分项成绩汇总后评定,见下表:考核成绩作业和测验40/100考试50/100参与讨论10/10060-84分:合格证书85-100分:优秀证书
本课程可以零基础进行学习,如果你学过《大学计算机基础》等相关课程,将有助于深入了解本课程的部分内容,如果没有任何先修课的知识,建议自学一些简单的信息在计算机中的表达和计算机硬件基本结构的相关知识。
第1周& 从问题到C语言程序设计&&&&1.1 计算机的问题求解方法&&&&1.2 C语言与C程序&&&&1.3 C语言处理系统与程序调试运行&&&&1.4 程序中的人机交互 第2周& 数据计算实现与顺序结构程序设计(一)&&&&2.1 算术运算的C程序实现&&&&2.2 关系运算的C程序实现第3周& 数据计算实现与顺序结构程序设计(二)&&&&2.3 逻辑运算的C程序实现&&&&2.4 位运算的C程序实现&&&&2.5 几种很个别的运算&&&&2.6 混合运算及数据类型转换&&&&2.7 一个顺序结构程序实例第4周& 选择结构的程序设计&&&&3.1 程序中的路径选择实现&&&&3.2 路径中的再选择--嵌套判断 &&&&3.3 复杂判断问题的C程序设计&&&&3.4 多分支问题的C程序设计&&&&3.5 GOTO的适当使用&&&&3.6 一个选择结构的程序实例第5周& 循环结构的程序设计(一) &&&&4.1 需要重复执行的程序&&&&4.2 至少要执行一次的循环&&&&4.3 已知循环次数用for语句&&&&4.4 循环控制—简单循环应用第6周& 循环结构的程序设计(二) &&&&4.5 循环的嵌套&&&&4.6 break中断&&&&4.7 循环的综合应用第7周& 数组(一)&&&&5.1 同类有序数据处理问题与解决方案&&&&5.2 一维数组的定义和引用&&&&5.3 一维字符串数组&&&&5.4 字符串处理函数第8周& 数组(二)&&&&5.5 二维数组的定义与使用&&&&5.6 二维数组的输入输出&&&&5.7 二维数组的应用?&&&&5.8 二维字符数组&&&&5.9 数组综合应用
参考教材&&&&《C语言程序设计教程》(第三版)&&&&北京理工大学出版社& 李凤霞等编&&&&《C语言程序设计教程习题与上机指导》&&&&北京理工大学出版社& 王树武等编&&&&其他的C语言的教材也可以参考2.相关链接:&&&&爱课程国家精品资源共享课?&&& &
Q:学习过程中可能出现的问题有哪些?A:注重理论学习,忽视上机编程实践;入门时以为难度大,产生畏难情绪;太注重学习语句的语法规则,忽视了对编程思路和方法的训练;急于求成,总想编写综合性的程序,忽视基本概念,忽视基本功的训练。 Q:学好C语言的关键是什么?A:上机编程是学好C语言的关键,多上机,多练习,提高动手能力。Q:整个学习过程是什么样的?A:整个学习过程分为两个阶段。初级阶段:重点掌握C语言的语法;从模仿起步;必要的记忆;养成良好的编程习惯;掌握上机编写程序的方法;熟练掌握程序调试方法。中级阶段:重点掌握编程思路和基本算法;学会分析问题;开始进行算法设计。Q:编程需要什么样的操作系统和编程工具?A:微软Windows系列,苹果 OS X系列,各种版本的Linux都可以作为练习C语言的操作系统, DEV-C++, MS Visual Studio、C-Free等都可以作为练习C语言的编程工具。课程演示将使用DEV-C++。
由高教社联手网易推出,让每一个有提升愿望的用户能够学到中国知名高校的课程,并获得认证。
| 京ICP备号-2 |
(C) icourse163.orgPosts - 90,
Articles - 0,
Comments - 512
求真、务实。
18:43 by wid, ... 阅读,
创建属于自己的窗口
==================
&创建窗口前的准备
在创建窗口前我们先来熟悉几个名词,&这些名词现在可以暂时不去透彻的进行理解,&只需要印象中知道有这么回事就行。
  "窗口"这个我们都已经十分熟悉了,&在Windows中,&一个应用程序窗口上一般会在标题栏上显示程序的名称,&紧挨着标题栏的菜单栏,&或许还会有状态栏、滚动条等其他"装饰品"。
  在一些应用程序中,&我们经常可以在程序的界面上(窗口)看到一些按钮(Push&Button)、文本框(Text&Box)、列表框(List&Box)、滚动条(Scroll&Bar)等,&这些对象通常被称为控件,&在《Windows程序设计》一书中,&还被称为"子窗口"、"控件窗口"或"子窗口控件"。
3&.&窗口类
  在建立一个窗口前,&我们必须首先注册一个"窗口类"(Windows&Class),&接触过面向对象的朋友应该会首先想到面向对象当中的"类",&但是,&这里"窗口类"中的"类"并不是指面向对象当中的那个"类"。
  在这里我们可以把"窗口类"理解为一个结构体,&结构体的成员就是窗口的一些属性,&例如窗口的标题是什么、窗口使用什么样的小图标以及窗口的风格之类的属性,&一个窗口就是一个结构体的对象,&结构体成员的属性决定着窗口的属性。
4&.&消息循环
  在Windows程序设计中,&消息循环是个不得不提的概念,&Windows操作系统是以消息驱动的,&消息队列是指在一个应用程序运行时,&Windows操作系统会为该应用程序建立一个"消息队列",&这个消息队列用来存放该程序可能创建的各种窗口的消息,&当用户对应用程序进行操作时,&例如点击一个按钮、调整下窗口的大小等,&此时Windows会立即把这一消息告诉应用程序,&使应用程序能作出相应的动作。
  笔者觉得有比较强调一下上一段中的最后一句"此时Windows会立即把这一消息告诉应用程序,&使应用程序能作出相应的动作。",&我们在创建一个应用程序时,&不用想着什么时候才能从用户那得到指令,&因为操作系统会即时告诉我们用户此时是否对程序进行了操作,&对于没有接触过Windows编程的朋友们这点可能有点难以理解,&简单来说就是像如何获取一个按钮是否被单击,&或者如何获取用户此时是否在调整窗口大小之类的代码Windows已经帮我们完成了,&我们只需要等待着Windows给我们发消息就行,&如何判断消息类型以及处理这些消息,&在代码上通常我们用while配合一个巨大的switch来完成,。
5&.&窗口的过程函数
  当一个窗口建立之后,&就可以从Windows那里不断的接收到Windows发来的消息,&接收到消息后我们就需要一个函数来处理这些消息,&可以简单的理解为,&这个用来处理接收到的消息的函数就称为窗口过程函数或者回调函数。
下面我们来尝试着看一个创建一个基本窗口的代码。
&尝试创建自己的窗口
#include &windows.h&
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ) ;
//声明用来处理消息的函数
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow )
static TCHAR szAppName[] = TEXT("MyWindow") ;
//声明一个窗口类对象
//以下为窗口类对象wndclass的属性
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
//窗口样式
wndclass.lpszClassName = szAppN
//窗口类名
wndclass.lpszMenuName = NULL ;
//窗口菜单:无
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH) ;
//窗口背景颜色
wndclass.lpfnWndProc = WndP
//窗口处理函数
wndclass.cbWndExtra = 0 ;
//窗口实例扩展:无
wndclass.cbClsExtra = 0 ;
//窗口类扩展:无
wndclass.hInstance = hI
//窗口实例句柄
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION ) ;
//窗口最小化图标:使用缺省图标
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW ) ;
//窗口采用箭头光标
if( !RegisterClass( &wndclass ) )
//注册窗口类, 如果注册失败弹出错误提示
MessageBox( NULL, TEXT("窗口注册失败!"), TEXT("错误"), MB_OK | MB_ICONERROR ) ;
return 0 ;
hwnd = CreateWindow(
//创建窗口
szAppName,
//窗口类名
TEXT("我的窗口"),
//窗口标题
WS_OVERLAPPEDWINDOW,
//窗口的风格
CW_USEDEFAULT,
//窗口初始显示位置x:使用缺省值
CW_USEDEFAULT,
//窗口初始显示位置y:使用缺省值
CW_USEDEFAULT,
//窗口的宽度:使用缺省值
CW_USEDEFAULT,
//窗口的高度:使用缺省值
//父窗口:无
//子菜单:无
hInstance,
//该窗口应用程序的实例句柄
ShowWindow( hwnd, iCmdShow ) ;
//显示窗口
UpdateWindow( hwnd ) ;
//更新窗口
while( GetMessage( &msg, NULL, 0, 0 ) )
//从消息队列中获取消息
TranslateMessage( &msg ) ;
//将虚拟键消息转换为字符消息
DispatchMessage( &msg ) ;
//分发到回调函数(过程函数)
return msg.wP
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
//设备环境句柄
PAINTSTRUCT
//绘制结构
//矩形结构
switch( message )
//处理得到的消息
case WM_CREATE:
//窗口创建完成时发来的消息
MessageBox( hwnd, TEXT("窗口已创建完成!"), TEXT("我的窗口"), MB_OK | MB_ICONINFORMATION ) ;
case WM_PAINT:
//处理窗口区域无效时发来的消息
hdc = BeginPaint( hwnd, &ps ) ;
GetClientRect( hwnd, &rect ) ;
DrawText( hdc, TEXT( "Hello, 这是我自己的窗口!" ), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER ) ;
EndPaint( hwnd, &ps ) ;
return 0 ;
case WM_LBUTTONDOWN:
//处理鼠标左键被按下的消息
MessageBox( hwnd, TEXT("鼠标左键被按下。"), TEXT("单击"), MB_OK | MB_ICONINFORMATION ) ;
case WM_DESTROY:
//处理窗口关闭时的消息
MessageBox( hwnd, TEXT("关闭程序!"), TEXT("结束"), MB_OK | MB_ICONINFORMATION ) ;
PostQuitMessage( 0 ) ;
return DefWindowProc( hwnd, message, wParam, lParam ) ;
//DefWindowProc处理我们自定义的消息处理函数没有处理到的消息
--------------------
--------------------
  先简单介绍这段代码,&在主函数WinMain中的窗口类对象wndclass我们定义了窗口的相关属性, 尝试注册窗口类并调用CreateWindow创建窗口, 创建完成后用ShowWindow让窗口显示出来, 我们还使用了个while用来从消息队列里获取并分发消息给程序,&我们还定义了一个过程函数WndProc用来处理系统发来的消息。
  编译运行后,&如果没有错误将首先看到一个窗口建立成功与否的对话框,&当创建窗口失败时弹出一个错误对话框并关闭程序。
  当窗口被创建时首先Windows会发给我们一条创建完成的消息"WM_CREATE",&在我们的消息处理函数WinProc中有switch-case语句对该消息进行了处理,&就是弹出一个窗口创建完成的对话框。
  同样,&我们还处理了当窗口的客户区(内容部分)被改变时发来的的"WM_PAINT"消息进行了处理,&让"Hello,&这是我创建的窗口!"始终显示在窗口中心。
"WM_LBUTTONDOWN"消息是当用户在客户区按下鼠标左键时发来的消息,&我们作出相应的动作为弹出一个鼠标左键被按下的对话框。
当用户点击窗口的关闭按钮时,&"WM_DESTROY"消息就会发来,&我们作出的动作是弹出"关闭程序!"的对话框并且退出程序。
今天的学习先到这里,&明天我们详细学习下整个创建窗口的代码。

我要回帖

更多关于 c语言编程软件 的文章

 

随机推荐