FAQ 第一期

aka2006 2003-03-24 09:34:16
FAQ 第一期
by aka2006(天知道)
21:19 2003-3-24 Begin

C/C++-------------------------------------------------------------------------------

Q1. 在stdio.h中有如下“int _Cdecl printf (const char *format, ...);”,
这个“_Cdecl ”到底是什么东东?
A.
按照c的入栈方式,函数传递参数的方式从右向左。相对应的,有_Stdcall,_Stdcall调用方式用来调用win32 API。是一种函数调用方式的说明符,初学不用细究。

Q2. C++的最新版本是哪一年发布的?哪有最新版本的C++规范文档或者书籍?
请网友们推荐几本C++的好书(入门的或提高的)?
A. ANSI C++ 1994.
查标准C++文档,如《The C++ Programming Language》等

Q3. 请网友们推荐几本Windows编程的好书?
A. 我已买到。

Q4. 网冠科技编著的《C++时尚编程百例》,感觉不少内容就是把C用C++查找替换就OK,不少程序包含的头文件都是<stdio.h><dos.h>,不知道大家看后有没有这个感觉?
A. 烂书就把它扔进黑名单!

Q5. C语言的最新标准是?
A. C99(ANSI 1999). Refer to <C:The Complete Reference,Fourth Edition>,
written by Herbert Schildt.

--------------------------------------------------------------------------------------
/* 关于 C:The Complete Reference,Fourth Edition 的若干问题*/
/* 我手头上正好也有一本和你一模一样的书 ,图书馆借的 */

Q1. $1.5中讲述了“编译”和“解释”的区别,可是我不是很明白它们之间的区别,尤其是最后一句话:“编译是一次性开销,而解释则每次运行时都引起额外开销” 可否给我一个详细、浅显一点的解释。
A. 编译、解释是程序执行的两种方式,注意:是“执行”,这个由 “执行器”决定。
如C语言, 它可以编译执行,编译器有VC或BC等;
也可以解释执行!如在这本书的最后一章C解释程序就是一个C语言的解释器,但C主要是为编译执行而设计的,所以总是用编译。
看下面一段程序:
void main()
{
int result,n,k;
printf("Please input the n and k value: \n");
scanf("%d %d",&n,&k); /* input n , k */
//take the output
result = fun(n,k);
// Output
if (result)
printf("What you want is the result = \n%d \n\n",result);
else
printf("error of the value k or n...\n");
}
如果解释,则读第一句int result,n,k;把它转换出机器语言,执行分配内存;读第二句printf("Please input the n and k value: \n");执行输出这串字符;
而编译则,读完第一句int result,n,k;不做任何动作,继续读第二句printf("Please input the n and k value: \n");再读直至 }
最后再统一转换出机器代码*.obj,再执行,再输出字符串。

Q2. $2.1中有这样一句话:“C语言只规定了每种数据类型的最小范围而不是字节大小”。请问这句话应该怎样理解?
A. 就是说C规定int只能在-100到+100之间(具体数据是3万多),不管你的机子是16位还是32位,超过这个范围给int赋值都会溢出;而数据在16位上是以2个自己存储的,32位机子是以4个字节存储的,高位为0,所以C只规定范围,不决定字节多少。

Q3. $2.8中讲到“常量”时说C语言可以指明“多字节字符”,用单引号将各字字符括起来,如'xy'。那么这个所谓的“多字节字符”与字符常量,如"xy"有什么区别?
A. 首先 "xy"不是字符常量,是字符串常量,是字串,不是字符;如果把双引号" "改为单引号' '即'xy'就是字符(多字节)
这个好像是C的扩充功能,很少用,一般都用字串表示多字节字符。区别就在是用单引号还是双引号。
char c1,c2;
char *c3,*c4;
c1='x';//ok
c2='xy';//ok
c3="xy";//ok
c4='xy';//error... can't convert char* to char

Q4. 另外,请大家看看下面这段代码有什么地方不对,为什么?
  int *p = 0; //error... can't allocate an integer to a pointer
*p = 10; //单看这句,没问题
A. p是整型指针,不能用整数给它赋值!!


Apache------------------------------------------------------------------------------

Q. Apache的中文显示问题??
我在Win2000下,装Apache for Win 版本,运行后原来的中文网页中中文字体变成乱码
看“查看”“编码”默认值为西文字符,请问在Apache中如何改变这个,使得直接打开
网页就是原来的样子??
A.
httpd.conf
AddDefaultCharset GB2312

同意楼上,已解决

Java------------------------------------------------------------------------------------

Q1、java的事件处理机制?
例如:public boolean action(Event e,Object o){
output.setText("You entered a char "+o.toString());
return true;
}
编译会有一个warning ,好像是说重载了。
A. 这是jdk1.0的事件处理机制,早已不推荐使用,请用最新的。
这个警告不是说你重载,而是告诉你这个函数已不推荐使用。

Q2、java函数可以先使用,后定义?这与c++不同?
A. 这很正常呀。java先把程序编译成类,再调用时才装载,那时再搜索这个函数,存在就可以调用。

Q3、applet的入口?
A. public void init()可以算是入口程序,applet一执行,先执行这个函数


其他问题--------------------------------------------------------------------------------

Q1. 练习与开发
A. 是不同的两个过程。练习要亲自去输入代码,开发要充分利用现有资源,不必事必亲恭。

Q2. 代码重用问题
A. 用类

Q3. 黑客技术
A. See G:\HACKER

Q4. 何为瘦客户机?瘦终端?
A. 即PC+OS+Browser.
把需要的运算,服务统统交给服务器来处理,客户端只要申请和结果,中间所有的处理过程都让服务器来做。

Q5. 有关GIS系统的网站?
A.
http://hero.web1000.com/
www.mapinfo.com.cn
www.go2map.com
www.mapinfo.com
------------------------------------------------------------------------------------------
END 21:37 2003-3-24
...全文
31 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aka2006 2003-07-28
  • 打赏
  • 举报
回复
拙作拙作,很久以前写的,现在我都忘的差不多了,谢谢各位赏脸。
darcymei 2003-07-25
  • 打赏
  • 举报
回复
what's this?
搂主整理的?
shornmao 2003-07-24
  • 打赏
  • 举报
回复
Q2. $2.1中有这样一句话:“C语言只规定了每种数据类型的最小范围而不是字节大小”。请问这句话应该怎样理解?
A. 就是说C规定int只能在-100到+100之间(具体数据是3万多),不管你的机子是16位还是32位,超过这个范围给int赋值都会溢出;而数据在16位上是以2个自己存储的,32位机子是以4个字节存储的,高位为0,所以C只规定范围,不决定字节多少。

跑题了。这里的最小范围是指:每个数据类型都规定了编译器实现必须保证该类型的长度至少是多少,但是并没有精确的大小被指定,这是为了编译器可以根据硬件优化。
例如,char在C/C++中并没有规定必须是8位,而是至少8位,如果某个编译器实现char是16位,那也是完全符合标准的。其他基本数据类型的规定也是类似的。而通常他们的上限并没有被指定。
你的这个回答,简直是闻所未闻。
topikachu 2003-07-23
  • 打赏
  • 举报
回复
ISO/IEC 14882-1998 Information Technology - Programming Languages- C++.
这才是现在的标准

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧