第6章利用数组处理批量数据(1)汇编
C程序设计错误题库汇集
《C程序设计》错误完全汇集谭浩强《C程序设计》(第四版)错误不完全汇集 (1)前言 (25)p12 (25)p16 (26)第一章程序设计和C语言 (27)1.2 什么是计算机语言 (27)p1 (27)p2 (27)p2 (27)p3 (27)p3 (27)1.3 C语言的发展及其特点 (29)p4 (29)p4 (30)p4 (31)p5 (32)p5 (33)p5 (34)p5 (34)p5 (35)p5 (36)1.4 最简单的C语言程序 (37)p6 (37)p6 (37)p6 (37)p6 (37)p7 (38)p7 (38)p8 (39)p9 (39)p9 (39)p9 (39)p10 (39)p10 (40)p10 (40)p11 (40)p11 (40)p12 (40)p10~12 (41)1.5 运行C程序的步骤与方法 (42)p13 (42)p14 (42)1.6 程序设计的任务 (43)p14 (43)习题 (45)p15 (45)第二章算法——程序的灵魂 (46)p16 (46)p16 (46)p16 (47)2.1 什么是算法 (47)p16~17 (47)2.2 简单的算法举例 (48)p17 (48)p18 (48)p19~20 (48)p20 (48)p21 (48)p21 (49)2.3 算法的特性 (49)p21 (49)2.4 怎样表示一个算法 (49)p22 (49)p26 (50)p26 (50)p28 (50)p29 (51)p31 (51)p32 (51)p33 (51)2.5 结构化程序设计方法 (52)p34 (52)第三章最简单的C程序设计——顺序程序设计 (53)P37 (53)P37 (54)3.1 顺序程序设计举例 (55)P37 (55)P37~38 (55)P38 (56)P38 (56)P38 (56)P38 (57)P38 (57)P39 (58)P39 (58)3.2数据的表现形式及其运算 (58)P39 (58)P39 (59)P39 (59)P37 (59)P39~41 (60)p40 (61)p40 (61)p41 (61)p41 (62)p41 (62)p41 (62)p41 (62)P42 (63)P42 (63)P42 (63)P42 (63)P42 (63)P42 (65)p43 (65)p44 (65)p44 (66)p44 (66)p45 (66)p45 (66)p45 (66)p46 (67)p46 (67)p47 (67)p47 (68)p47 (68)p47 (68)p47 (68)p48 (69)p48 (69)p48 (69)p48 (69)p49 (77)p49 (77)p49 (77)p49 (77)p49~51 (78)P50 (79)P50 (79)P50 (79)P50 (80)P51 (80)P51 (80)3.2.6 怎样确定常量的类型 (80)P51 (80)P51 (80)P51 (81)P51 (81)P51~52 (81)3.2.7 运算符和表达式 (81)P52 (81)P53 (82)P53 (82)P53 (82)P53 (82)P53 (82)P53 (83)P53 (83)P53 (83)P54 (83)P54 (83)P54 (84)P54 (84)P54 (84)P54 (84)P54 (85)P54 (88)P54 (88)P54 (89)P54 (89)P54 (89)P54 (90)P54 (90)P54~55 (90)P55 (92)P55 (92)P56 (92)P56 (92)P56 (93)P57 (93)P57 (93)P58 (93)P59 (93)P59 (94)P60 (94)P60 (94)P60 (94)P61 (95)P61 (95)P61 (95)P61 (95)P62 (97)P62 (97)P63 (97)P63 (97)P64 (98)P64 (98)P64 (98)P65 (99)3.4 数据的输入输出 (99)p66 (99)P67 (100)P67 (100)P67 (100)P67 (100)P67 (100)P67 (100)P68 (102)P69 (102)P69 (102)P70 (103)P70 (103)P73 (103)P73~74 (103)P74 (104)P74 (104)P74 (104)P75 (104)P76 (104)P76 (105)P76 (105)P77 (105)P78 (106)P78 (106)P79 (106)P79 (106)P79 (107)P79 (107)P79 (107)P79 (107)P80 (107)P82 (107)第4章选择结构程序设计 (108)4.1 选择结构和条件判断 (108)P85 (108)P86 (108)4.1 用if语句实现选择结构 (108)P87 (108)P89 (109)P90 (109)P91 (110)4.3 关系运算符合关系表达式 (111)P91 (111)P92 (111)4.4 逻辑运算符和逻辑表达式 (112)P92~93 (112)P93 (112)P94 (113)P95 (114)P97 (114)4.5 逻辑运算符和逻辑表达式 (115)P97 (115)P98 (115)P99 (115)4.6 选择结构的嵌套 (115)P100 (115)P100~101 (116)P101~102 (117)4.7用switch语句实现多分支选择结构 (117)P103 (117)P104 (118)4.8 选择结构程序综合举例 (118)P105 (118)P106 (118)P108~109 (120)P111 (121)第5章循环结构程序设计 (122)P116 (122)5.3 用do...while语句实现循环 (122)P117 (122)P118 (123)P118~119 (123)5.4 用for语句实现循环 (123)P120 (123)P121 (123)P122 (124)P123 (124)P124 (125)5.5 循环的嵌套 (125)P124~125 (125)5.6 几种循环的比较 (126)P125 (126)5.7 改变循环执行的状态 (126)P126 (126)P127 (126)P128~129 (127)5.8循环程序举例 (127)P131 (127)P132 (128)P133 (129)P134 (129)P135 (130)P137 (131)P137~138 (131)P138 (132)P138~139 (132)P139~140 (133)第6章利用数组处理批量数据 (134)6.1 怎样定义和引用一维数组 (134)P142 (134)P143 (134)P144 (135)6.1.2 怎样引用一维数组 (135)P147 (136)6.2 怎样定义和引用二维数组 (136)P149 (136)P150 (137)P153 (137)P154 (138)P154~155 (138)P156 (138)P156~157 (140)P157 (141)p160 (142)p161 (143)p162 (144)p163 (144)p164 (145)p165 (146)p165~166 (147)p167 (149)p168 (150)第7章用函数实现模块化程序设计 (151)7.1 为什么要用函数 (151)p170 (151)p171 (152)p172 (153)p172 (154)7.2怎样定义函数 (154)p172 (154)p173 (156)p174 (157)7.2.2 定义函数的方法 (157)7.3 调用函数 (158)p174~175 (158)7.3.1 函数调用的形式 (158)p175 (159)p176 (160)p177 (161)p178 (162)p179 (164)7.4 对被调用函数的声明和函数原型 (165)p180 (165)p181 (166)p182 (167)7.5 函数的嵌套调用 (168)p183 (168)p184 (169)7.6 函数的递归调用 (170)p185 (171)p186 (172)p191 (175)7.7 数组作为函数参数 (175)p192 (176)p193 (177)p194 (179)p195 (181)p196 (182)p197 (183)p198 (184)7.8 局部变量和全局变量 (184)p199 (184)P200 (185)P201 (185)P202 (186)P203 (187)7.9 变量的存储方式和生存期 (187)P204 (187)P205 (188)P206 (189)P207 (189)P208 (190)P208~212 (191)P209 (191)P210 (192)P212 (193)P213 (194)7.10 关于变量的声明和定义 (195)P214 (195)7.10 内部函数和外部函数 (197)P215 (197)P216 (197)P216~217 (197)P217 (198)第8章善于利用指针 (198)P220 (198)P220~221 (199)P221 (199)P222 (200)P223 (200)P224 (200)P225 (200)P226 (202)P227 (202)P228~229 (203)P228~229 (203)P230 (204)P231 (204)P232 (204)P233 (205)P233~234 (205)P235 (206)P236 (206)P237 (206)P238 (207)P239 (207)P239~240 (208)P241 (210)P241~242 (210)P242~243 (211)P243 (212)P244 (212)P245 (214)P246 (215)P247 (215)P248 (216)P249 (218)P251~252 (218)P252 (219)P252~253 (219)P254 (221)P255 (222)P256 (223)P257 (223)P257~258 (224)P258 (224)P258~259 (225)P259 (225)P259~260 (226)P260~261 (227)P261 (227)P262 (228)P263 (229)P264 (229)P265 (230)P266 (231)8.5 指向函数的指针 (232)P268 (232)P269 (233)P268~269 (233)P269 (234)P270 (235)P271~272 (235)8.6 返回指针值的函数 (237)P274 (237)P275 (238)P276 (238)P277 (239)P278~279 (239)P280 (241)P 282 (241)P 282 (241)P 283 (242)P 283 (242)P 283 (242)P 284 (242)P 284 (243)P 285 (243)P 285 (243)P 285 (243)P 285 (244)P 285 (244)P 285 (244)P 285 (244)P 285 (245)P 286 (245)P 286 (245)P 286 (245)P 286 (246)P 286 (246)P 286 (246)P 286 (246)P 286 (247)P 286 (247)P 287 (247)P 287 (247)P 287 (248)P 287 (248)P 287 (249)P 287 (249)P 287~288 (250)P 289 (251)P 289 (251)P 289 (251)P 289 (252)P 289 (252)P 289 (252)P 289 (253)P 289 (253)P 289 (253)P 289 (254)P 289 (254)P 289 (254)P 289 (254)P 289 (255)P 289 (255)P 289 (255)P 289 (256)P 289 (256)P 289 (256)P 289 (256)P 289 (257)P 289 (257)P 289 (257)P 289 (257)P 289 (258)P 289 (258)P 289 (258)P 289 (258)P 289 (258)P 289 (259)P 290 (259)P 290 (259)P 290 (259)P 290 (259)P 290 (260)P 290 (260)P 290 (260)P 290 (260)P 291 (260)P 291 (261)P 291 (261)P 291 (261)第9章用户自己建立数据类型 (261)P 293 (261)P 293 (261)P 294 (262)P 295 (262)P 296 (263)P 298 (263)P 298 (263)P 298 (264)P 299 (264)P 299 (264)P 300 (265)P 300 (265)P 301 (266)P 301~302 (266)P 302 (267)P 303 (267)P 303 (268)P 305 (268)P 305 (268)P 306 (268)P 306 (269)P 306 (269)P 309 (269)P 309 (269)P 310 (269)P 310~311 (270)P 311 (270)P 311 (270)P 311 (271)P 311 (271)P 312 (271)P 313 (271)P 313~314 (272)P 315 (273)P 316 (274)P 317 (275)P 317 (275)P 317 (275)P 318 (276)P 318 (276)P 318 (276)P 318 (276)P 319 (277)P 319 (277)P 320 (277)P 320 (277)P 320 (278)P 320 (278)P 320 (278)P 322 (279)P 322 (279)9.6 使用枚举类型 (280)P 323 (280)P 323 (280)P 323 (280)P 324 (280)P 324~326 (280)P 326 (281)P 326 (282)P 327 (282)P 327 (282)P 327 (282)P 327 (282)P 328 (282)P 329 (283)P 329 (283)P 329 (283)P 329 (283)P 330 (283)第10章对文件的输入输出 (283)P 331 (283)P 331 (284)P 331 (284)P 331 (284)P 331 (284)P 331 (284)P 331 (284)P 332 (284)P 332 (285)P 332 (285)P 332 (285)P 332 (285)P 332 (285)P 332 (285)P 333 (285)P 334 (286)P 334 (286)P 334 (286)P 335 (286)P 335 (286)P 335 (287)P 336 (287)P 336 (287)P 336 (287)P 336 (287)P 336 (287)P 336 (288)P 336 (288)P 337 (288)P 337 (288)P 337 (288)P 337 (288)P 338 (289)P 338 (289)P 338~339 (289)P 340 (290)P 340 (291)P 341 (291)P 341 (291)P 341 (291)P 341 (292)P 341 (292)P 341 (292)P 341 (292)P 341 (292)P 341 (292)P 342 (293)P 342 (293)P 342 (293)P 343 (293)P 343 (293)P 344 (293)P 345~346 (294)P 346 (294)P 346~347 (294)P 347 (295)P 347 (295)P 347~348 (295)P 348 (296)P 348 (296)P 348 (297)P 348 (297)P 348 (297)P 349 (297)P 349 (298)P 350 (298)P 350 (298)P 350 (298)P 350 (298)P 350~351 (298)P 351 (299)P 351 (299)P 351 (299)P 352 (299)P 353 (299)P 354 (300)P 354 (300)P 354 (300)P 354 (300)P 354 (300)第11章常见错误分析 (300)P 355 (300)P 355 (301)P 355 (301)P 356 (301)P 356 (301)P 356 (301)P 357 (301)P 357 (302)P 357 (302)P 357~358 (302)P 358 (302)P 358 (303)P 360 (303)P 361 (303)P 363 (303)P 363 (303)P 363 (303)P 363~364 (304)P 365 (304)P 366 (304)P 367 (305)P 367 (305)P 368 (305)P 368 (306)P 369 (306)P 370 (307)P 372 (307)P 373 (307)P 377 (307)P 377 (307)P 378 (307)P 378~379 (307)P 379 (308)P 379 (308)P 380 (308)P 380 (308)P 380 (308)P 380 (309)P 380 (309)P 380 (309)P 380 (309)P 380 (309)P 381 (309)P 380 (309)P 380 (310)P 381 (310)P 381 (310)P 381 (310)P 381 (310)P 381 (311)P 381 (311)P 382 (311)P 382 (311)P 383 (311)P 383 (311)P 384 (312)P 384 (312)P 384 (312)P 384 (312)P 385 (312)P 386 (312)P 386 (313)P 386 (313)P 386 (313)P 386 (313)P 387 (313)P 387 (313)P 387 (314)P 387 (314)P 387 (314)P 388 (314)P 389 (315)P 389 (315)P 389 (315)P 389 (315)P 389 (315)P 389 (316)P 389 (316)P 389 (316)P 389 (316)参考文献 (316)P 389 (316)《C程序设计(第四版)学习辅导》部分 (317)P14 (317)P14~16 (319)P17 (319)P17 (319)P18 (320)P18 (320)P18 (320)P19 (320)P19 (320)P20~23 (320)P25~26 (321)P29 (323)P30~31 (323)P35 (324)P37~38 (325)P40 (325)P42~43 (326)p43~44 (328)P47~48 (330)P51~52 (331)P52~53 (332)P54 (334)P55~56 (337)P57 (340)p57~58 (341)p61 (343)p61 (343)p61~62 (343)P63 (347)P65~66 (348)P67 (350)P68 (350)P69 (352)p71 (353)P71~72 (354)p72 (355)p72~73 (356)P74 (357)P74~75 (357)P75~76 (359)P76 (360)P76~77 (360)P77 (365)P77~78 (365)P78~79 (367)P79 (368)P80 (370)P81 (371)P82 (373)P82~84 (374)P83 (375)P84 (376)P85 (376)P87 (377)P88~90 (377)P91~92 (380)P92 (383)P93 (384)P94 (386)P94~96 (386)P96 (395)P96~97 (395)P96~97 (396)P99 (398)P99~100 (398)P106~107 (399)P108 (402)P109~110 (402)P112 (404)P112 (405)P117 (405)P117 (405)P117~120 (406)P120~121 (422)P121~122 (422)P122 (431)P122 (431)P122~123 (431)p123 (432)p124 (433)p124 (433)p124~125 (434)P125 (435)P125 (435)P125 (435)126 (436)126 (436)126 (436)126 (436)126 (437)127 (437)128 第九章 (437)128 (438)128 (439)129 (439)129 (439)129~130 (440)130~131 (441)P131 (442)P 131~132 (442)P 133~134 (443)P 134~136 (443)第11章预处理命令 (469)P177 (479)P177 (479)P177 (479)P177 (480)P178 (480)P178 (480)P178 (480)P179 (480)P179 (481)P179 (481)P179 (481)P179 (481)P180 (481)P181 (481)P181 (481)P181 (482)P181 (482)P181 (482)P182 (482)P182 (482)P182 (482)P182 (483)P182 (483)P183 (483)P183 (483)P183 (483)P183 (483)P183 (484)P183 (484)P183 (484)P184 (484)P184 (484)P184 (484)P184~185 (485)P185 (485)P185 (485)P186 (485)P186 (487)P186 (487)P187 (487)P188 (487)P188 (488)P189 (488)P192 (488)P192 (488)P192 (488)P192 (489)P192 (489)第12章位运算 (489)P193 (489)P193 (489)P193 (490)P193 (490)P193 (490)P193 (490)P193 (490)P193 (490)P194 (490)P194 (491)P194 (491)P195 (491)P195 (491)P197 (492)P197 (492)P197 (492)P198 (492)P198 (492)P198 (493)P199 (493)P199 (493)P200 (493)P201 (494)P201 (494)P202 (494)P202 (494)P202 (495)P202 (495)P203 (495)P203 (495)P203 (495)P203 (495)P203 (496)P203 (496)P203 (496)P203 (496)P203 (496)《C程序设计(第三版)》部分 (497)目录 (497)(前言)pIX (497)(前言)pIX (497)(前言)pX (497)(前言) p VII (498)p 2 (498)p 2 (499)p 2 (499)p 3 (499)p 3 (499)p4~p5 (500)P6 (501)P6 (501)P37 (501)P38 (501)P40 (502)P40 (502)P49 (502)P50 (502)P54 (503)P56 (503)P56 (503)P56 (504)P58 (504)P63 (504)P64 (504)P64 (506)P69~71 (506)P72 (507)P73 (507)P73 (507)P85 (507)P91 (508)P94 (508)P95,96 (508)p105 (509)P113 (509)P113 (509)P120 (509)P156 (510)P156 (510)P162~163 (510)P163~164 (510)P171 (511)P179 (511)P193 (511)P194 (512)P204 (512)P229 (512)P245 (512)P255 (513)P257 (513)P258 (514)P265~266 (514)P281~282 (514)P310 (515)P310 (515)P310 (515)P365 (515)P377 (516)题解 (517)P38 (517)P38 (517)P40 (518)P50~51 (518)P50~52 (519)P58~59 (519)P70 (520)P71~72 (521)P73 (522)P74 (524)P76 (524)P79~80 (525)P91~92 (527)P94 (527)P134~135 (528)P135~138 (529)P146 (529)前言p12评:long long complex,bool根本是子虚乌有的。
《谭浩强《C程序设计》(第4版)笔记和课后习题详解》读书笔记模板
第11章常见错误分 析
1.1复习笔记 1.2课后习题详解
2.1复习笔记 2.2课后习题详解
3.1复习笔记 3.2课后习题详解
4.1复习笔记 4.2课后习题详解
5.1复习笔记 5.2课后习题详解
6.1复习笔记 6.2课后习题详解
7.1复习笔记 7.2课后习题详解
8.1复习笔记 8.2课后习题详解
作者介绍
这是《谭浩强《C程序设计》(第4版)笔记和课后习题详解》的读书笔记模板,暂无该书作者的介绍。
谢谢观看
目录分析
第2章算法——程 序的灵魂
第1章程序设计和C 语言
第3章最简单的C程 序设计——顺序程
序设计
1
第4章选择结构 程序设计
2
第5章循环结构 程序设计
3
第6章利用数组 处理批量数据
4 第7章用函数实
现模块化程序 设计
5
第8章善于利用 指针
第10章对文件的输 入输出
第9章用户自己建 立数据类型
9.1复习笔记 9.2课后习题详解
10.1复习笔记 10.2课后习题详解
11.1复习笔记 11.2课后习题详解
读书笔记
这是《谭浩强《C程序设计》(第4版)笔记和课后习题详解》的读书笔记模板,可以替换为自己的心得。
精彩摘录
这是《谭浩强《C程序设计》(第4版)笔记和课后习题详解》的读书笔记模板,可以替换为自己的精彩内容 摘录。
谭浩强《C程序设计》(第4版)笔记 和课后习题详解
读书笔记模板
01 思维导图
03 目录分析 05 精彩摘录
目录
02 内容摘要 04 读书笔记 06 作者介绍
思维导图
本书关键字分析思维导图
习题
T-C-2-第6章_利用数组处理批量数据good
if语句用来控 制换行,每行 输出5个数据。
运行结果如下: 1 1 8 13 89 144 987 1597
2 21 233 2584
3 34 377 4181
5 55 610 6765
例题 6.3
假如有n个人,各人年龄不同,希望按年龄将他们 从小到大排列。
解题思路
这种问题称为数的排序(sort)。排序的原则有两 类,一类是‚升序‛,从小到大;一类是‚降序‛, 从大到小。我们可以把这个题目抽象为一般形式: 对n个数按升序排列 对一组数据进行排序的方法很多,本例介绍用‚起 泡法‛排序。‚起泡法‛的思路是如下
不能写成 float a[3,4],b[5,10];
6.3 二维数组的定义和引用 6.3.1 定义二维数组
C语言中,二维数组中元素排列的顺序是按行存放的,
即在内存中先顺序存放第一行的元素,再存放第二行
的元素。下图表示对a[3][4]数组存放的顺序。
a00 a01 a02 a03
a10 a11 a12 a13 a20 a21 a22 a23
3. 如果想使一个数组中全部元素值为0,可以写成:
int 或nt int a[10]={0,0,0,0,0,0,0,0,0,0}; a[10]={0};
说明:如果想使一个数组中全部元素值为1,可以写成: a[10]={1,1,1,1,1,1,1,1,1,1}; 但是不能写成:
int
a[10]={1*10};
将数组元素的初值依次放在一对花括弧内。经过上面的 定义和初始化之后,a[0]=0,a[1]=1,a[2]=2, a[3]=3,a[4]=4,a[5]=5,a[6]=6,a[7]=7, a[8]=8,a[9]=9。
2. 可以只给一部分元素赋值。 例如: int a[10]={0,1,2,3,4}; 定义a数组有10个元素,但花括弧内只提供5个初值, 这表示只给前面5个元素赋初值,后5个元素值为0。
C语言习题集参考答案
第一章C语言概述一.选择题1.一个C程序的执行是从。
A.程序的main函数开始,到main函数结束B.程序文件的第一个函数开始,对本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是。
A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是。
A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面二.填空题1.C源程序的基本单位是函数。
2.一个C源程序中至少应包括一个主函数或main函数。
3.在一个C源程序中,注释部分两侧的分界符分别为/*和*/ 。
第二章数据的存储与运算一.选择题1.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32)A.4 B.16 C.32 D.482.下面正确的字符常量是。
A.”c” B.’\\’’C.’W’ D.’’3.下面不正确的字符串常量是。
A.’abc’ B.”12’12” C.”0” D.” “4.以下正确的叙述是。
A.在C程序中,每行中只能写一条语句B.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’后c2中的值为。
A.D B.68 C.不确定的值 D.C6.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是。
高一生物生态环境的保护(整理2019年11月)
臭氧空洞,它已经在两个半球的高纬度地区观察到了。
紫外辐射对于人的健康、作物和自然植被是有害的。 因为DNA也吸收280-320nm
波长的紫外辐射,危害DNA分子,所以地球表面紫外辐射的提高将使皮肤癌病例上升。
紫外辐射还危害植物的光合作用,能导致初级生产力下降。
3、酸雨问题:煤和石油在燃烧中产生二氧化碳和水蒸气,喷涌出氧化氮和二氧化硫
3、人口增长对环境的影响:人口增长与开垦土地的关系图 注:人口增长引发环境问题的实质是人类的活动超出了环境的承受 能力,对人类自身赖以生存的生态系统的结构和功能造成了破坏。 【精题选粹】预测某地人口未来发展趋势的主要依据是( )
A.出生率和死亡率 B.人口密度 C.性别比例 D.年龄结构 【一举多得】对于一个种群数量动态的预测决定于该种群的年龄结 构。例如,一个幼年个体占优势的群体,预示着种群将有很大的发 展,这样的种群进入人生殖年龄的个体会越来越多,是一个快速增 长的种群。因此,预测人口发展趋势主要依据年龄结构,幼年个体 占的比例大,人口数量将增加,繁殖减少。 答案:D
营养化、藻类大量繁殖,主要是由于有毒物质在生物体内的积累和浓缩
A.①②③④
B.①②④
C.①②
D.②③④
【一举多得】酸雨形成的主要原因是由于污染大气中的二氧化硫等气体过多而使雨水 的酸性增强。水体富营养化、藻类大量繁殖,主要原因使水体中N、P等矿质元素增多 造成的。 答案:C
考点3 生物多样性保护的意义和措施 【考点诠解】 1、生物多样性包括3个层次:物种多样性(指生物圈内所有的动物、植物、微生 物)、遗传多样性(所有生物拥有的全部基因)、生态系统多样性 2、生物多样性价值: 直接使用价值:药用、科研、美学价值,工业原料, 间接使用价值:生态系统具备的生态功能, 潜在使用价值:目前尚未发现,以后有可能发现并利用的价值。 3、我国生物多样性 (1)特点: ①物种丰富 ②特有的和古老的物种多 ③经济物种丰富 ④生态系统多样 (2)面临的威胁: 全世界物种灭绝速度加快;遗传多样性、物种多样性、生态系统多样性都面临威胁。
C程序设计(第五版)-第6章利用数组处理批量数据课后习题答案
C程序设计(第五版)-第6章利⽤数组处理批量数据课后习题答案1.⽤筛选法求100质数⼜称素数。
⼀个⼤于1的⾃然数,除了1和它⾃⾝外,不能被其他⾃然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)先解释⼀下筛选法的步骤:<1> 先将1挖掉(因为1不是素数)。
<2> ⽤2去除它后⾯的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。
<3> ⽤3去除它后⾯的各数,把3的倍数挖掉。
<4> 分别⽤5…各数作为除数去除这些数以后的各数。
上述操作需要⼀个很⼤的容器去装载所有数的集合,只要满⾜上述条件,即2的倍数⼤于1的全部置0,3的倍数⼤于1的全部置0,4的倍数⼤于1的全部置0……⼀直到这个数据集合的末尾,这样⼀来不为0的数就是素数了,然后按下标在⾥⾯进⾏查找就好了1#include <stdio.h>2#include <windows.h>3int main()4{5printf("------------------\n");6int i, j, k, a[100];7// 先给100个数赋值8for (i = 0; i < 100; i++)9{10a[i] = i + 1;11}1213// 1不是质数也不是合数14a[0] = 0;1516for (i = 0; i < 100; i++)17{18for (j = i + 1; j < 100; j++)19{20// 把后⾯的数能整除前⾯的数赋值为021if (a[i] != 0 && a[j] != 0)22{23if (a[j] % a[i] == 0)24{25a[j] = 0; //把不是素数的都赋值为026}27}28}29}3031// 打印质数,每10个换⾏32for (i = 0; i < 100; i++)33{34if (k % 10 == 0)35{36printf("\n");37}38if (a[i] != 0)39{40printf("%d ", a[i]);41k++;42}43}4445return 0;46}2.⽤选择法对101#include <stdio.h>2#include <windows.h>3int main()4{5printf("请输⼊10个数:\n");6int minIndex, temp, a[10];78for (int i = 0; i < 10; i++)9{10scanf("%d", &a[i]);11}1213for (int i = 0; i < 10; i++)14{15minIndex = i;16for (int j = i + 1; j < 10; j++)17{18if (a[j] <= a[minIndex])19{20minIndex = j;21}22}2324temp = a[i];25a[i] = a[minIndex];26a[minIndex] = temp;27}2829printf("排序后结果:\n");3031for (int i = 0; i < 10; i++)32{33printf("%d ", a[i]);34}35return 0;36}3.求⼀个3*31#include <stdio.h>2#include <windows.h>3int main()4{5printf("请输⼊元素:\n");6int x, y, z, a[3][3];7for (int i = 0; i < 3; i++)8{9for (int j = 0; j < 3; j++)10{11scanf("%d", &a[i][j]);12}13}14printf("输出刚刚输⼊的元素:\n");15for (int i = 0; i <= 2; i++)16{17for (int j = 0; j <= 2; j++)18{19printf("%d\t", a[i][j]);20}2122printf("\n");23}24printf("\n");25// 计算对⾓线的合26for (int i = 0; i < 3; i++)27{28x += a[i][i];29}3031for (int i = 0, j = 2; i < 3; i++, j--)32{33y += a[i][j];34}35z = x + y;36printf("左上到右下对⾓线的合:%d\n", x); 37printf("右上到左下对⾓线的合:%d\n", y); 38printf("两条对⾓线之合:%d\n", z);39// 结果40// 请输⼊元素:41// 1 2 3 4 5 6 7 8 942// 输出刚刚输⼊的元素:43// 1 2 344// 4 5 645// 7 8 94647// 左上到右下对⾓线的合:1548// 右上到左下对⾓线的合:3149// 两条对⾓线之合:4650return 0;51}4.1#include <stdio.h>2#include <windows.h>3int main()4{5printf("------------------\n");6int t, x, a[5] = {1, 2, 4, 5, 6};78printf("请输⼊需要插⼊的数字:\n");9scanf("%d", &x);10for (int i = 0; i < 5; i++)11{12if (x < a[i])13{14t = a[i];15a[i] = x;16x = t;17}18printf("%3d", a[i]);19}20printf("%3d", x);2122return 0;23}5.讲⼀个数组的值按逆序重新存放。
大一期末C语言程序设计基础题库与总结复习资料
C语言题库第一章计算机语言经历发展阶段:机器语言、符号语言、高级语言程序结构有3种:顺序结构,选择结构,循环结构C语言的特点:允许直接访问物理地址。
【C语言中含有的位和指针运算,能够直接对内存地址进行访问。
】不是C语言的特点的是:能够编制出功能复杂的程序【所有程序都可以,不算特点】Main:主函数,是所有程序运行的入口、起点。
一个C语言程序必须只有一个main函数。
程序总是从main函数开始执行,main函数可以放任何位置,到main函数结束。
函数体由花括号括起来结束标志:returnreturn 0的作用是:当main函数执行结束前将整数0作为函数值返回到调用函数处return(z)的作用是:将z的值作为max的函数值返回给调用max 函数的函数。
只有通过return(z)才能把求出的z值作为函数值并返回调用它的main函数中C语言程序的结构:由一个或多个源程序(C语言编写的程序,也可以叫编译单位)文件组成(源程序文件中包含:预处理指令、全局声明、函数定义)函数是C程序的主要组成部分(也是基本单位),C语言由函数组成。
函数包括两部分:函数首部、函数体C语言本身不提供输入输出语句,输入输出的操作是有库函数scanf 和printf等函数来完成的。
程序应包含注释#define和printf都不是C语句C语言程序的运行经过:编辑(edit)、编译(compile)、连接(link)【C语言中是build】、执行(execute)。
C语言源程序文件的后缀是.cpp,经过编译之后,生成后缀为.obj 的目标文件,经连接生成后缀.exe的可执行文件C语言的储存类型包括register、extern、statis和auto基础知识6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件运算优先级:!(非)>算数(如%)>关系>逻辑>赋值运算符(低)空语句:只有分号组成的语句,即一个分号。
C语言-第6章 利用数组处理批量数据
第6章利用数组处理批量数据一、单项选择题1. 以下对一维数组a的正确说明是:A) char a(10); B) int a[]; C)int k=5,a[k]; D)char a[]={…a‟,‟b‟,‟c‟};2. 以下能对一维数组a进行初始化的语句是: ( C )A) int a[5]=(0,1,2,3,4,); B) int a(5)={}; C) int a[ ]={0,1,2}; D) int a{5}={10*1};3.在C语言中对一维整型数组的正确定义为。
A)int a(10); B)int n=10,a[n];C)int n;a[n]; D) #define N 10int a[N];4、已知:int a[10]; 则对a数组元素的正确引用是()。
A、a[10]B、a[3.5]C、a(5)D、a[10-10]5. 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[0]*10;A) 不定值B) 33 C) 30 D) 106. 下列说法中错误的是A 构成数组的所有元素的数据类型必须是相同的B 用指针法引用数组元素允许数组元素的下标越界C 一维数组元素的下标依次是1、2、3……D 定义数组时的长度可以是整型常量表达式7. 若有以下数组说明,则数值最小的和最大的元素下标分别是()。
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};A)1,12 B)0,11C)1,11 D)0,128. 若有以下数组说明,则i=10;a[a[i]]元素数值是()。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A)10 B)9 C)6D)59. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3 B) 6 C) 10 D) 2010. 若有说明:int a[][3]={1,2,3,4,5,6,7}; 则数组a的第一维的大小为: ( )A) 2 B) 3C) 4 D)无确定值11. 若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( )A) 2 B) 3 C) 4 D)无确定值12. 以下定义语句中,错误的是A) int a[]={1,2}; B) char *a[3]; C) char s[10]=“test”; D) int n=5,a[n];13.下面程序段的输出结果是:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};for (i=0;i<3;i++)printf("%d ",x[i][2-i]);A) 1 5 9 B) 1 4 7 C) 3 5 7D) 3 6 914. 对二维数组的正确定义是()A)int a[ ] [ ]={1,2,3,4,5,6}; B)int a[2] [ ]={1,2,3,4,5,6};C)int a[ ] [3]={1,2,3,4,5,6}; D)int a[2,3]={1,2,3,4,5,6};15.已知int a[3][4];则对数组元素引用正确的是______.A)a[2][4] B)a[1,3] C)a[2][0]D)a(2)(1)17.下面程序的输出结果是____。
C语言程序设计课后习题答案第四版谭浩强
C语言程序设计课后习题答案第四版谭浩强 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】第1章程序设计和C语言1什么是计算机程序1什么是计算机语言1语言的发展及其特点3最简单的C语言程序5最简单的C语言程序举例6语言程序的结构10运行C程序的步骤与方法12程序设计的任务141-5 #include <>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂16什么是算法16简单的算法举例17算法的特性21怎样表示一个算法22用自然语言表示算法22用流程图表示算法22三种基本结构和改进的流程图26用N S流程图表示算法28用伪代码表示算法31用计算机语言表示算法32结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 顺序程序设计举例37数据的表现形式及其运算39常量和变量39数据类型42整型数据44字符型数据47浮点型数据49怎样确定常量的类型51运算符和表达式52语句57语句的作用和分类57最基本的语句——赋值语句59数据的输入输出65输入输出举例65有关数据输入输出的概念67用printf函数输出数据68用scanf函数输入数据75字符数据的输入输出78习题823-1 #include <>#include <>int main(){float p,r,n;r=;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <>#include <>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=;r3=;r2=;r1=;r0=;p1=p*((1+r5)*5); #include <> #include <>int main(){float d=300000,p=6000,r=,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%\n",m);return 0;}3-4#include <>int main(){int c1,c2;c1=197;c2=198;printf("c1=%c,c2=%c\n",c1,c2);printf("c1=%d,c2=%d\n",c1,c2);return 0;}3-5#include <>int main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("%f %e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); return 0;}3-6#include <>int main(){char c1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5); return 0;}3-7#include <>int main (){float h,r,l,s,sq,vq,vz;float pi=;printf("请输入圆半径r,圆柱高h∶");scanf("%f,%f",&r,&h); #include <> int main(){ int x,y;printf("输入x:");scanf("%d",&x);if(x<1) /* x<1 */{ y=x;printf("x=%3d, y=x=%d\n" ,x,y);}else if(x<10) /* 1=<x<10 */{ y=2*x-1;printf("x=%d, y=2*x-1=%d\n",x,y);}else /* x>=10 */{ y=3*x-11;printf("x=%d, y=3*x-11=%d\n",x,y);}return 0;}4-7-1#include <>int main(){int x,y;printf("enter x:");scanf("%d",&x);y=-1;if(x!=0)if(x>0)y=1;elsey=0;printf("x=%d,y=%d\n",x,y); return 0;}4-7-2#include <>int main(){int x,y;printf("please enter x:"); scanf("%d",&x);y=0;if(x>=0)if(x>0) y=1;else y=-1;printf("x=%d,y=%d\n",x,y); return 0;}4-8#include <>int main(){ float score;char grade;printf("请输入学生成绩:");scanf("%f",&score);while (score>100||score<0){printf("\n 输入有误,请重输");scanf("%f",&score);}switch((int)(score/10)){case 10:case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;case 6: grade='D';break;case 5:case 4:case 3:case 2:case 1:case 0: grade='E';}printf("成绩是 %,相应的等级是%c\n ",score,grade);return 0;}4-9#include <>#include <>int main(){intnum,indiv,ten,hundred,thousand,ten_thousand,place; .=%d\n" ,sn);return 0;}5-6#include <>int main(){double s=0,t=1;int n;for (n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%\n",s);return 0;}5-7#include <>int main(){int n1=100,n2=50,n3=10;double k,s1=0,s2=0,s3=0;for (k=1;k<=n1;k++) /*计算1到100的和*/{s1=s1+k;}for (k=1;k<=n2;k++) /*计算1到50各数的平方和*/ {s2=s2+k*k;}for (k=1;k<=n3;k++) /*计算1到10的各倒数和*/ {s3=s3+1/k;}printf("sum=%\n",s1+s2+s3);return 0;}5-8#include <>int main(){int i,j,k,n;printf("parcissus numbers are ");for (n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if (n==i*i*i + j*j*j + k*k*k)printf("%d ",n);}printf("\n");return 0;}5-9-1#define M 1000 /*定义寻找范围*/ #include <>int main(){int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;int i,a,n,s;for (a=2;a<=M;a++) /* a是2-1000之间的整数,检查它是否完数 */{n=0; /* n用来累计a的因子的个数 */s=a; /* s用来存放尚未求出的因子之和,开始时等于a */for (i=1;i<a;i++) /* 检查i是否a的因子 */if (a%i==0) /* 如果i是a的因子 */{n++; /* n加1,表示新找到一个因子 */s=s-i; /* s减去已找到的因子,s的新值是尚未求出的因子之和 */switch(n) /* 将找到的因子赋给k1...k9,或k10 */{case 1:k1=i; break; /* 找出的笫1个因子赋给k1 */case 2:k2=i; break; /* 找出的笫2个因子赋给k2 */case 3:k3=i; break; /* 找出的笫3个因子赋给k3 */case 4:k4=i; break; /* 找出的笫4个因子赋给k4 */case 5:k5=i; break; /* 找出的笫5个因子赋给k5 */case 6:k6=i; break; /* 找出的笫6个因子赋给k6 */case 7:k7=i; break; /* 找出的笫7个因子赋给k7 */case 8:k8=i; break; /* 找出的笫8个因子赋给k8 */case 9:k9=i; break; /*找出的笫9个因子赋给k9 */case 10:k10=i; break; /* 找出的笫10个因子赋给k10 */}}if (s==0){printf("%d ,Its factors are ",a);if (n>1) printf("%d,%d",k1,k2); /* n>1表示a至少有2个因子 */if (n>2) printf(",%d",k3); /* n>2表示至少有3个因子,故应再输出一个因子 */if (n>3) printf(",%d",k4); /* n>3表示至少有4个因子,故应再输出一个因子 */if (n>4) printf(",%d",k5); /* 以下类似 */if (n>5) printf(",%d",k6);if (n>6) printf(",%d",k7);if (n>7) printf(",%d",k8);if (n>8) printf(",%d",k9);if (n>9) printf(",%d",k10);printf("\n");}}return 0;}5-9-2#include <>int main(){int m,s,i;for (m=2;m<1000;m++){s=0;for (i=1;i<m;i++)if ((m%i)==0) s=s+i;if(s==m){printf("%d,its factors are ",m); for (i=1;i<m;i++)if (m%i==0) printf("%d ",i);printf("\n");}}return 0;}5-10#include <>int main(){int i,n=20;double a=2,b=1,s=0,t;for (i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%\n",s);return 0;}5-11#include <>int main(){double sn=100,hn=sn/2;int n;for (n=2;n<=10;n++){sn=sn+2*hn; /*第n次落地时共经过的米数*/ hn=hn/2; /*第n次反跳高度*/}printf("第10次落地时共经过%f米\n",sn);printf("第10次反弹%f米\n",hn);return 0;}5-12#include <>int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/x2=x1;day--;}printf("total=%d\n",x1);return 0;}5-13#include <>#include <>int main(){float a,x0,x1;printf("enter a positive number:");scanf("%f",&a);x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)>=1e-5);printf("The square root of % is %\n",a,x1); return 0;}5-14#include <>#include <>int main(){double x1,x0,f,f1;x1=;do{x0=x1;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;}while(fabs(x1-x0)>=1e-5);printf("The root of equation is %\n",x1); return 0;}5-15#include <>#include <>int main(){float x0,x1,x2,fx0,fx1,fx2;do{printf("enter x1 & x2:");scanf("%f,%f",&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;}while(fx1*fx2>0);do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;if ((fx0*fx1)<0){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}}while(fabs (fx0)>=1e-5); printf("x=%\n",x0);return 0;}5-16#include <>int main(){int i,j,k;for (i=0;i<=3;i++){for (j=0;j<=2-i;j++)printf(" ");for (k=0;k<=2*i;k++)printf("*");printf("\n");}for (i=0;i<=2;i++){for (j=0;j<=i;j++)printf(" ");for (k=0;k<=4-2*i;k++)printf("*");printf("\n");}return 0;}5-17#include <>int main(){char i,j,k; /*是a的对手;j是b的对手;k是c的对手*/for (i='x';i<='z';i++)for (j='x';j<='z';j++)if (i!=j)for (k='x';k<='z';k++)if (i!=k && j!=k)if (i!='x' && k!='x' && k!='z')printf("A--%c\nB--%c\nC--%c\n",i,j,k);return 0;}第6章利用数组处理批量数据142 怎样定义和引用一维数组142怎样定义一维数组143怎样引用一维数组元素144一维数组的初始化145一维数组程序举例146怎样定义和引用二维数组148怎样定义二维数组149怎样引用二维数组的元素150二维数组的初始化151二维数组程序举例152字符数组154怎样定义字符数组154字符数组的初始化155怎样引用字符数组中的元素155 字符串和字符串结束标志156字符数组的输入输出159使用字符串处理函数161字符数组应用举例165习题1686-1#include <>#include <>int main(){int i,j,n,a[101];for (i=1;i<=100;i++)a[i]=i;a[1]=0;for (i=2;i<sqrt(100);i++)for (j=i+1;j<=100;j++){if(a[i]!=0 && a[j]!=0) if (a[j]%a[i]==0)a[j]=0;}printf("\n");for (i=2,n=0;i<=100;i++){ if(a[i]!=0){printf("%5d",a[i]); n++;}if(n==10){printf("\n");n=0;}}printf("\n");return 0;}6-2#include <>int main(){int i,j,min,temp,a[11];printf("enter data:\n");for (i=1;i<=10;i++){printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");printf("The orginal numbers:\n"); for (i=1;i<=10;i++)printf("%5d",a[i]);printf("\n");for (i=1;i<=9;i++){min=i;for (j=i+1;j<=10;j++)if (a[min]>a[j]) min=j;temp=a[i];a[i]=a[min];a[min]=temp;}printf("\nThe sorted numbers:\n"); for (i=1;i<=10;i++)printf("%5d",a[i]);printf("\n");return 0;}6-3#include <>int main(){int a[3][3],sum=0;int i,j;printf("enter data:\n");for (i=0;i<3;i++)for (j=0;j<3;j++)scanf("%3d",&a[i][j]);for (i=0;i<3;i++)sum=sum+a[i][i];printf("sum=%6d\n",sum);return 0;}6-4#include <>int main(){ int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j;printf("array a:\n");for (i=0;i<10;i++)printf("%5d",a[i]);printf("\n");printf("insert data:");scanf("%d",&number);end=a[9];if (number>end)a[10]=number;else{for (i=0;i<10;i++){if (a[i]>number){temp1=a[i];a[i]=number;for (j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}printf("Now array a:\n"); for (i=0;i<11;i++)printf("%5d",a[i]);printf("\n");return 0;}6-5#include <>#define N 5int main(){ int a[N],i,temp;printf("enter array a:\n");for (i=0;i<N;i++)scanf("%d",&a[i]);printf("array a:\n");for (i=0;i<N;i++)printf("%4d",a[i]);for (i=0;i<N/2;i++) n",number);;printf("continu or not(Y/N)");scanf(" %c",&c);if (c=='N'||c=='n')flag=0;}return 0;}6-10#include <>int main(){int i,j,upp,low,dig,spa,oth;char text[3][80];upp=low=dig=spa=oth=0;for (i=0;i<3;i++){ printf("please input line %d:\n",i+1);gets(text[i]);for (j=0;j<80 && text[i][j]!='\0';j++){if (text[i][j]>='A'&& text[i][j]<='Z') upp++;else if (text[i][j]>='a' && text[i][j]<='z') low++;else if (text[i][j]>='0' && text[i][j]<='9') dig++;else if (text[i][j]==' ')spa++;elseoth++;}}printf("\nupper case: %d\n",upp);printf("lower case: %d\n",low);printf("digit : %d\n",dig);printf("space : %d\n",spa);printf("other : %d\n",oth);return 0;}6-11#include <>int main(){ char a[5]={'*','*','*','*','*'}; int i,j,k;char space=' ';for (i=0;i<5;i++){ printf("\n");printf(" ");for (j=1;j<=i;j++)printf("%c",space);for (k=0;k<5;k++)printf("%c",a[k]);}printf("\n");return 0;}6-12a-c#include <>int main(){ int j,n;char ch[80],tran[80];printf("input cipher code:");gets(ch);printf("\ncipher code :%s",ch);j=0;while (ch[j]!='\0'){ if ((ch[j]>='A') && (ch[j]<='Z'))tran[j]=155-ch[j];else if ((ch[j]>='a') && (ch[j]<='z')) tran[j]=219-ch[j];elsetran[j]=ch[j];j++;}n=j;printf("\noriginal text:");for (j=0;j<n;j++)putchar(tran[j]);printf("\n");return 0;}6-12b#include <>int main(){int j,n;char ch[80];printf("input cipher code:\n");gets(ch);printf("\ncipher code:%s\n",ch);j=0;while (ch[j]!='\0'){ if ((ch[j]>='A') && (ch[j]<='Z'))ch[j]=155-ch[j];else if ((ch[j]>='a') && (ch[j]<='z')) ch[j]=219-ch[j];elsech[j]=ch[j];j++;}n=j;printf("original text:");for (j=0;j<n;j++)putchar(ch[j]);printf("\n");return 0;}6-13#include <>int main(){ char s1[80],s2[40];int i=0,j=0;printf("input string1:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);while (s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++];s1[i]='\0';printf("\nThe new string is:%s\n",s1); return 0;}6-14#include <>int main(){ int i,resu;char s1[100],s2[100];printf("input string1:");gets(s1);printf("\ninput string2:");gets(s2);i=0;while ((s1[i]==s2[i]) && (s1[i]!='\0'))i++; if (s1[i]=='\0' && s2[i]=='\0')resu=0;elseresu=s1[i]-s2[i];printf("\nresult:%d.\n",resu);return 0;}6-15#include <>#include <>int main(){ char s1[80],s2[80];int i;printf("input s2:");scanf("%s",s2);for (i=0;i<=strlen(s2);i++)s1[i]=s2[i];printf("s1:%s\n",s1);return 0;}第7章用函数实现模块化程序设计170 为什么要用函数170怎样定义函数172为什么要定义函数172定义函数的方法173调用函数174函数调用的形式174函数调用时的数据传递175函数调用的过程177函数的返回值178对被调用函数的声明和函数原型179 函数的嵌套调用182函数的递归调用184数组作为函数参数192数组元素作函数实参193数组名作函数参数194多维数组名作函数参数197局部变量和全局变量199局部变量199全局变量200变量的存储方式和生存期204动态存储方式与静态存储方式204 局部变量的存储类别205全局变量的存储类别208存储类别小结212关于变量的声明和定义214内部函数和外部函数215内部函数215外部函数215习题2187-1-1#include <>int main(){int hcf(int,int);int lcd(int,int,int); int u,v,h,l;scanf("%d,%d",&u,&v); h=hcf(u,v);printf("",h);l=lcd(u,v,h);printf("",l);return 0;}int hcf(int u,int v) {int t,r;if (v>u){t=u;u=v;v=t;}while ((r=u%v)!=0){u=v;v=r;}return(v);}int lcd(int u,int v,int h) {return(u*v/h);}7-1-2#include <>int Hcf,Lcd;int main(){void hcf(int,int);void lcd(int,int);int u,v;scanf("%d,%d",&u,&v);hcf(u,v);lcd(u,v);printf("",Hcf);printf("",Lcd);return 0;}void hcf(int u,int v){int t,r;if (v>u){t=u;u=v;v=t;}while ((r=u%v)!=0){u=v;v=r;}Hcf=v;}void lcd(int u,int v){Lcd=u*v/Hcf;}7-2#include <>#include <>float x1,x2,disc,p,q;int main(){void greater_than_zero(float,float); void equal_to_zero(float,float);void smaller_than_zero(float,float); float a,b,c;printf("input a,b,c:");scanf("%f,%f,%f",&a,&b,&c);printf("equation: %*x*x+%*x+%=0\n",a,b,c); disc=b*b-4*a*c;printf("root:\n");if (disc>0){greater_than_zero(a,b);printf("x1=%f\t\tx2=%f\n",x1,x2);}else if (disc==0){equal_to_zero(a,b);printf("x1=%f\t\tx2=%f\n",x1,x2);}else{smaller_than_zero(a,b);printf("x1=%f+%fi\tx2=%f-%fi\n",p,q,p,q); }return 0;}void greater_than_zero(float a,float b){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);}void equal_to_zero(float a,float b){x1=x2=(-b)/(2*a);}void smaller_than_zero(float a,float b) {p=-b/(2*a);q=sqrt(-disc)/(2*a);}7-3#include <>int main(){int prime(int);int n;printf("input an integer:");scanf("%d",&n);if (prime(n))printf("%d is a prime.\n",n);elseprintf("%d is not a prime.\n",n); return 0;}int prime(int n){int flag=1,i;for (i=2;i<n/2 && flag==1;i++)if (n%i==0)flag=0;return(flag);}7-4#include <>#define N 3int array[N][N];int main(){ void convert(int array[][3]);int i,j;printf("input array:\n");for (i=0;i<N;i++)for (j=0;j<N;j++)scanf("%d",&array[i][j]); printf("\noriginal array :\n"); for (i=0;i<N;i++){for (j=0;j<N;j++)printf("%5d",array[i][j]); printf("\n");}convert(array);printf("convert array:\n");for (i=0;i<N;i++){for (j=0;j<N;j++)printf("%5d",array[i][j]); printf("\n");}return 0;}void convert(int array[][3]) {int i,j,t;for (i=0;i<N;i++)for (j=i+1;j<N;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}}#include <>#include <>int main(){void inverse(char str[]);char str[100];printf("input string:");scanf("%s",str);inverse(str);printf("inverse string:%s\n",str);return 0;}void inverse(char str[]){char t;int i,j;for (i=0,j=strlen(str);i<(strlen(str)/2);i++,j--) {t=str[i];str[i]=str[j-1];str[j-1]=t;}}7-6#include <>int main(){void concatenate(char string1[],char string2[],char string[]); char s1[100],s2[100],s[100];printf("input string1:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);concatenate(s1,s2,s);printf("\nThe new string is %s\n",s);return 0;}void concatenate(char string1[],char string2[],char string[]) {int i,j;for (i=0;string1[i]!='\0';i++)string[i]=string1[i];for(j=0;string2[j]!='\0';j++)string[i+j]=string2[j];string[i+j]='\0';}7-7#include <>int main(){void cpy(char [],char []);char str[80],c[80];printf("input string:");gets(str);cpy(str,c);printf("The vowel letters are:%s\n",c);return 0;}void cpy(char s[],char c[]){ int i,j;for (i=0,j=0;s[i]!='\0';i++)if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'|| s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U') {c[j]=s[i];j++;}c[j]='\0';}7-8#include <>#include <>int main(){char str[80];void insert(char []);printf("input four digits:"); scanf("%s",str);insert(str);return 0;}void insert(char str[]){int i;for (i=strlen(str);i>0;i--) {str[2*i]=str[i];str[2*i-1]=' ';}。
利用数组处理批量数据
20
6.1.2 一维数组的初始化
定义数组的同时,给数组元 素赋初值——数组的初始化
21
【例】一维数组的初始化示例。
(1)在定义数组时对全部数组元素赋予初值 int a[5]; int i; a[0]=1;a[1]=2;... a[4]=5; int a[5]={1,2,3,4,5}; 等价于
for( i=0; i<5; i++ )
30
例 用冒泡法对6个数排序(升序)
第1趟寻找第一个最大的数
9 8 5 4 2 0 原 始 数 据
9 8 5 4 2 0
8 9 5 4 2 0 第 2 次
8 5 9 4 2 0 第 3 次
8 5 4 9 2 0 第 4 次
8 5 4 2 9 0
8 5 4 2 0 9
第 1 次
第 5 次
结
果
31
例 用冒泡法对6个数排序(升序)
10
6.1.1 一维数组的定义和引用
【例】一维数组示例。
N为符号常量 #define N 10 必须是常量表达式 main( ) 定义数组a和 b 输入的数据放入 数组b的元素中 { int i,a[3]; float b[N]; 给数组a的元素赋值 a[0]=2; a[1]=4; a[2]=a[0]+a[1]; for ( i=0; i<N; i++ ) scanf("%f",&b[i]); printf("%d %d %d\n",a[0],a[1],a[2]); for ( i=0; i<N; i++ ) printf("%.0f ",b[i]); printf("\n"); }
实验六 利用数组处理批量数据
实验六利用数组处理批量数据
1实验目的
(1) 掌握一维数组和二维数组的定义、赋值和输入输出的方法。
(2) 掌握字符数组和字符串函数的使用。
(3) 掌握与数组有关的算法(特别是排序算法)。
2.实验内容
编程序并上机调试运行。
(1)一个班10个学生的成绩,存放在一个一维数组中,要求找出其中成绩最高的学生的成绩和该生的序号(本题是教材第6章习题6.2)。
(2)已知5个学生的4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩记录排序(成绩最高的学生的排在数组最前面的行,成绩最低的学生的排在数组最后面的行)(本题是教材第6章习题6.4)。
(3)有一篇文章,共有3行文字,每行有80个字符。
要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数(本题是教材第6章习题6.8)。
(4)有一行电文,已按下面规律译成密码:
A→Z a→z
B→Y b→y
C→X c→x
……
即第1个字母变成第26个字母,第2个字母变成第25个字母,第ⅰ个字母变成第(26-i+1)个字母。
非字母字符不变。
假如已知道密码是Umtorhs,要求编程序将密码译回原文,并输出密码和原文。
第6章 数组习题课
1 2 3 a 4 5 6
1 4 b 2 5 3 6
6.2.4二维数组程序举例
解题思路:
可以定义两个数组:数组a为2行3列,存放指定 的6个数 数组b为3行2列,开始时未赋值 将a数组中的元素a[i][j]存放到b数组中的 b[j][i]元素中 用嵌套的for循环完成
printf("array b:\n"); for (i=0;i<=2;i++) { for(j=0;j<=1;j++) printf("%5d",b[i][j]); 输出b的各元素 printf("\n"); } return 0;
}
课堂练习
P89 第2题
P87
实训6.3
例6.5 有一个3×4的矩阵,要求编程序求出 其中值最大的那个元素的值,以及其所在的 行号和列号。
第6章 利用数组处理批量数据
6.1 怎样定义和引用一维数组 6.2 怎样定义和引用二维数组 6.3 字符数组
6.1怎样定义和引用一维数组
6.1.1 怎样定义一维数组
6.1.2 怎样引用一维数组元素
6.1.3 一维数组的初始化
6.1.4 一维数组程序举例
6.1.1怎样定义一维数组
定义一维数组的一般形式为: 每个元素的数据类型 类型符 数组名[常量表达式]; 数组名的命名规则和变量名相同 如 int a[10]; 10个元素:a[0],a[1],a[2],…,a[9]
例 P90习题6.3:求数组int a[N]中奇 数的个数和平均值,以及偶数的个数和平 均值 解题思路:
湖北师范大学821-高级语言程序设计2021年考研专业课初试大纲
2021年全国硕士研究生入学考试湖北师范大学自命题考试科目考试大纲(科目名称:高级语言程序设计科目代码:821)一、考查目标高级语言程序设计科目考试要求考生系统掌握面向过程程序设计的基本知识、基础技能和结构化的程序设计方法,并能运用相关理论和方法分析、解决实际问题。
重点考查学生对C程序设计常用算法的理解及应用算法编写程序的能力。
二、考试形式与试卷结构(一)试卷成绩及考试时间本试卷满分为150分,考试时间180分钟。
(二)答题方式答题方式为闭卷、笔试。
(三)试卷题型结构1、单项选择题:15小题,每小题2分,共30分2、填空题:10小题,每小题2分,共20分3、程序分析题:5小题,每小题4分,共20分4、程序填空题:5小题,每小题4分,共20分5、程序设计题:6小题,每小题10分,共60分(四)主要参考书目谭浩强. C程序设计(第五版).北京:清华大学出版社,2017年。
三、考查范围第1章程序设计和C语言1、掌握程序的构成,main函数和其他函数。
2、头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3、源程序的书写格式。
第3章顺序程序设计1、掌握C语言的基本数据类型。
2、掌握 C语言标识符的构成规则,定义变量、符号常量的方法。
3、掌握C语言的基本运算符、及运算优先级和结合性。
4、掌握不同类型数据间的转换规则,包括隐式类型转换、强制类型转换。
5、掌握表达式的概念,能够准确的判断表达式的结果类型和值。
特别是赋值表达式、自加自减表达式、逗号表达式、问号表达式的使用。
6、掌握C语言语句的构成,表达式语句,空语句,复合语句。
7、掌握输入输出函数的调用,正确输入数据并正确设计输出格式。
第4章选择结构程序设计1、掌握关系表达式和逻辑表达式的使用方法。
2、掌握选择结构。
包括if、if…else、if…else if结构的使用;以及if结构的嵌套;switch结构的使用。
第5章循环结构程序设计1、掌握基本循环结构的使用,包括while、do…while、for三种结构,以及它们的区别。
c语言程序设计第五版课后答案谭浩强第六章习题答案
c语⾔程序设计第五版课后答案谭浩强第六章习题答案第六章:利⽤数组处理批量数据1. ⽤筛选法求100之内的素数【答案解析】素数:约数为1和该数本⾝的数字称为素数,即质数筛选法:⼜称为筛法。
先把N个⾃然数按次序排列起来。
1不是质数,也不是合数,要划去。
第⼆个数2是质数留下来,⽽把2后⾯所有能被2整除的数都划去。
2后⾯第⼀个没划去的数是3,把3留下,再把3后⾯所有能被3整除的数都划去。
3后⾯第⼀个没划去的数是5,把5留下,再把5后⾯所有能被5整除的数都划去。
这样⼀直做下去,就会把不超过N 的全部合数都筛掉,留下的就是不超过N的全部质数。
因为希腊⼈是把数写在涂腊的板上,每要划去⼀个数,就在上⾯记以⼩点,寻求质数的⼯作完毕后,这许多⼩点就像⼀个筛⼦,所以就把埃拉托斯特尼的⽅法叫做“埃拉托斯特尼筛”,简称“筛法”。
(另⼀种解释是当时的数写在纸草上,每要划去⼀个数,就把这个数挖去,寻求质数的⼯作完毕后,这许多⼩洞就像⼀个筛⼦。
)【代码实现】//⽤筛选法求100以内的素数#include<stdio.h>int main(){int i, j, k = 0;// 将数组汇总每个元素设置为:1~100int a[100];for (i = 0; i < 100; i++)a[i] = i+1;// 因为1不是素数,把a[0]⽤0标记// 最后⼀个位置数字是100,100不是素数,因此循环可以少循环⼀次a[0] = 0;for (i = 0; i < 99; i++){// ⽤a[i]位置的数字去模i位置之后的所有数据// 如果能够整除则⼀定不是素数,该位置数据⽤0填充for (j = i + 1; j < 100; j++){if (a[i] != 0 && a[j] != 0){//把不是素数的都赋值为0if (a[j] % a[i] == 0)a[j] = 0;}}}printf(" 筛选法求出100以内的素数为:\n");for (i = 0; i < 100; i++){//数组中不为0的数即为素数if (a[i] != 0)printf("%3d", a[i]);}printf("\n");return 0;}【运⾏结果】2. ⽤选择法对10个整数排序【答案解析】选择排序原理:总共两个循环,外循环控制选择的趟数,内循环控制具体选择的⽅式。
C语言用数组处理批量数据
C语言用数组处理批量数据整型、字符型、浮点型数据,都是简单的数据类型。
对于简单的问题,使用这些简单的数据类型就可以了。
对于有些需要处理的数据,只用以上简单的数据类型是不够的,难以反映出数据的特点,也难以有效地进行处理。
比如,一个班有30个学生,每个学生有一个成绩,要求这30名学生的平均成绩。
实际上这些数据是同一个班级、同一门课程的成绩,它们具有相同的属性。
人们想出这样的办法:既然它们都是同一类性质的数据(都代表一个班中学生的成绩)就可以用同一个名字(如S)来代表它们,而在名字的右下角加一个数字来表示这是第几名学生的成绩,例如,可以用sl,s2,s3,…S30代表学生L学生2、学生3…学生30,这30个学生的成绩。
这个右下角的数字称为下标。
一批具有同名的同属性的数据就组成一个数组(array)z s 就是数组名。
Q)数组是一组有序数据的集合。
数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号。
(2)用一个数组名(如S)和下标(如15)来唯一地确定数组中的元素,如s[15]就代表第15个学生的成绩。
(3)数组中的每一个元素都属于同一个数据类型。
不能把不同类型的数据(如学生的成绩和学生的性别)放在同一个数组中。
C语言规定用方括号中的数字来表示下标,如用s[15]表示S15,即第15个学生的成绩。
将数组与循环结合起来,可以有效地处理大批量的数据。
1定义数组和引用一维数组一维数组是数组中最简单的,它的元素只需要用数组名加一个下标,就能唯一地确定。
比如:学生成绩数组s就是一维数组。
有的数组,其元素要指定两个下标才能唯一确定,如用S2z3表示〃第2班第3名学生的成绩〃,其中第1个下标代表班,第2个下标代表班中的学生序号。
此时,s就是二维数组。
还可以有三维甚至多维数组,如用S4,2,3表示4年级2班第3名学生的成绩,这里s就是三维数组。
它们的概念和用法基本上是相同的。
定义一维数组要使用数组,必须在程序中先定义该数组,即通知计算机:由哪些数据组成数组,数组有多少元素,属于哪个数据类型。
C语言程序设计第6章 数组2018版
6.2.2 插入与删除问题
元素的插入和删除是数组的常见操作。由于数组在内存中连续顺 序存储,所以增删元素时需要移动部分元素。
【案例】在递增排列的成绩数组score中插入一个新成绩x,使得插 入后数组仍保持有序。
④③②① 45 61 72 78 80 82 89 92 95
x 81 k
插入元素的算法思想: ①查找待插入数据在数组中应插入的位置k; ②从最后一个元素开始向前直到下标为k的元素依次往后移动
• 定义数组的同时允许为数组的部分或全部元素赋初值;
• 初值一般被组织在花括号中,但字符数组表示的字符 串可例外;
• 初始化格式:
列表中数据以逗号分隔
<类型标识符> <数组名[元素个数]>={<初值列表>};
例如:int a[4]={12 , 4, 8 , 2}; a[2]=?
• 全部元素赋初值时,数组长度可省略。如: int a[5]={0,2,4,6,8}; 也可写为: int a[ ]={0,2,4,6,8}; 作用皆相当于: a[0]=0; a[1]=2; a[2]=4; a[3]=6; a[4]=8; • 部分元素赋初值时,未被赋值元素默认为0(数值 数组)或空字符(字符数组)。如:
一个位置; ③将欲插入的数据x插入第k个元素的位置
要点: 插入前的移动顺序是关键
• 方式1:
从第k个元素开始移动
for(i=k;i<n;i++) score[i+1]=score[i];
①② ③ ④
45 61 72 78 80 82 89 92 95
移后结果:
x 81
k
后面元素皆被覆盖
45 61 72 78 80 82 82 82 82 82
第6章利用数组处理批量数据-2018级-6,3-ex
str[0] C h i n a \0 \0 \0 … \0 str[1] J a p a n \0 \0 \0 … \0 str[2] I n d i a \0 \0 \0 … \0
可以把str[0],str[1],str[2]看作3个一维字符数组 它们各有20个元素 可以把它们如同一维数组那样进行处理
{' ','*',' ','*'},{'*',' ',' ',' ','*'}, {‘ ’,‘*’,‘ ’,‘*’},{‘ ’,‘ ’,‘*’}}; int i,j; for (i=0;i<5;i++) { for(j=0;j<5;j++) printf(“%c”,diamond[i][j]); printf("\n"); } return 0;}
28
#include<stdio.h>
#include<string.h> int main ( )
用字符串函数时加
{ char string[20],str[3][20]; int i;
for (i=0;i<3;i++) gets (str[i]);
if (strcmp(str[0],str[1])>0)
c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]
I
am
happy
11
6.4.1 定义字符数组及对其初始化 【Initialization】
char c[10]={’I’,’ ’,’a’,’m’,’ ’,’h’,’a’,’p’,’p’,’y’};
《高级语言程序设计》 考试大纲
湖北工程学院2021年普通专升本:《高级语言程序设计(C语言)》考试大纲一、基本要求:考生应按本大纲的要求,正确理解C语言的结构、语法与环境;C语言的基本概念、函数及其调用;各类语句的语法,语义和各种数据类型的使用特点;问题的分析、设计及C语言实现及调试方法,并得到充分的程序设计训练。
本大纲对内容的要求由低到高,对概念和理论分为“了解”和“理解”两个层次;对运算和程序分为“掌握”和“应用”两个层次。
二、考试方法和时间:考试方法为闭卷考试,考试时间为120分钟。
三、考试题型大致比例:选择题:30分,填空题:20分,程序阅读:40分,程序填空:24分,程序设计:36分满分:150分。
四、考试内容和要求:第1章程序设计和C语言考试内容:(1)什么是计算机程序;(2)什么是计算机语言;(3)C语言的发展及其特点;(4)C语言程序的结构;(5)运行C程序的步骤与方法;(6)程序设计的任务。
考试要求:(1)了解:C语言的发展历史及其特点;(2)掌握:运行C程序的步骤和方法;(3)应用:用C语言编写简单的屏幕输出程序第2章算法----程序的灵魂考试内容:(1)算法的概念;(2)算法的特性;(3)算法的几种表示方法;(4)结构化程序设计方法;考试要求:(1)了解:最基本的算法;(2)理解:结构化程序设计方法第3章最简单的C程序设计----顺序程序设计考试内容:(1)数据的表现形式及其运算;(2)运算符和表达式;(3)C语句;(4)数据的输入输出;考试要求:(1)掌握:几种基本数据类型的表示形式,以及定义于基本数据类型之上的各种运算(算术、赋值、关系、逻辑、条件、逗号等);(2)掌握:常量的意义及几种基本数据类型的常量的表示形式,符合常量的定义与使用,变量的定义及自定义标识符的规范;(3)掌握:混合运算的表达式中各种运算符的优先级及结合方向;(4)掌握:输入、输出函数的使用规范第4章选择结构程序设计考试内容:(1)选择结构和条件判断;(2)关系运算符和关系表达式,逻辑运算符和逻辑表达式,条件运算符和条件表达式;(3)if选择控制语句;(4)switch选择控制语句。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Why arrays
In previous chapters, we have learned basic data types, e.g. int, char, float. In this chapter, we will learn one of the derived data types, called array.
Length is the length of the array and must have a constant value
Why index2nd floor 1st floor 0th ground floor
It is like the building floors, it starts from ground floor (0) to the first floor (1), and then the second (2) floor, so on.
How to use array element
We can array element in any legal expressions (or statement)
int a[10]; int k;
a[k] = expression (has a value)
a[5]= ((x/y+3)%2)*4;
a[0] a[1] a[2] a[3] a[4]
How to define an array
Examples of legal and illegal definitions:
int a[n+6]; (n is a variable)
int _x[10];
int a[k+2]; (k is constant variable) int b[(x>y)+3]; int a[34%3+7];
Array is a group of data that have the same type. E.g. we can define an 8 elements array
int a[8]
Why arrays
Here int indicates that the 8 elements are int types.
We place the 10 number in the array a[10]
And then we print the 10 numbers in the reverse order.
#include <stdio.h> int main() { int i,a[10]; for (i=0; i<=9;i++) a[i]=i; for(i=9;i>=0; i--) Print them in printf("%d ",a[i]); the reverse order printf("\n"); return 0; } a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9] 0 1 2 3 4 5 6 7 8 9
a is the name of the array, and can be other names. 8 is the length of the array, which means there are 8 elements in the array.
Why arrays
The array elements starts from a[0], a[1] ~ a[7] instead of a[1]~a[8].
Assign initial values
int a[ ] ={1,2,3,4,5}; Equivalent to a[5]={1,2,3,4,5};
Store the 10 numbers in array a
Assign initial values
Assign initial values to an array: Int a[5] = {0,1,2,3,4};
Data are separated by comma.
Int a[5] = {0}; Equivalent to int a[5] = {0,0,0,0,0}; When assign values to the a few elements, the remaining elements are assigned 0 automatically.
a[3]=a[7]+a[9];
x=(a[4]*3-1)%2;
y=a[10]/2; ×
How to use array elements
Example, there are ten int numbers, “0,1,
2,3,4,5,6,7,8,9”,we need to print it in the reverse order. Solution:
6.1.1 how to define an array
e.g. define an array of 6 elements int a[5];
Index starts from 0 to 4: they are the 0th element a[0], the 1st element a[1], the 2nd element a[2], the 3rd element a[3], the 4th element a[4].
The number j in a[j] means its distance from the 0th number.
Define an array
In general, we can define array as: type name[length]
type is the type of the array, it can be int, float, char, etc.,, Name is the name of the array