您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 第2章用C语言编写程序
1第二章用C语言编写程序通过第一章的学习,我们对C语言和C语言编程有了初步认识,了解了计算机程序的功能和作用,在现实世界中,从简单的计算器到复杂的航天飞机,都被计算机程序所操纵和控制。当然,我们现在编写的程序无法与控制航天飞机的软件相提并论,但是这些复杂设计都是从初学起步的。现在我们来看一下开始学习编程时需要注意的问题从设计计算器到航天飞机,最常见的应用就是利用计算机实现对数据的处理。因此,当学习任何一门语言时,首先要考虑的问题是:程序设计时要使用哪些类型的数据?对这些数据能做哪些操作?怎样完成给定的工作?这就是程序设计语言的3个基本内容:数据表达、运算、流程控制。2.1在屏幕上显示字符串或汉字例2.1在屏幕上显示一个字符串和一行汉字/*在屏幕上显示一个字符串和一行汉字*/#includestdio.h/*编译预处理命令*/intmain(void)//主函数{printf(“Enteranumber!\n”);//调用printf()函数输出一个字符串printf(“C语言是得到广泛使用的程序设计语言之一\n”);//调用printf()函数输出一行汉字return0;}运行结果:Enteranumber!C语言是得到广泛使用的程序设计语言之一说明:1、/*在屏幕上显示一个字符串和一行汉字*/注释行,说明本程序是做什么的,注释的字符或文字必须在/*和*/之间,里面可以写任何可显示的字符与文字。程序中加入适当的注释,可以使程序容易被人理解,若只是一行,用”//“也可以,多行用”/**/方便。2、#includestdio.h是编译预处理命令,因为后面调用的printf()函数是C语言提供的标准输出函数,在系统文件stdio.h中声明。注意:编译预处理命令的末尾不加分号。3、intmain(void)主函数,返回值是整型数(int),参数在函数名后面的一对括号中定义,里面的关键字void表示main()函数不需要参数,里面为空也表示没有参数。main()是一个特殊的函数,任何一个程序都必须而且只能有一个main()函数,当程序运行时,首先从main()函数开始运行。4、一对大括号{}把构成函数的语句括起来,称为函数体。此函数体由:printf(“Enteranumber!\n”);printf(“C语言是得到广泛使用的程序设计语言之一\n“);return0;三条语句构成。5、printf(“Enteranumber!\n”);它由函数调用和分号2部分组成。printf(“Enteranumber!\n”)是一个函数调用,它的作用是将双引号的内容原样输出;\n是换行符,即在输出Enteranumber!后换行,而“;”表示该语句的结束。注意:C语言中的所有语句都必须以分号“;”结束。程序中所有的标点符号都是英文符号,不要在中文状态下敲入标点符号。6、return();它结束main()函数的运行,并向系统返回一个整数0,作为程序的结束状态。由于main()函数的返回值是整型数,因此,任何整数都可以作为返回值。按照惯例,如果main()函数返回0,说明程序运行正常,返回其它数字则用于表示各种不同的错误情况。系统可以通过检查返回值来2判断程序的运行是否成功。如果将上例函数体中的两条语句用一条语句来表示,而输出的结果是一样的,应该这样写:/*在屏幕上显示一个字符串和一行汉字*/#includestdio.hintmain(void)/{printf(“Enteranumber!\nC语言是得到广泛使用的程序设计语言之一\n”);return0;}运行结果:Enteranumber!C语言是得到广泛使用的程序设计语言之一书第2章17页:【例2-1】在屏幕上显示一个短句“HelloWorld”./*显示“HelloWorld”*///注释#includestdio.h//编译预处理命令intmain(void)//定义主函数main(){printf(“HelloWorld!\n”);//调用printf()函数输出文字return0;//返回一个整数0}运行结果:HelloWorld!练习2-1编写程序,在屏幕上显示一个短句“programmingisfun!”。(程序设计是乐趣)练习2-2下列语句的运行结果是什么?与例2-1的运行结果有何不同,为什么?printf(“Enteranumber!.C语言是得到广泛使用的程序设计语言之一\n”);练习2-3编写程序,在屏幕上输出如下图案:****************#includestdio.hmain(){//printf(*\n***\n****\n*******\n);printf(*\n);printf(***\n);printf(*****\n);printf(*******\n);return0;}再参考如上程序,编出书上18页【练习2-3】的程序2.2求华氏温度100°F对应的摄氏温度2.2.1程序解析例2.2求华氏温度100°F对应的摄氏温度。计算公式如下:35×(f–32)c=式中:c表示摄氏温度,f表示华氏温度,程序如下:9/*将华氏温度转换为摄氏温度*/#includestdio.hintmain(){intcelsius,fahr;//定义2个整型变量,celsius表示摄氏温度,fahr表示华氏温度//空行,用于分隔变量定义和可执行语句。fahr=100;//向变量fahr赋值celsius=5*(fahr-32)/9;//利用上面公式,进行温度转换计算//调用printf函数输出结果printf(fahr(华氏温度)=%d,celsius(摄氏温度)=%d\n,fahr,celsius);return0;}运行结果:fahr(华氏温度)=100,celsius(摄氏温度)=37说明:1、程序中调用printf()函数输出结果,将双引号内除%以外的内容原样输出,并在第一个%d的位置上输出变量fahr的值,在第二个%d的位置上输出变量celsius的值2、程序代码中适当地添加空行和空格,对程序无任何影响,还能使程序清楚易读。2.2.2常量、变量和数据类型在C语言中,数据有常量和变量之分。在程序运行过程中,其值不能被改变的量称为常量,其值可以改变的量称为变量,例如:例2、2中,整数100是常量,而celsius和fahr是变量。常量和变量都有类型,常量的类型通常由书写格式决定,例如:100是整型常量(整数),而125.36就是实型常量(实数)。变量的类型在定义时指定。变量定义的一般形式是:类型名变量名表;例如:intcelsius,fahr;//定义2个整型变量celsius和fahr,用于存放整数floatx;//定义1个单精度浮点型变量x,用于存放实数doublearea,length;//定义2个双精度浮点型变量area和length,用于存放实数charwor;//定义1个字符类型的变量,用于存放字符C语言最常用的数据类型包括int(整型)、char(字符型)、float(浮点型)和double(双精度浮点型)。其中float和double都是浮点型(实型),用于存放浮点数,区别在于double型数据取值范围、占用空间更大,精度更高。注意:1、给变量起名尽量做到“见名知义”,使别人一看到变量名就知道它的含义。变量名中的英文字母习惯用小写字母。2、变量在使用之前,都必须先定义,定义变量时要指定变量名和数据类型。变量名代表内存中的一个存储单元,用于存放该变量的值,而该存储单元的大小由变量的类型决定,不同的编译系统为各个不同的数据类型分配的字节数(一个字节是8位二进制数)是不相同的,在VisualC++6.0中,字符型变量分配2个字节,整型变量分配4个字节,实型变量分配8个字节,双精度型变量分配16个字节。43、C语言中变量的含义和数学中变量的含义不同。C语言中的变量代表保存数据的存储单元,而数学中的变量代表未知数。例如:式子x=x+1在数学上是一个错误的等式,在C语言中却表示把变量x的值加1,然后再保存到x中。4、C语言区分大小写字母,它认为fahr和Fahr是不一样的。2.2.3算术运算和赋值运算1、算术运算算术运算包括加、减、乘、除、求余和其它一些操作,前者对应双目运算符(见表2.1),双目运算符需要两个操作数。表2.1双目算术运算符运算符+*/%名称加减乘除模(求余)优先级低高用算术运算符,将运算对象连接起来的符合C语言语法规则的式子称为算术表达式。例如:例2.2中进行温度转换计算时,就用了算术表达式:5*(fahr–32)/9。说明:在使用算术运算符时,要注意以下几点:(1)如果对2个整型数据作除法运算,其结果一定是整数。例如:表达式10/4得出的值为2,1/3得出的值为0。(2)求余运算符取整型数据相除的余数,它不能用于实型数据的运算。例如:表达式5%6得出的值为5,9%4得出的值为1,100%4得出的值为0(表示能被4整除)。(3)+和–还可以作为单目运算符,用于表示数值常量的符号,如:+10和-10。(4)双目运算符两侧操作数的类型要相同;否则,系统自动进行类型转换,使它们具有相同的类型,然后再运算。例如:求解表达式10.0/4时,系统先自动将其转换为10.0/4.0,再算出其值为2.5。2、赋值运算C语言将赋值作为一种运算,定义了赋值运算符=,它的作用是把一个表达式的值赋给一个变量,如fahr=100;赋值运算符的优先级比算术运算符低。用赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。例2.2中:fahr=100;Celsius=5*(fahr–32)/9都是简单的赋值表达式。赋值表达式的左边必须是一个变量。赋值表达式的基本运算过程是:(1)计算赋值运算符右侧表达式的值(2)将赋值运算符右侧表达式的值赋给赋值运算符左侧的变量。例如:当fahr=100时,求解赋值表达式celsius=5*(fahr–32)/9,首先计算5*(fahr–32)/9得到37,再将37赋给变量celsius。在赋值运算时,如果赋值运算符两侧的数据类型不同,若celsius=5*(fahr-32)/9式两边的数据类型不一样,则系统首先将赋值运算符右侧的表达式5*(fahr-32)/9的类型自动转换成赋值运算符左侧变量celsius的类型,再给变量赋制值。2.2.4格式化输出函数printf()在C语言中,数据的输出是通过函数调用实现的。这里先介绍常用的格式化输出函数printf()的基本用法,它是系统提供的库函数,在系统文件stdio.h中声明,所以在源程序开始时要使用编译预处理命令#includestdio.h。5函数printf()的一般调用格式为:printf(“格式控制字符串”,输出参数1,…,输出参数n);格式控制字符串用双引号括起来,表示输出的格式;而输出参数则是一些要输出的数据,这些数据可以是常量、变量或表达式。格式控制字符串中包含两种信息,格式控制说明和普通字符。(1)格式控制说明:按指定的格式输出数据,它包含以%开头的格式控制字符,不同类型的数据采用不同的格式控制字符。例如:int型数据使用%d,float和double型数据都使用%f,字符型数据使用%c。(2)普通字符:在输出数据时,需要原样输出的字符。例如:printf(“fahr=%d,celsius=%d\n“,fahr,celsius);在格式控制字符串中包括格式控制说明(两个%d)和一些普通字符(如等号、逗号和换行符)。输出时,所有的普通字符都被原样输出,在两个%d的位置上,依次输出变量fahr和celsius的值。printf()函数的输出参数必须和格式控制字符串中的格式控制说明相对应,并且它们的类型、个数和位置要一一对应。例如:fahr和celsius都是整型变量,输出时要用%d,且fahr和第一个%d对应,celsius和第二个%d对应。练习:练习2-4编写程序,求华氏150°F对应的摄氏温度(计算公式同例2-2)练习2-5
本文标题:第2章用C语言编写程序
链接地址:https://www.777doc.com/doc-2191826 .html