C语言程序设计(AI助学)(微课版)-教学大纲、授课计划、课程标准、习题及答案 崔升广_第1页
C语言程序设计(AI助学)(微课版)-教学大纲、授课计划、课程标准、习题及答案 崔升广_第2页
C语言程序设计(AI助学)(微课版)-教学大纲、授课计划、课程标准、习题及答案 崔升广_第3页
C语言程序设计(AI助学)(微课版)-教学大纲、授课计划、课程标准、习题及答案 崔升广_第4页
C语言程序设计(AI助学)(微课版)-教学大纲、授课计划、课程标准、习题及答案 崔升广_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C语言程序设计》教学大纲一课程的教育目标K1:掌握C语言语法规则;K2:掌握C语言的数据类型与运算规则;;K3:掌握C语言基本数据类型、运算规则、函数和数组的定义和使用;K4:熟练掌握C语言的顺序、选择和循环三种结构的程序设计方法;K5:掌握运用指针、结构体、文件基本知识。能力结构A1:能够用C语言表达实际问题,具有使用基本数据类型和操作解决简单应用问题的能力;A2:能够使用算术运算符、关系运算符、逻辑运算符等表达实际问题中的各种条件,具有解决分支结构应用问题程序设计能力;A3:能够使用条件循环和遍历循环,具有解决重复操作应用问题的能力、程序阅读和程序调试的初步能力;A4:建立结构化程序设计思想和良好的编码规范,能够使用C语言进行小型程序开发,具有软件开发能力;A5:具备在VC++平台下进行程序开发、编码、调试的能力;A6:具能够使用文件进行操作,具有对程序进行异常处理的能力。素质结构Q1:养成善于思考、深入研究的良好自主学习的习惯和创新精神;Q2:培养细致缜密的工作态度、团结协作的良好品质、沟通交流和书面表达能力;Q3:具有较好的语言表达与沟通协调能力;Q4:具有较高的信息素养,即信息的收集、整理创造能力。三课程的内容、结构框架和基本要求、学时分配第1章初识C语言和程序设计1.1C语言概述1.1.1C语言的发展及特点1.1.2程序设计语言的发展1.1.3程序设计语言的功能1.2C语言开发环境1.2.1C语言程序的开发过程1.2.2C语言运行环境的应用1.3简单的C语言程序1.3.1C语言的基本结构1.3.2第一个C语言程序本章小结课后习题第2章C语言数据与运算2.1数据类型2.1.1C语言的数据类型2.1.2进制与进制转换2.1.3整数类型2.1.4实数类型2.1.5字符类型2.2常量与变量2.2.1常量和符号常量2.2.2变量2.3运算符和表达式2.3.1赋值运算符和赋值表达式2.3.2算术运算符和算术表达式2.3.3逗号运算符和逗号表达式2.3.4字节运算符2.4位运算2.4.1位运算符及其表达式2.4.2位逻辑运算符2.4.3移位运算符2.5数据类型转换2.5.1赋值运算类型转换2.5.2自动类型转换2.5.3强制类型转换本章小结课后习题第3章程序的结构化设计3.1算法与结构程序设计3.1.1算法与流程图3.1.2C语言的语句3.2顺序结构程序设计3.2.1格式化输入输出3.2.2字符输入输出函数3.3选择结构程序设计3.3.1条件运算符和条件表达式3.3.2if语句实现单分支结构3.3.3if-else语句实现双分支结构3.3.4if-else-if语句实现多分支结构3.3.5if语句的嵌套结构3.3.6switch语句实现多分支结构3.4循环结构程序设计3.4.1for循环语句3.4.2while循环语句3.4.3do-while语句3.4.4改变循环结构的跳转语句本章小结课后习题第4章数组4.1一维数组4.1.1一维数组的定义和初始化4.1.2一维数组元素的引用4.2二维数组4.2.1二维数组的定义和初始化4.2.2二维数组元素的引用4.3字符数组与字符串4.3.1字符数组的定义和初始化4.3.2字符数组元素的引用4.3.3字符串和字符串结束标志4.3.4字符数组的输入输出4.3.5字符串处理函数本章小结课后习题第5章函数5.1函数的定义5.1.1函数概述5.1.2无参函数的定义5.1.3有参函数的定义5.2函数调用5.2.1函数调用的形式5.2.2函数的返回值5.2.3函数的嵌套与递归调用5.2.4函数声明5.2.5数组作函数的参数5.3函数变量的作用域和存储类别5.3.1局部变量与全局变量5.3.2变量的存储方式和生存期5.3.3内部函数和外部函数本章小结课后习题第6章指针6.1指针与指针变量6.1.1指针和地址6.1.2指针变量6.2指针与数组6.2.1指针与一维数组6.2.2指针与二维数组6.3指针与字符串6.3.1字符指针与字符串6.3.2字符数组与字符指针处理字符串的区别6.4二级指针与指针数组6.4.1二级指针6.4.2指针数组本章小结课后习题第7章结构体和共同体7.1结构体类型7.1.1结构体类型的定义7.1.2结构体变量的初始化与引用7.1.3结构体数组7.1.4结构体指针7.1.5链表7.2共同体类型7.2.1共同体基本概念7.2.2共同体变量的初始化与引用本章小结课后习题第8章文件8.1文件概述8.1.1初识文件8.1.2文件类型指针8.2文件操作8.2.1文件打开与关闭8.2.2文件读写本章小结课后习题附录A-常用字符与ASCII码对照表附录B-运算符的优先级和结合性附录C-常用标准库函数四课程适应的专业及对象本课程适应计算网络应用技术专业三年制高职学生五课程的考核方式1本课程为理实一体教学。2成绩分数分配:平时成绩(40)+考试(60)。辽宁省交通高等专科学校学期授课计划20242025学年第2学期授课班级网络技术24-1~4班(*人)课程名称C语言程序设计授课教师崔升广授课时数60其中:课堂教学:30实验:30教研室主任__________崔升广_________________主管系主任_________________________________2025年2月28日周次教学时间教学内容作业上课地点授课形式/指导教师1周三5-8节第1章初识C语言和程序设计1.1C语言概述1.1.1C语言的发展及特点1.1.2程序设计语言的发展1.1.3程序设计语言的功能1.2C语言开发环境1.2.1C语言程序的开发过程1.2.2C语言运行环境的应用1.3简单的C语言程序1.3.1C语言的基本结构1.3.2第一个C语言程序C语言的基本结构A5003理论+实践/崔升广2周三5-8节第2章C语言数据与运算2.1数据类型2.1.1C语言的数据类型2.1.2进制与进制转换2.1.3整数类型2.1.4实数类型2.1.5字符类型2.2常量与变量2.2.1常量和符号常量2.2.2变量2.3运算符和表达式2.3.1赋值运算符和赋值表达式2.3.2算术运算符和算术表达式2.3.3逗号运算符和逗号表达式2.3.4字节运算符运算符和表达式3周三5-8节第2章C语言数据与运算2.4位运算2.4.1位运算符及其表达式2.4.2位逻辑运算符2.4.3移位运算符2.5数据类型转换2.5.1赋值运算类型转换2.5.2自动类型转换2.5.3强制类型转换数据类型转换A5003理论+实践/崔升广4周三5-8节第3章程序的结构化设计3.1算法与结构程序设计3.1.1算法与流程图3.1.2C语言的语句3.2顺序结构程序设计3.2.1格式化输入输出3.2.2字符输入输出函数顺序结构程序设计A5003理论+实践/崔升广5周三5-8节第3章程序的结构化设计3.3选择结构程序设计3.3.1条件运算符和条件表达式3.3.2if语句实现单分支结构3.3.3if-else语句实现双分支结构3.3.4if-else-if语句实现多分支结构3.3.5if语句的嵌套结构3.3.6switch语句实现多分支结构3.4循环结构程序设计3.4.1for循环语句3.4.2while循环语句3.4.3do-while语句3.4.4改变循环结构的跳转语句循环结构程序设计A5003理论+实践/崔升广6周三5-8节第4章数组4.1一维数组4.1.1一维数组的定义和初始化4.1.2一维数组元素的引用4.2二维数组4.2.1二维数组的定义和初始化4.2.2二维数组元素的引用二维数组元素的引用7周三5-8节第4章数组4.3字符数组与字符串4.3.1字符数组的定义和初始化4.3.2字符数组元素的引用4.3.3字符串和字符串结束标志4.3.4字符数组的输入输出4.3.5字符串处理函数字符串处理函数A5003理论+实践/崔升广8周三5-8节第5章函数5.1函数的定义5.1.1函数概述5.1.2无参函数的定义5.1.3有参函数的定义5.2函数调用5.2.1函数调用的形式5.2.2函数的返回值5.2.3函数的嵌套与递归调用5.2.4函数声明5.2.5数组作函数的参数数组作函数的参数A5003理论+实践/崔升广9周三5-8节第5章函数5.3函数变量的作用域和存储类别5.3.1局部变量与全局变量5.3.2变量的存储方式和生存期5.3.3内部函数和外部函数内部函数和外部函数A5003理论+实践/崔升广10周三5-8节第6章指针6.1指针与指针变量6.1.1指针和地址6.1.2指针变量6.2指针与数组6.2.1指针与一维数组6.2.2指针与二维数组指针与二维数组A5003理论+实践/崔升广11周三5-8节第6章指针6.3指针与字符串6.3.1字符指针与字符串6.3.2字符数组与字符指针处理字符串的区别6.4二级指针与指针数组6.4.1二级指针6.4.2指针数组指针数组A5003理论+实践/崔升广12周三5-8节第7章结构体和共同体7.1结构体类型7.1.1结构体类型的定义7.1.2结构体变量的初始化与引用7.1.3结构体数组7.1.4结构体指针7.1.5链表结构体指针A5003理论+实践/崔升广13周三5-8节第7章结构体和共同体7.2共同体类型7.2.1共同体基本概念7.2.2共同体变量的初始化与引用共同体变量的初始化与引用A5003理论+实践/崔升广14周三5-8节第8章文件8.1文件概述8.1.1初识文件8.1.2文件类型指针文件类型指针A5003理论+实践/崔升广15周三5-8节第8章文件8.2文件操作8.2.1文件打开与关闭8.2.2文件读写文件读写A5003理论+实践/崔升广《C语言程序设计》课程标准2024-07-01制定信息工程系系发布目录TOC\o"1-2"\h\u一、课程性质与任务 4(一)课程性质 4(二)课程任务 4二、课程目标与要求 4(一)课程目标 4(二)课程要求 6三、课程结构与内容 6(一)课程结构 6(二)课程内容 7四、学生考核与评价 11(一)考核方式 11(二)评价标准 12五、教学实施与保障 12(一)师资条件要求 12(二)教材选用要求 13(三)教学方法要求 13(四)教学资源要求 14(五)教学条件要求 14六、其他 14(一)执行说明 14(二)制定(修订)说明 14前言本课程标准依据云计算技术应用专业人才培养方案所确定的培养目标和培养规格,结合为技术有限公司、南京第五十五研究所技术开发公司、泰克教育技术有限公司等从事云计算企业的相关岗位标准,结合高职院校实际,特别是基于校企合作需求,通过“教、学、做”一体化教学,使学生掌握程序设计的基本方法并逐步形成正确的结构化程序设计思想和面向对象程序设计思想,能够熟练地使用C语言进行程序设计、解决实际问题,对学生进行职业意识培养和职业道德教育,提高学生的综合素质和职业能力,增强学生适应职业变化的能力,培养精益求精的“工匠精神”。本标准起草单位:辽宁省交通高等专科学校。本标准起草人:辽宁省交通高等专科学校周晓姝本标准审批人:辽宁省交通高等专科学校信息工程系副主任冯丹辽宁省交通高等专科学校信息工程系主任金雷

课程名称C语言程序设计课程类型专业基础课课程编码24XX05022660适用专业云计算技术应用开课部门信息工程系授课部门信息工程系开设学期第2学期学时/学分60/4编写执笔人审定负责人编写日期2025.02.28审定(修订)日期一、课程性质与任务(一)课程性质C语言程序设计,通常是高等职业教育计算机类及相关专业的基础课,《C语言程序设计》是我校信息工程系云计算技术与应用专业学生的一门专业基础课,目标是培养学生的编程素质,通过“教、学、做”一体化教学,使学生逐步建立和形成正确的结构化程序设计思想和面向对象程序设计的思想方法,正确掌握C语言基本数据类型、运算规则、函数和数组的定义和使用,培养学生严谨的工作态度和团结协作的良好品质,为后续课程及其他程序设计课程的学习和应用打下坚实基础。(二)课程任务通过本课程的学习,使得学生能够理解C语言的编程规范与编程模式,掌握运用指针、结构体、文件基本知识等来解决实际问题,熟练掌握C语言分支结构、循环结构、异常处理结构、函数设计与使用,熟练使用C语言读写文本文件与二进制文件,了解C语言程序的调试方法,了解C语言面向对象程序设计基础知识。在教学和学习过程中,应充分发挥C语言的优势,从最简单、最直观的思路出发,充分利用高级数据类型自身支持的操作,充分利用标准库和扩展库,尽快解决问题。二、课程目标与要求(一)课程目标(1)知识目标K1:掌握C语言语法规则;K2:掌握C语言的数据类型与运算规则;;K3:掌握C语言基本数据类型、运算规则、函数和数组的定义和使用;K4:熟练掌握C语言的顺序、选择和循环三种结构的程序设计方法;K5:掌握运用指针、结构体、文件基本知识。(2)能力目标A1:能够用C语言表达实际问题,具有使用基本数据类型和操作解决简单应用问题的能力;A2:能够使用算术运算符、关系运算符、逻辑运算符等表达实际问题中的各种条件,具有解决分支结构应用问题程序设计能力;A3:能够使用条件循环和遍历循环,具有解决重复操作应用问题的能力、程序阅读和程序调试的初步能力;A4:建立结构化程序设计思想和良好的编码规范,能够使用C语言进行小型程序开发,具有软件开发能力;A5:具备在VC++平台下进行程序开发、编码、调试的能力;A6:具能够使用文件进行操作,具有对程序进行异常处理的能力。(3)素质目标Q1:养成善于思考、深入研究的良好自主学习的习惯和创新精神;Q2:培养细致缜密的工作态度、团结协作的良好品质、沟通交流和书面表达能力;Q3:具有较好的语言表达与沟通协调能力;Q4:具有较高的信息素养,即信息的收集、整理创造能力。表1课程教学目标教学内容与人才培养目标逻辑关系表对应培养规格编号课程目标知识目标(K)能力目标(A)素质目标(Q)K5:掌握C语言的基本语法以及高级语法;掌握面向对象操作:类和对象、实例/类属性K1、K2、K3、K4、K5A2:具有良好的语言、文字表达能力和沟通能力,具备常用软件文档阅读和撰写能力A1、A2、A3、A4、A5、A6Q4:勇于奋斗、乐观向上,具有自我管理能力、职业生涯规划的意识,有较强的集体意识和团队合作精神Q1、Q2、Q3、Q4、(二)课程要求本课程采用基于工作过程的课程方案设计,以行为导向组织教学过程,构建模块化(MES)教学模式,采取线上线下相结合的教学方法,即配备以在线资源辅学,课堂查漏补缺讲授理论方法,设计实操任务以训练技能。(1)课程组织遵循职业能力各阶段发展要求,在培养学生工作能力的基础上增加社会能力和方法能力的渗透;(2)各模块的设计符合基于工作过程的教学设计要求,模块的前后排序符合学生认知规律,按照从简单到复杂,从单一到综合的排列方法进行排序;(3)各模块落实课程思政要求,结合课程特点有机融入课程思政内容,强调培育学生的学习能力、信息素养、精益求精的工匠精神和爱岗敬业的劳动态度,引导学生树立正确的理想信念、学会正确的思维方法、培育正确的劳动观念、增强学生职业荣誉感;(4)课程内容有机融入劳动教育内容,开展劳动育人专题教育:选取身边的劳动模范、技术能手、大国工匠等典型人物和典型事迹,按“劳动精神-劳动态度-工匠精神-劳模精神”四步进行劳动育人专题教育。课程教学的建议借助多媒体技术,为学生提供丰富的学习辅助材料,通过课程讲授、虚拟仿真和实操训练,逐步深化学生对课程内容的理解。课程结构与内容(一)课程结构本课程依据国家专业教学标准、职业技能等级标准、企业岗位职责标准,确定课程教学目标、遴选课程内容;基于岗位工程流程和学习认知规律,确定了学习内容,包括C语言基础、基本数据类型和操作、控制结构、序列数据类型和操作、函数与模块、文件操作和异常处理等内容,参考学时为60学时。知识体系结构如下表。表2课程内容结构与学时分配表序号学习模块(项目/单元)学习任务(内容)对应课程目标参考学时1初识C语言和程序设计第1章初识C语言和程序设计1.1C语言概述1.1.1C语言的发展及特点1.1.2程序设计语言的发展1.1.3程序设计语言的功能1.2C语言开发环境1.2.1C语言程序的开发过程1.2.2C语言运行环境的应用1.3简单的C语言程序1.3.1C语言的基本结构1.3.2第一个C语言程序K1、A1、Q142C语言数据与运算2.1数据类型2.1.1C语言的数据类型2.1.2进制与进制转换2.1.3整数类型2.1.4实数类型2.1.5字符类型2.2常量与变量2.2.1常量和符号常量2.2.2变量2.3运算符和表达式2.3.1赋值运算符和赋值表达式2.3.2算术运算符和算术表达式2.3.3逗号运算符和逗号表达式2.3.4字节运算符2.4位运算2.4.1位运算符及其表达式2.4.2位逻辑运算符2.4.3移位运算符2.5数据类型转换2.5.1赋值运算类型转换2.5.2自动类型转换2.5.3强制类型转换K2、A1、Q183程序的结构化设计3.1算法与结构程序设计3.1.1算法与流程图3.1.2C语言的语句3.2顺序结构程序设计3.2.1格式化输入输出3.2.2字符输入输出函数3.3选择结构程序设计3.3.1条件运算符和条件表达式3.3.2if语句实现单分支结构3.3.3if-else语句实现双分支结构3.3.4if-else-if语句实现多分支结构3.3.5if语句的嵌套结构3.3.6switch语句实现多分支结构3.4循环结构程序设计3.4.1for循环语句3.4.2while循环语句3.4.3do-while语句3.4.4改变循环结构的跳转语句K2、A2、Q184数组4.1一维数组4.1.1一维数组的定义和初始化4.1.2一维数组元素的引用4.2二维数组4.2.1二维数组的定义和初始化4.2.2二维数组元素的引用4.3字符数组与字符串4.3.1字符数组的定义和初始化4.3.2字符数组元素的引用4.3.3字符串和字符串结束标志4.3.4字符数组的输入输出4.3.5字符串处理函数K3、A1、Q285函数5.1函数的定义5.1.1函数概述5.1.2无参函数的定义5.1.3有参函数的定义5.2函数调用5.2.1函数调用的形式5.2.2函数的返回值5.2.3函数的嵌套与递归调用5.2.4函数声明5.2.5数组作函数的参数5.3函数变量的作用域和存储类别5.3.1局部变量与全局变量5.3.2变量的存储方式和生存期5.3.3内部函数和外部函数K3、A3、Q386指针第6章指针6.1指针与指针变量6.1.1指针和地址6.1.2指针变量6.2指针与数组6.2.1指针与一维数组6.2.2指针与二维数组6.3指针与字符串6.3.1字符指针与字符串6.3.2字符数组与字符指针处理字符串的区别6.4二级指针与指针数组6.4.1二级指针6.4.2指针数组K3、A3、Q387结构体和共同体第7章结构体和共同体7.1结构体类型7.1.1结构体类型的定义7.1.2结构体变量的初始化与引用7.1.3结构体数组7.1.4结构体指针7.1.5链表7.2共同体类型7.2.1共同体基本概念7.2.2共同体变量的初始化与引用K4、A4、Q388文件第8章文件8.1文件概述8.1.1初识文件8.1.2文件类型指针8.2文件操作8.2.1文件打开与关闭8.2.2文件读写K5、A5、Q48合计60(二)课程内容课程各模块落实课程思政要求,结合课程特点有机融入课程思政内容,强调培育学生的学习能力、信息素养、精益求精的工匠精神和爱岗敬业的劳动态度,引导学生树立正确的理想信念、学会正确的思维方法、培育正确的劳动观念、增强学生职业荣誉感。课程内容结构与学时分配表如表2所示。学生通常是零基础,所以选择教材的基础内容重点介绍,为以后深入学习程序设计打好基础。具体内容是C语言的特点与开发平台、C语言的书写规范与运算符、流程控制结构、组合数据类型、函数和代码复用、C语言的异常处理等,后续内容可引导学生参考教材深入学习。表3学习内容与安排表项目学习任务课程目标课程思政技能模块第1章初识C语言和程序设计1.1C语言概述1.1.1C语言的发展及特点1.1.2程序设计语言的发展1.1.3程序设计语言的功能1.2C语言开发环境1.2.1C语言程序的开发过程1.2.2C语言运行环境的应用1.3简单的C语言程序1.3.1C语言的基本结构1.3.2第一个C语言程序素质目标:养成善于思考、深入研究的良好自主学习的习惯和创新精神。知识目标:了解C语言的发展及特点、程序设计语言的发展、程序设计语言的功能。掌握VisualC++6.0开发环境及应用。能力目标:掌握简单C语言的基本结构。掌握编写C语言程序的基本步骤和解决问题方法。通过对C语言产生背景的分析介绍我国软件的发展现状和艰辛历程,鼓励学生奋发图强,为国家的崛起贡献自己的力量能下载与安装C语言开发平台;掌握VisualC++6.0开发环境及应用。4第2章C语言数据与运算2.1数据类型2.1.1C语言的数据类型2.1.2进制与进制转换2.1.3整数类型2.1.4实数类型2.1.5字符类型2.2常量与变量2.2.1常量和符号常量2.2.2变量2.3运算符和表达式2.3.1赋值运算符和赋值表达式2.3.2算术运算符和算术表达式2.3.3逗号运算符和逗号表达式2.3.4字节运算符2.4位运算2.4.1位运算符及其表达式2.4.2位逻辑运算符2.4.3移位运算符2.5数据类型转换2.5.1赋值运算类型转换2.5.2自动类型转换2.5.3强制类型转换素质目标:养成善于思考、深入研究的良好自主学习的习惯和创新精神。知识目标:•理解C语言的数据类型、进制与进制转换、整数类型、实数类型、字符类型的概念与理论知识。•掌握常量和符号常量、变量的使用。能力目标:•掌握简赋值运算符和赋值表达式、算术运算符和算术表达式、逗号运算符和逗号表达式、字节运算符的使用。•掌握位运算符及其表达式、位逻辑运算符、移位运算符的使用。•掌握赋值运算类型转换、自动类型转换、强制类型转换的使用。通过理解C语言的数据类型、进制与进制转换、整数类型、实数类型、字符类型的概念与理论知识,让学生明白遵循各项规章制度和行为规范的重要性,培养学生的工匠精神和责任担当精神能正确解释掌握简赋值运算符和赋值表达式、算术运算符和算术表达式、逗号运算符和逗号表达式、字节运算符的使用4第3章程序的结构化设计3.1算法与结构程序设计3.1.1算法与流程图3.1.2C语言的语句3.2顺序结构程序设计3.2.1格式化输入输出3.2.2字符输入输出函数3.3选择结构程序设计3.3.1条件运算符和条件表达式3.3.2if语句实现单分支结构3.3.3if-else语句实现双分支结构3.3.4if-else-if语句实现多分支结构3.3.5if语句的嵌套结构3.3.6switch语句实现多分支结构3.4循环结构程序设计3.4.1for循环语句3.4.2while循环语句3.4.3do-while语句3.4.4改变循环结构的跳转语句素质目标:1.养成善于思考、深入研究的良好自主学习的习惯和创新精神;2.培养细致缜密的工作态度、团结协作的良好品质、沟通交流和书面表达能力。知识目标:•理解算法与流程图、C语言的语句。•掌握格式化输入输出、字符输入输出函数。能力目标:•掌握条件运算符和条件表达式、if语句实现单分支结构、if-else语句实现双分支结构、if-else-if语句实现多分支结构、if语句的嵌套结构、switch语句实现多分支结构。•掌握循for循环语句、while循环语句、do-while语句、改变循环结构的跳转语句。树立正确的世界观与人生观和坚守信念的重要性,鼓励同学们为“中国梦”而刻苦学习和奋发图强掌握条件运算符和条件表达式、if语句实现单分支结构、if-else语句实现双分支结构、if-else-if语句实现多分支结构、if语句的嵌套结构、switch语句实现多分支结构。掌握循for循环语句、while循环语句、do-while语句、改变循环结构的跳转语句。8第4章数组4.1一维数组4.1.1一维数组的定义和初始化4.1.2一维数组元素的引用4.2二维数组4.2.1二维数组的定义和初始化4.2.2二维数组元素的引用4.3字符数组与字符串4.3.1字符数组的定义和初始化4.3.2字符数组元素的引用4.3.3字符串和字符串结束标志4.3.4字符数组的输入输出4.3.5字符串处理函数素质目标:1.养成善于思考、深入研究的良好自主学习的习惯和创新精神;2.培养细致缜密的工作态度、团结协作的良好品质、沟通交流和书面表达能力。知识目标:•掌握一维数组的定义和初始化、一维数组元素的引用。•掌握二维数组的定义和初始化、二维数组元素的引用。能力目标:•掌握字符数组的定义和初始化、字符数组元素的引用、字符串和字符串结束标志、字符数组的输入输出、字符串处理函数。通过对一维数组的定义和初始化、一维数组元素的引用。掌握二维数组的定义和初始化、二维数组元素的引用。的介绍,让学生理清集体和个人的关系,培养学生的集体荣誉感和团队合作精神掌握字符数组的定义和初始化、字符数组元素的引用、字符串和字符串结束标志、字符数组的输入输出、字符串处理函数。8第5章函数5.1函数的定义5.1.1函数概述5.1.2无参函数的定义5.1.3有参函数的定义5.2函数调用5.2.1函数调用的形式5.2.2函数的返回值5.2.3函数的嵌套与递归调用5.2.4函数声明5.2.5数组作函数的参数5.3函数变量的作用域和存储类别5.3.1局部变量与全局变量5.3.2变量的存储方式和生存期5.3.3内部函数和外部函数素质目标:具有较好的语言表达与沟通协调能力。知识目标:•理解函数概述、无参函数的定义、有参函数的定义。•掌握函数调用的形式、函数的返回值、函数的嵌套与递归调用、函数声明、数组作函数的参数。能力目标:•掌握局部变量与全局变量、变量的存储方式和生存期、内部函数和外部函数。通过对函数调用的形式、函数的返回值、函数的嵌套与递归调用、函数声明、数组作函数的参数。的介绍,让学生明白人员分工、合作和团结的重要性,帮助学生树立正确的劳动台作观念,增强学生的团队协作精神掌握局部变量与全局变量、变量的存储方式和生存期、内部函数和外部函数。8第6章指针6.1指针与指针变量6.1.1指针和地址6.1.2指针变量6.2指针与数组6.2.1指针与一维数组6.2.2指针与二维数组6.3指针与字符串6.3.1字符指针与字符串6.3.2字符数组与字符指针处理字符串的区别6.4二级指针与指针数组6.4.1二级指针6.4.2指针数组素质目标:具有较好的语言表达与沟通协调能力。知识目标:•理解指针和地址、指针变量的概念与理论知识。•掌握指针与一维数组、指针与二维数组。能力目标:•掌握字符指针与字符串、字符数组与字符指针处理字符串的区别。•掌握二级指针、指针数组的使用。理解指针和地址、指针变量的概念与理论知识。掌握指针与一维数组、指针与二维数组。同时,要教导学生如何安全地处理文件路径,避免安全风险。掌握二级指针、指针数组的使用。8第7章结构体和共同体7.1结构体类型7.1.1结构体类型的定义7.1.2结构体变量的初始化与引用7.1.3结构体数组7.1.4结构体指针7.1.5链表7.2共同体类型7.2.1共同体基本概念7.2.2共同体变量的初始化与引用素质目标:具有较好的语言表达与沟通协调能力。知识目标:掌握结构体类型的定义、结构体变量的初始化与引用、结构体数组、结构体指针、链表。能力目标:掌握共同体基本概念、共同体变量的初始化与引用。通过掌握结构体类型的定义、结构体变量的初始化与引用、结构体数组、结构体指针、链表。培养学生的安全意识和突发事件处理能力掌握共同体基本概念、共同体变量的初始化与引用。8第8章文件8.1文件概述8.1.1初识文件8.1.2文件类型指针8.2文件操作8.2.1文件打开与关闭8.2.2文件读写素质目标:具有较高的信息素养,即信息的收集、整理创造能力。知识目标:•理解文件基本概念、文件类型指针理论知识。能力目标:•掌握文件打开与关闭、文件读写相关操作。通过理解文件基本概念、文件类型指针理论知识等知识,培养学生的数据收集和数据处理能力掌握文件打开与关闭、文件读写相关操作。8合计60四、学生考核与评价(一)考核方式改革传统的学生评价手段和方法,应突出过程与模块评价,采用过程性评价与结果评价相结合,理论与实践一体化评价模式。关注评价的多元性,结合课堂提问、学生作业、平时操作、课程操作测验、项目考核等多种形式作为评价学生学习情况的手段。注重学生动手能力和实践中分析问题、解决问题能力的考核,对在学习和应用上有创新的学生应予特别鼓励,全面综合评价学生能力。表4考核目标权重表课程内容对应课程目标权重分值分能力权重KAQ期末考试初识C语言和程序设计K1、A1、Q11055C语言数据与运算K2、A1、Q11055程序的结构化设计K2、A3、Q220515数组K3、A3、Q215105函数K4、A3、Q315105指针K4、A4、Q31055结构体和共同体K5、A5、Q31055文件K5、A6、Q31055小计100405010过程考核考勤10平时表现10平时作业20过程调试2040小计100404020期末考试成绩比例(占总成绩m%),本课为50%计算方法:分能力权重×m%202010过程考核考核成绩比例(占总成绩1-m%),本课为50%确定方法:按实际项目分值确定202010成绩比例404020表5考核成绩评定表课程目标对应培养规格编号考核与评价方式及成绩比例成绩比例(%)平时表现期末考试课程目标1知识目标K5202040课程目标2技能目标A2202040课程目标3素质目标Q4101020合计5050100(二)评价标准表7项目过程考核评价标准考核点考核标准(每项考核点分A、B、C、D四个等级评价)A(85-100分)B(70-84分)C(60-69分)D(60分以下)实训报告(或任务工单)正确、有见解正确一般不完整、错误较多团队合作全员参与、分工合作明确全员参与一般不能协调合作学习态度认真、积极认真一般不参与学习项目技能考核熟练正确地操作操作基本正确,较为熟练操作不太熟练,错误不超过10%错误超过10%其他考核参考:本课程侧重实操训练及考核管理,由平时考核+期末考核两部分组成,具体成绩评定方式与要求如下:总成绩(100%)=平时成绩(50%)+期末考核(50%)五、教学实施与保障(一)师资条件要求承担本程的教师必须具有良好的师德师风,有良好的教学方法,能够熟练使用Pycharm等集成开发环境,深入理解C语言核心知识,如面向对象、封装、继承等,具有较强的逻辑思维能力和沟通能力,能清楚地讲解课程内容、回答学生问题。同时还应具备以下能力或资质:1.教师具有高校教师资格,掌握面向对象知识和C语言应用开发需求,具有扎实的专业知识和能力;2.具有较强的教学组织能力,能运用各种教学法设计课程,让学生容易理解。3.具有较强的实践技能,接受过一定的专业技术培训,或有较丰富的企业工作经验。(二)教材选用要求1.教材选取的原则(1)先进性。充分体现任务引领、实践导向的课程设计思想。教材应充分体现以工作任务为中心组织课程内容和课程教学的设计思想。(2)实践性。教材应将本课程涉及到的职业活动,分解成若干典型的工作项目,按岗位操作规程,结合职业技能证书考证组织教材内容。要通过典型的工作项目,引入必须的理论知识,增加实践、实操内容,强调理论在实践过程中的应用。(3)趣味性。教材应图文并茂,提高学生的学习兴趣,加深学生对汽车维护的认识和理解。教材表达必须精炼、准确、科学。(4)实用性。教材内容应体现实用性,要将保养作业项目中所涉及到的新设备及时地纳入教材,使教材更贴近实际工作需要,并具有可操作性。2.推荐教材表8推荐教材表序号书名、封面作者出版社出版时间教材等级1C语言程序设计崔升广人民邮电出版社2016.02(三)教学方法要求通过教师讲解、案例分析、情景互动、头脑风暴、分组研讨、交流共享等教学手段和方法,提高学生积极性,主动参与课堂教学。根据专业培养目标、课程教学要求、学生能力和教学资源情况,实施相应的教学方法,在传统的课堂教学的基础上,补充线上线下教学方法。并且对于实践性较强的课程,增加实训学时比例,提高学生的专业技能水平。根据1+X证书制度,进行相应的项目化教学,培养复合型技能人才。(四)教学资源要求1.C语言程序设计教程(微课版)--人民邮电出版社;2.超星网络平台--《C语言程序设计》课程资源。(五)教学条件要求教学在一体化教室或实训室进行(需配备电脑,安装相关软件);云计算实训室环境支持和师生互动交流平台(软件平台)。表9设备与条件要求序号名称配置要求备注1机房1.性能良好的计算机设备;2.内存至少16GB以上;3.安装Idea集成开发环境;4.高分辨率显示器;5.办公自动化软件;6.极域电子;7.多媒体设备一套,网络畅通。根据实际情况分小组进行教学。六、其他(一)执行说明1.课程标准是学校的基本文件,是组织课堂教学的依据,为了保证课程教学的严肃性、连续性、稳定性,课程标准一经批准后必须严格执行,不得随意改动。2.任课教师应认真阅读、研究课程标准,并严格按标准执行课程标准,根据课程标准编写授课计划、教案。通过不断总结教学经验,各教研室应对课程标准进行修改与完善,不断促进课程建设与改革,保证教学质量不断提高。(二)制定(修订)说明在课程标准执行过程中,根据人才培养方案的修订或工作任务的发展变化需要对课程教学标准进行调整时,各相关教研室可向所在学院提出新制定(修订)申请,学院批准后,经教务处审批备案后方可执行新课程标准。习题及答案第1章初识C语言和程序设计1.选择题(1)C语言是一种()。A.机器语言 B.汇编语言 C.高级语言 D.低级语言(2)一个C程序的执行是从()。A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束(3)下列各项中,不是C语言特点的是()。A.语言简洁、紧凑,使用方便 B.数据类型丰富,可移植性好C.能实现汇编语言的大部分功能 D.有较强的网络操作功能(4)以下叙述不正确的是()。A.一个C源程序必须包含一个main函数 B.一个C源程序可由一个或多个函数组成C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面(5)以下说法正确的是()。A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用B.C程序的注释只能是一行C.C程序的注释不能是中文文字信息D.C程序的注释中存在的错误会被编译器检查出来(6)以下说法正确的是()。A.C程序中的所有标识符都必须小写B.C程序中关键字必须小写,其他标识符不区分大小写C.C程序中所有标识符都不区分大小写D.C程序中关键字必须小写,其他标识符区分大小写(7)C语言语句的结束符是()。A.回车符 B.分号 C.句号 D.逗号(8)C语言源程序的基本单位是()。A.过程 B.函数 C.子程序 D.标识符(9)C语言程序中,main函数的位置()。A.必须作为第一个函数 B.必须作为是后一个函数 C.必须放在它所调用的函数之后 D.任意位置(10)C编译程序是()。A.C程序的机器语言版本 B.一组机器语言指令 C.将C语言程序编译成目标程序的程序 D.由制造厂商提供的应用软件2.填空题(1)C程序一般由若干个函数构成,程序中应至少包含一个(),其名称只能为()。(2)计算机编程语言分成()、汇编语言、()三大类。(3)C语言诞生于()年;1983年,美国制定的C语言标准为()。(4)C语言源程序文件的后缀是(),编译后生成目标文件的扩展名是(),经过连接后生成可执行文件的扩展名是()。(5)C程序多行注释是由()和()所界定的文字信息组成的,单行注释由()表示。(6)源程序的执行要经过()、()、()和()4个步骤。(7)每个C语言源程序的语句必须用()结束。(8)一个函数由两部分组成,包括()和()。3.编程题(1)编写一个C语言程序并上机调试,运行后输出以下信息。******************************************ThisismyfirstClanguageprogram.******************************************(2)编程实现,长方形的长a=8,宽b=6,求长方形的面积s并输出。

第2章C语言数据与运算1.选择题(1)以下正确的C语言标识符是()。A.3ab B.a+b C.a10 D.test!(2)若x、i、j和k都是整型变量,则执行下面的表达式后x的值为()。x=(i=8,j=16,k=32)A.8 B.16 C.32 D.56(3)C语言中的标识符只能由字母、数字和下画线3种字符组成,且第一个字符()。A.必须是字母 B.必须为下画线 C.必须为字母或下画线D.可以是字母、数字、下画线中的任一字符(4)下面正确的字符常量是()。A."a" B.'\\" C." D.'a'(5)设x、y均为float型变量,则以下赋值语句不合法的是()。A.++x; B.y=(x%2)/2; C.x*=y+2; D.x=y=2;(6)下列不是C语言常量的是()。A.e−3 B.058 C."a" D.'\0'(7)若定义了intx;则将x强制转化成双精度类型应该写成()。A.x(double) B.(double)x C.double(x) D.(x)double(8)在C语言中,要求参加运算的数必须是整数的运算符是()。A./ B.* C.= D.%(9)已知“intx=023”,则表达式++x的值是()。A.17 B.18 C.19 D.20(10)在C语言中,字符型数据在计算机内存中以字符的()形式存储。A.原码 B.反码 C.ASCII码 D.BCD码(11)字符串"ABC"在内存中占用的字节数是()。A.3 B.4 C.6 D.8(12)已知字母A的ASCII码为十进制数65,且C2为字符型,则执行语句“C2='A'+'6'-'3';”后C2中的值是()。A.D B.67 C.不确定的值 D.C(13)若有说明语句“charc='\58';”,则变量c在内存中占用的字节数是()。A.1 B.2 C.3 D.4(14)C语言中,要求运算对象只能为整数的运算符是()。A.% B./ C.> D.*(15)若已定义x和y为double类型,且定义x=1,则表达式y=x+3/2的值是()。A.1 B.2 C.2.0 D.2.5(16)sizeof(double)的结果值是()。A.8 B.4 C.2 D.出错2.填空题(1)字符常量使用一对()界定单个字符,而字符串常量使用一对()来界定若干个字符的序列。(2)在C语言中,不同运算符之间运算次序存在()的区别,同一运算符之间运算次序存在()的规则。(3)C语言规定,标识符只能由()、()、()3种字符组成,而且第一个字母必须是()或()。(4)在计算机中,字符的比较是对它们的()数值进行比较。(5)空字符串的长度是()。(6)C语言中,数值常量15、0123、0x9f对应的十进制分别为()、()、()。(7)下列程序的运行结果是()。#include<stdio.h>voidmain(){intx=10;inty=20;printf("%d\n",x++);printf("%d\n",++y);}(8)下列程序的运行结果是()。#include<stdio.h>voidmain(){inta=057;printf("%d\n",--a);}(9)下列程序的运行结果是()。#include<stdio.h>voidmain(){inta=2,b=3,c=4;a*=16+(b++)-(++c);printf("%d",a);}(10)下列程序的运行结果是()。#include<stdio.h>intmain(){inta=128,b; a=a>>1; b=(a<<2)|a;printf("%d,%d\n",a,b);return0;}3.编程题(1)编程实现,对于任意输入的两个整数,求商和余数。(2)编程实现,输入一个大写字母,将其转换为对应的小写字母并输出。(3)编程实现,已知购买商品的价格(price)和数量(num),求应付款,其中price为double类型,num为int类型。第3章程序的结构化设计1.选择题(1)以下选项不是C语句的是()。A.a=10 B.; C.{t=a;a=b;b=t;} D.k=x;(2)以下程序输出结果为()。#include<stdio.h>main(){inti=10,j=20;printf("i=%%d,j=%%%d\n",i,j);}A.10,20 B.i=%d,j=%10 C.i=10,j=20 D.i=%d,j=%d(3)以下程序输出结果为()。#include<stdio.h>main(){inti=10,j=20;printf("i=%d,j=%d\n",i,j);}A.10,20 B.i=%10,j=%20 C.i=d,j=d D.i=10,j=20(4)若有变量定义语句“inti,j;”,运行时输入(),则i和j的值分别为10和20。scanf("i=%d,j=%d",i,j);A.1020 B.10,20 C.i=10,j=20 D.i=10j=20(5)以下说法正确的是()。A.getchar()函数用于输入一个字符B.getchar()函数用于输入一个字符串 C.putchar()函数用于输出一个字符串 D.putchar()函数用于输入一个字符(6)下列哪个选项是正确的条件判断语句?()A.if(x=10) B.if(x==10)C.ifx==10then D.if(xequals10)(7)在C语言中,下列哪个选项是正确的循环结构?()A.for(i=0;i<10;i++) B.while(i=0;i<10;i++)C.dowhile(i<10) D.loop(i=0to10)(8)在顺序结构中,以下说法正确的是()。A.程序会跳过某些语句 B.程序按照书写顺序依次执行所有语句C.程序会根据条件判断是否执行某些语句 D.程序会重复执行某些语句(9)以下代码的输出结果是()#include<stdio.h>intmain(){intx=5;inty=10;intz=x+y;printf("%d\n",z);return0;}A.5 B.10 C.15 D.编译错误(10)在C语言中,以下哪个函数调用属于顺序结构的一部分?()A.if(x>0) B.for(inti=0;i<10;i++)C.printf("Hello,World!\n"); D.switch(x)(11)关于顺序结构的描述,以下哪项是错误的?()A.顺序结构是最简单的程序结构 B.顺序结构中的语句可以被跳过C.顺序结构中的语句按书写顺序依次执行 D.顺序结构不涉及条件判断或循环(12)以下代码的输出结果是()#include<stdio.h>intmain(){printf("Hello");printf("World!\n");return0;}A.HelloWorld! B.Hello C.World! D.编译错误(13)在C语言中,以下哪种结构用于根据条件选择性地执行某些语句?()A.顺序结构 B.选择结构 C.循环结构 D.跳转结构(14)在C语言中,以下哪个选项是正确的if语句用法?()A.ifx>0then B.if(x>0) C.if[x>0] D.if{x>0}(15)以下代码的输出结果是什么?()#include<stdio.h>intmain(){intx=5;if(x>10){printf("Greaterthan10\n");}else{printf("Lessthanorequalto10\n");}return0;}A.Greaterthan10 B.编译错误C.Lessthanorequalto10 D.无输出(16)关于switch语句,以下说法正确的是()。A.switch语句可以用于浮点数类型B.switch语句只能有一个case分支C.switch语句的条件表达式可以用关系运算符D.switch语句的每个分支需要用break语句结束,否则会继续执行下一个分支(17)以下代码的输出结果是什么?()#include<stdio.h>intmain(){intx=2;switch(x){case1:printf("One\n");break;case2:printf("Two\n");case3:printf("Three\n");break;default:printf("Other\n");}return0;}A.Two B.TwoThreeC.TwoThreeOther D.编译错误(18)以下代码的输出结果是什么?()#include<stdio.h>intmain(){intx=5;if(x=10){printf("True\n");}else{printf("False\n");}return0;}A.True B.False C.编译错误 D.运行时错误(19)关于do-while循环,以下说法正确的是()。A.do-while循环至少会执行一次循环体 B.do-while循环的条件判断在循环体之前C.do-while循环不需要分号结束 D.do-while循环不能用于数组遍历(20)以下代码的输出结果是什么?()#include<stdio.h>intmain(){inti=0;while(i<5){printf("%d",i);i++;}return0;}A.无输出 B.12345 C.编译错误 D.01234(21)以下代码的输出结果是什么?()#include<stdio.h>intmain(){inti=0;while(i<5){if(i==3){break;}printf("%d",i);i++;}return0;}A.012 B.0123 C.01234 D.编译错误(22)在C语言中,以下哪个关键字用于跳过当前循环的剩余部分并进入下一次循环?()A.break B.continue C.return D.goto(23)以下代码的输出结果是什么?()#include<stdio.h>intmain(){for(inti=0;i<5;i++){if(i%2==0){continue;}printf("%d",i);}return0;}A.13 B.024 C.01234 D.编译错误(24)以下代码的输出结果是什么?()#include<stdio.h>intmain(){inti=0;while(i++<5){printf("%d",i);}return0;}A.12345 B.01234 C.1234 D.编译错误(25)在C语言中,以下哪个选项是错误的循环结构用法?()A.for(inti=0;i<10;i++) B.while(i<10)C.do{printf("Hello");}while(i<10); D.for(i=0,i<10,i++)2.填空题(1)在C语言中,程序按照语句书写的先后顺序依次执行的结构称为()结构。(2)在顺序结构中,printf函数用于()数据,scanf函数用于()数据。(3)在C语言中,return0;通常用于()函数,表示程序正常结束。(4)if语句用于根据()的结果决定是否执行某段代码。(5)在if-else语句中,当条件为真时执行()分支,当条件为假时执行()分支。(6)在switch语句中,每个case分支需要用()语句结束,否则会继续执行下一个分支。(7)在C语言中,switch语句的条件表达式只能是()类型或字符类型。(8)在while循环中,如果循环条件一开始就为假,则循环体会执行()次,而在do-while循环中,循环体至少会执行()次。(9)在C语言中,continue语句的作用是跳过当前循环的()部分,并直接进入下一次循环。(10)在C语言中,break语句用于()循环或switch语句的执行。(11)以下代码的输出结果是()。inti=0;do{printf("%d",i);i++;}while(i<3);(12)以下代码的输出结果是()。for(inti=0;i<5;i++){if(i==2){continue;}printf("%d",i);}(13)以下代码的输出结果是()。intx=10;if(x>5){printf("A");}else{printf("B");}for(inti=0;i<3;i++){printf("%d",i);}(14)以下代码的输出结果是()。inti=0;while(i<5){if(i==3){break;}printf("%d",i);i++;}(15)在for循环中,如果省略了条件判断表达式,则默认条件为()。(16)在C语言中,for循环可以嵌套使用,外层循环每执行一次,内层循环会执行()次。(17)以下代码的输出结果是()。inti=0;while(i<3){if(i==1){i++;continue;}printf("%d",i);i++;}(18)以下代码的输出结果是()。for(i=1;i<=3;i++){for(j=1;j<=2;j++){printf("%d-%d",i,j);}}(19)以下代码的输出结果是()。inti=10;do{printf("%d",i);i--;}while(i>7);(20)以下代码的输出结果是()。inti=5;while(i>0){printf("%d",i);i--;}3.编程题(1)编程实现,输出1到100之间的全部素数。(2)编程实现,从键盘输入一个三位数,并将其反向输出。同时,程序会判断输入是否为三位数,如果不是三位数,则提示用户重新输入。

第4章数组1.选择题(1)以下关于一维数组的定义错误的是()。A.intarr[5]={1,2,3,4,5}; B.intarr[]={1,2,3,4,5};C.intarr[5];arr={1,2,3,4,5}; D.intarr[5]={1,2,3};(2)假设有一个数组定义如下:intarr[5]={1,2,3};,请问arr[3]的值是多少()。A.0 B.3 C.未定义 D.编译错误(3)关于数组下标的描述,以下哪项是正确的()。A.数组下标从1开始 B.数组下标从0开始 C.数组下标可以是负数D.数组下标可以超出数组大小(4)以下代码的输出结果是()。#include<stdio.h>intmain(){intarr[5]={10,20,30,40,50};printf("%d\n",arr[2]);return0;}A.10 B.20 C.30 D.40(5)关于数组名的描述,以下哪项是正确的()。A.数组名是一个常量指针,指向数组的第一个元素B.数组名是一个变量,可以修改 C.数组名可以直接赋值给另一个数组 D.数组名表示整个数组的内容(6)以下代码的输出结果是()。#include<stdio.h>intmain(){intarr[5]={1,2,3,4,5};inti=0;for(i=0;i<=5;i++){printf("%d",arr[i]);}return0;}A.12345 B.123450 C.12345随机值 D.编译错误(7)以下关于二维数组的定义错误的是()。A.intarr[2][3]={{1,2},{3,4}}; B.intarr[][3]={{1,2,3},{4,5,6}}; C.intarr[2][3];arr={{1,2,3},{4,5,6}}; D.intarr[2][3]={1,2,3,4,5};(8)假设有一个二维数组定义如下:intarr[2][3]={{1,2},{3,4}};,请问arr[1][2]的值是多少()。A.0 B.2 C.3 D.4(9)关于二维数组的存储方式,以下哪项是正确的()。A.按行优先存储 B.按列优先存储 C.按随机顺序存储 D.存储方式取决于编译器(10)以下代码的输出结果是()。#include<stdio.h>intmain(){intarr[2][3]={{1,2,3},{4,5,6}};printf("%d\n",arr[1][1]);return0;}A.1 B.2 C.5 D.6(11)以下关于字符数组和字符串的描述正确的是()。A.字符数组和字符串没有区别B.字符串必须以'\0'结束,而字符数组不需要 C.字符数组可以存储多行字符串D.字符串可以动态改变长度(12)以下代码的输出结果是()。#include<stdio.h>intmain(){charstr[]="Hello";printf("%d\n",strlen(str));return0;}A.4 B.5 C.6 D.编译错误(13)以下代码的输出结果是()。#include<stdio.h>intmain(){charstr1[10]="Hello";charstr2[10]="World";strcat(str1,str2);printf("%s\n",str1);return0;}A.HelloWorld B.World C.Hello D.编译错误(14)关于字符串常量的描述,以下哪项是正确的()。A.字符串常量可以修改 B.字符串常量存储在只读内存区域 C.字符串常量不需要以'\0'结束 D.字符串常量的长度可以动态改变(15)以下代码的输出结果是()。#include<stdio.h>intmain(){charstr[10]="Hello";str[5]='!';printf("%s\n",str);return0;}A.Hello! B.Hello C.编译错误 D.运行时错误2.填空题(1)对于一维数组intarr[5]={1,2,3};,未显式初始化的元素会被自动初始化为()。(2)字符数组与普通数组的区别在于,字符数组通常以()结束,用于表示字符串。(3)对于字符数组charstr[]="Hello";,其实际占用的内存大小为()字节。(4)在C语言中,strlen()函数用于计算字符串的实际长度,不包括()。(5)在C语言中,字符串常量(如"Hello")存储在()内存区域,不能被修改。(6)在C语言中,strcmp()函数用于比较两个字符串的内容,返回值为0时表示两个字符串()。3.编程题(1)编程实现,定义一个二维数组a[3][3],找出二维数组中的最大值及其位置。(2)编程实现,定义一个二维数组a[3][3],计算二维数组中所有元素的总和。(3)编程实现,将两个字符串连接起来,不使用strcat()函数。

第5章函数1.选择题(1)C语言中函数的作用是()。A.提高程序执行速度 B.简化程序结构、提高代码复用率 C.避免使用变量 D.自动释放内存(2)下面关于函数的说法错误的是()。A.函数可以嵌套定义 B.函数可以递归调用 C.每个C程序至少有一个main函数 D.函数可以没有返回值(3)在C语言中,函数的返回值类型由什么决定()。A.return语句中的表达式类型 B.调用该函数时系统随机决定 C.定义函数时指定的返回类型D.主调函数的类型(4)若函数未显式声明返回类型,默认的返回类型是()。A.void B.int C.float D.double(5)下列哪个关键字用于声明一个函数不会返回任何值()。A.void B.null C.int D.char(6)关于函数参数的描述,哪一个是正确的()。A.实参必须与形参名称相同 B.实参与形参之间是双向传递 C.形参在函数内部是局部变量 D.形参可以是数组名、指针、常量等任意类型(7)C语言中函数的默认参数传递方式是()。A.地址传递 B.引用传递 C.值传递 D.值传递和地址传递都可以(8)关于函数原型的描述,错误的是()。A.函数原型说明了函数的接口 B.函数原型可以省略参数名 C.函数原型必须出现在所有函数调用之前 D.函数原型可以放在头文件中(9)main()函数的返回值表示()。A.程序运行的时间 B.用户输入的内容 C.程序执行状态(成功或失败) D.没有实际意义(10)下列哪一个不是函数调用的形式()。A.func(); B.x=func(); C.func(3); D.funcx;(11)C语言中允许的函数嵌套是()。A.允许函数嵌套定义 B.允许函数嵌套调用 C.函数既可嵌套定义也可嵌套调用 D.函数既不可嵌套定义也不可嵌套调用(12)函数调用结束后,函数返回的值是通过哪个语句实现的()。A.exit B.continue C.break D.return(13)下面关于函数返回值的说法,正确的是()。A.只能返回整型数据 B.可以返回多个值C.返回值类型必须与函数定义一致 D.返回值只能是基本数据类型(14)使用#include<stdio.h>的作用是()。A.包含标准输入输出函数的声明 B.包含数学运算函数C.包含字符串处理函数 D.包含动态内存管理函数(15)函数递归是指()。A.函数调用自己 B.函数调用其他函数C.函数嵌套定义 D.函数重复声明(16)递归函数必须满足的条件是()。A.必须有返回值 B.必须有终止条件C.必须有全局变量 D.必须有循环结构(17)以下关于静态函数(staticfunction)的说法,正确的是()。A.可以被其他文件访问 B.作用域仅限于定义它的文件C.生命周期与程序无关 D.必须在main函数之前定义(18)在函数调用中,如果需要修改实参的值,应采用()。A.值传递 B.地址传递C.全局变量 D.静态变量2.填空题(1)在C语言中,每个程序必须有且只有一个()函数作为程序的入口。(2)函数定义的基本结构包括:返回类型、函数名、()和函数体。(3)如果一个函数不返回任何值,其返回类型应声明为()。(4)函数调用时,传递给函数的变量称为()。(5)函数定义中的参数称为()。(6)若要在函数中修改主调函数中的变量,应使用(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论