




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计创建第一个C语言程序项目1“学生成绩管理系统”中相关数据设计及简单处理项目2项目中学生成绩的等级判定项目3项目中的设计数据处理及封面与菜单的初步项目4学生成绩的分组汇总程序项目5利用数组完善项目中数据的处理项目6利用函数进行项目的整体框架设计项目7利用结构体实现项目项目8利用指针优化项目项目9利用文件完善项目项目10开篇--学生成绩管理系统开篇--学生成绩管理系统
实现在线测试系统主页面的布局和美化某班级需要一个学生成绩管理系统,该系统应具有学生成绩的添加、删除、查询、修改、插入和排序等处理功能,提供数字按键菜单操作方式,如图0-1所示。任务描述实现在线测试系统主页面的布局和美化某班级需要一个学生成绩管理系统,该系统应具有学生成绩的添加、删除、查询、修改、插入和排序等处理功能,提供数字按键菜单操作方式,如图0-1所示。开篇--学生成绩管理系统
实现在线测试系统主页面的布局和美化某班级需要一个学生成绩管理系统,该系统应具有学生成绩的添加、删除、查询、修改、插入和排序等处理功能,提供数字按键菜单操作方式,如图0-1所示。任务分析实现根据上面的问题描述,可以得出该学生系统要实现的功能,有以下几方面:1.录入学生成绩信息。2.实现删除功能,即输入学号,删除相应的记录。3.实现查找功能,即输入学号,查询该学生的相应信息。4.实现修改功能,即输入学号,修改相应的记录信息。5.指定位置插入学生的成绩信息,即将新的记录插入到指定位置。6.实现学生的排名,即按照选定的关键字段进行排序。7.数据统计,按用户指定条件进行统计。测试系统主页面的布局和美化某班级需要一个学生成绩管理系统,该系统应具有学生成绩的添加、删除、查询、修改、插入和排序等处理功能,提供数字按键菜单操作方式,如图0-1所示。开篇--学生成绩管理系统
实现在线测试系统主页面的布局和美化某班级需要一个学生成绩管理系统,该系统应具有学生成绩的添加、删除、查询、修改、插入和排序等处理功能,提供数字按键菜单操作方式,如图0-1所示。任务分析学生成绩管理系统录入数据查询记录修改记录插入记录删除记录成绩排序数据统计浏览记录开篇--学生成绩管理系统
实现在线测试系统主页面的布局和美化某班级需要一个学生成绩管理系统,该系统应具有学生成绩的添加、删除、查询、修改、插入和排序等处理功能,提供数字按键菜单操作方式,如图0-1所示。实施方案本案例贯穿整个教材,由系统的初步设计、开发、优化到系统的最后完善。方案设计如下:1.项目1-项目6,各项目设计独立的案例,重点是学习、掌握C语言程序设计的语法规则。2.项目7,按照模块化程序设计方法,完成系统的整体结构和系统界面的设计。3.项目8,进行数据结构设计及主要功能函数的实现,从而学习结构体相关内容。4.项目9,利用指针优化各功能模块。5.项目10,利用文件实现系统的数据存取,完善整个系统。知识储备要完成学生成绩管理系统的开发,必须学完正本教材全部内容,熟悉C语言的语法规则和三大基本结构,掌握C语言程序设计的基本技能和结构化程序设计方法。谢谢多一点努力,多一点实践,多一点点就能创造奇迹!C语言程序设计创建第一个C语言程序项目1“学生成绩管理系统”中相关数据设计及简单处理项目2项目中学生成绩的等级判定项目3项目中的设计数据处理及封面与菜单的初步项目4学生成绩的分组汇总程序项目5利用数组完善项目中数据的处理项目6利用函数进行项目的整体框架设计项目7利用结构体实现项目项目8利用指针优化项目项目9利用文件完善项目项目10项目1创建第一个C语言程序目标TARGET知识目标能够使用了解C语言的产生、发展和特点掌握C程序的实现过程和结构熟悉VisualC++6.0开发环境理解程序设计的思想、方法以及算法了解软件编程的规范目标TARGET技能目标熟悉VisualC++6.0环境能够在VisualC++6.0下运行、调试C程序认识C程序任务1.1创建及运行第一个C程序任务1.2运用算法描述问题任务1.3任务1.1认识C程序
任务描述认识第一个C程序,其运行结果是在计算机屏幕上输出一行文本信息(项目名称)“学生成绩管理系统”。任务分析这是一个简单的C语言程序,只需要一条格式输出语句即可实现上述功能。算法设计输出文本“学生成绩管理系统”,可以使用格式输出函数实现。任务1.1认识C程序
实现在线测试系统主页面的布局和美化某班级需要一个学生成绩管理系统,该系统应具有学生成绩的添加、删除、查询、修改、插入和排序等处理功能,提供数字按键菜单操作方式,如图0-1所示。程序代码#include"stdio.h"/*编译预处理命令*/voidmain(){ printf("学生成绩管理系统\n");
/*在屏幕上输出学生成绩管理系统*/}/*main()主函数结束*/执行结果1认识C语言及C程序Part◎C语言的特点◎C程序的实现过程◎C程序的结构◎C语言的产生和发展C语言的产生和发展
1972年美国贝尔实验室DennisRitchie和BrainKernighan首先推出1983年美国贝尔实验室DennisRitchie和BrainKernighan改进推出(TheCProgramingLanguage)1983年美国国家标准协会ANSI,制定标准C(ANSIC)20世纪80年代中期美国贝尔实验室B.Stroustrup博士C++微软MSC++\VisualC++,BorlandTurboC++\C++Builder面向过程面向对象C语言的特点
简洁紧凑、灵活方便.语言功能丰富。C是结构式语言。C语言允许直接访问物理地址,可以直接对硬件进行操作。因此既具有高级语言的功能,又具有低级语言的许多功能。C语言程序生成代码质量高,程序执行效率高。C语言具备良好的可移植性。C程序的实现过程
源程序文件(*.C)可执行文件(*.exe)结果目标文件(*.obj)编辑
编译链接运行C程序的实现过程
1.编辑。可以用任何一种编辑软件将在纸上编写好的C语言程序输入计算机,并将C语言源程序文件*.c以纯文本文件形式保存在计算机的磁盘上(不能设置字体、字号等)。2.编译。编译过程使用C语言编译程序将编辑好的源程序文件“*.c”,翻译成二进制目标代码文件“*.obj”。编译程序对源程序逐句检查语法错误发现错误后,不仅会显示错误的位置(行号),还会告知错误类型信息。我们需要再次回到编辑软件修改源程序的错误,然后,再进行编译,直至排除所有语法和语义错误。C程序的实现过程
3.链接。程序编译后产生的目标文件是可重定位的程序模块,不能直接运行。链接将编译生成的各个目标程序模块和系统或第三方提供的库函数“*.lib”链接在一起,生成可以脱离开发环境、直接在操作系统下运行的可执行文件“*.exe”。4.运行程序。如果经过测试,运行可执行文件达到预期设计目的,这个C语言程序的开发工作便到此完成了。如果运行出错,这说明程序处理的逻辑存在问题,需要再次回到编辑环境针对程序出现的逻辑错误进一步检查、修改源程序,重复编辑→编译→链接→运行的过程,直到取得预期结果为止。C程序的结构
#include"stdio.h"/*编译预处理命令*/voidmain(){intiScore1,iScore2,iScore3;/*定义整型变量iScore1、iScore1、iScore1*/floatfAverage;/*定义单精度浮点型变量fAverage*/iScore1=86;/*给变量iScore1赋值86*/iScore2=79;/*给变量iScore2赋值79*/iScore3=92;/*给变量iScore3赋值92*/fAverage=(iScore1+iScore2+iScore3)/3.0;/*计算平均成绩*/printf("Theaverageis%f\n",fAverage);/*输出平均成绩*/}例1-1班级一学习小组有三名同学,C语言程序设计这门课程的成绩分别为86、79、92,计算他们的平均成绩,并输出。说明:(1)#include是编译预处理命令,放在源程序的最前面,编译预处理命令后面不加分号。(2)main()为主函数,其中main是函数的名字,“()”里是函数的参数,此处为空。void是一种数据类型,空类型。函数是由函数头和函数体组成的。函数头包括函数的返回至类型、函数名和函数参数,函数体是由一对“{}”括起来的用于完成某种功能的语句的集合。函数一般包括变量定义语句部分和执行语句部分。(3)程序的变量在使用前需要先进行定义,在同一个函数中变量定义语句放在执行语句的前面。“intiScore1,iScore2,iScore3;”和“floatfAverage;”都是变量定义语句。说明:(4)从“iScore1=86;”语句开始,下面的全部是执行语句部分,其中“iScore1=86;”、“iScore2=79;”、“iScore3=92;”这三条语句都是赋值语句,即分别将整数86、79、92给整型变量iScore1、iScore2和iScore3。(5)“fAverage=(iScore1+iScore2+iScore3)/3.0;”这条语句的作用是将变量iScore1、iScore2和iScore3的值相加,然后除以3,得到的结果赋值给单精度浮点型变量fAverage。(6)“printf("Theaverageis%f",fAverage);”是调用库函数printf(),输出相应文本及fAverage的值。(7)“/*……*/”括起来的注释部分,用来对程序进行说明,向用户提示或解释程序的意义。程序编译时,计算机不会对注释做任何处理,注释可以出现在程序的任何位置,它的出现不会对程序的执行有任何影响。注意:(1)在C程序中,每一条语句的最后都有一个分号“;”,表示一条语句的结束。(2)C程序中是区分大小写的。(3)程序中的许多符号如逗号“,”、分号“;”、双引号“""”都是英文状态下的符号,输入应格外注意。任务1.2创建及运行第一个C程序
任务描述在VisualC++6.0环境下,创建及运行第一个C程序,计算机屏幕上输出一行文本信息(项目名称)“学生成绩管理系统”。任务分析熟悉VisualC++6.0环境,能够正确编辑、链接、运行C程序。算法设计与程序代码算法与程序代码参考任务1-1。2C程序的开发环境Part◎在VisualC++6.0集成开发环境下运行C程序◎C程序的开发环境C程序的开发环境
C语言的运行环境很多,有MicrosoftVisualC++、MicrosoftVisualStudio、DEVC++、BorlandC++、BorlandC++Builder、GNUDJGPPC++、HighC、TurboC、C-Free和Win-TC等等,每一种运行环境都有自身的特点,读者可以根据自己的特点酌情选用。这里我们主要介绍MicrosoftVisualC++6.0。VisualC++6.0是微软推出的一款编译器,是一个功能强大的可视化软件开发工具,它将程序代码的编辑、编译、连接和调试等功能集于一体。C程序的开发环境单击【开始】按钮,在打开的【开始】菜单中选择【所有程序】,单击【MicrosoftVisualStudio6.0】,选择【MicrosoftVisualC++6.0】,或者双击桌面上的MicrosoftVisualC++6.0图标,启动VisualC++6.0,进入MicrosoftVisualC++6.0集成开发环境,如图1-3所示。在VisualC++6.0集成开发环境下运行C程序
1.创建工程(1)选择菜单中的【文件】命令,打开菜单,单击菜单项【新建】,打开【新建】对话框,如图1-4所示。在VisualC++6.0集成开发环境下运行C程序
1.创建工程(2)选择菜单中的【文件】命令,打开菜单,单击菜单项【新建】,打开【新建】对话框,如图在【新建】对话框中,选择【工程】选项卡,在左侧列表中选择“Win32ConsoleApplication”类型,VisualC++6.0将创建一个控制台应用程序。在右侧【工程名称】文本框中输入工程名称,如“MyAve”,单击【位置】文本框右侧的小按钮,在弹出的对话框中选择存储位置,如“D:\MYC”,如图1-5所示。在VisualC++6.0集成开发环境下运行C程序
1.创建工程(3)单击【确定】按钮,弹出【Win32ConsoleApplication-步骤】对话框,选择默认单选项【一个空工程】,即创建一个空的工程,不包含任何的源文件,如图1-6所示。在VisualC++6.0集成开发环境下运行C程序2.创建文件(1)单击【确定】按钮,弹出【Win32ConsoleApplication-步骤】对话框,选择默认单选项【一个空工程】,即创建一个空的工程,不包含任何的源文件,如图选择菜单中的【文件】命令,打开菜单,单击菜单项【新建】,打开【新建】对话框,如图1-7所示。在VisualC++6.0集成开发环境下运行C程序2.创建文件(2)单击【确定】按钮,弹出【Win32ConsoleApplication-步骤】对话框,选择默认单选项【一个空工程】,即创建一个空的工程,不包含任何的源文件,如图(2)在【新建】对话框中,选择【文件】选项卡,在左侧列表中选择“C++SourceFile”类型,在右侧【文件】文本框中输入文件名称,如“LT1-1.c”,这里文件名必须以.c结尾,因为C程序源程序的扩展名为.c,如图1-5所示,其他选项默认即可。其中默认将该文件添加到刚刚所建的工程MyAve中,位置是“D:\MYC\LT1-1.c”,如图1-7所示。菜单中的【文件】命令,打开菜单,单击菜单项【新建】,打开【新建】对话框,如图1-7所示。在VisualC++6.0集成开发环境下运行C程序2.创建文件(3)单击【确定】按钮,则回到VisualC++6.0界面,同时打开代码编辑窗口。打开【工作空间】窗口,在其下方选择【FileView】选项卡,可以看到在SourceFiles文件夹中多了一个文件LT1-1.c,如图1-8所示。在VisualC++6.0集成开发环境下运行C程序3.编辑C程序源文件在打开的代码编辑窗口例1-1的程序代码,如图1-9所示。在VisualC++6.0集成开发环境下运行C程序4.编译选择菜单中的【组建】命令,打开菜单,单击菜单项【编译】,对C源程序进行编译,同时在VisualC++6.0下部输出窗口中显示调试信息,如图1-10所示。如果程序存在语法错误,那么读者需要根据输出窗口中的错误提示,返回代码编辑窗口修改程序,然后再次进行编译,直到提示无错误为止,如图1-9所示。在VisualC++6.0集成开发环境下运行C程序5.链接选择菜单中的【组建】命令,打开菜单,单击菜单项【组建】,在VisualC++6.0下部输出窗口中显示调试信息,与编译过程类似。如果程序存在错误,那么读者需要根据输出窗口中的错误提示,返回代码编辑窗口修改程序,然后再次进行编译、连接,直到提示无错误为止。在VisualC++6.0集成开发环境下运行C程序6.运行选择菜单中的【组建】命令,打开菜单,单击菜单项【!执行LT1-1.exe】,可以看到屏幕中弹出一DOS输出窗口,如图1-11所示。注意:在VisualC++6.0环境下,编译、链接和运行不仅可以用菜单命令进行操作还可以使用快捷键进行操作,编译、链接和运行分别对应的快捷键是Ctrl+F7、F7和Ctrl+F5。也可以使用命令按钮进行操作,对应的命令按钮分别是、、。任务1.3运用算法描述问题
任务描述班级一学习小组有三名同学,C语言程序设计这门课程的成绩分别为86、79、92,计算他们的平均成绩,并输出。请利用流程图描述法给出其算法。任务分析用流程图或者NS流程图图描述算法。任务1.3运用算法描述问题
算法设计3程序算法基础Part◎程序设计语言◎程序◎程序设计方法◎程序设计的一般步骤◎算法◎软件编程规范程序
程序是程序设计中最为基本的概念,由有限的指令序列构成,它的作用是告诉计算机当前的处理对象与处理步骤,使计算机完成相应的任务。VisualC++6.0是微软推出的一款编译器,是一个功能强大的可视化软件开发工具,它将程序代码的编辑、编译、连接和调试等功能集于这里的处理对象即数据,包括数据的类型、数据的组织形式和数据之间的相互关系,可以被称为“数据结构”;而处理步骤指的是“操作”,也就是算法。换言之算法和数据结构是程序的两个重要方面。因此,著名的科学家沃思(NiklausWirth)提出过一个经典的公式:
算法+数据结构=程序程序设计语言程序设计语言是建立在一定语法规则之上、用于向计算机传递程序设计人员思想的一批特殊符号的集合。它能够使程序设计人员准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。自20世纪60年代以来,世界上公布的程序设计语言已有上千种之多,但是只有很小一部分得到了广泛的应用。从发展历程来看,程序设计语言可以分为机器语言、汇编语言、高级语言、非过程化语言4代。C语言就是高级语言中的代表之一。程序设计方法
1.程序设计程序设计(Programming)是人们借助程序设计语言,将某一任务的处理对象、处理方法及处理步骤转化为计算机能够处理的符号序列(语句、命令、指令),以及指挥计算机完成相应任务的过程。它是软件构造活动中的重要组成部分。程序设计方法
2.结构化程序设计方法结构化程序设计思想源于20世纪60年代,是至今仍被广泛应用的一种计算机软件开发技术。所谓的结构化程序设计方法指的是“按照一组能够提高程序易读性和易维护性的规则进行程序设计的方法”。其要点如下:原则:(1)程序的质量标准是“清晰第一,效率第二”。(2)遵循自顶向下、逐步求精、模块化设计的原则。自顶向下:指从问题的全局下手,把一个复杂的任务分解成许多易于控制和处理的子任务,子任务还可能做进一步分解,如此重复,直到每个子任务都容易解决为止。逐步求精:指在将抽象问题分解成若干个相对独立的小问题时,要逐级地由抽象到具体、又粗到细、由表及里进行细化,直到将问题细化到可以用程序的3种结构来实现为止。模块化:指解决一个复杂问题是自顶向下逐层把软件系统划分成一个个较小的、相对独立但又相互关联的模块的过程。程序设计方法
2.结构化程序设计方法(3)使用顺序、选择、循环这三种基本结构表示程序逻辑,即由这三种结构组合或者嵌套而成,并且要满足下面的条件。每个程序模块只准许有一个入口和一个出口。没有死语句(永远执行不到的语句)。没有死循环(永远不能终止的循环)。程序设计方法
2.结构化程序设计方法(4)程序的书写必须,按照一定的规范和格式进行。不能随便拼凑。(5)程序的设计风格要以好的可读性为标准,以使用程序的用户为核心,外观美观,结构流畅、语句简洁。程序设计的一般步骤
(1)分析问题对于接受的任务要进行认真的分析,研究所给定的条件,分析最后应达到的目标,找出解决问题的规律,选择解题的方法,完成实际问题。(2)设计算法即设计出解题的方法和具体步骤。(3)编写程序将算法翻译成计算机程序设计语言,对源程序进行编辑、编译和连接。程序设计的一般步骤
(4)运行程序,分析结果运行可执行程序,得到运行结果。能得到运行结果并不意味着程序正确,要对结果进行分析,看它是否合理。不合理要对程序进行调试,即通过上机发现和排除程序中的故障的过程。(5)编写程序文档许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书。内容应包括:程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等。算法算法(Algorithm)是对特定问题求解方法与步骤的描述,是程序求解问题的核心内容。1.算法的特征(1)有穷性:一个算法应包含有限的操作步骤,而不能是无限的。(2)确定性:算法中的每一个步骤都应当是确定的,而不应当是含糊的、摸棱两可的。即必须有明确的含义,不能存在二义性。(3)可行性(有效性):算法中的每一个步骤都应当能有效地执行,并得到确定的结果。(4)有零个或多个输入。算法1.算法的特征(5)有一个或多个输出。一个好的算法不仅要满足上述特征,还应当达到以下要求:正确性:运行该算法,能获得正确的结果。可读性:易于理解和交流健壮性:具有很好的适应能力,具有很好的容错能力。高效性:尽可能追求较少的时间与空间占用(越简单越好)。算法1.算法描述(1)自然语言描述法自然语言即人类日常使用的语言,可以是中文、英文等。用自然语言描述的算法通俗易懂,不用专门的训练,较为灵活。但是,自然语言也有一些缺点。首先自然语言具有歧义性,容易导致算法执行的不确定性;其次自然语言的语句一般较长,导致描述的算法太长;再者自然语言表示的算法不便翻译成计算机程序设计语言。上面例1-2使用的即是自然语言描述法。算法1.算法描述(2)流程图描述法流程图是使用一组规定的符号、流程线和文字说明来表示各种操作、算法的方法。其优点是清晰简洁,直观形象,容易表达选择结构,不依赖于任何具体的计算机和计算机程序设计语言,从而有利于不同环境的程序设计。其缺点是占用篇幅较长,画起来比较麻烦,而且使用流程线可以使流程任意转向,不能保证算法的结构化。会造成阅读和修改上的困难,可以借助于专用的流程图制作软件来提升绘制和修改。ANSI规定了一些常用的流程图符号,见表1-1所示。连接点算法
常用的流程图符号符号符号名称含义起止框算法的开始和结束输入/输出框输入/输出操作处理框对框内的内容进行处理判断框对框内的条件进行判断流程线流程线的方向连接点常用于换页处,表示两个具有同一标记的“连接点”应连接成一个点预先定义的进程预先定义的函数、子例程等算法
流程图表示3中基本结构图1-13(a)顺序结构图1-13(b)选择结构算法
流程图表示3中基本结构算法例1-2比较两个人的身高,将个子较高的那个人的身高输出到屏幕上。要想解决上面的问题,需要定义变量fTall1和fTall2分别存储两个人的身高,fMax存放身高的最大值,计算最大值即比较两个数的大小。具体的步骤如下:(1)输入2个人的身高分别存入变量fTall1和fTall2中。(2)比较2个人的身高,如果fTall1较大,则把第一个人的身高值赋值给fMax。否则,将第二个人的身高赋值给fMax。(3)输出fMax的值,即个子较高的人的身高。
问题分析算法例1-3用流程图描述法描述例1-2的算法如图1-14所示。算法1.算法描述(3)N-S流程图描述法N-S流程图类似流程图,也被称为盒图或NS图(NassiShneiderman图)。1972年,N-S流程图由美国学者I.Nassi和B.Shneiderman提出(以两个人的名字的头一个字母组成)。它是一种在流程图中完全去掉流程线,将全部算法写在一个矩形阵内,在框内还可以包含其他框的流程图形式。即由一些基本的框组成一个大的框,N-S图包括顺序、选择和循环三种基本结构。其优点是形象直观,功能域明确,具有良好的可见度,很容易确定局部和全局数据的作用域,很容易表示嵌套关系及模块的层次关系。其缺点是不可能任意转移控制,修改需要重画整个图。算法N_S流程图表示3中基本结构图1-15(a)顺序结构图1-15(b)选择结构算法
流程图表示3中基本结构图1-15(c)当型循环结构
图1-15(d)直到型循环结构算法例1-4用N-S流程图描述法描述例1-2的算法如图1-16所示。算法1.算法描述(4)伪代码描述法伪代码描述法是使用介于自然语言与编程语言之间的文字和符号描述算法的方法。其优点是回避了程序设计语言的严格、烦琐的书写格式,书写方便,同时具备格式紧凑,易于理解,便于向计算机程序设计语言过渡。其缺点是伪代码的种类繁多,语句不容易规范,有时会产生误读。算法例1-5用N-S流程图描述法描述例1-2的算法如图1-16所示。INPUTftall1,ftall2IFftall1>ftall2THENftall1-〉fmaxELSEftall2-〉fmaxPRINTfmax算法1.算法描述(5)程序设计语言描述法计算机是无法识别自然语言、流程图和为代码的。只有使用程序设计语言编写的程序,经过编译、连接成可执行程序后,才能被计算机执行。因此,使用任何方法描述的算法,最终都要将其转化成程序。其优点是可被计算机识别并执行。其缺点是必须严格遵循所使用的语言的语法规则。算法例1-6用程序设计语言描述法描述例1-2的算法如下所示。#include"stdio.h"voidmain(){floatftall1,ftall2,fmax;scanf("%f%f",&ftall1,&ftall2);if(ftall1>ftall2)fmax=ftall1;elsefmax=ftall2;printf("%f",fmax)
;}软件编程规范1.程序的可读性原则(1)编程规范概要①程序结构清晰,简单易懂,单个函数的程序行数不得超过100行。②打算干什么,要简单,直截了当,代码精简,避免垃圾程序。③尽量使用标准库函数和公共函数。④不要随意定义全局变量,尽量使用局部变量。⑤使用括号以避免二义性。软件编程规范1.程序的可读性原则(2)可读性要求①可读性第一,效率第二。②主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。③常量定义(define)有相应说明。④处理过程的每个阶段都有相关注释说明。⑤利用缩进来显示程序的逻辑结构,缩进量一致,可以以Tab键为单位。⑥循环、分支层次不要超过五层。⑦适当的使用注释,注释可以与语句在同一行,也可以在上行。⑧保持各种运算的标准形式,通过括号避免运算符的二义性。软件编程规范2.匈牙利命名法匈牙利命名法是一种编程时的命名规范,以一个或者多个小写字母开头作为前缀,表示类型;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。匈牙利命名法非常便于记忆,而且使变量名非常清晰易懂,这样,增强了代码的可读性,方便各程序员之间相互交流代码。其缺点是在使用匈牙利命名法时会产生冗余。匈牙利命名法有其优点但也有缺点,这就需要在使用中扬长避短,合理应用它。拓展案例案例1-1写出下面问题的算法。问题描述比较三个人的身高,将个子较高的那个人的身高输出到屏幕上。拓展案例
算法设计拓展案例案例1-2写出下面问题的算法。问题描述本题是一个经典的数学问题。对于一个大于2的正整数,判断它是不是一个素数。。拓展案例
算法设计拓展活动查资料对比国内外软件行业发展现状,体会软件发展对国力的重要性,认识“中国芯”,作为新时代的大学生,要认真学习计算机程序设计,奋发图强,为祖国的腾飞,为实现中国梦而努力学习!
制造中国芯,实现中国梦项目小结本项目主要介绍了C语言的产生、发展和特点,C程序的实现过程和结构,VisualC++6.0开发环境,程序设计的思想、方法以及算法以及软件编程的规范等。重点掌握在VisualC++6.0开发环境下,编辑、编译、连接、运行C程序的过程,认识C程序的基本结构,能够正确的写出算法。实践训练实践1安装MicrosoftVisualC++6.0。1下载MicrosoftVisualC++6.0直接在网络中下载MicrosoftVisualC++6.0即可。可以得到压缩文件,例如。VisualC++6.0的功能特色:(1)可以进行便捷灵活的类管理。(2)可自动生成程序框架,免去自己敲大量代码的烦恼!(3)界面交互性很强,具有集成交互操作性。(4)提供多种运行组件,不再有程序缺少组件而无法运行的烦恼!(5)具有强大的代码自动编写功能,让你省心省力!实践训练2安装MicrosoftVisualC++6.0(1)解压缩之后双击SETUP.exe,进入安装向导,点击下一步继续,如图1-19所示。实践训练2安装MicrosoftVisualC++6.0(3)此处的姓名和公司名字可以随意填写,点击下一步即可,如图1-21所示。实践训练2安装MicrosoftVisualC++6.0(4)选择安装VisualC++6.0中文企业版,点击下一步,如图1-22所示。实践训练2安装MicrosoftVisualC++6.0(5)可能出现兼容性问题,点击运行程序,如图1-23所示。实践训练2安装MicrosoftVisualC++6.0(6)接下里连续的三个窗口点击【继续】→【确定】→【是】,如图1-24所示。实践训练2安装MicrosoftVisualC++6.0(7)点击“Typical”继续安装,表示安装同时还有其他相关软件给你安装进去,能够使电脑更加融洽,如图1-25所示。实践训练2安装MicrosoftVisualC++6.0(8)勾选之后点击ok即可,如图1-26所示。实践训练2安装MicrosoftVisualC++6.0(9)等待安装当中,过程缓慢,请稍候,如图1-27所示。实践训练2安装MicrosoftVisualC++6.0(10)点击确定则VC++6.0成功安装,如图1-28所示。实践训练2安装MicrosoftVisualC++6.0(11)菜单中找到此软件,运行程序即可,如图1-29所示。实践训练实践2参照本章例题,编写一个C程序,输出以下内容。******#include“stdio.h”voidmain(){printf("*\n");printf("**\n");printf("***\n");}参考代码实践训练执行结果谢谢多一点努力,多一点实践,多一点点就能创造奇迹!C语言程序设计创建第一个C语言程序项目1“学生成绩管理系统”中相关数据设计及简单处理项目2项目中学生成绩的等级判定项目3项目中的设计数据处理及封面与菜单的初步项目4学生成绩的分组汇总程序项目5利用数组完善项目中数据的处理项目6利用函数进行项目的整体框架设计项目7利用结构体实现项目项目8利用指针优化项目项目9利用文件完善项目项目10项目2“学生成绩管理系统”中相关数据设计及简单处理目标TARGET知识目标了解C语言的基本字符掌握C语言的标识符、关键字理解和掌握数据类型、常量和变量掌握运算符与表达式目标TARGET技能目标学会正确的定义变量、使用变量和常量能够正确的运用各种运算符和表达式“学生成绩管理系统”中的相关数据设计任务2.1学生成绩总分及平均分的计算任务2.2任务2.1“学生成绩管理系统”中的相关数据设计
任务描述完成“学生成绩管理系统”,需要不同数据类型的数据。假设该系统需要完成学生三门课程的总分及平均分,确定该系统中所需数据。任务分析假设三门课程分别为数学、英语、语文,可以将定义为整型数据,三门课程的总分也为整型数据,而三门课程的平均分应该为实型。任务2.1“学生成绩管理系统”中的相关数据设计
算法设计(1)定义iMath、iEnglish、iChinese为int型,分别存储数学、英语、语文成绩。(2)定义iSum为int型,存储三门课程的总分。(3)定义fAverage为float型,存储三门课程的平均分。任务2.1“学生成绩管理系统”中的相关数据设计
实现在线测试系统主页面的布局和美化某班级需要一个学生成绩管理系统,该系统应具有学生成绩的添加、删除、查询、修改、插入和排序等处理功能,提供数字按键菜单操作方式,如图0-1所示。程序代码#include"stdio.h"/*编译预处理命令*/voidmain(){intiMath,iEnglish,iChinise;/*定义整型变量iMath、iEnglish、iChinese*/intiSum;/*定义整型变量iSum*/floatfAverage;/*定义单精度实型变量fAverage*/……}/*main()主函数结束*/1基本数据及其运算Part◎C语言的数据类型◎常量和变量◎基本字符、标识符和关键字基本字符、标识符和关键字
1.基本字符C程序可以看作是由C语言的基本字符按一定的规则组成的一个序列。C程序中使用的基本字符包括:(1)大小写英文字母ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz(2)十进制阿拉伯数字0123456789(3)下面29个符号!"#%&'()*+,-./:;<=>?[\]^_{|}~(4)5种空白符空格、水平制表符、垂直制表符、换行、换页基本字符、标识符和关键字
1.基本字符(5)基本运行字符集还包括四个不可打印的字符:null字符(用做字符串终止符)、警报(alert)、退格(backspace)、回车(carriagereturn)为了在字母和字符串中表示这些字符,输入反斜杠\加对应的转义序列(escapesequence)即可,例如,\0表示null字符(空字符),\a表示警报,\b表示退格,而\r表示回车。不同的C实现版本中,字符实际对应的数值(字符码)可能不同。C语言本身仅规定了以下规则:基本字符集中的每个字符必须用一个字节(byte)表示。空字符是一个字节,其所有的位(bit)都是0。0之后的每个十进制数字,编码都要依次比前者大1。基本字符、标识符和关键字
2.标识符和其他高级语言一样,我们把用来标识变量名、函数名、符号常量名、数组名、结构体名等的有效字符序列称为“标识符”(Identifier),简单的讲,标识符就是一个名字。比如,我们在程序中使用了诸如a、abc、mn123这样的名字,它们都是程序员自己起的,一般能够表达出变量的作用,这就是标识符。不过,名字也不能随便起,要遵守规范。C语言规定,标识符的命名规则为:(1)只能由字母(A~Z,a~z)、数字(0~9)和下划线(_)组成;(2)只能以字母或下划线开头;(3)不能使用C语言中的关键字;(4)标识符的有效长度随系统而异,但至少前8个字符有效;如果超长,则超长部分被舍弃。基本字符、标识符和关键字
根据C语言中标识符的命名规则可以做出如下判断:(1)合法的标识符有:a,x,x3,BOOK_1,sum5,_f23,file_name(2)非法的标识符有:3s,s*T,-3x,bowy-1,int例2-1判断下面标识符哪些是合法的,哪些是非法的。a,3s,x,x3,BOOK_1,s*T,-3x,sum5,_f23,bowy-1,int,file_name。说明:题目中3s以数字开头,-3x出现非法字符*,-3x不能以减号(-)开头,bowy-1出现非法字符减号(-),int是关键字。注意:(1)C语言虽然不限制标识符的长度,但是它受到不同编译器的限制,同时也受到操作系统的限制。例如在某个编译器中规定标识符前128位有效,当两个标识符前128位相同时,则被认为是同一个标识符。(2)在标识符中,大小写是有区别的,例如BOOK和book是两个不同的标识符。(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号,因此,命名应尽量有相应的意义,以便于阅读和理解,作到“见名知义”。(4)函数名、变量名一般用小写,而符号常量一般为大写。(5)不要使用函数中的库函数名、预处理名等作为自定义的标识符。基本字符、标识符和关键字
3.关键字关键字(Keywords)是由C语言规定的具有特定意义的字符串,通常也称为保留字,例如int、char、long、float、unsigned等。我们定义的标识符不能与关键字相同,否则会出现错误。你也可以将关键字理解为具有特殊含义的标识符,它们已经被系统使用,我们不能再使用了。基本字符、标识符和关键字
C语言关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile说明:根据关键字的作用可以将关键字分为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。(1)数据类型关键字(11.5个)基本类型:char,int,float,double修饰类型:short,long,signed,unsigned构造类型:enum,union,struct其他类型:void(2)控制语句关键字(12个):循环语句:for,do,while,break,continue条件语句:if,else,goto开关语句:switch,case,default返回语句:return说明:(3)存储类型关键字(6个):auto,extern,register,static,const,volatile(4)其它关键字(2.5个):void,sizeof,typedef减号(-),int是关键字。C语言的数据类型
数据类型决定数据的存储空间的大小及表现形式、数据的取值范围和运算方式。C语言提供的数据类型非常丰富,包括基本数据类型、构造数据类型、指针类型和空类型四大类,具体如图2-1所示。1.
C语言的数据类型分类C语言的数据类型
基本数据类型是C语言系统本身提供的,结构比较简单。构造类型是由基本数据类型构造而成的。指针类型是一种重要的数据类型,可以表示复杂的数据类型,使用起来非常灵活。本节只介绍基本数据类型,其余的数据类型在后面的章节中介绍。short、int、long、char、float、double这六个关键字代表C语言里的六种基本数据类型。在不同的系统上,这些类型占据的字节长度是不同的。在32位的系统上,这六种基本数据类型的所占字节长度和取值范围如表2-2所示,具体可以用sizeof测试一下。1.
C语言的数据类型分类C语言的数据类型
C语言的数据类型的取值范围名称标识符占用内存取值范围字符型char1字节-128~127短整型short2字节-32768~32767整型int4字节-2-31~231-1长整型long4字节-2-31~231-1单精度型float4字节3.4*10-38~3.4*1038或者-3.4*1038~-3.4*10-38双精度型double8字节1.7*10-308~1.7*10308或者-1.7*10308~-1.7*10-308C语言的数据类型
整型数据分为整型、短整型和长整型3大类,其中每一类又分为无符号(unsigned)和有符号(signed)两种情况。整型数据是以二进制补码的形式存储的。对有符号数据,则存储单元的最高位为符号位,1表示负数,0表示正数。对无符号数,则没有符号位,所有的存储单元均为数据位。2.整型数据说明:整数有原码、反码和补码3种表示方法。一个正数的原码、反码和补码与原码相同。负数的原码就是把符号位数值化。负数的补码就是在反码的末位(最右端)加1。C语言的数据类型
实型数据也称浮点数,指带有小数部分的非整数数值,在C语言中,实型数据分为单精度和双精度。实型数据都是有符号数据,没有无符号实型数据。实型数据在计算机中是以指数形式存储的,把它分为小数和指数两个部分,其中小数部分的位数越多,数的有效位就越多,数的精度就越高,指数部分的位数越多,数的表示范围就越大。实型数据通常在程序中用小数形式书写,只是在数值很大或者很小时,才会使用指数形式。在用指数形式表示时,E前必须要有数字,E后是整数。3.实型数据C语言的数据类型
在内存中,一个字符型数据占用一个字节(8bite),以ASCII码的二进制形式存放。比如字符'a'的ASCII码值是97,则'a'在内存中的存放形式如图2-2所示。4.字符型数据注意:常用字符数据的ASCII码值可以参考附录A“ASCII码表”,表中列出了标准ASCII字符集128个字符,其编码为0到127之间。'A'的ASCII码值是65,'B'的ASCII码值是66;'a'的ASCII码值是97,'b'的ASCII码值是98;其大小写的ASCII码相差32。'0'的ASCII码值是48,'1'的ASCII码值是49,只要记住'A'、'a'、'0'的ASCII码值,就可以推算出其他字母和数字的ASCII码值。字符型数据有时可以和整型数据通用,具体表现在:一个字符型变量可以赋以一个字符常量,也可以赋以一个整数。字符型数据在输出时可以以字符格式输出,也可以以整数格式输出。以整数格式输出时,ASCII码值在1-127之间的字符输出正数,128-255之间的字符输出负数。字符型数据可以进行算术运算,运算时以它们的ASCII码值进行运算。基本字符、标识符和关键字
#include"stdio.h"voidmain(){
intc1,c2;
//定义整型变量c1,c2
c1='a';//将字符常量附给变量c1
c2=97;//将97("a"的ASCII码值)附给变量c2
printf("c1=%c,c2=%c\n",c1,c2);//用字符格式输出变量c1,c2
printf("c1=%d,c2=%d\n",c1,c2);//用整数格式输出变量c1,c2}例2-2字符型数据和整型数据通用举例。基本字符、标识符和关键字
运行结果注意:变量c1、c2在内存中的值都是97,输出什么取决于格式说明符是%d还是%c。常量和变量
1.常量在程序的执行过程中,其值不能被改变的量称为常量。常量一般从其字面形式即可判别,不需要类型说明就可以直接使用,这种常量称为普通常量或字面常量,其类型是由常量本身隐含决定的;常量也可以用标识符来代表,这种常量称为符号常量。在C语言中,常量和变量都是可以用来存储和表示数据的,常量值在程序执行的过程中是不可变的,而变量是可变的。常量和变量
普通常量在程序的执行过程中,其值不能被改变的量称为常量。常量一般从其字面形式即可判别,不需要类型普通常量有4类:整型数值常量、实型数值常量、字符常量和字符串常量。(1)整型数值常量整型数值常量有三种表示方法:十进制(0-9十个数字构成,逢10进1),如:1,200,3500十六进制(0-9十个数字,A-F六个字符构成,逢16进1),以0x或0X开头的数字序列,如:0x12,0X706A,0xF2B八进制(0-7八个数字构成,逢8进1),以0开头的数字序列,如:025,0706常量和变量
普通常量(2)实型数值常量实型数据也称浮点数,指带有小数部分的非整数数值,实型数值常量有2种表示方法:小数形式:726.8,97.3,0.529指数形式:3.23E-5,1.5E2常量和变量
普通常量(3)字符型常量字符型常量有2种表示方法:用单引号引起来的单个字符,如'a','A','$'转义字符表示法,如"\n","\105","\'\n','\105','\X7B'"这里的转义字符是一种特殊的字符常量,通常用来表示一些比较特殊的字符,比如不可视,或者不能通过键盘输入的都可以用转义字符表示。转义字符是以"\"开头的字符序列,常用的转义字符如表2-3所示。常量和变量
常用转义字符转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS),将当前位置移到前一列008\f换页(FF),将当前位置移到下页开头012\n换行(LF),将当前位置移到下一行开头010\r回车(CR),将当前位置移到本行开头013\t水平制表(HT)(跳到下一个TAB位置)009\v垂直制表(VT)011\\代表一个反斜线字符''\'092\'代表一个单引号(撇号)字符039\"代表一个双引号字符034\?代表一个问号063\0空字符(NUL)000\ooo1到3位八进制数所代表的任意字符\xhh十六进制所代表的任意字符说明:(1)表2-3中最后2行是用ASCII码(八进制或是十六进制)表示一个字符。如:\101代表ASCII码为65(十进制)的字符'A',\012代表ASCII码为10(十进制)的字符\n,即换行符,字符\000或者\0代表ASCII码为0(十进制)的控制符,即空字符。(2)转义字符从书写上看是一个字符序列,实际上是作为1个字符对待的,存储时只占1个字节。常量和变量
普通常量(4)字符串常量字符串常量简称字符串,是用一对双引号括起来的字符序列。例如"china","1","A","123"等。这里的双引号只起定界的作用,它不属于字符串中的字符。而且C语言会自动在字符串尾部加上一个转义字符"\0"(空字符,其ASCII码值为0)作为字符串的结束标记。因此,字符串在内存中占用的存储字节数要比字符串长度多1,即双引号之间的字符个数加1,才是字符串存储时的字节数。同时我们可以通过"\0"来判断字符串是否结束。以字符串"china"为例,字符串的存储形式如图2-3所示。'c''h''i''n''a''\0'常量和变量
符号常量符号常量就是用标识符来表示常量。C语言中,可以用以下两种方法定义符号常量。(1)使用编译预处理命令define符号常量可以在文件的开始定义,其定义格式如下:#define常量名常量值如:
#definePI3.1415926#defineN100常量和变量
符号常量2)使用常量说明符constconst是C语言中32个关键字之一,可以用来定义符号常量,具体格式如下:const数据类型常量名=常量值如:constfloatpi=3.1415926定义了符号常量后,就可以在程序中用符号代替常量出现,这不仅提高了程序的可读性,也同时给程序的修改带来了极大的方便。常量和变量
#definePI3.1415926/*定义符号常量PI代替圆周率*/#include"stdio.h"voidmain(){floatfR,fArea;fR=10;fArea=PI*fR*fR;printf("theareaofthiscircleis%0.2f\n",fArea);}例2-3符号常量的使用。说明:符号常量一般用大写字母表示,方便与其他标识符区分。常量和变量
2.变量—变量的概念在程序执行过程中,其值可以改变的量称为变量。在C语言中,变量相当于存储数据的容器,在内存中占据一定的存储单元,用于存放数据,即变量值。我们可以使用变量来保存程序执行过程中的输入数据、中间结果和最终结果。每个变量都要用一个名字表示,即变量名。这个名字是由程序设计者命名,且一定要遵守标识符的命名规则。常量和变量
变量的定义变量在程序中负责存储数据,而数据具有整型、实型、字符型等不同的类型。因此,变量在定义时一定要有相应的类型。变量必须先定义后使用,变量定义时必须提供两个方面的信息:变量名和变量的类型。变量定义语句的一般形式是:类型标识符变量名列表;例如:inta,b;//定义了2个整型变量a、blongc;//定义了1个长整型变量cfloatr,s;//定义了2个单精度实型变量r、sdoublex;//定义了1个双精度实型变量xcharch;//定义了1个字符型变量ch常量和变量
变量的初始化在定义变量的同时给变量赋一个初值,称为变量的初始化。例如:intsum=0;floatf=123.45;charch='A';说明:(1)变量必须先定义再使用,否则程序无法为其分配存储空间。(2)变量具有三个要素:变量名、类型和当前值。变量的值除了可以通过赋初值的方式获取,还可以通过赋值的方法获得和改变。首次使用变量时,变量必须要有确定的值,否则会导致运算错误。常量和变量
intiAge=20,iNum=201; charcSex='m';/*f:female(女),m:male(男)*/ floatfScore; fScore=580.5;例2-4按照问题定义适当的变量。新生入学需要保存学生数据,如年龄、学号、性别、入学分数。现在定义整型变量存放年龄、学号,定义字符变量存放性别,定义浮点型变量存放入学分数。问题分析可以定义整型变量iAge、iNum分别存放年龄、学号,定义字符变量cSex存放性别,定义浮点型变量fScore存放入学分数。程序段任务2.2学生成绩总分及平均分的计算
任务描述计算一名学生数学、英语、语文三门课程的总分及平均分。这名学生三门课程的成绩分别为89、96、82。。任务分析熟悉VisualC++6.0环境,能够正确编辑、链接、运行C程序已知这名学生的三门课程的成绩,成绩相加即可获取该学生的总分,总分除以科目数即为平均分。任务2.2学生成绩总分及平均分的计算
算法设计(1)定义iMath、iEnglish、iChinese和iSum为int型,分别存储数学、英语、语文成绩和总分,其中将iMath、iEnglish、iChinese分别赋值为89、96、82;定义fAverage为float型,存储三门课程的平均分。(2)计算总分。(3)计算平均分。(4)输出学生的总分和平均分。任务2.2学生成绩总分及平均分的计算
程序代码#include"stdio.h"/*编译预处理命令*/voidmain(){intiMath=89,iEnglish=96,iChinese=82;/*定义整型变量iMath、iEnglish、iChinese,并分别赋值*/intiSum;/*定义整型变量iSum*/floatfAverage;/*定义单精度实型变量fAverage*/iSum=iMath+iEnglish+iChinese;fAverage=iSum/3.0;printf("该学生的总分为:%d,平均分为:%.2f\n",iSum,fAverage);}。任务2.2学生成绩总分及平均分的计算
执行结果2运算符和表达式Part◎赋值运算符和赋值表达式◎算术运算符和算术表达式◎逗号运算符和逗号表达式◎数据间的混合运算与类型转换运算符和表达式
C语言运算符是说明不同运算的符号,运算符的操作对象称为操作数或者运算数。运算符根据操作对象的个数可以分为单目运算符、双目运算符和三目运算符。由运算符把操作数连接起来的一个有意义的式子叫做表达式。每种表达式都按照运算符所规定的运算规则进行运算,最终会得到一个结果,该结果被称为表达式的值。C语言的运算符异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都为运算符处理。运算符和表达式
优先级运算符的运算优先级共分为15级。15级最高,1级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。本书中附录B“C语言运算符的优先级和结合性”中的运算符表可以看到运算符的优先级从1到15,15级优先级最高,1级优先级最低,(表中从上到下)依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
结合性各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。这种自左至右的结合方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。算术运算符和算术表达式
1.基本算术运算符运算符名称例子运算功能+加法运算x+y求x与y的和-减法运算x-y求x与y的差*乘法运算x*y求x与y的积/除法运算x/y求x除以y的商%模运算x%y求x除以y的余数说明:(1)对于除法运算符(/),如果两个操作数全是整数,结果为整数;如果其中一个操作数为浮点数,结果为浮点数。如3/5的值为0,5/3的值为1,3/5.0的值为0.6。(2)对于模运算符(%),两个操作数必须为整数。如8%5的值是3,10%2的值是0,-14%5的值是-4。算术运算符和算术表达式
以上6种基本算术运算符都是双目运算符,也就是需要2个操作数。其优先级为13级和12级,由高到低为:“*、/、%”高于“+、-”。其结合性为左结合,即从左向右进行计算。用算术运算符将操作数连接起来,构成算术表达式。在算术表达式中应该先计算乘除模运算,再计算加减,若遇到同一级别的,则从左向右依次进行计算。2.算术表达式以上6种基本算术运算符都是双目运算符,也就是需要2个操作数。其优先级为13级和12级,由高到低为:“*、/、%”高于“+、-”。其结合性为左结合,即从左向右进行计算。用算术运算符将操作数连接起来,构成算术表达式。在算术表达式中应该先计算乘除模运算,再计算加减,若遇到同一级别的,则从左向右依次进行计算。算术运算符和算术表达式
例2-5从键盘输入一个3位数,求该数个位、十位、百位上的数的和。问题分析首先需要有一个变量存储3位数,在通过算术运算分别计算出这个3位数的个位、十位、百位,最后计算它们的和。算术运算符和算术表达式
算法设计(1)定义1个整型变量iNum存储从键盘输入的3位数;(2)定义整型变量i1、i2、i3、iSum分别存储个位、十位、百位上的数字及其和;(3)从键盘输入一个3位整数存入变量iNum中;(4)用iNum%10求得个位上的数存入i1中;(5)用iNum/10%10求得十位上的数存入i2中;(6)用iNum/100求得百位上的数存入i3中;(7)求i1、i2、i3的和存入iSum中;(8)输出iSum的值。算术运算符和算术表达式
#include"stdio.h" voidmain() { intiNum; inti1,i2,i3,iSum; printf("pleaseinputainteger(100-999):"); scanf("%d",&iNum); i1=iNum%10;/*求个位数*/ i2=iNum/10%10;/*求十位数*/ i3=iNum/100;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国海产品市场销售渠道与未来发展趋势预测研究报告
- 2025-2030中国洗发水行业市场发展分析及发展趋势与投资风险研究报告
- 2025-2030中国泳池盖行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国泡罩包装机市场运营动态与营销发展趋势研究研究报告
- 2025-2030中国汽车铅酸蓄电池行业市场发展趋势与前景展望战略分析研究报告
- 2025-2030中国汽车车轮锁行业发展趋势及发展前景研究报告
- 2025-2030中国污泥处理处置行业市场发展前瞻及投资战略研究报告
- 2025-2030中国永久增塑剂市场未来趋势及未来销售渠道咨询报告
- 2025-2030中国水环境修复行业市场发展现状及发展趋势与投资前景研究报告
- 2025-2030中国水晶行业市场发展分析与发展趋势及投资前景研究报告
- 【数学】分类变量与列联表-2023-2024学年高二数学 人教A版2019选择性必修第三册
- 幕墙施工技术交底
- 《民宿文化与运营》课件-第八章 民宿经营与推广
- 能谱成像技术在放射治疗中的应用
- 2023石淋临床路径
- 贷款审批通知书
- 运动损伤的预防与处理预防和处理高尔夫运动损伤
- 中文学术简历模板
- 2024年苏州职业大学高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 2022年中医医院急诊科建设与管理指南(试行)
- 《植物生物技术》课件
评论
0/150
提交评论