找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 3|回复: 0

检测点3-3

[复制链接]

462

主题

334

回帖

4056

积分

管理员

积分
4056
发表于 前天 21:06 | 显示全部楼层 |阅读模式
检测点3-3

1.以下说法正确的是 ABCDE
A.预处理工作在编译之前进行
B.预处理器是一个软件,是C实现的一部分
C.编译器是C实现的一部分
D.“# include”是预处理指令,用于源文件包含
E.预处理器执行源文件包含指令时,它会删除这条指令并插入被包含的那个文件的内容

2.在文件包含指令中使用双撇号和尖括号有什么区别?
答:如果指定的头文件是由C实现或者操作系统提供的,头文件的名字应该使用一对尖括号围起来,这就是告诉预处理器:“请你到操作系统或者C实现指定的位置去寻找这个头文件并包含它。”windows.h是由C实现提供的,在Windows上安装GCC的时候也将安装这个头文件。换句话说,这个头文件会被安装在GCC所在的文件夹里。在程序中包含这个头文件的时候可以用一对尖括号括住它的文件名,因为GCC知道从哪里找到它。
相反地,如果是你自己写的头文件,或者这个头文件不在操作系统和C实现预定义的位置,那么,它的名字应该使用一对双撇号围起来。如果引号中有文件的路径和名字,就到指定的路径寻找那个文件;如果只有文件名,通常就意味着头文件和当前正在编译的源文件位于同一个目录下。如果在这两种情况下都找不到指定的头文件,那就当它是用尖括号围起来的,到操作系统或者C实现指定的位置去寻找这个头文件并包含它。

3.经常使用Windows的用户都非常熟悉对话框,它是一个Windows窗口,用来显示警告信息或者提供不同的选项供用户选择。要想显示一个对话框,可以使用Windows提供的MessageBoxA库函数,它位于Windows自带的库文件User32.dll中。作为示例,下面这行C语言代码可显示一个对话框,对话框窗口的标题是“Welcome”,窗口内显示的文字是“hello C.”:
MessageBoxA (0, "hello C.", "Welcome", MB_OK);
现在,请你编写一个程序,在这个程序中使用这行代码来显示一个对话框。要求完整地实践编写和编译整个程序的过程。
参考答案:
# include <windows.h>


int main (void)
{
  MessageBoxA (0, "hello C.", "Welcome", MB_OK);
  return 0;
}


假定源文件是diag.c,则编译执行过程为
gcc diag.c c:\windows\system32\user32.dll
a

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2026-3-3 15:39 , Processed in 0.236427 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表