搜档网
当前位置:搜档网 › C标准库源码解剖(11):扩展整数类型stdint.h和inttypes.h

C标准库源码解剖(11):扩展整数类型stdint.h和inttypes.h

C标准库源码解剖(11):扩展整数类型stdint.h和inttypes.h
C标准库源码解剖(11):扩展整数类型stdint.h和inttypes.h

C标准库源码解剖(11):扩展整数类型stdint.h和inttypes.h

分类:C 2009-10-20 18:06 931人阅读评论(0) 收藏举报

C语言的基本精神是让实现选择标准类型的长度,但是这种指导思想使可移植代码难以编写。C99中引入了stdint.h和inttypes.h,对整数类型的定义和格式转换进行了规范。这种扩展整数类型的定义非常清晰,从类型名字上就可以看出它的长度,这有利于编写可移植的代码。stint.h对整数类型进行定义,inttypes.h包含了stdint.h并增加了可移植的格式控制串和转换函数。

1、stdint.h:定义标准的扩展整数类型。包括准确长度类型intN_t、最小长度类型

int_leastN_t、快速长度类型int_fastN_t、指针长度类型intptr_t、最大长度类型intmax_t(N 为类型宽度)。

定义规则:

1)类型的长度用宽度N参数化,如intN_t,N常常有8,16,32,64。

2)若要定义某种类型,则该类型的带符号和无符号类型、类型长度都要定义。如定义int32_t,则有uint32_t类型。

3)要用...MIN和...MAX宏定义类型的范围。如INT32_MIN,INT32_MAX,UINT32_MAX。

4)在inttypes.h要用PRIcKN和SCNcKN定义打印该类型的printf和scanf格式控制字符串。c表示转换操作符,有d,i,o,u,x或X;K表示种类,为空或者LEAST,FAST,PTR,MAX;N是该类型的宽度。

view plaincopy to clipboardprint?

1. /* ISO C99: 7.18 整数类型 */

2. #ifndef _STDINT_H

3. #define _STDINT_H 1

4. #include

5. #include

6. #include

7. /* 准确类型:指定长度的准确类型 */

8. /* 有符号 */

9. /* 有一些与中众所周知的inet代码重叠 */

10. #ifndef __int8_t_defined

11. # define __int8_t_defined

12. typedef signed char int8_t; /* 8位的准确长度类型int8_t=signed char */

13. typedef short int int16_t; /* 16位的准确长度类型 */

14. typedef int int32_t;

15. # if __WORDSIZE == 64

16. typedef long int int64_t; /* 64位平台上64位的准确类型为long */

17. # else

18. __extension__

19. typedef long long int int64_t; /* 32位平台上64位的准确类型为

long long */

20. # endif

21. #endif

22. /* 无符号 */

23. typedef unsigned char uint8_t;

24. typedef unsigned short int uint16_t;

25. #ifndef __uint32_t_defined

26. typedef unsigned int uint32_t;

27. # define __uint32_t_defined

28. #endif

29. #if __WORDSIZE == 64

30. typedef unsigned long int uint64_t;

31. #else

32. __extension__

33. typedef unsigned long long int uint64_t;

34. #endif

35.

36. /* 最小类型:指定长度的最小类型 */

37. /* 有符号 */

38. typedef signed char int_least8_t;

39. typedef short int int_least16_t;

40. typedef int int_least32_t;

41. #if __WORDSIZE == 64

42. typedef long int int_least64_t;

43. #else

44. __extension__

45. typedef long long int int_least64_t;

46. #endif

47. /* 无符号 */

48. typedef unsigned char uint_least8_t;

49. typedef unsigned short int uint_least16_t;

50. typedef unsigned int uint_least32_t;

51. #if __WORDSIZE == 64

52. typedef unsigned long int uint_least64_t;

53. #else

54. __extension__

55. typedef unsigned long long int uint_least64_t;

56. #endif

57.

58. /* 快速类型:指定长度的最快类型 */

59. /* 有符号 */

60. typedef signed char int_fast8_t;

61. #if __WORDSIZE == 64 /* 64位平台 */

62. typedef long int int_fast16_t;

63. typedef long int int_fast32_t;

64. typedef long int int_fast64_t;

65. #else /* 32位平台 */

66. typedef int int_fast16_t; /* 16位和32位的最快类型均为int */

67. typedef int int_fast32_t;

68. __extension__

69. typedef long long int int_fast64_t;

70. #endif

71. /* 无符号 */

72. typedef unsigned char uint_fast8_t;

73. #if __WORDSIZE == 64

74. typedef unsigned long int uint_fast16_t;

75. typedef unsigned long int uint_fast32_t;

76. typedef unsigned long int uint_fast64_t;

77. #else

78. typedef unsigned int uint_fast16_t;

79. typedef unsigned int uint_fast32_t;

80. __extension__

81. typedef unsigned long long int uint_fast64_t;

82. #endif

83.

84. /* 通用指针类型:即void * 型指针的类型,64位平台上为long,32位平台上为

int */

85. #if __WORDSIZE == 64

86. # ifndef __intptr_t_defined

87. typedef long int intptr_t;

88. # define __intptr_t_defined

89. # endif

90. typedef unsigned long int uintptr_t;

91. #else

92. # ifndef __intptr_t_defined

93. typedef int intptr_t;

94. # define __intptr_t_defined

95. # endif

96. typedef unsigned int uintptr_t;

97. #endif

98.

99. /* 最大类型:指定长度的最大整数类型 */

100. #if __WORDSIZE == 64

101. typedef long int intmax_t; /* 64位平台上的最大整数类型为long */ 102. typedef unsigned long int uintmax_t;

103. #else

104. __extension__

105. typedef long long int intmax_t; /* 32位平台上的最大整数类型为long long */

106. __extension__

107. typedef unsigned long long int uintmax_t;

108. #endif

109. /* ISO C99标准指出,在C++实现中这些宏应该只在被请求到的时候才定义 */

110. #if !defined __cplusplus || defined __STDC_LIMIT_MACROS

111. # if __WORDSIZE == 64

112. # define __INT64_C(c) c ## L

113. # define __UINT64_C(c) c ## UL

114. # else

115. # define __INT64_C(c) c ## LL

116. # define __UINT64_C(c) c ## ULL

117. # endif

118. /* 整数类型的范围 */

119. /* 有符号整数类型的最小值:-2**(N-1),其中最小负数-2**(N-1)=100...0没有对应正数,其反数还是自己 */

120. # define INT8_MIN (-128)

121. # define INT16_MIN (-32767-1)

122. # define INT32_MIN (-2147483647-1)

123. # define INT64_MIN (-__INT64_C(9223372036854775807)-1)

124. /* 有符号整数类型的最大值:2**(N-1)-1 */

125. # define INT8_MAX (127)

126. # define INT16_MAX (32767)

127. # define INT32_MAX (2147483647)

128. # define INT64_MAX (__INT64_C(9223372036854775807))

129. /* 无符号整数类型的最大值:2**(N-1)-1,注意有Min=-MAX-1 */

130. # define UINT8_MAX (255)

131. # define UINT16_MAX (65535)

132. # define UINT32_MAX (4294967295U)

133. # define UINT64_MAX (__UINT64_C(18446744073709551615))

134.

135. /* 有符号最小类型的最小值 */

136. # define INT_LEAST8_MIN (-128)

137. # define INT_LEAST16_MIN (-32767-1)

138. # define INT_LEAST32_MIN (-2147483647-1)

139. # define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1) 140. /* 有符号最小类型的最大值 */

141. # define INT_LEAST8_MAX (127)

142. # define INT_LEAST16_MAX (32767)

143. # define INT_LEAST32_MAX (2147483647)

144. # define INT_LEAST64_MAX (__INT64_C(9223372036854775807)) 145. /* 无符号最小类型的最大值 */

146. # define UINT_LEAST8_MAX (255)

147. # define UINT_LEAST16_MAX (65535)

148. # define UINT_LEAST32_MAX (4294967295U)

149. # define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615))

150.

151. /* 有符号快速类型的最小值 */

152. # define INT_FAST8_MIN (-128)

153. # if __WORDSIZE == 64

154. # define INT_FAST16_MIN (-9223372036854775807L-1)

155. # define INT_FAST32_MIN (-9223372036854775807L-1)

156. # else

157. # define INT_FAST16_MIN (-2147483647-1)

158. # define INT_FAST32_MIN (-2147483647-1)

159. # endif

160. # define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1) 161. /* 有符号快速类型的最大值 */

162. # define INT_FAST8_MAX (127)

163. # if __WORDSIZE == 64

164. # define INT_FAST16_MAX (9223372036854775807L)

165. # define INT_FAST32_MAX (9223372036854775807L)

166. # else

167. # define INT_FAST16_MAX (2147483647)

168. # define INT_FAST32_MAX (2147483647)

169. # endif

170. # define INT_FAST64_MAX (__INT64_C(9223372036854775807)) 171. /* 无符号快速类型的最大值 */

172. # define UINT_FAST8_MAX (255)

173. # if __WORDSIZE == 64

174. # define UINT_FAST16_MAX (18446744073709551615UL)

175. # define UINT_FAST32_MAX (18446744073709551615UL)

176. # else

177. # define UINT_FAST16_MAX (4294967295U)

178. # define UINT_FAST32_MAX (4294967295U)

179. # endif

180. # define UINT_FAST64_MAX (__UINT64_C(18446744073709551615))

181.

182. /* 指针类型(持有void*型指针)的范围 */

183. # if __WORDSIZE == 64

184. # define INTPTR_MIN (-9223372036854775807L-1)

185. # define INTPTR_MAX (9223372036854775807L)

186. # define UINTPTR_MAX (18446744073709551615UL)

187. # else

188. # define INTPTR_MIN (-2147483647-1)

189. # define INTPTR_MAX (2147483647)

190. # define UINTPTR_MAX (4294967295U)

191. # endif

192.

193. /* 有符号最大类型的最小值 */

194. # define INTMAX_MIN (-__INT64_C(9223372036854775807)-1) 195. /* 符号最大类型的最大值 */

196. # define INTMAX_MAX (__INT64_C(9223372036854775807)) 197. /* 无符号最大类型的最大值 */

198. # define UINTMAX_MAX (__UINT64_C(18446744073709551615)) 199.

200. /* 其他整数类型的范围 */

201. /* ptrdiff_t类型的范围 */

202. # if __WORDSIZE == 64

203. # define PTRDIFF_MIN (-9223372036854775807L-1)

204. # define PTRDIFF_MAX (9223372036854775807L)

205. # else

206. # define PTRDIFF_MIN (-2147483647-1)

207. # define PTRDIFF_MAX (2147483647)

208. # endif

209. /* sig_atomic_t类型的范围 */

210. # define SIG_ATOMIC_MIN (-2147483647-1)

211. # define SIG_ATOMIC_MAX (2147483647)

212. /* size_t类型的范围 */

213. # if __WORDSIZE == 64

214. # define SIZE_MAX (18446744073709551615UL)

215. # else

216. # define SIZE_MAX (4294967295U)

217. # endif

218. /* wchar_t类型的范围 */

219. # ifndef WCHAR_MIN

220. /* 这些常量可能在也定义了 */

221. # define WCHAR_MIN __WCHAR_MIN

222. # define WCHAR_MAX __WCHAR_MAX

223. # endif

224. /* wint_t类型的范围 */

225. # define WINT_MIN (0u)

226. # define WINT_MAX (4294967295u)

227. #endif /* C++ && limit macros */

228. /* ISO C99标准指出,在C++实现中这些宏应该只在被请求到的时候才定义 */

229. #if !defined __cplusplus || defined __STDC_CONSTANT_MACROS 230. /* 有符号 */

231. # define INT8_C(c) c

232. # define INT16_C(c) c

233. # define INT32_C(c) c

234. # if __WORDSIZE == 64

235. # define INT64_C(c) c ## L

236. # else

237. # define INT64_C(c) c ## LL

238. # endif

239. /* 无符号 */

240. # define UINT8_C(c) c

241. # define UINT16_C(c) c

242. # define UINT32_C(c) c ## U

243. # if __WORDSIZE == 64

244. # define UINT64_C(c) c ## UL

245. # else

246. # define UINT64_C(c) c ## ULL

247. # endif

248. /* 最大类型 */

249. # if __WORDSIZE == 64

250. # define INTMAX_C(c) c ## L

251. # define UINTMAX_C(c) c ## UL 252. # else

253. # define INTMAX_C(c) c ## LL 254. # define UINTMAX_C(c) c ## ULL 255. # endif

256. #endif /* C++ && constant macros */ 257. #endif /* stdint.h */

正数,其反数还是自己。无符号整数类型范围为0~2**N-1。

(4)ptrdiff_t,size_t,wchar_t,wint_t与sig_atomic_t类型的范围也在stdint.h中定义,有PTRDIFF_MIN/PTRDIFF_MAX, SIZE_MAX, WCHAR_MIN/WCHAR_MAX,

WINT_MIN/WINT_MAX, SIG_ATOMIC_MIN/SIG_ATOMIC_MAX。在32位平台的GNU 实现中,ptrdiff_t一般为int类型(在64位平台上则为long类型),size_t为unsigned int 类型(在64位平台上则为unsigned long类型),wchar_t一般为int类型,wint_t一般为unsigned int类型,sig_atomic_t通常为int类型。

2、inttypes.h:定义扩展整数类型的printf和scanf格式控制字符串,用于实现可移植的格式化输出或输入。还定义了一些与stdlib.h中对应的基本算术函数和转换函数。imaxabs 和imaxdiv函数类似于stdlib.h中的abs和div函数,imaxabs(x)返回最大类型整数x的绝对值,imaxdiv(n,d)计算最大类型整数的除法n/d,得出的商和余数分别放在imaxdiv_t结构的quot和rem成员中。strtoimax和strtoumax函数将字符串转换成最大类型的整数,与stdlib.h中的strtol和strtoul类似。wcstoimax和wcstoumax函数将宽字符串转换成最大类型的整数,与wchar.h中的wcstol和wcstoul类似。

view plaincopy to clipboardprint?

1. /* ISO C99: 7.8 整数类型的格式转换 */

2. #ifndef _INTTYPES_H

3. #define _INTTYPES_H 1

4. #include

5. /* 获取类型定义 */

6. #include

7. /* 获取wchar_t的定义,但我们自己不能定义 */

8. #ifndef ____gwchar_t_defined

9. # ifdef __cplusplus

10. # define __gwchar_t wchar_t

11. # elif defined __WCHAR_TYPE__

12. typedef __WCHAR_TYPE__ __gwchar_t;

13. # else

14. # define __need_wchar_t

15. # include

16. typedef wchar_t __gwchar_t;

17. # endif

18. # define ____gwchar_t_defined 1

19. #endif

20. /* ISO C99标准指出,这些宏应该只在被请求到的时候才定义 */

21. #if !defined __cplusplus || defined __STDC_FORMAT_MACROS

22. # if __WORDSIZE == 64

23. # define __PRI64_PREFIX "l"

24. # define __PRIPTR_PREFIX "l"

25. # else

26. # define __PRI64_PREFIX "ll"

27. # define __PRIPTR_PREFIX

28. # endif

29. /* 表示输出格式控制串的宏 */

30. /* 十进制格式 */

31. # define PRId8 "d" /* 表示8位准确类型的输出格式控制串 */

32. # define PRId16 "d"

33. # define PRId32 "d"

34. # define PRId64 __PRI64_PREFIX "d"

35. # define PRIdLEAST8 "d" /* 表示8位最小类型的输出格式控制串 */

36. # define PRIdLEAST16 "d"

37. # define PRIdLEAST32 "d"

38. # define PRIdLEAST64 __PRI64_PREFIX "d"

39. # define PRIdFAST8 "d"

40. # define PRIdFAST16 __PRIPTR_PREFIX "d"

41. # define PRIdFAST32 __PRIPTR_PREFIX "d"

42. # define PRIdFAST64 __PRI64_PREFIX "d"

43. # define PRIi8 "i"

44. # define PRIi16 "i"

45. # define PRIi32 "i"

46. # define PRIi64 __PRI64_PREFIX "i"

47. # define PRIiLEAST8 "i"

48. # define PRIiLEAST16 "i"

49. # define PRIiLEAST32 "i"

50. # define PRIiLEAST64 __PRI64_PREFIX "i"

51. # define PRIiFAST8 "i"

52. # define PRIiFAST16 __PRIPTR_PREFIX "i"

53. # define PRIiFAST32 __PRIPTR_PREFIX "i"

54. # define PRIiFAST64 __PRI64_PREFIX "i"

55. /* 八进制格式 */

56. # define PRIo8 "o"

57. # define PRIo16 "o"

58. # define PRIo32 "o"

59. # define PRIo64 __PRI64_PREFIX "o"

60. # define PRIoLEAST8 "o"

61. # define PRIoLEAST16 "o"

62. # define PRIoLEAST32 "o"

63. # define PRIoLEAST64 __PRI64_PREFIX "o"

64. # define PRIoFAST8 "o"

65. # define PRIoFAST16 __PRIPTR_PREFIX "o"

66. # define PRIoFAST32 __PRIPTR_PREFIX "o"

67. # define PRIoFAST64 __PRI64_PREFIX "o"

68. /* 无符号整数格式 */

69. # define PRIu8 "u"

70. # define PRIu16 "u"

71. # define PRIu32 "u"

72. # define PRIu64 __PRI64_PREFIX "u"

73. # define PRIuLEAST8 "u"

74. # define PRIuLEAST16 "u"

75. # define PRIuLEAST32 "u"

76. # define PRIuLEAST64 __PRI64_PREFIX "u"

77. # define PRIuFAST8 "u"

78. # define PRIuFAST16 __PRIPTR_PREFIX "u"

79. # define PRIuFAST32 __PRIPTR_PREFIX "u"

80. # define PRIuFAST64 __PRI64_PREFIX "u"

81. /* 小写十六进制格式 */

82. # define PRIx8 "x"

83. # define PRIx16 "x"

84. # define PRIx32 "x"

85. # define PRIx64 __PRI64_PREFIX "x"

86. # define PRIxLEAST8 "x"

87. # define PRIxLEAST16 "x"

88. # define PRIxLEAST32 "x"

89. # define PRIxLEAST64 __PRI64_PREFIX "x"

91. # define PRIxFAST16 __PRIPTR_PREFIX "x"

92. # define PRIxFAST32 __PRIPTR_PREFIX "x"

93. # define PRIxFAST64 __PRI64_PREFIX "x"

94. /* 大写十六进制格式 */

95. # define PRIX8 "X"

96. # define PRIX16 "X"

97. # define PRIX32 "X"

98. # define PRIX64 __PRI64_PREFIX "X"

99. # define PRIXLEAST8 "X"

100. # define PRIXLEAST16 "X"

101. # define PRIXLEAST32 "X"

102. # define PRIXLEAST64 __PRI64_PREFIX "X" 103. # define PRIXFAST8 "X"

104. # define PRIXFAST16 __PRIPTR_PREFIX "X" 105. # define PRIXFAST32 __PRIPTR_PREFIX "X" 106. # define PRIXFAST64 __PRI64_PREFIX "X" 107. /* 打印intmax_t和uintmax_t的格式宏 */ 108. # define PRIdMAX __PRI64_PREFIX "d" 109. # define PRIiMAX __PRI64_PREFIX "i" 110. # define PRIoMAX __PRI64_PREFIX "o" 111. # define PRIuMAX __PRI64_PREFIX "u" 112. # define PRIxMAX __PRI64_PREFIX "x" 113. # define PRIXMAX __PRI64_PREFIX "X" 114.

115. /* 打印intptr_t和uintptr_t的格式宏 */

116. # define PRIdPTR __PRIPTR_PREFIX "d" 117. # define PRIiPTR __PRIPTR_PREFIX "i" 118. # define PRIoPTR __PRIPTR_PREFIX "o" 119. # define PRIuPTR __PRIPTR_PREFIX "u" 120. # define PRIxPTR __PRIPTR_PREFIX "x" 121. # define PRIXPTR __PRIPTR_PREFIX "X" 122. /* 表示输入格式控制串的宏 */

123. /* 有符号十进格式 */

124. # define SCNd8 "hhd"

126. # define SCNd32 "d"

127. # define SCNd64 __PRI64_PREFIX "d" 128. # define SCNdLEAST8 "hhd"

129. # define SCNdLEAST16 "hd"

130. # define SCNdLEAST32 "d"

131. # define SCNdLEAST64 __PRI64_PREFIX "d" 132. # define SCNdFAST8 "hhd"

133. # define SCNdFAST16 __PRIPTR_PREFIX "d" 134. # define SCNdFAST32 __PRIPTR_PREFIX "d" 135. # define SCNdFAST64 __PRI64_PREFIX "d" 136. /* 有符号十进制格式 */

137. # define SCNi8 "hhi"

138. # define SCNi16 "hi"

139. # define SCNi32 "i"

140. # define SCNi64 __PRI64_PREFIX "i"

141. # define SCNiLEAST8 "hhi"

142. # define SCNiLEAST16 "hi"

143. # define SCNiLEAST32 "i"

144. # define SCNiLEAST64 __PRI64_PREFIX "i" 145. # define SCNiFAST8 "hhi"

146. # define SCNiFAST16 __PRIPTR_PREFIX "i" 147. # define SCNiFAST32 __PRIPTR_PREFIX "i" 148. # define SCNiFAST64 __PRI64_PREFIX "i" 149. /* 无符号十进制格式 */

150. # define SCNu8 "hhu"

151. # define SCNu16 "hu"

152. # define SCNu32 "u"

153. # define SCNu64 __PRI64_PREFIX "u" 154. # define SCNuLEAST8 "hhu"

155. # define SCNuLEAST16 "hu"

156. # define SCNuLEAST32 "u"

157. # define SCNuLEAST64 __PRI64_PREFIX "u"

158. # define SCNuFAST8 "hhu"

159. # define SCNuFAST16 __PRIPTR_PREFIX "u"

160. # define SCNuFAST32 __PRIPTR_PREFIX "u" 161. # define SCNuFAST64 __PRI64_PREFIX "u" 162. /* 八进制格式 */

163. # define SCNo8 "hho"

164. # define SCNo16 "ho"

165. # define SCNo32 "o"

166. # define SCNo64 __PRI64_PREFIX "o" 167. # define SCNoLEAST8 "hho"

168. # define SCNoLEAST16 "ho"

169. # define SCNoLEAST32 "o"

170. # define SCNoLEAST64 __PRI64_PREFIX "o" 171. # define SCNoFAST8 "hho"

172. # define SCNoFAST16 __PRIPTR_PREFIX "o" 173. # define SCNoFAST32 __PRIPTR_PREFIX "o" 174. # define SCNoFAST64 __PRI64_PREFIX "o" 175. /* 十六进制格式 */

176. # define SCNx8 "hhx"

177. # define SCNx16 "hx"

178. # define SCNx32 "x"

179. # define SCNx64 __PRI64_PREFIX "x" 180. # define SCNxLEAST8 "hhx"

181. # define SCNxLEAST16 "hx"

182. # define SCNxLEAST32 "x"

183. # define SCNxLEAST64 __PRI64_PREFIX "x" 184. # define SCNxFAST8 "hhx"

185. # define SCNxFAST16 __PRIPTR_PREFIX "x" 186. # define SCNxFAST32 __PRIPTR_PREFIX "x" 187. # define SCNxFAST64 __PRI64_PREFIX "x" 188.

189. /* 输入intmax_t和uintmax_t的格式宏 */ 190. # define SCNdMAX __PRI64_PREFIX "d" 191. # define SCNiMAX __PRI64_PREFIX "i" 192. # define SCNoMAX __PRI64_PREFIX "o"

193. # define SCNuMAX __PRI64_PREFIX "u" 194. # define SCNxMAX __PRI64_PREFIX "x"

195. /* 输入intptr_t和uintptr_t的格式宏 */

196. # define SCNdPTR __PRIPTR_PREFIX "d"

197. # define SCNiPTR __PRIPTR_PREFIX "i"

198. # define SCNoPTR __PRIPTR_PREFIX "o"

199. # define SCNuPTR __PRIPTR_PREFIX "u"

200. # define SCNxPTR __PRIPTR_PREFIX "x"

201. #endif /* C++ && format macros */

202.

203. __BEGIN_DECLS

204. #if __WORDSIZE == 64

205. /* 64位平台 */

206. /* 我们要使用ldiv_t来定义uintmax_t */

207. typedef struct

208. {

209. long int quot; /* 商 */

210. long int rem; /* 余数 */

211. } imaxdiv_t;

212. #else /* 32位平台 */

213. /* 我们要使用lldiv_t来定义uintmax_t */

214. typedef struct

215. {

216. long long int quot; /* 商 */

217. long long int rem; /* 余数 */

218. } imaxdiv_t;

219. #endif

220. /* 计算N的绝对值 */

221. extern intmax_t imaxabs (intmax_t __n) __THROW __attribute__ ((__const __));

222. /* 返回NUMER除以DENOM的商和余数,放在imaxdiv_t结构中 */ 223. extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)

224. __THROW __attribute__ ((__const__));

225. /* 与strtol类似,但转换成intmax_t */

226. extern intmax_t strtoimax (__const char *__restrict __nptr,

227. char **__restrict __endptr, int __base) __THROW;

228. /* 与strtoul类似,但转换成uintmax_t */

229. extern uintmax_t strtoumax (__const char *__restrict __nptr,

230. char ** __restrict __endptr, int __base) __THROW;

231. /* 与wcstol类似,但转换成intmax_t */

232. extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr, 233. __gwchar_t **__restrict __endptr, int __base)

234. __THROW;

235. /* 与wcstoul类似,但转换成uintmax_t */

236. extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr, 237. __gwchar_t ** __restrict __endptr, int __base)

238. __THROW;

239.

240. /* 下面是GNU的扩展:是上面4个标准转换函数的外部内联版本,有64位平台和32位平台之分 */

241. __END_DECLS

242. #endif /* inttypes.h */

1. /* strtoimax.c:将字符串转换成最大整数类型 */

2. #include

3. #include

4. i ntmax_t

5. s trtoimax (const char *__restrict nptr, char **__restrict endptr, int base)

6. {

7. return __strtoll_internal (nptr, endptr, base, 0);

8. }

1. /* strtoumax.c:将字符串转换成无符号的最大整数类型 */

2. #include

3. #include

4. u intmax_t

5. s trtoumax (const char *__restrict nptr, char **__restrict endptr, int base)

6. {

7. return __strtoull_internal (nptr, endptr, base, 0);

8. }

view plaincopy to clipboardprint?

1. /* wcstoimax.c:将宽字符串转换成最大整数类型 */

2. #include

3. #include

4. i ntmax_t

5. w cstoimax (const wchar_t *__restrict nptr, wchar_t **__restrict endptr,

6. int base)

7. {

8. return __wcstoll_internal (nptr, endptr, base, 0);

9. }

1. /* wcstoumax.c:将宽字符串转换成无符号的最大整数类型 */

2. #include

3. #include

4. u intmax_t

5. w cstoumax (const wchar_t *__restrict nptr, wchar_t **__restrict endptr,

6. int base)

7. {

8. return __wcstoull_internal (nptr, endptr, base, 0);

9. }

系统解剖学题库完整版三千题

试题答案列表系统解剖学题库(一) 题号:1/1033 答题指南:题下选项可能多个正确,只能选择其中最佳的一项有关骨的构造的正确的说法是 A.骨干由松质构成 B.骨骺由密质构成 C.骨膜有血管无神经 D.骨髓有神经无血管 E.以上全不对 答案:E 题号:2/1033 有关红骨髓正确的是 A.成人存在于髓腔内 B.不存在于板障内 C.胎儿期造血,成年期不造血 D.髂骨、胸骨、椎骨内终生保存红骨髓 E.以上全不对 答案:D 题号:3/1033 有关骨髓腔正确的是 A.位于骨骺内 B.位于长骨的骨干内 C.成人骨髓腔内含红骨髓 D.小儿骨髓腔内含黄骨髓 E.以上全不对 答案:B 题号:4/1033 黄骨髓存在于

A.所有骨的内部 B.幼儿长骨骨干内部 C.成人长骨骨干内部 D.幼儿长骨骨骺内部 E.成人扁骨内部 答案:C 题号:5/1033 颈椎正确的是 A.均有椎体及椎弓 B.1~2颈椎无横突孔 C.棘突末端都分叉 D.第6颈椎棘突末端膨大成颈动脉结节 E.第7颈椎又名隆椎 答案:E 题号:6/1033 椎骨正确的是 A.是短骨 B.椎体之间有椎间关节相连 C.相邻椎弓之间构成椎间孔 D.椎体与椎弓共同围成椎孔 E.无以上情况 答案:D 题号:7/1033 椎骨正确的是 A.所有颈椎棘突分叉 B.第6颈椎称隆椎 C.腰椎关节呈冠状位 D.腰椎棘突宽而短呈板状

E.胸椎椎体都有一完整肋凹 答案:D 题号:8/1033 关于椎体的说法,错误的是 A.呈短圆柱状 B.位于椎骨前部 C.主要由松质构成 D.表面有一层密质 E.椎体中央有椎孔 答案:E 题号:9/1033 关于椎弓的说法,错误的是 A.位于椎体的后方 B.呈半环状 C.与椎体共同围成椎孔 D.由一对椎弓板构成 E.相邻椎弓间有黄韧带 答案:D 题号:10/1033 关于胸椎的特点是 A.横突上有横突孔 B.棘突分叉 C.上、下关节突不明显 D.棘突水平伸向后方 E.椎体侧面后部有肋凹 答案:E

家畜解剖学习题库答案(1)

家畜解剖学习题库之一 2010-01-28 09:23:39 来源:阳光畜牧网浏览:13017次一、名词解释 1.横切面:横过动物体,并与矢状面和额面垂直的切面。 2.掌侧:前肢的后面。 3.跖侧:后肢的后面。 4.矢状面:与动物体纵轴平等,同时又与地面垂直的切面。 5.额切面:又称水平面,是与地面平等,并与矢状面垂直的切面。 二、单选 1.可将畜体分成前后两部的切面是(D ) A.矢状面B.正中矢状面C.额切面D.横切面 2.四肢靠近躯干的一端称(B ) A.远端 B.近端 C.背侧 D.腹侧 3.前肢的前方称(A) A.背侧 B.掌侧 C.跖侧 D.内侧 4.后肢的前方称(A) A. 背侧 B.掌侧 C.跖侧 D.内侧 5.与纵轴平行且与地面相垂直的正中切面称(A ) A. 正中矢状面 B.侧矢状面 C.额切面 D.横切面 6.可将畜体分成背腹两部的切面是(C ) A.矢状面B.正中矢状面C.额切面D.横切面 7.可将畜体分成左右两部分的切面是(D) A.矢状面B.斜切面C.额切面D.横切面 8.四肢远离躯干的一端称(B ) A.远端 B.近端 C.背侧 D.腹侧 三、多选题

1.下列的切面中有哪些切面把躯体切为不对称的两半(ACDE) A.矢状面 B. 正中矢状面 C.额切面 D.横切面 E.斜切面 2.前肢的后方和后肢的后方称为(CD) A.背侧 B.腹侧 C.掌侧 D.跖侧 E.内侧 3.额切面的上方和下方称(AD ) A.背侧 B.内侧 C.外侧 D.腹侧 E.正中面 4.下列的切面中有哪些切面可以把躯体切为左右两半(AB) A.矢状面 B. 正中矢状面 C.额切面 D.横切面 E.斜切面 四、判断改错,在你认为正确的括号内添"+",在认为错误的括号内添"-",并改正错误。1.离正中矢状面近者称内侧(+ )。 2.横切面的前方称尾端(—)。 3.四肢的背侧均是四肢的前方(+ )。 4.四肢距躯干近的一端称远端(—)。 5.后肢的后方称为跖侧(+)。 6.四肢距躯干近的一端称近端。(+) 五、填空 1.作解剖定位时,前后肢的后面分别称为掌侧和跖侧。 2.横断面的前后分别称前面/颅侧和后面/尾侧。 3.水平面的上方和下方分别称背侧部和腹侧部。 4.前肢的掌侧和后肢的跖侧分别称和。 5.前肢的后方和后肢的后方分别称掌侧面和跖侧面。 六、简答 1.试述畜体主要部位名称。 头部:颅部:躯干:颈部前肢: 面部:背胸部四肢 腰腹部后肢:

C语言标准库函数

标准库函数 本附录描述了标准C支持的库函数①。使用此附录时,请记住下列要点。 为了简洁清楚,这里删除了一些细节。如果想看全部内容,请参考标准。本书的其他地方已经对一些函数(特别是printf函数、scanf函数以及它们的变异函数)进行了详细介绍,所以这里 只对这类函数做简短的描述。为了获得关于某个函数更详细的信息(包括如何使用这个函数的示 例),请见函数描述右下角用楷体列出的节号。 每个函数描述结尾都有其他与之相关函数的列表。相似函数非常接近于正在描述的函数。相关函数经常会和在描述的函数联合使用。(例如,calloc函数和realloc函数与malloc函数“类似”, 而free函数则与malloc函数“相关”。)也可参见的函数和在描述的函数没有紧密联系,但是却 可能有影响。 如果把函数行为的某些方面描述为由实现定义的,那么这就意味着此函数依赖于C库的实现方式。 函数将始终行为一致,但是结果却可能会由于系统的不同而千差万别。(换句话说,请参考手册了 解可能发生的问题。)另一方面,未定义的行为是一个不好的消息:不但函数的行为可能会因系统 不同而不同,而且程序也可能会行为异常甚至崩溃。 中许多函数的描述提到了定义域错误和取值范围错误。在本附录的末尾对这两种错误进行了定义。 601 下列库函数的行为是会受到当前地区影响的: 字符处理函数(除了isdigit函数和isxdigit函数)。 格式化输入/输出函数。 多字节字符和字符串函数。 字符串转换函数。 Strcoll函数、strftime函数和strxfrm函数。 例如,isalpha函数实际上检测字符是否在a到z之间或者在A到Z之间。在某些区域内也把其他字符看成是字母次序的。本附录描述了在"C"(默认的)地区内库函数的行为。 一些函数实际上是宏。然而,这些宏的用法和函数完全一样,所以这里不对它们区别对待。 abort 异常终止程序 void abort(void); 产生SIGABRT信号。如果无法捕获信号(或者如果信号处理函数返回),那么程序会异常 终止,并且返回由实现定义的代码来说明不成功的终止。是否清洗输出缓冲区,是否关 闭打开的流,以及是否移除临时文件都是由实现定义的。 相似函数exit函数、raise函数 相关函数assert函数、signal函数 也可参见atexit函数 26.2节abs 整数的绝对值 int abs(int j); 返回整数j的绝对值。如果不能表示j的绝对值,那么函数的行为是未定义的。 ①这些材料经ANSI许可改编自American National Standards Institude ANSI/ISO 9899?1990。这个标准的副本可从 ANSI购买(ANSI, 11 West 42nd Street, New York, NY 10036)。

系统解剖学试题

系统解剖学试题(A) 一单选题40分(每题0.5分)1.通过卵圆孔的结构是: A.三叉神经B.下颌神经C.眼神经D.下颌动脉E.上颌动脉 2.开口于中鼻道的鼻旁窦有:A.上颌窦和蝶窦 B.额窦和蝶窦 C.筛窦和蝶窦 D.筛窦前群、中群、额窦、上 颌窦 E.筛窦后群、中群、额窦、上 颌窦 3.卵圆孔位于: A.额骨B.颞骨C.蝶骨D.筛骨E.上颌骨 4.关节腔内有关节盘的关节是:A.肩关节B.胸锁关节C.肘关节D.髋关节E.踝关节 5.不属于肱骨的结构: A.肱骨大结节B.外科颈C.肱骨滑车D.冠突E.内上髁 6.不属于自由上肢骨的是:A.肱骨B.尺骨C.桡骨D.锁骨 E.掌骨 7.滑膜关节的辅助结构是:A.囊内韧带、囊外韧带、关节盘、关节唇 B.关节囊、关节软骨、关节盘C.关节囊、囊内韧带、囊外韧带 D.关节软骨、关节盘、关节唇E.无上述情况 8.关于前纵韧带正确的描述是:A.为连接相邻两椎弓间的韧带B.可防止椎间盘向后脱出C.可防止脊柱过伸 D.细长,上起自枢椎 E.下达第2腰椎水平 9.关于椎间盘正确的描述是:A.位于脊柱所有椎体之间B.由纤维环和髓核构成 C.属间接连接 D.髓核最易向后方脱出 E.在中胸部最厚 10.位于各椎体的后面,几乎纵贯脊柱全长的韧带是: A.黄韧带B.前纵韧带C.后纵韧带D.项韧带E.棘上韧带 11.关于胸锁乳突肌正确的描述是:A.起自胸骨锁骨端,止于乳突B.为颈部深层肌 C.由颈神经支配 D.双侧收缩时可使头后仰E.无上述情况 12.通过肩关节囊内的肌腱是:A.冈上肌腱 B.冈下肌腱 C.肱三头肌长头腱 D.肱二头肌长头腱 E.肱二头肌短头腱 13.构成膝关节的骨有: A.股骨和胫骨 B.股骨、胫骨、腓骨 C.腓骨、胫骨、股骨、髌骨

《系统解剖学》问答题及参考答案

《系统解剖学》问答题及参考答案 1、列表说明鼻旁窦的名称、位置及开口部位。 2、列表说明口腔的三对大唾液腺的名称、位置和开口部位。 3、胃由哪些动脉供血?这些动脉来源于何处? 4、肝细胞分泌的胆汁依次经哪些途径最后排入十二指肠腔? 肝细胞分泌的胆汁入毛细胆管经肝内的各级胆管流入肝左、右管,出肝门后流入肝总管,未进食时则经胆囊管流入胆囊储存浓缩,当进食时,Oddi's括约肌舒张,胆囊平滑肌收缩,胆汁从胆囊经胆囊管流入胆总管,经肝胰壶腹、十二指肠大乳头流入十二指肠腔。 5、试述各心腔的出入口名称、心内瓣膜的名称及附着部位。 右心房的入口为上、下腔静脉口和冠状窦口;出口为右房室口。右心室的入口为右房室口;出口为肺动脉口。左心房的入口为左肺上、下静脉口,右肺上、下静脉口;出口为左房室口。左心室的入口为左房室口;出口为主动脉口。三尖瓣附于右房室口;二尖瓣附于左房室口;肺动脉瓣附于肺动脉口;主动脉瓣附于主动脉口。(下腔静脉瓣附于下腔静脉口;冠状窦瓣附于冠状窦口) 6、在哪些部位可摸到动脉的博动?摸到的分别是哪些动脉?外耳门前方可摸到颞浅动脉;下颌底、咬肌前缘可摸到面动脉;环状软骨弓后外侧、胸锁乳突肌前缘或摸到颈总动脉;锁骨上大窝可摸到锁骨下动脉;股二头肌内侧沟或摸到肱动脉;肘窝内、股二头肌腱内侧可摸到肱动脉;肱桡肌腱与桡侧腕屈肌腱之间可摸到桡动脉;腹股沟韧带中点稍下方可摸到股动脉;内、外踝经足背连线的中点处可摸到足背动脉。 7、试说明胸导管的起止、主要走行、收纳的淋巴干和收纳淋巴液的范围。 通常起于第一腰椎前主的乳糜池经主动脉裂孔入胸腔,在食管后方沿脊柱右前方上行,至第5胸椎附近向左侧偏斜,向上出胸廓上口达颈根部注入左静脉角,它收纳左右腰干、肠干、左支气管纵隔干、左颈干、左锁骨下干,它收纳下半身和上半身左侧部的淋巴。 8、房水由何处产生?依次经哪些途径回流至静脉? 由睫状体产生,从后房经瞳孔至前房,由虹膜角膜角入巩膜静脉窦,经睫前静脉回流至眼静脉。 9、试述躯干、上、下肢的意识性本体感觉和精细触觉传导路(三级神经元的胞体位置、三级纤维的名称和大致的走行、交叉的名称和位置、投射的部位) 第1级神经元胞体在脊神经节内,第1级纤维经脊神经后根入脊髓后索内上行称薄、楔束;第2级神经元胞体在薄、楔束核内,第2级纤维在延髓的中央管腹侧

家畜解剖及组织胚胎学试题答案

家畜解剖及组织胚胎学参考答案 一、单项选择题 1B, 2.B, 3.C, 4.B, 5.B, 6.C, 7.C, 8.D, 9.E, 10.D 二、双项选择题 1BD, 2.BE, 3.AE, 4.BE, 5.AD, 6.CE, 7.BD, 8.BC, 9.CD, 10.AE 三、多项选择题 1ABCE, 2.ABE, 3.ABCE, 4.BCD, 5ACDE, 6.BCD, 7.ABCD, 8.ABDE, 9.ACDE, 10.ABC 四、填空题 1中央静脉和窦状隙、肝细胞、槟榔肝 2凝固性坏死、液化性坏死、坏疽、凋亡 3中性粒细胞、单核巨噬细胞、嗜酸性粒细胞 4浸润性生长、弥散性生长 5支气管肺炎、纤维素性肺炎、间质性肺炎 6沙门氏菌、卵巢炎 7盲肠扁桃体、固膜性炎、出血 五、判断题 1.√, 2.ⅹ, 3.ⅹ,, 4. ⅹ, 5. √ 六、简答题 1、在活体的心血内血液凝固形成固体质块的过程称为血栓形成,形成的固体质块称为血栓 由于缺血引起的组织或器官的坏死叫梗死.即梗死是坏死的一种. 2、变性是指细胞和组织损伤所引起的一类形态学变化,其表现为细胞或间质内出现异常物质或正常物质数量过多.发生变性的细胞和组织的功能降低. 坏疽是指组织坏死后受到外界环境影响和不同程度的腐败所引起的一种变化. 3、异型性是指肿瘤的细胞形态和组织结构与来源的正常组织的不同程度的差异.异型性是肿瘤异常分化在形态上的表现. 肿瘤胚胎抗原是肿瘤细胞在蛋白质的合成代谢过程中,可以合成肿瘤蛋白,这些肿瘤蛋白与胚胎蛋白有共同的抗原性,称为肿瘤胚胎抗原. 4、机化是指坏死组织,炎性渗出物,血凝块等病理性产物被肉芽组织取代的过程. 化生是指已分化成熟的组织在环境条件改变的情况下,在形态和功能上转变为另一种组织的的过程. 七、问答题 1、纤维素性肺炎常波及几个大叶或全部大叶,其病变具有较明显的发展时期,依次是充血水肿期,红色肝变期,灰色肝变期,消散期四个时期.充血水肿期时,肺脏色彩变红,质度较实,切面有较多液体流出,在水中半沉浮,镜检见肺泡壁毛细血管充血,肺泡内有多量红细胞渗出及少量炎细胞和上皮样细胞;红色肝变期时,肺质变实如肝,色彩仍呈红色,切面有小颗粒状突起,在水中完全下沉.镜检见肺泡壁毛细血管充血,肺泡腔内有多量红细胞和纤维素渗出,以及少量中性粒细胞和上皮细胞;灰色肝变期时,眼观变化除色彩呈灰白色外,其它同红色肝变期.镜检肺泡壁毛细血管充血消失,肺泡腔内渗出的红细胞减少,中性粒细胞渗出增多.在消散期,肺组织较柔软,呈灰白色,切面可挤出浓样物质.镜检,在肺泡内渗出的中性粒细胞崩解,纤维素被分解为颗粒状,并逐渐被吸收 2、单纯型猪瘟的病变特征是出血和败血症.出血可发生于皮肤,粘膜和浆膜等部位,在皮肤见出血点或出血斑,肾盂粘膜,膀胱粘膜,消化道粘膜见出血点或出血斑,心外膜,肠浆膜可见出血点或出血斑.败血症变化表现为:急性出血性淋巴结炎,外观紫红色,切面暗红色或红黄相间的大理石样;急性坏死性脾炎,脾不肿大,边缘见暗红色出血性梗死灶;消化道扁桃体呈固膜性炎,有时伴有出血,肠壁淋巴滤泡肿胀或呈固膜性炎;泌尿系统的肾脏呈出血性肾小球肾炎,肾表面和切面见出血点;中枢神经出现非化脓性脑脊髓炎.

系统解剖学题库(干货)

系统解剖学题库 试题答案列表系统解剖学题库(一)题号:1/1033 答题指南:题下选项可能多个正确,只能选择其中最佳的一项 有关骨的构造的正确的说法是 A.骨干由松质构成 B.骨骺由密质构成 C.骨膜有血管无神经 D。骨髓有神经无血管 E。以上全不对 答案:E 题号:2/1033 有关红骨髓正确的是 A.成人存在于髓腔内 B.不存在于板障内 C.胎儿期造血,成年期不造血 D.髂骨、胸骨、椎骨内终生保存红骨髓 E.以上全不对 答案:D 题号:3/1033 有关骨髓腔正确的是 A.位于骨骺内 B。位于长骨的骨干内 C.成人骨髓腔内含红骨髓 D.小儿骨髓腔内含黄骨髓 E。以上全不对 答案:B 题号:4/1033

黄骨髓存在于 A。所有骨的内部 B.幼儿长骨骨干内部 C.成人长骨骨干内部 D。幼儿长骨骨骺内部 E.成人扁骨内部 答案:C 题号:5/1033 颈椎正确的是 A.均有椎体及椎弓 B.1~2颈椎无横突孔 C。棘突末端都分叉 D。第6颈椎棘突末端膨大成颈动脉结节E。第7颈椎又名隆椎 答案:E 题号:6/1033 椎骨正确的是 A。是短骨 B.椎体之间有椎间关节相连 C。相邻椎弓之间构成椎间孔 D.椎体与椎弓共同围成椎孔 E.无以上情况 答案:D 题号:7/1033 椎骨正确的是 A。所有颈椎棘突分叉 B。第6颈椎称隆椎 C.腰椎关节呈冠状位 D.腰椎棘突宽而短呈板状 E。胸椎椎体都有一完整肋凹 答案:D

题号:8/1033 关于椎体的说法,错误的是A.呈短圆柱状 B.位于椎骨前部 C.主要由松质构成 D.表面有一层密质 E.椎体中央有椎孔 答案:E 题号:9/1033 关于椎弓的说法,错误的是A。位于椎体的后方 B.呈半环状 C.与椎体共同围成椎孔D。由一对椎弓板构成 E.相邻椎弓间有黄韧带 答案:D 题号:10/1033 关于胸椎的特点是 A.横突上有横突孔 B.棘突分叉 C.上、下关节突不明显 D.棘突水平伸向后方 E.椎体侧面后部有肋凹 答案:E 题号:11/1033 颈椎特有的结构是 A。椎孔呈三角形 B.椎弓 C.关节突 D.横突 E.横突孔

系统解剖学期末试题大全

系统解剖学期末试题 一、选择题(每题1分,共45分) A型题(每题备有5个答案,请选出一个最佳答案,在答题卡的相应部位涂黑。(每题1分,共36分) l、精索内不含有 A、睾丸动脉 B、蔓状静脉丛 C、射精管 D、神经 E、淋巴管 2、不参与脊柱构成的是() A、椎间盘 B、前纵韧带 C、后纵韧带 D、黄韧带 E 、齿状韧带 3、何者不是出入肝门的结构( ) A、肝静脉 B、门静脉 C、肝管 D、肝固有动脉 E、淋巴管 4.屈髋关节伸膝关节的肌是 A.缝匠肌 B.股直肌 C.股中间肌 D.股薄肌 E.股二头肌 5、掌深弓 A. 桡、尺两动脉终支构成 B.位于指浅、深屈肌腱之间 C. 弓顶位于掌浅弓近侧1~2cm处 D.发出三条指掌侧总动脉与掌浅弓吻合 E.以上都不对 6、腋淋巴结群中,直接引流乳房大部分淋巴液的是 A.外侧群 B.中央群 C.腋尖群 D.肩胛下群(后群) E.胸肌群(前群) 7、关于肘关节的叙述,哪一项是正确的 A.由肱骨下端和尺骨上端构成 B.由肱骨下端和桡骨上端构成 C.由桡骨上端和尺骨上端构成 D.由肱尺关节、肱桡关节和桡尺近侧关节构成

E.其下界为十二指肠球部 8、肝门静脉 A.是出肝的静脉 B.从肝脏面的横沟处出肝 C.经过肝十二指肠韧带内 D.借胃右静脉与下腔静脉汇合 E.以上都不是 9、关于阑尾,下列哪项叙述是错误的 A.阑尾的远端是盲端 B.其近端开口于回盲瓣下方2~3cm C.阑尾的位置可随盲肠位置的变异而变异 D.阑尾动脉为富有侧支吻合的动脉 E.阑尾根部是三条结肠带会聚处 10、下列哪项不是腹主动脉成对的脏支 A.肾动脉 B.腰动脉 C.睾丸动脉 D.肾上腺中动脉 E.卵巢动脉 11、下列骨中哪块属于脑颅骨 A.犁骨 B.下颌骨 C.腭骨 D.蝶骨 E.颧骨 12、股四头肌不包括 A.股二头肌 B.股直肌 C.股中间肌 D.股外侧肌 E.股内侧肌 13、肩胛骨下角平对 A.第2肋 B.第4肋 C.第5肋 D.第6肋 E.第 7肋 14、关于胆囊的描述不正确的是 A.有储存和浓缩胆汁的功能 B.胆囊结石多停留于底部 C.胆囊底稍突出于肝下缘 D.右锁骨中线与右肋弓的交点为底的体表投影点 E.其毗邻左为幽门,右为结肠右曲 15、肱三头肌 A.伸前臂 B.屈前臂 C.伸小腿 D.屈小腿 E.伸腕

家畜解剖学习题库

家畜解剖学复习题 第一单元概论 一、单选 1.可将畜体分成前后两部的切面是( D ) A.矢状面 B.正中矢状面 C.额面 D.横断面 E.水平面 2.四肢靠近躯干的一端称( B ) A.远端 B.近端 C.背侧 D.腹侧 E. 内侧 3.四肢远离躯干的一端称( A ) A.远端 B.近端 C.背侧 D.腹侧 E.外侧 4.前肢的前方称(A ) A.背侧 B.掌侧 C.跖侧 D.内侧 E.外侧 5.后肢的前方称( A ) A. 背侧 B.掌侧 C.跖侧 D.内侧E外侧 6. 与纵轴平行且与地面相垂直的正中切面称( A) A. 正中矢状面 B.侧矢状面 C.额面 D.横断面 E.水平面 7.前肢的后方称为( C ) A.背侧 B.腹侧 C.掌侧 D.跖侧 E.内侧 8.后肢的后方称为(D) A.背侧 B.腹侧 C.掌侧 D.跖侧 E.内侧 9.额面的上方称(A) A.背侧 B.内侧 C.外侧 D.腹侧 E.外侧 第二、三、四单元骨骼、关节和肌肉 一、单选 1.棘突最长的椎骨是( B ). A.颈椎 B.胸椎 C.腰椎 D.荐椎 E.尾椎 3.横突最长的椎骨是( C ). A.颈椎 B.胸椎 C.腰椎 D.荐椎 E.尾椎 4.具有横突孔的椎骨是(A ). A.颈椎 B.胸椎 C.腰椎 D.荐椎 E.尾椎 5.畜体内经常愈合为一体的椎骨是(D). A.颈椎 B.胸椎 C.腰椎 D.荐椎 E.尾椎 6.下列关节中无副韧带固定的关节是( A ). A.肩关节 B.肘关节 C.腕关节 D.指关节 E.跗关节 7.下列关节中具有关节盘(半月板)的关节是( E ).

A.髋关节 B.股髌关节 C.跗关节 D.趾关节 E.股胫关节 8.下列关节中关节角向前的是(B). A.肩关节 B.髋关节 C.腕关节 D.股髌关节 E.股胫关节 9.下列关节中关节角向后的是( D ). A.髋关节 B.肘关节 C.跗关节 D.腕关节 E.指关节 10.部分头骨内形成的含气空腔称(C )。 A.鼻腔 B.口腔 C.副鼻窦 D.颅腔 E.孔 11.家畜颈椎数目均为(C)个。 A.5B.6C.7D.8 E.9 12.牛的胸椎数目为(B)个。 A.17B.13C.14D.18 E.15 13. C7T18L6S5Cy14-21是( B )的脊柱式 A.牛 B.马 C.猪 D.羊 E.狗 14.肘窝位于(A) A.臂骨B.前臂骨C.腕骨D.掌骨 E.胫骨 15.后肢骨中仅有一块骨构成的是(A). A.股骨B.小腿骨C.跗骨D.跖骨 E.趾骨 16. 构成腹壁的肌肉有(D)层。 A.1B.2C.3D.4 E.5 17. 髋骨由(C)块骨愈合而成。 A.1B.2C.3D.4 E.5 18. 牛的腰椎数目为(B)个。 A.5B.6C.7D.13 E.18 19. 下列肌肉中属于肩关节的伸肌是(A)。 A. 臂头肌B.背阔肌C.三角肌D.腹侧锯肌 E. 胸肌 20. 下列肌肉中属于肘关节的伸肌是(A)。 A.臂三头肌B.臂二头肌C.臂肌D.股二头肌 E.斜方肌 21. 下列肌肉中属于膝关节的最主要伸肌是(B)。 A.股二头肌B.股四头肌C. 臀浅肌D.半膜肌 E.臀深肌 22 构成颈静脉沟的上界的肌肉是( A ),下界是(B ) A.臂头肌 B.胸头肌 C.肩胛横突肌 D.胸肌 E.胸骨甲状舌骨肌 23.位于胸、腰椎棘突与横突和肋骨椎骨端所形成的夹角内,自髂骨、荐骨向前,伸延至颈部的 肌肉是(A )

--执业兽医家畜解剖学习题库

家畜解剖学习题库 概论 一、名词解释 1.横切面 2.掌侧 3.跖侧 4.矢状面 5.额切面 二、单选 1.可将畜体分成前后两部的切面是() A.矢状面 B.正中矢状面 C.额切面 D.横切面 2.四肢靠近躯干的一端称() A.远端 B.近端 C.背侧 D.腹侧 3.前肢的前方称() A.背侧 B.掌侧 C.跖侧 D.内侧 4.后肢的前方称() A. 背侧 B.掌侧 C.跖侧 D.内侧 5.与纵轴平行且与地面相垂直的正中切面称() A. 正中矢状面 B.侧矢状面 C.额切面 D.横切面 6.可将畜体分成背腹两部的切面是() A.矢状面 B.正中矢状面 C.额切面 D.横切面 7.可将畜体分成左右两部分的切面是() A.矢状面 B.斜切面 C.额切面 D.横切面 8.四肢远离躯干的一端称() A.远端 B.近端 C.背侧 D.腹侧 三、多选题 1.下列的切面中有哪些切面把躯体切为不对称的两半() A.矢状面 B. 正中矢状面 C.额切面 D.横切面 E.斜切面 2.前肢的后方和后肢的后方称为() A.背侧 B.腹侧 C.掌侧 D.跖侧 E.内侧 3.额切面的上方和下方称() A.背侧 B.内侧 C.外侧 D.腹侧 E.正中面 4.下列的切面中有哪些切面可以把躯体切为左右两半() A.矢状面 B. 正中矢状面 C.额切面 D.横切面 E.斜切面 四、判断改错,在你认为正确的括号内添"+",在认为错误的括号内添"-",并改正错误。1.离正中矢状面近者称内侧()。 2.横切面的前方称尾端()。 3.四肢的背侧均是四肢的前方()。 4.四肢距躯干近的一端称远端()。 5.后肢的后方称为跖侧()。 6.四肢距躯干近的一端称近端。() 五、填空

C语言标准库函数2012

常用C语言标准库函数2012 C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。 1.测试函数 Isalnum 原型:int isalnum(int c) 功能:测试参数c是否为字母或数字:是则返回非零;否则返回零 头文件:ctype.h Isapha 原型:int isapha(int c) 功能:测试参数c是否为字母:是则返回非零;否则返回零 头文件:ctype.h Isascii 原型:int isascii(int c) 功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零 头文件:ctype.h Iscntrl 原型:int iscntrl(int c) 功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零 头文件:ctype.h Isdigit 原型:int isdigit(int c) 功能:测试参数c是否为数字:是则返回非零;否则返回零。 头文件:ctype.h Isgraph 原型:int isgraph(int c) 功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.h Islower 原型:int islower(int c) 功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.h

Isprint 原型:int isprint(int c) 功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零 头文件:ctype.h Ispunct 原型:int ispunct(int c) 功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.h Isupper 原型:int isupper(inr c) 功能:测试参数c是否为大写字母:是则返回非零;否则返回零 Isxdigit 原型:int isxdigit(int c) 功能:测试参数c是否为十六进制数:是则返回非零;否则返回零 2.数学函数 abs 原型:int abs(int i) 功能:返回整数型参数i的绝对值 头文件:stdlib.h,math.h acos 原型:double acos(double x) 功能:返回双精度参数x的反余弦三角函数值 头文件:math.h asin 原型:double asin(double x) 功能:返回双精度参数x的反正弦三角函数值 头文件:math.h atan 原型:double atan(double x) 功能:返回双精度参数的反正切三角函数值 头文件:math.h atan2 原型:double atan2(double y,double x) 功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.h cabs

《系统解剖学》题库试题2

温州医学院_________学年第_________学期 年级_________专业《统解剖学》试卷() (卷面100分,占总成绩______%) 考试日期: 年 月 日 考试时间: 考试方式:闭卷 余试题的答案写在试卷上。 2.请在答题卡上填涂好姓名、班级、课程、考试日期、试卷类型和考 号。试卷类型划A ;考号为学号,请填涂在“考号”的后九个空格 并划线。 3.答题卡填涂不符合规范者,一切后果自负。 4.所有试卷不得带出考场之外,否则以作弊论处。 5.考试进行到70分钟时,监考老师先收答题卡;考试结束时,再收试卷,并以班级为单位,按学号顺序整理好。 一.名词解释(本大题共五题,每题2分,共10分) 1. 椎管(构成1分,内容1分) 2. 胆囊三角(部位,境界) 3. 局部淋巴结

4. 内侧丘系 5. 神经核 二、填空题(本大题共20个空格,每个空格0.5分,共10分) 1. 低头时,项部突出最明显的是第颈椎棘突;胸骨角两侧的肋切迹与肋软骨连接;肩胛骨下角约平对肋或肋间隙。 2. 腹外斜肌腱膜下缘增厚,张于髂前上棘与耻骨结节之间,称为;腹外斜肌腱膜在耻骨结节外上方的三角形裂口为。 3. 膈肌上的主动脉裂孔约在 椎水平、腔静脉裂孔约在、椎水平、 食管裂孔约在椎水平。 4. 咽峡由、、和共同围成。 5.输精管较长,根据其行程可分为:_____ 部,______ 部,______ 部和_______ 部。 6. 膝跳反射的感受器位于,传入神经是,传出神经是,效应器是。 。 三、问答题((本大题共四题,共20分) 1. 简述子宫的位置、形态(3分)和分部(3分)。

家畜解剖学答案学习资料

家畜解剖学作业题 作业题(一) 一、单项选择题(20个小题,每题2分,共40分) 1、骨的形态不同,作用也有差异,头骨的骨多为(C)。 A、长骨 B、短骨 C、扁骨 D、规则骨 2、下列哪个结构属于肩胛骨(A)。 A、盂上结节 B、臂肌沟 C、外侧结节 D、鹰嘴窝 3、限制关节活动的结构是( D )。 A、关节面 B、关节囊 C、关节软骨 D、韧带 4、肋由肋骨和肋软骨作成,牛的真肋有几对( B )。 A、13对 B、8对 C、5对 D、10对 5、头骨有颅骨和面骨之分,下面构成颅骨的有(A)。 A、枕骨 B、泪骨 C、腭骨 D、颧骨 6、下列关节属于多轴单关节的是(D)。 A、腕关节 B、指关节 C、肘关节 D、肩关节 7、下列关节中,不动的关节是(C)。 A、膝关节 B、髋关节 C、荐髂关节 D、跗关节 8、包围在肌纤维外面的膜称为(B)。 A、肌膜 B、肌内膜 C、肌外膜 D、肌束膜 9、三角肌的作用是(B)。 A、伸肩关节 B、屈肩关节 C、内收臂骨 D、外展臂骨 10、紧贴在脑和脊髓表明的结缔组织膜叫( C )。 A、硬膜 B、蛛网膜 C、软膜 D、浆膜 11、肋的对数和胸椎的数目一致,牛肋的对数是( A )。 A、13对 B、14对 C、18对 D、14-15对 12、体腔包括胸腔、腹腔和骨盆腔,骨盆腔包括( D )。 A、肺脏 B、空肠 C、肾脏 D、直肠 13、当听到巨大的声音时,应该张开口,平衡鼓膜两侧的气压。起主要作用的是( B )。 A、咽 B、咽鼓管 C、外耳道 D、中耳 14、初生犊牛因吃奶,特别发达的胃是( D )。 A、瘤胃 B、网胃 C、瓣胃 D、皱胃 15、防止心脏过度扩张的是(C)。 A、乳头肌 B、心肌柱 C、心横肌 D、心房肌 16、以下属于小肠的是(A)。

C语言常用函数手册

1.分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F) 返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n') 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 2.数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度

系统解剖学测试题

第 1 章细胞 自测试题 一、填空题 1、在电镜下,细胞膜分为、、、三层结构,内、外 两层、;中层为、。这三层结构 是一切生物膜所具有的共同特性,称之为。 2、在细胞分裂间期,分子的螺旋化程度不同,螺旋紧密的部分 呈颗粒或团块状,光镜下可着色称,而松散伸长的部分则在 光镜下不着色,称。 3、在细胞期,染色质的DNA分子的双股螺旋全部旋紧、变粗、 变短,成为粗棒状的。 4、人体细胞最主要的分裂方式是,通常分为四个期, 即、、和。 5、细胞是一切生物体和的。 6、“液态镶嵌模型学说”认为细胞膜是由分子和其中镶嵌有 分子构成。 7、散在分布于细胞质中、并且具有特定的形态与功能的结构称。 它们主要包括、、、、、、、、和等。 8、内质网可分为和。前者的功能主要是合成。 后者主要参与、、等功能。 9、为细胞提供能量的细胞器为;参与溶酶体形成的细胞器主要是。 二、选择题 (一)A 型题

1.“液态镶嵌模型学说”认为细胞膜的分子结构为 A.内、外各一层脂类分子,中间为一层 蛋白质和表面的多糖分子 B.内、外各一层蛋白质,中间为一层脂 类分子 C.双层脂类分子、镶嵌其中的蛋白质分 子 D.外侧两层为蛋白质、内层脂类分子和 表面的多糖分子 E .外侧两层为脂类分子、内层为蛋白质 分子和表面的多糖分子 2.下列哪一种结构不属于细胞器: A.线粒体 B.核糖体 C.溶酶体 D.内质网 E.分泌颗粒 3.在合成分泌蛋白质旺盛的细胞中,下列 哪些细胞器发达: A丰富的溶酶体 B.发达的高尔基复合体和丰富的粗面内 质网 C.发达的高尔基复合体和丰富的滑面内 质网 D大量的核糖体和丰富的线粒体 E.丰富的滑面内质网和溶酶体 4.在细胞分裂间期,光镜下可见细胞核 内的主要嗜碱性物质是: A.常染色质 B.常染色质和异染色质 C.异染色质 D.异染色体 E.性染色质: 5.人体正常染色体数目为 A..44对常染色体,一对性染色体 B.22对常染色体,一对性染色体 C.22对常染色体,一对Y染色体 D.23对常染色体,一对X 染色体 E..23对常染色体,一对性染色体 6.酶原颗粒的形成与哪一种细胞器有关: A.溶酶体 B.线粒体 C.高尔基复合体 D.细胞骨架 E.滑面内质网 7.遗传物质存在于下列哪种结构中: A.核仁及染色质 B.核仁及核液 C.核膜及核液 D.核染色质或染色体 E.核膜及核仁 8.下列哪一种结构与维持细胞的形态无. 关. A.微体 B.微丝 C.中间丝 D.微管 E.以上都有关 9.以下哪一种物质或结构不属于 ...细胞内包含物 A.糖元颗粒 B.分泌颗粒 C.脂滴 D.色素颗粒 E.溶酶体

动物解剖学答案

动物解剖学答案 1、名词解释: 1、鼻旁窦:在一些头骨内外骨板之间的腔洞,可增加头骨体积 而不增加重量,因其直接或间接与鼻腔相通,故称鼻旁窦。 2、矢状面:指沿纵轴把畜体分成左、右两部分的切面。从中线 切开称正中矢面。 3、消化:饲料在消化道内分解为可被吸收利用状态过程。 4、门脉循环:从胃、肠、脾收收来的血液经门静脉进入肝脏窦 状隙循环,然后汇集成数条肝静脉注入后腔静脉过程。 5、反射弧:神经对内外环境剌激所作出的反应。它包括感受 器,传入神经、中枢、传出和效应器五个方面。 6、肺静脉:由肺内毛细血管网汇合而成,最后汇合成6~8支肺静脉,由 肺门出肺后注入左心房。 7、呼吸:指家畜不断吸入氧呼出二氧化碳过程。 8、肾乳头:在肾皮质中,肾锥体顶部钝圆,称肾乳头。 9、隐睾:动物出生后,睾丸没有下降到阴囊内,而是一个或者两个 留在腹腔内。 10、脉络丛:填空题: 1、关节、肌肉、骨 2.骨膜、骨质、骨髓、血管和神经 3.腹外斜肌、腹内斜肌、腹横肌、腹直肌 4.管状器官、实质器官 5.肾,膀胱、输尿管、尿道 6.颌下淋巴结,颈前淋巴结、髂下淋巴结7、12对、迷走神经8.嗉囊9.硬膜外腔10、背侧索、腹侧索、外侧索11膈曲,胸骨曲和骨盆曲12感觉神经元.传入神经元、传出神经元13. 间脑中脑、脑桥、延脑间脑 14.泄殖腔 15门静脉 三、单选题: 1. C 2.A 3. B 4.D 5. B 6. D 7. C 8. B 9. B 10. B 11. D 12. D 13A 14. A 15. D 六、 判断并改错,在括号内添"或",并改正错误。(每小题1.0

分,共8分) 1. 猪胃属单胃,其胃粘膜全部为有胃腺,分贲门腺区、胃底腺区和幽门腺区。() 2. 体循环起于右心室,终于左心室。() 3. 神经纤维传导冲动的速度是与其直径相关的,直径越大,则传导速度越慢。() 4. 肌胃和嗉囊是禽类对食物进行化学消化的主要器官。( ) 5. 牛肾与猪肾一样均属于表面光滑的乳头肾。() 6.家畜胎儿的心脏房间隔上有一个卵园窝,左右心房互不相通。( ) 7. 臂神经丛由六、七、八对颈神经的腹侧支和一、2对胸神经的腹侧支 组成。(") 8.胎儿脐静脉中血液含氧量比脐动脉中的高。(") 七、问答题(25分) 1、关节的基本构造如何?并说出家畜前后肢的主要关节。(5分)答:关节由关节面,关节腔, 关节囊, 关节软骨和血管、神经构成。(2分)前肢的主要关节从上到下有肩关节,肘关节,腕关节和指关节, (1.5分)后肢的主要髋关节,膝关节,跗关节,趾关节。(1.5分) 2、猪肝的分叶情况如何?肝脏有哪些机能?( 5分) 答:猪肝较发达,分左外叶,左内叶,右外叶和右内叶其中右外叶上有尾叶,右内叶上有方叶,胆囊位于方叶上。(2.5分)肝脏主要功能有分泌胆汁,合成物质,贮存物质,形成尿素,解毒,和参与体内防卫的作用,在胎儿时期具有造血功能。(2.5分) 3、写出体循环和肺循环的径路。(5分) 答:①体循环径路:血液从左心室输出→经主动脉及其分支→到全身各细胞组织→毛细血管网进入营养物质交换和代谢物质交换→小、中、大静脉及前后腔静脉→返回心脏的右心房。(2.5分 ②肺循环的径路:血液从右心室输出→经肺动脉及其分支→到肺泡组织→毛细血管网进行气体和代谢物质交换→汇集成多条肺静脉返回心

C语言函数大全(p开头).docx

函数大全(p开头) 61 函数名:parsfnm 功能:分析文件名 用法:char *parsfnm (char *cmdline, struct fcb *fcbptr, int option); 程序例: #include #include #include #include int main(void) { char line[80]; struct fcb blk; /* get file name */ printf(M Enter drive and file name (no path - ie. a:file.dat)\n M); gets(line); /* put file name in fcb */ if (parsfnm(line, &blk, 1) == NULL) printf(M Error in parsfm call\n H); else printf("Drive #%d Name: %1 ls\n", blk.fcb_drive, blk.fcb_name); return 0; 函数名:peek 功能:检查存储单元 用法:int peek(int segment, unsigned offset); 程序例: #include #include #include int main(void) int value = 0;

prinif(=The current sUHus of your keyboard is,n=); value H Peek(oxoo4p0x0017) 八 if (value 1) P S-二 f(--Right shift onm=)八 else printaRight shift 05n =) 八 if (value 2) primf(=Lefr shift onvr.r else prin-fTLen shift O 51T ); if (value &. 4) printf(=con=rol key on\n=)_ else p r i n .s =c o =r o 】 key off\n=)八 if (value Rp 8) printf(=Alr key on\n=)一 else p r i n s ->-t key 03=)

相关主题