什么是C语言程序设计?

什么是C语言程序设计?,第1张

什么是C语言?C语言的简介。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

语言特点:C是中级语言/C是结构式语言/C语言功能齐全/C语言适用范围大/简洁紧凑、灵活方便/运算符丰富/数据类型丰富/C是结构式语言/语法限制不太严格,程序设计自由度大/适用范围大,可移植性好。

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

windows C 程序设计中,常用的宏有哪些?

如何定义的?

解析:

C语言中没有宏语句,对宏主要的作用就是以下两个方面,其他的高级作用较难 *** 作,如microsoft公司在MFC中实现的消息映射就是一个很好的例子:

1.多次包含头文件的问题

当你的工程文件很多的时候,就会出现这样的问题:

a.c:

#include "a.h"

#include "b.h"

...

a.h:

#include "b.h"

#include <stdio.h>

...

b.h:

#include <stdio.h>

...

很显然,你在编译a.c的时候,就会造成重复包含头文件的问题。

这个问题有什么危害呢?浪费时间倒是小问题,最大的危害就是:造成重复定义,有可能让你编译失败。

为了避免这个问题,就得用到条件编译

#ifdef

...

#endif

或者

#ifndef

...

#endif

我个人喜欢的作法是这样的:

a.h:

#ifndef _A_H_

#define _A_H_

#include <stdio.h>

#include "b.h"

...

#endif

至于这是什么意思,为什么,怎么用,嘿嘿,看书去。

2.调试问题。

大家在写程序的时候会经常出一些问题,而单步调试速度太慢。

一般常用的作法是在程序的中间加一些printf函数,把某些变量的值打印出来,看看程序在这里是不是正常。

但是当需要生成最终程序的时候,又需要删掉这些printf如果以后再修改,又要加上……太烦了!!

于是条件编译就成为好帮手了。

比如:

a.c:

#include <stdio.h>

int main()

{

int a=1

int b=2

#ifdef _DEBUG_

printf("a=%d,b=%d\n",a,b)

#endif

return 0

}

我用的是GCC,这样编译:

gcc -D _DEBUG_ a.c -o a.exe

运行a.exe,就会得到a=1,b=2这样的结果。

我再编译

gcc a.c -o a.exe

再运行a.exe,嘿嘿,什么都不输出了。

概括的说就是C是控制台应用程序,就是运行时出现一个就像dos黑色窗口,而widows程序设计是窗口应用程序,就像WORD,记事本等这样的有窗口框架的程序设计。还有就是他们的编程思想不同,C语言是面向过程的,可以理解为顺序的执行;而Widows是面向过程的,事件触发,模块化的编程思想,如果学过VB的话就很容易理解。另外C的程序入口函数是main,windows程序的入口函数是Winmain,windows定义了很多句柄和宏定义,刚开始理解起来有些困难,比如int

WINAPI

WinMain

(HINSTANCE

hThisInstance,

HINSTANCE

hPrevInstance,

LPSTR

lpszArgument,

int

nFunsterStil)

《WINDOWS程序设计》:初级或中级程序员看的

《WINDOWS核心编程》:高级和系统程序员看的

所谓初中级程序员,就是编些普通应用程序。比如扫雷。

所谓高级程序员,就是编写硬件驱动之类的,大型应用程序,比如解霸

系统程序员,编写底层驱动,系统平台,超大型应用程序,word,瑞星之类

它们和C语言的主要区别是,C++不是专门为Windows程序所发明的语言,其它平台,如Mac和Linux都可以用C++,只不过Visual

C++在它们上没办法运行就是了。另外一点,C++不是Java,不带自己的图形界面设计包。所以面向用户的界面要由其它程序来完成,这才是VC的主要目的,单纯用C++是不行的。

简单地说就是利用windows的应用程序接口(API),编写windows程序。

一般用C/C++;

如果用c,就是直接用这些API。

如果用C++,就用MFC(微软基础类库,封装了windows

的API)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11001466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存