找回密码
 注册
关于网站域名变更的通知
查看: 454|回复: 3
打印 上一主题 下一主题

C语言编程常见问题解答.chm

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-11-5 11:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
C语言编程常见问题解答
/ y, `* B# }3 b8 Z/ U5 T8 ]) f$ I" p  y【作者】[美]Paul S.R. Chisholm 译:张芳妮 吕 波$ V! i* [. ~8 P% i, Y; f5 x9 a
【出版社】清华大学出版社
2 D0 R* d% a5 }+ F4 O+ y8 k7 K1 {) A2 o* @
% @" B* r7 n- ?8 i
  第l章  C语言
8 N# I  U, X! L4 U  1. 1   什么是局部程序块(local block)?  * W4 [* I4 v% G2 S7 j& q# a
  1. 2   可以把变量保存在局部程序块中吗?  
- C0 D6 ^! g# g4 u% I  1. 3   什么时候用一条switch语句比用多条if语句更好?6 u3 y& n; |& H! S8 l
  1. 4   switch语句必须包含default分支吗?
4 [4 u, R0 T( P0 I! Q  1. 5   switch语句的最后—个分支可以不要break语句吗?
$ e: l0 y& R5 \+ X$ Z- R& p  1. 6   除了在for语句中之外,在哪些情况下还要使用逗号运算?
+ }* m! s/ J' ^' H  Y) N  1. 7   怎样才能知道循环是否提前结束了?  
) O# `0 t/ K/ G9 T  g$ {0 S  1. 8   goto,longjmp()和setjmp()之间有什么区别?
6 k0 a6 k) Q# h  1. 9   什么是左值(lvaule)?  
# R2 h0 o: W$ _0 Y* N  1. 10  数组(array)可以是左值吗?  9 O6 o, J2 _" \
  1. 11  什么是右值(rvaule)?  / ~, u. N: }' P' X7 p1 T1 K
  1. 12  运算符的优先级总能保证是“自左至右”或“自右至左”的顺序吗?  
$ p, B* I$ c& d, w- t: Z  1. 13  ++var和var++有什么区别?  
1 Q7 a6 g" f+ T# c  1. 14  取模运算符(modulusoperator)“%”的作用是什么?  
. O$ `* y9 x* a- w/ G, ^! N                    
$ C8 ]! G/ c9 C; V7 `  第2章  变量和数据存储0 Q7 K4 ^7 r/ C( z8 S+ \
  2. 1  变量存储在内存(memory)中的什么地方?  
! ?" r' t$ Z2 y7 ^1 o  2. 2  变量必须初始化吗?
  [$ p+ n! j" \$ Q7 V3 E" E" n% v  2. 3  什么是页抖动(pagethrashing)?  
+ p8 }( }! V8 s  2. 4  什么是const指针?
8 ^2 U1 j! J! w9 p  a  2. 5  什么时候应该使用register修饰符?它真的有用吗?
2 X$ v1 q( ]1 F5 U4 B  2. 6  什么时候应该使用volatile修饰符?  
$ X% J6 v0 A- g  2. 7  一个变量可以同时被说明为const和volatile吗?
6 g! `2 t( h9 G& u( I  2. 8  什么时候应该使用const修饰符?
4 n" p0 W# _) b- [7 e  2. 9  浮点数比较(floating—point comparisons)的可靠性如何?& `+ }  s# ~# W9 V4 k* \, u  }
  2. 10 怎样判断一个数字型变量可以容纳的最大值?  * n) D1 M2 T8 \0 a0 M
  2. 11 对不同类型的变量进行算术运算会有问题吗?  : G& e  ^% x4 I: f
  2. 12 什么是运算符升级(operator promotion)?
9 F3 l, h  m* d5 r) b  2. 13 什么时候应该使用类型强制转换(typecast)?  1 h' [) L' \5 r
  2. 14 什么时候不应该使用类型强制转换(typecast)?
% z& R3 N4 x5 d8 [% M0 A  2. 15 可以在头文件中说明或定义变量吗?  3 {2 F! N: [5 D8 m
  2. 16 说明一个变量和定义一个变量有什么区别?  # _9 G, y4 `# {; s: I1 A
  2. 17 可以在头文件中说明static变量吗?  - j* G0 m, [6 t, q# y
  2.18 用const说明常量有什么好处?  4 X4 }) z& n8 s1 l" G; L3 M
  第3章  排序与查找
' H/ @" K6 u: {  排 序
9 a7 X! H9 ?, B* `5 i/ x  查 找
/ S- e$ P) c6 T6 J) U0 ~3 @' j  排序或查找的性能
% g" r3 I' n8 H/ Q! T  3.1  哪一种排序方法最方便?
7 t+ l  d# d) Q) P( b7 b) `' \  3.2  哪一种排序方法最快?# ~) o% f# h" `7 O2 n
  3.3  当要排序的数据集因太大而无法全部装入内存时,应怎样排序?  
- e  r* d5 V$ \7 M  3.4  哪一种查找方法最方便?7 m/ M% D; J3 q& @  P$ P5 t
  3.5  哪一种查找方法最快?0 o# p5 ~5 [0 J8 R1 t1 L
  3.6  什么是哈希查找?/ l0 w6 [; C: Y. x2 t0 \
  3.7  怎样对链表进行排序?
% ?, [1 ~5 s$ a! k$ S- E- ~  3.8  怎样查找链表中的数据?$ ^/ v' K2 _4 Y2 A5 h
  第4章  数据文件6 g1 d. t( `" H) U; N8 Y& Z& f: c& Y
  4.1  当errno为一个非零值时,是否有错误发生?  
+ R% ]1 W( i3 ^  4.2  什么是流(stream)?
1 ~6 b3 b6 D5 O9 o5 K  4.3  怎样重定向—个标准流?
; |. u7 ?, T, g  b$ B) w5 Z  4.4  怎样恢复一个重定向了的标准流?3 N3 g2 G8 r3 ^' B% s
  4.5  stdout能被强制打印到非屏幕设备上吗?1 Q' T5 O7 e7 g1 B4 D* ~
  4.6  文本模式(text mode)和二进制模式(binary mode)有什么区别?  
3 D' ?) x& `$ t+ d5 C  4.7  怎样判断是使用流函数还是使用低级函数?5 L) W1 F& y; l/ z0 x3 e# i
  4.8  怎样列出某个目录下的文件?0 l7 `& T3 ]& X0 ?9 w# W
  4.9  怎样列出—个文件的日期和时间?$ |0 H3 o- a+ @5 d  d) i$ P0 @
  4.10 怎样对某个目录下的文件名进行排序?  
8 c' E" E9 D* r1 X4 [; w, q  4.1l 怎样判断一个文件的属性?  
: z. ?7 W: p& `+ L% e' H* D+ m" U& e3 }- M  4.12 怎样查看PATH环境变量?
+ E; }6 }% L8 `  4.13 怎样打开一个同时能被其它程序修改的文件?  
- P$ I# g) i* Z/ n1 M+ H  4.14 怎样确保只有你的程序能存取一个文件?  ( @$ }$ f6 w0 S5 d$ @
  4.15 怎样防止其它程序修改你正在修改的那部分文件内容?  ; |: [; Q( `$ @( I$ ?; W, ^- A
  4.16 怎样—次打开20个以上的文件?" W7 l8 }" b; N7 P; X
  4.17 怎样避开"Abort,Retry,Fail"消息?# u6 Q" T  r% S
  4.18 怎样读写以逗号分界的文本?  8 J: Q) _0 u7 O" X$ D' u
  第5章  编译预处理
" j3 p2 K1 H; S3 h  5.1  什么是宏(macro)?怎样使用宏?  
" ^7 R" y! r2 {  5.2  预处理程序(preprocessor)有什么作用?  
( k$ M0 K8 J, b. w/ D) j  5.3  怎样避免多次包含同—个头文件?
9 o% r  X3 O( F7 W& ~  5.4  可以用#include指令包含类型名不是“.h”的文件吗?
$ e* m" G  u/ u, f# o3 F  5.5  用#define指令说明常量有什么好处?
8 ~6 U) i9 B$ W' R  5.6  用enum关键字说明常量有什么好处?
8 }/ b" k) r) M  5.7  与用#define指令说明常量相比,用enum关键字说明常量有什么好处?$ {& _2 p" g- j5 u9 t$ f
  5.8  如何使部分程序在演示版中失效?: F$ u( `4 O, W2 ]9 n
  5.9  什么时候应该用宏代替函数?- |8 G, N: l* L8 C# L3 J
  5.10 使用宏更好,还是使用函数更好?9 {. _2 W4 {6 P( [! H9 [
  5.11 在程序中加入注释的最好方法是什么?
. n  F% }; X. a. U1 K$ J# j5 }1 g  5.12 #include<file>和#include“file”有什么不同? 0 E* k! v# u# Q* c0 p& e/ U
  5.13 你能指定在编译时包含哪一个头文件吗? $ P# k0 r) k$ I; M1 W
  5.14 包含文件可以嵌套吗? 1 c2 j: |! M% N
  5.15 包含文件最多可以嵌套几层?  
7 ~- o- W- Y( y1 D  Q& s  5.16 连接运算符“##”有什么作用?
) k6 J, j" `. C0 w0 z* @: ~: }; \, O  5.17 怎样建立对类型敏感的宏?  
: G! C7 A; ]- p; R4 y  5.18 什么是标准预定义宏?  
% Q6 z5 |# W. P4 o  5.19 怎样才能使程序打印出发生错误的行号?   n: ~! Q; o, d
  5.20 怎样才能使程序打印出发生错误的源文件名?
, K, n" Y- h& W+ g$ \  5.2l 怎样判断一个程序是用C编译程序环是用C++编译程序编译的?
2 f6 ]  C: f8 ]3 w/ a' d0 p4 e  5.22 预处理指令#pragma有什么作用?
. g4 }% }' _9 h9 Q1 r  5.23 #line有什么作用?
4 [3 x3 U5 S6 W0 r1 q  5.24 标准预定义宏_FILE_有什么作用?
$ g% N9 S4 F( G. w3 m( F$ x  5.25 怎样在程序中打印源文件名?
& w! X2 v' ^* C' v# |  5.26 标准预定义宏_LINE_有什么作用?
, s8 ^! \! `/ e6 ~4 H# q/ H% k/ R  5.27 怎样在程序中打印源文件的当前行号? 5 i; u: W" K4 y! F7 H- x
  5.28 标准预定义宏_DATE_和_TIME_有什么作用?' ?% H; y, U3 {" y
  5.29 怎样在程序中打印编译日期和时间?  
! ?& y  P; C: Z4 [' T  R  5.30 怎样判断一个程序是否遵循ANSIC标准?/ }" c8 N' Z% G+ |
  5.31 怎样取消一个已定义的宏?
4 E& G% B4 I* ^! N" J  5.32 怎样检查一个符号是否已被定义?  
$ ]# Y% g: j0 k- l# S  5.33 C语言提供哪些常用的宏?
3 w) p7 v3 ?% _+ S" q    第6章  字符串操作, M2 S' e, T4 s9 O' \/ j
  6.l  串拷贝(strcpy)和内存拷贝(mEMCpy)有什么不同?它们适合于在哪种情况下使用?
) a+ g) w) K" b. @+ h  6.2  怎样删去字符串尾部的空格?0 r9 ?" ]  f% G& T5 }
  6.3  怎样删去字符串头部的空格?9 X( B- b0 _& l' j
  6.4  怎样使字符串右对齐? ' p8 M: i6 K3 L$ U% T$ a9 V
  6.5  怎样将字符串打印成指定长度? / {5 j9 O- a( t( I# H" P9 ~& e7 P
  6.6  怎样拷贝字符串的一部分? 6 A: i4 J7 D1 }! `! ]
  6.7  怎样将数字转换为字符串? % g( x6 K  ^: ^
  6.8  怎样将字符串转换为数字?
! g6 O- }7 ?0 n+ F( q+ {  6.9  怎样打印字符串的一部分?
. j8 n( d2 o7 d6 n  6.10 怎样判判断两个字符串是否相同?
( S3 f8 K/ I, L0 i# Q9 \   第7章  指针和内存分配- v9 I0 J' G3 E# d9 K3 Z
  7.1  什么是间接引用(indirection)?
8 n9 K' _4 M7 m! p  7.2  最多可以使用几层指针?  
) K0 @6 T( e2 {4 y! J4 n  7.3  什么是空指针?  
. o! }5 u9 v6 h. |  7.4  什么时候使用空指针?1 h/ j) ~9 J, O2 y
  7.5  什么是void指针?9 S! E* k3 t/ `4 P, o) N; `
  7.6  什么时候使用void指针?
2 n/ `9 m" @" P- Y7 a  7.7  两个指针可以相减吗?为什么? 9 g& w1 h7 l, n" q
  7.8  把一个值加到一个指针上意味着什么?; \9 C6 A0 p: J2 A4 h1 c: C' V
  7.9  NULL总是被定义为0吗?  
. m4 H, V% u9 m3 H1 r  7.10 NULL总是等于0吗?  & u" S1 \* s/ R1 s8 |2 A. \
  7.11 用指针作if语句的条件表达式意味着什么?% s+ E/ N: A, L  ]
  7.12 两个指针可以相加吗?为什么?  ?: U/ M1 c7 W) E: h6 S$ u8 e
  7.13 怎样使用指向函数的指针?2 j5 H0 w7 N5 O0 n
  7.14 怎样用指向函数的指针作函数的参数?
7 k9 y5 R5 z' Q. Q; k& D  7.15 数组的大小可以在程序运行时定义吗?
- X1 m( V% ~# }) T+ h  7.16 用malloc()函数更好还是用calloc()函数更好?: \9 m# t2 p: m7 d; f7 j
  7.17 怎样说明一个大于64KB的数组?" \8 S- k( F2 s( ^; e5 b3 ?) ^
  7.18 far和near之间有什么区别?
6 z; H- W* r: F3 i3 s. e  7.19 什么时候使用far指针?
# M; m1 Z# y0 F  n9 R5 c9 U  7.20 什么是栈(stack)?  1 V! U1 g: f3 q& {: q) `
  7.21 什么是堆(heap)?
( C# O/ q6 b2 g- m. ]) a- Y+ Z" [  7.22 两次释放一个指针会导致什么结果?
6 b/ [% }' e. S  k' r$ u' l  7.23 NULL和NUL有什么不同?6 z/ j$ _; R' X4 j
  7.24 为什么不能给空指针赋值?什么是总线错误、内存错误和内存信息转储?
! `) p+ E6 S, x, A: D1 I! [: h" l  7.25 怎样确定一块已分配的内存的大小?
$ a( h5 O' i2 [( v  7.26 free()函数是怎样知道要释放的内存块的大小的? ! l1 t* L1 o  X( ^! B+ o: _
  7.27 可以对void指针进行算术运算吗?  
" r: m* _% c: `5 U% }! I  7.28 怎样打印一个地址?: V+ y" q' Z( {4 ]: q& U
  第8章  函数. p, n0 O7 w0 y7 Q
  8.1  什么时候说明函数?  ( Q* [* E- L7 I% ^/ x
  8.2  为什么要说明函数原型?( w1 [6 u: y# r6 {$ O4 ]
  8.3  一个函数可以有多少个参数?
; x; h( c$ T! C+ a' V  8.4  什么是内部函数?  . I% u! O. O) e* c7 r! l- o2 K
  8.5  如果一个函数没有返回值,是否需要加入return语句?
7 r* x* e, V. `6 D  8.6  怎样把数组作为参数传递给函数?  
. C0 e* V4 A6 x; m  8.7  在程序退出main()函数之后,还有可能执行一部分代码吗? $ |* G0 Y( j, p- w- a7 \5 C
  8.8  用PASCAL修饰符说明的函数与普通C函数有什么不同?
+ r2 Q9 i! e- X' ?  8.9  exit()和return有什么不同? .  `4 V0 O+ O- E( W5 L3 K  S
  第9章  数组
; X% j! Y$ Q$ x3 j( q# c6 W5 S  9.1  数组的下标总是从0开始吗?  
$ e+ Q5 X/ a9 b0 Q# d9 g* |1 u2 C# r  9.2  可以使用数组后面第—个元素的地址吗?  / o( Q8 Q* x6 x9 r
  9.3  为什么要小心对待位于数组后面的那些元素的地址呢?  
7 U6 V: C; o7 e) G4 g  9.4  在把数组作为参数传递给函数时,可以通过sizeof运算符告诉函数数组的大小吗?    P" t0 Y+ }( D% D
  9.5  通过指针或带下标的数组名都可以访问数组中的元素,哪一种方式更好呢?
1 V8 K+ S& v' j3 h  9.6  可以把另外一个地址赋给一个数组名吗?  . h7 |% c) @0 |" m- y  ?: z' C
  9.7  array_name和&array_name有什么不同?  
" y- T2 F' n$ T! m  9.8  为什么用const说明的常量不能用来定义一个数组的初始大小?  
8 @! D8 r, _" B9 V4 l8 t. r* n  9.9  字符串和数组有什么不同?
& m8 X  s5 d# C* S  第10章  位(bit)和字节(byte)
7 O  U, l9 u  b, r  10.1  用什么方法存储标志(flag)效率最高?$ m. R# O% y- Q0 |  f) O) E
  10.2  什么是“位屏蔽(bit masking)”? 9 d5 n8 p6 t( _! U' N
  10.3  位域(bit fields)是可移植的吗?$ L' e* T. T9 h7 j% K( d: m/ {
  10.4  移位和乘以2这两种方式中哪一种更好?5 \1 P6 t1 \! H+ l6 U0 t" k0 B
  10.5  什么是高位字节(high-order byte)和低位字节(low-order byte)?   K, `# n6 g4 P, s3 P
  10.6  16位和32位的数是怎样存储的?
' q5 @' E  o+ ]* ?7 p$ W   
4 Z# m5 c! n" D5 D# J& Y  第11章  调试
/ t- u2 Q6 b7 c9 Y, P1 x0 }( h  11.1  如果我运行的程序挂起了,应该怎么办?
+ A; P- x& X9 V0 C  11.2  如何检测内存漏洞(leak)?- e- C5 E1 ]& d( C1 U4 ^0 k
  11.3  调试程序的最好方法是什么?- S1 \# B1 A' B' q+ u! \
  11.4  怎样调试TSR程序? ( n4 _: R4 G! d; D
  11.5  怎样获得一个能报告条件失败的程序?
2 ?/ p& m. ]) T' k5 L  第12章  标准库函数+ K1 e! v- R0 ?$ H' r
  12.1  为什么应该使用标准库函数而不要自己编写函数?
( Y9 ~' H1 \1 f2 w2 m1 k5 e5 a  12.2  为了定义我要使用的标准库函数,我需要使用哪些头文件?
4 l# W  x' J. S/ m( f8 N  12.3  怎样编写参数数目可变的函数?: D. A+ S3 v+ s4 D3 ?9 E* `) f
  12.4  独立(free—standing)环境和宿主(hosted)环境之间有什么区别? 6 W8 d' \6 J* x& q
  12.5  对字符串进行操作的标准库函数有哪些?  L% N- j/ G  y% {8 }
  12.6  对内存进行操作的标准库函数有哪些?
2 _7 ]- ]% m1 f; Z3 J$ S0 M  12.7  怎样判断一个字符是数字、字母或其它类别的符号?
- F: Z! ^3 W; j6 ^# B  12.8  什么是“局部环境(locale)”?
: e1 u+ Q, b/ q1 f  12.9  有没有办法从一个或多个函数中跳出?
0 T& _  J0 z  b/ _8 o  12.10 什么是信号(signal)?用信号能做什么?
2 B0 q; n$ L) X: R1 z0 ?  12.11 为什么变量名不能以下划线开始?6 l' x7 _( n1 ?4 W( O
  12.12 为什么编译程序提供了两个版本的malloc()函数?
; ?. I- G1 g; v% v" C0 H+ ~3 [+ r  12.13 适用于整数和浮点数的数学函数分别有哪些?  
, z- L9 [- y6 k' H  12.14 什么是多字节字符(multibyte characters)?  ; W! L/ v( u4 {
  12.15 怎样操作由多字节字符组成的字符串?6 n( p& a& |; Y6 D# n% c
  第13章  时间和日期* {( }% i  V  U5 O8 H/ y
  13.1  怎样把日期存储到单个数字中?有这方面的标准吗?
% k; L; a) r& I" w) ~  13.2  怎样把时间存储到单个数字中?有这方面的标准吗?
- V, ?. f0 c; J% P. v- }* `  13.3  为什么定义了这么多不同的时间标准?
2 B6 O4 X. G# r6 H  13.4  存储日期的最好方法是哪一种?
1 o3 Y- W  a, K3 A# y! B  13.5  存储时间的最好方法是哪一种?
3 e& W$ |5 n- l3 z/ u  第14章  系统调用
% o5 H, [6 H% b* _7 u0 d7 R* T  14.1  怎样检查环境变量(environment variables)的值?9 y1 ]& _9 d+ e7 v' u
  14.2  怎样在程序中调用DOS函数?6 R1 \; ~$ D! k" J
  14.3  怎样在程序中调用BIOS函数?: N) f; T+ w# A% ]* R# [
  14.4  怎样在程序中存取重要的DOS内存位置?4 w5 n# P7 B; r  I/ m
  14.5  什么是BIOS?5 p, C* Z3 V  d$ O0 X4 Q! U1 M
  14.6  什么是中断?
4 e3 }$ c' l- n$ C) C- {. d4 A- c7 K  14.7  使用ANSI函数和使用BIOS函数,哪种方式更好?  # i$ f) L% G3 ]1 P( G# Y1 V  H
  14.8  可以通过BIOS把显示模式改为VGA图形模式吗?
, V- M* Z+ H2 I* a, }6 d, ]  14.9  运算符的优先级总能起作用吗(从左至右,从右至左)?
3 o; G) }' }4 S: o7 V  14.10 函数参数的类型必须在函数头部或紧跟在其后说明吗?为什么?1 @+ P# H; j* M- X. H, [# O
  14.11 程序应该总是包含main()的一个原型吗?/ ]7 H9 ]1 [& u( J+ o
  14.12 main()应该总是返回一个值吗?
" s* w1 b/ ?* A* f  i  14.13 可以通过BIOS控制鼠标吗?  
# ~/ h6 `# l7 ~( X8 @  第15章 可移植性
; k) |- b/ V# b7 _* ?% \  15.1  编译程序中的C++扩充功能可以用在C程序中吗?  
, y% k" v0 Y( B$ D  15.2  C++和C有什么区别?
+ v! U( U$ V7 m! i0 V1 W5 K6 f* M( V  15.3  在C程序中可以用“∥”作注释符吗?  
, [' w) `/ h" |  15.4  char,short,int和long类型分别有多长?
6 |8 }" U4 x' g6 H0 i# w" [5 C9 C  15.5  高位优先(big-endian)与低位优先(little—endian)的计算机有什么区别?
5 g4 O4 ^2 J) X+ v! ~5 n$ i  
7 {6 R4 ?8 F' `. G6 G, C4 ]  第16章 ANSI/ISO标准
* Z- `0 q+ ]5 r2 P  16.1  运算符的优先级总能起作用吗?% i) {9 u( q4 k# T; i3 _
  16.2  函数参数类型必须在函数参数表中或紧跟其后的部分中说明吗?- x9 K+ Y$ h0 N) f4 K  \
  16.3  程序中必须包含main()的原型吗?  ' b3 Q" s# z  _' l+ ^$ [
  16.4  main()应该总是返回一个值吗?  
7 J/ b& e1 Z2 k/ a; r" I' p  第17章  用户界面——屏幕和键盘2 V( _* b" \% p# N
  17.1  为什么直到程序结束时才看到屏幕输出?, h# E4 I9 ^' }7 J2 {# f+ D
  17.2  怎样在屏幕上定位光标?
  y( g& y3 W- f  17.3  向屏幕上写数据的最简单的方法是什么?
0 x& G& L0 l$ n8 }2 M  17.4  向屏幕上写文本的最快的方法是什么?
% K2 F# \, \# y8 B  17.5  怎样防止用户用Ctr+Break键中止程序的运行?  5 Y4 M3 n4 W) v: c% P+ f
  17.6  怎样才能只得到一种特定类型的数据,例如字符型数据?! W" a% D# C9 m" Y
  17.7  为什么有时不应该用scanf()来接收数据?  
: H% A5 Y  g5 y8 l% F0 W/ V/ q- e  17.8  怎样在程序中使用功能键和箭头键?% {( q2 G/ a/ R
  17.9  怎样防止用户向一个内存区域中输入过多的字符?
2 J5 b* l0 g! H  @) |: Q  17.10 怎样用0补齐一个数字?/ O5 e8 [7 b. {
  17.11 怎样才能打印出美元一美分值?, v9 @  A9 ^+ A# v. B7 U5 s# f
  17.12 怎样按科学记数法打印数字?
5 n: R* V$ L( F# K$ K7 r/ x  17.13 什么是ANSI驱动程序?
! a2 V7 V: J" {! b3 W: l6 @! G  17.14 怎样通过ANSI驱动程序来清屏?  ) n' K/ C1 ?  y3 L& a/ T: h
  17.15 怎样通过ANSI驱动程序来存储光标位置?  # }) r+ M' d7 ~( U0 Q+ w
  17.16 怎样通过ANSI驱动程序来恢复光标位置?  $ b: C0 c8 M; Z/ `: [6 w! D5 W
  17.17 怎样通过ANSI驱动程序来改变屏幕颜色?  9 \0 a4 m1 I' M% q7 P7 k9 D7 [* I4 x
  17.18 怎样通过ANSI驱动程序来写带有颜色的文本?  8 x7 V3 Y8 F3 \0 @
  17.19 怎样通过ANSI驱动程序来移动光标?  
* i6 C$ \- T3 g4 Z( Z  第18章  程序的编写和编译' V: r5 i% ?) }5 D
  18.1  程序是应该写成一个源文件还是多个源文件?+ d( `* ^: |9 [' B8 z" [, f; Q/ K
  18.2  各种存储模式之间有什么区别?6 ~( P$ Z2 }" E0 }7 d5 w
  18.3  最常使用的存储模式有哪些?& i6 j  e' e9 @& o3 V- k! U
  18.4  应该使用哪种存储模式?- T/ @/ E( J  c
  18.5  怎样生成一个".COM"文件?. ^- x4 Z  _  K/ c  c% f  `$ h
  18.6  ".COM"文件有哪些地方优于".EXE"文件?  # V) n. Y" r$ r- \( D; D
  18.7  当一个库被连接到目标上时,库中的所有函数是否都会被加到一个".EXE"文件中?
" f  r* ~4 a- x3 D  18.8  可以把多个库函数包含在同一个源文件中吗?. y4 g+ x# h, `+ R9 r
  18.9  为什么要建立一个库?% f+ q, o3 {+ H" p
  18.10 如果一个程序包含多个源文件,怎样使它们都能正常工作?
( x) J5 F3 a% p+ `2 n  18.11 连接过程中出现"DGROUP:group exceeds 64K"消息是怎么回事?  / S. S& E  G. n
  18.12 怎样防止程序用尽内存?
* \6 K6 L4 N" ~- d( h; S  18.13 如果程序太大而不能在DOS下运行,怎样才能使它在DOS下运行呢?
/ M; u6 S7 w8 e  {  18.14 怎样才能使DOS程序获得超过640KB的可用内存呢?  ) L  a; z# \5 H1 Y+ T- |, u6 Z+ t3 Q
  18.15 近程型(near)和远程型(far)的区别是什么?
5 F+ E9 l" l7 j  第19章编程风格和标准  R6 J! |7 F) T
  19.1  可以在变量名中使用下划线吗?+ W5 Q1 x7 _: r: a' l8 y# [/ }* j( J
  19.2  可以用变量名来指示变量的数据类型吗?) }$ k( b0 ]0 t" G0 L4 ^% j
  19.3  使用注释会影响程序的速度、大小或效率吗?
% _1 K4 P0 o5 E2 L  P0 e' I  19.4  使用空白符会影响程序的速度、大小或效率吗?9 R7 X  v' O4 f
  19.5  什么是骆驼式命名法?) Z& O( m$ `! s- d2 t/ S/ t
  19.6  较长的变量名会影响程序的速度、大小或效率吗?2 l$ L) ]* Z" D: o5 \
  19.7  给函数命名的正确方法是什么?. L% L' Z4 h! N
  19.8  使用大括号的正确方法是什么?
. _* W/ d. Q( E% c0 z; W  19.9  一个变量名应该使用多少个字母?ANSI。标准允许有多少个有效字符?
# E  W% w5 ^/ L8 {  D: ^6 ^  19.10 什么是匈牙利式命名法?应该使用它吗?/ K. x! F* u# j
  19.11 什么是重复处理(iterative processing)?
1 }" V8 C7 [+ l- h+ W" ?+ S# ~. m  19.12 什么是递归(recursion)?怎样使用递归?  
# _& n* Q& e/ {1 y  19.13 在C语言中,表示真和假的最好方法是什么?   `5 d2 e( P+ E1 Q# E+ J! ^, D  t5 K. \
  19.14 空循环(null loops)和无穷循环(infinite loops)有什么区别?  # m- s7 a$ ~( h* N8 m7 p
  19.15 continue和break有什么区别?  0 W; J/ l8 i7 d
  第20章  杂项(Miscellaneous)+ v2 S! w: l, b8 K$ y, Z  M1 z. c
    : e6 f' O. u  [
  20.1  怎样获得命令行参数?% ?0 ^2 a6 M! t7 l* g1 s, ]- \. R6 N
  20.2  程序总是可以使用命令行参数吗?1 D7 [# w# D" F5 w
  20.3“异常处理(exception handling)”和“结构化异常处理(structured exception handling)”有什么区别?
0 ?* X8 w1 k! d& O2 G0 l; }  20.4  怎样在DOS程序中建立一个延时器(delay timer)?  
, _; ^6 R, o$ J8 ?  20.5  Kernighan和Ritchie是谁?  
. k; z; @1 T  w, Q  20.6  怎样产生随机数?* v0 Y: C0 q7 @' H, w6 G
  20.7  什么时候应该使用32位编译程序?
3 I$ c+ g( r7 W0 X1 W  20.8  怎样中断一个Windows程序?
  k! U* m) |% L, X3 w' _: K2 F  20.9  为什么要使用静态变量?6 ^' Z9 [, |8 f7 [  u0 r
  20.10 怎样在一个程序后面运行另一个程序?, _5 i( Y3 e5 V; d7 |
  20.11 怎样在一个程序执行期间运行另一个程序?
! v/ `. Z$ m% Q9 u, h3 l/ G* k+ F- t  20.12 怎样把数据从一个程序传给另一个程序?
* ^$ Z7 {# f3 X7 R' o* F  20.13 怎样判断正在运行的程序所在的目录?$ h. t/ \& H! e" m) B) A9 L/ w
  20.14 怎样找到程序中的重要文件(数据库,配置文件,等等)?+ o- h. ^) ]+ Q0 C& X7 e
  20.15 本书的有些例子程序有许多缺陷,为什么不把它们写得更好?3 W! E' m1 @# Q5 f
  20.16 怎样使用Ctr+Break失效?
, F4 r) x' b  F0 f& h  20.17 可以使热启动(Ctrl+Alt+Delete)失效吗?  $ T& F! d2 C" z4 \0 O( O; M3 _, O$ e
  20.18 怎样判断一个字符是否是一个字母?: z) c  p" \9 v% l6 g
  20.19 怎样判断一个字符是否是一个数字?2 x9 ~1 [; Z! A4 }5 Z
  20.20 怎样把一个十六进制的值赋给一个变量?
2 h6 Q. _3 @3 z# X9 s$ ?  20. 21 怎样把一个八进制的值赋给一个变量?
5 h* }' Q0 J% o! R+ _4 L. `  20.22 什么是二进制?7 M! R, O3 p) y4 O$ W4 v% u' r
  20.23 什么是八进制?7 ?$ I, J' f9 s) H
  20.24 什么是十六进制?) V  ]# n0 [6 G) r3 @+ O9 N$ ]3 O
  20.25 什么是换码符(escape characters)?
- ^+ I) ]( c' e- U5 ^9 E9 b
9 T( B3 h' v" _  第21章  Windows  a( B0 r$ ~1 i0 I( d- n8 B9 M, X
   
* `5 r3 K$ _, Y9 A  21.1  可以在Windows程序中使用printf()吗?# e6 |7 D9 L7 u) r9 i
  21.2  怎样在Windows程序中建立一个延时器?
% H/ P, F' V, I  I  21.3  什么是句柄?
" \, `: v* z* Y/ a. `. G$ h! n  21.4  怎样终止一个Windows程序?  * _: k. R& b% S6 L
  21.5  什么是GDI?通过什么途径使用它?  & R! L; C5 V) r
  21.6  为什么windows.h很重要?- t! L7 p0 V* y8 w
  21.7  什么是Windows SDK?
9 Q+ P. h& N" {- `0 {  21.8  在编写Windows程序时, Microsoft的Windows SDK是必需的吗?
( m: e. M* _2 Y: Y, i  21.9  Windows函数和标准DOS函数有什么区别?
- a. O# m: W! J& P; S: i  21.10 什么是动态链接?5 c% q7 x1 ]) q4 c+ k
  21.11 HANDLE, HWND和HDC之间有什么区别?
: ?% S6 P5 k: {5 V/ L6 d  21.12 Windows程序对于不同的编译程序是兼容的吗?
. u* Y6 R1 J/ ^/ d6 T2 V  21.13 Windows总是保存和刷新程序的窗口吗?
; Y" d+ G4 H% y  21.14 怎样确定一个Windows程序的用户区的大小?1 d1 g, d) I0 l
  21.15 什么是OEM键码?: ^3 O, U4 W0 O
  21.16 Windows程序需要考虑OEM键码吗?
+ o* g# l5 c  d' s9 u5 d  21.17 什么是虚拟键码?  ) F+ `8 p6 r5 p- `( w( T8 i# w% v
  21.18 什么是死键?/ y$ B' C  t( G, n2 }4 ?7 p
  21.19 插入标记(caret)和光标(cursor)有什么区别?! H  d$ n, g+ o) V* _0 I7 t
  21.20 在程序用户区外点击鼠标能被捕获吗?
) |6 v4 |4 N; Q# M1 n4 [& T4 E  21. 21 怎样创建一个活动的位图?
; Z; A# s: a. A; N; V$ n  21.22 怎样在Windows程序中获得日期或时间?2 c/ C* v( e: c: X- M
  21.23 怎样在Windows程序中更新标题条(title bar)?  u1 R  e5 p; D! B
  21.24 怎样在Windows程序中获得系统颜色?
8 w& L$ Q% g( |" b1 {  21.25 什么是系统颜色常量?
# Q# f9 n6 y: |/ L0 _8 r% y  21.26 怎样创建自己的按钮和控件(control)?
# l$ T' r2 k$ |# f- R8 M  21.27 什么是静态子窗口(static child windows)?& j2 n5 u3 w( T# H  H
  21.28 怎样创建窗口子类(window sbclassing)?; V* T& {8 F) \$ \0 z
  21.29 什么是编辑类(edit class)?
* P3 D+ }) V' L; L, B  21.30 什么是列表框类(listbox class)?
, _$ K" A, p* B! B' S  21.31 怎样在Windows程序中分配内存?$ p$ i" E7 `8 D8 R; X* i( ]- ~
  21.32 怎样在Windows程序中分配内存?
* r+ J6 X8 A* a# }; N; {" O5 u0 x  21.33 模式(modal)对话框和非模式(modeless)对话框有什么区别?  z2 B" G$ L5 y

. X$ F3 Y3 z% O3 ?; s" N  附 录  常用函数的包含文件

C语言编程常见问题解答.rar

545.07 KB, 下载次数: 6, 下载积分: 威望 -5

该用户从未签到

4#
发表于 2016-11-9 11:10 | 只看该作者
楼主分享精神可贵!2 X' U( |* Z6 N0 n6 P/ n& o+ c7 j
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-21 02:15 , Processed in 0.093750 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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