二级c语言新教案.doc_第1页
二级c语言新教案.doc_第2页
二级c语言新教案.doc_第3页
二级c语言新教案.doc_第4页
二级c语言新教案.doc_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

必备基础:第一部分:进制转换二进制:由01构成,逢2进1B 11B3八进制:由07构成,逢8进1Q 11Q9十进制:由09构成,逢10进1D 111D111十六进制:由09、AF构成,逢16进1H 11H17两个基本概念基数:n进制基数为n111.11D=1X102+1X101+1X100+1X10-1+1X10-2位权:小数点左边第k位位权为:基数k-1小数点右边第k位位权为:基数-k进制转换1 其他进制十进制(按权展开求和法)123.45D=1X102+2X101+3X100+4X10-1+5X10-211001.11B=1X24+1X23+1X20+1X2-1+1X2-2=16+8+1+0.5+0.25=25.75D123.4Q=1X82+2X81+3X80+4X8-1=64+16+3+0.5=83.5D123.4H=1X162+2X161+3X160+4X16-1=256+32+3+0.25=291.25D2 十进制其他进制整数部分:基数除法,倒序取余。小数部分:基数乘法,顺序取整。76.375D= 1001 100.011 B = 114.3 Q = 4C.6 H2 76 0.375X2=0.75-0 38-0 0.75X2=1.5-1 19-0 0.5X2=1-1 9-1 4-1 2-0 1-0 0-18 76=114Q 0.375D=0.3Q 9-4 0.375X8=3-3 1-1 0-116 76-4CH 0.375D=0.6H 4-C 0.375X16=6-6 0-43 其他进制之间的互相转换1) 二进制与八进制(3位二进制与1位八进制一一对应“421”)0000 10040011 10150102 11060113 1117001,10 0,001B141Q 001,00 0,001B101Q00,11 0,001B61Q753Q111 101 011B2) 二进制与十六进制(4位二进制与1位十六进制一一对应“8421”)00000 1000800011 1001900102 1010A00113 1011B01004 1100C01015 1101D01106 1110E01117 1111F0111,1101,1110B7DEH0110 0001B61H 0100 0001B41H6A7DH=0110 1010 0111 1101B3) 八进制与十六进制第二部分:数据表示一、 整型数据的分类:1 无符号整型数据:所有位均表示大小。N位无符号整型数据表示的取值范围为:02N-12 带符号整型数据:最高位表示符号:0为正、1为负。常用原码、反码、补码表示。正数:三码同一。例:已知x=+76D ,写出x的三码表示(8位)解:x=+76D=+1001100B因为x0所以:x原=x反=x补=01001100B补码原码反码负数: 符号不变,其它位取反 末位加1 “取反加1”例1:已知x= -76D ,写出x的三码表示(8位)解:x= -76D= -1001100Bx原=1 1001100B x反=1 0110011Bx补=1 0110100B例2:已知:x原=y反=z补=1100 1011B,求出x、y、z的大小关系。x原=1100 1011B x = -100 1011B y反=1100 1011By原=1011 0100B y= -011 0100B z补=1100 1011Bz原=1011 0101B z= -011 0101B 所以: yzx8位原码的取值范围:1 111 1111B0 111 1111B即 (27-1) 27-1 -127D+127D+0原:0 000 0000B-0原:1 000 0000B8位补码的取值范围:1 000 0000B0 111 1111B即 -27 27-1 -128D+127DN位补码的取值范围:-2N-12N-1-116位补码整数的取值范围:-32768+32767第1章 概 述一、程序、程序设计和高级语言1.程序的概念。程序是用某种计算机能理解并执行的计算机语言描述解决问题的方法步骤。2.程序设计的任务和主要步骤。 程序设计是记录解决问题的方法步骤的过程。程序设计的主要步骤:输入数据(可以没有);数据处理;输出结果(至少有一)。3.高级语言的概念与作用。 高级语言是面向问题和算法过程描述的语言,也可称为“面向问题的语言”。高级语言可以让程序员方便地利用它去编写出解决各种问题的计算过程并通过计算机的运行得到用户所期待的结果。二、C程序的特征C程序是由一个主函数和若干个非主函数构成的。并且程序的执行只能从唯一的主函数开始并在主函数中结束。程序中的非主函数必须在主函数中通过直接或间接的调用才能得到执行。非主函数之间可相互调用,但非主函数不能调用主函数。为了增加程序的可读性,通常在语句的后面加上相应的注释。注释部分通常以“/* 注释信息*/”格式存在。三、C语言的字符集C语言的字符集主要包括基本字符和转义字符。(1)基本字符有:大小英文字母、数字字符、键盘符号。A 1 (2)转义字符是由“反斜杠字符()”打头后跟单字符或若干字符组成的,通常用于表示控制符与一些特殊符号,也可表示键盘字符。应记住下面的几个常用的转义字符:n 回车换行符(输出结果时起到换行的作用)。t Tab符号(输出结果时使光标跳到下一个输出区的首列。即第1列、第9列、第17列、第73列)。 表示双引号、 表示单引号、 表示反斜杠。ddd 以1到3位的八进制ASCII码对应的字符。xhh 以1到2位的十六进制ASCII码对应的字符。ASCII码:用7位表示(共计128个字符),存放时占8位(1字节,最高位添0)AZ 6590 A 65 0100 0001 01,000,001 101 x41az 97122 a 97 0110 0001 01,100,001 141 x6109 4857 0 48 0011 0000 00,110,000 60 x300 0 0*2=96 0*2=0 0*2=0四、C语言中的保留字 在C语言的程序中有特殊含义的英语单词称为“保留字”,又叫关键字,主要用于构成语句,进行存储类型和数据类型的定义。如:if else do while等等。五、标识符C语言规定,标识符是由字母、数字、下划线组成的一串符号(数字字符不能打头),ANSI C规定标识符长度不得大于32个字符,而PC机中通常是前8个字符有效。标识符包括保留字与用户标识符。用户标识符是用户自定义的一种字符序列,通常用来表示程序中符号常量、变量、数组、函数等对象的名字。用户标识符不能与保留字同名。a3 3a if do 中非法的标识符是3aa3 3a if do 中合法的用户标识符是a3第 2章 数据与运算符一、常量(整型、实型、字符型、字符串)1.整型常量(1)整型常量的三种表示:十进制整数。通常整数的写法。例如:0、-111、+15、21等。八进制整数。书写方法是在通常八进制整数的前面加一个数字0。例如:011的值为9,023的值为19。十六进制整数。书写方法是在通常十六进制整数的前面加0x。例如:0x11的值为17,0x23的值为35。0101的值为:65 1101的值为:十进制的1101二进制1101应表示为:015或0xd或13 (2)整型常量的分类:短整型常量:占用2个字节,数值范围都是-32768+32767。 长整型常量:占用4个字节,数值范围都是-231+231-1。书写时在整数的末尾要加上后缀,小写字母“l”或大写字母“L”。例如:23L,023L,0x23L都是长整型常量。20 与 20L大小相等,只是占据的存储空间大小不同。20: 0000 0000 0001 010020L: 0000 0000 0000 0000 0000 0000 0001 01002.实型常量 实型常量只使用十进制数表示,它的书写方法有两种:(1) 一般形式它是由正负号、09、小数点组成,其整数部分或小数部分可以省略。例如:-12.345、.5等都是实型常量。 .50.5(2) 指数形式 “尾数e指数”或“尾数E指数”,其数值为“尾数*10指数”。尾数可以是整型或实型常量,指数必须是整型常量。例如:12.345e-2、-1.2345E3、0.12345e4、-12345E-3等都是实型常量。以下常量中非法的是( )A 1e-1 B 2e+2 C 3e0.5 D .5e6实型常量在一般的微型机中占用4个字节,数值范围是-10381038,有效数字是7位。书写一个实型常量时,要注意它的有效数字。 例如:1.23456789和1.234567是相同的,因为实型常量的有效数字是7位,所以1.23456789 中的后两位数字是无效的。3.字符常量 字符常量是以单引号为定界符表示的,包括基本字符与转义字符。例如:a、A、7、n、101、x41都是字符常量。C语言规定: 0127之间的整数值可以与字符型常量等价。例如:整型常量48、65、97可以分别与字符常量0、A、a等价。a+2 97+2 4.字符串常量 字符串常量简称为“字符串”,以双引号为定界符。例如:abc、abncd 都是字符串。 C语言规定,字符串中的字母是区分大小写的,所以ab和AB是不同的字符串。一个字符串中有效字符的个数称为该字符串的长度,其中每个转义字符只算一个字符。例如:字符串abc、abncd的长度分别为3、5。C语言规定,每个字符串在内存中占用的字节数=字符串的长度+1。其中最后1个字节用于存放字符串的结束符0。因此,a与a是不同的。a存放形式为0110 0001a存放形式为0110 00010000 0000例如:字符串abc、abncd的字节数分别为4、6。二、变量实质是一个存储单元,作用:用于存放某个常量。 变量是指在程序运行过程中其值可以发生变化的量。通常是用来保存程序运行过程中输入的数据、计算获得的中间结果和最终结果。变量的取名规则同用户标识符,其中的英文字母常用小写。当程序运行时,每个变量都要占用连续的若干个字节的存储单元,所占用的字节数由变量的数据类型确定。其中第1个字节的地址称为变量的地址。C语言规定,程序中变量的地址是用“&变量名”来表示的。带符号短整型short 2字节 32768+32767带符号长整型long 4字节 -231+231-1带符号整型带符号基本整型int 2字节或4字节无符号短整型unsigned short 2字节 065535整型变量无符号长整型unsigned long 4字节 0232-1无符号整型无符号基本整型unsigned 2字节或4字节基本类型变量注意:基本整型在小型机、微型机中等价于短整型,在大中型机中等价于长整型。实型变量单精度型float 4字节 7位有效数字 -10381038双精度型double 8字节 1516位有效数字 -1030810308 注意:double类型的数据具有精度高、范围大的特点。字符型变量: char 1字节 需要注意的是:1. C语言中没有专门用于存放字符串的变量,字符串是用数组存放。如: char w5= love;2. 每个变量必须先定义后使用。定义变量数据类型的语句格式如下: 数据类型符 变量名1,变量名2,;例如:int a,b; /*定义整型变量a,b,c */ a=7;b=8; /*使用变量a、b分别存放7、8 */3. 每个变量均可在定义时赋初值(即变量的初始化)。int a=7,b=8; /*定义整型变量a、b并分别初始化为7、8 */int a,b; a=7;b=8;三、基本运算符计算表达式值时,按照运算符的优先级由高到低依次计算,若有优先级相同的多个运算符,则按照自左向右或自右向左的顺序计算。注意:1.每个运算符都必须考虑以下问题:功能、优先级别、结合性(即同级运算符之间的计算顺序)。2.在c语言中,运算符按参与运算的数据个数可分为单目、双目和三目运算符。3.运算符的一般规律:单目运算符优先于双目运算符所有单目运算符都是同等优先级别的绝大多数单目运算符是自右向左的结合性(sizeof无结合性)绝大多数双目运算符是自左向右的结合性(赋值为自右向左)三目运算符是自右向左的结合性1.算术运算符(1)基本算术运算符 正号+ 负号- + - * / % 功能说明 +7 -7 1+7除(/):整数相除商为整数。 如:3/4的商为0,11/4的商为2。1/2.01.0/2.00.5模(%):即为求余运算,只有整型数据才能求余。求余规则:|余数|除数|、余数的符号与被除数一致。在C语言中进行异号数的求余时,可直接将被除数与除数的绝对值求余,然后根据被除数的正负决定余数的正负。如:3%4结果为3,-13%4结果为-1,13%(-4)结果为1。-13%(-4)结果为-1 优先级 (正号、负号-) 优先于 *、/、% 优先于 、8-5%36 结合性双目基本算术运算符的结合性是自左向右。3*6%42(2)自增(+)、自减(- -)1)功能:变量+ “先使用后增1” +变量 “先增1后使用”例如:int a=3,b; 若执行b=a-;则b的值为3,a的值为2。若执行b=-a;则b的值为2,a的值为2。a+; +a; a=a+1; 但表达式+a与a+ 不等价。2)优先级与 (正号、负号-)同优先级。3)结合性:自右向左。例如:int a=7,b;b=-a+;等价于b=-(a+);使b为-7,a为8。 例1写出程序的输出结果。#include stdio.hmain( )int a=3,d;d=(a+)+(a+);printf(na=%d,d=%d,a,d);分析:d=(a+)+(a+);等价于:d=a+a;a+;a+;因此程序的输出结果为: a=5,d=6例2写出程序的输出结果。#include stdio.hmain( )int a=3,d;d=(+a)+(+a);printf(na=%d,d=%d,a,d);分析:d=( +a)+(+a);等价于:+a;+a;d=a+a;因此程序的输出结果为: a=5,d=102关系运算符、= 、=、!= 关系运算符用于比较两个数据的大小,运算的结果若为 “真”用整数1表示;若为“假”用整数0表示。 功能说明关系运算符可以用来比较两个数值或比较两个字符的大小。字符比较时是按该字符的ASCII码进行比较,其实质也是数值比较。如:34 值为1,54 值为0,0A值为1。 优先级: 算术运算符 优先于 关系运算符、= 优先于 =、!=如:1+2=4=5=4)=(56)值为0 结合性 关系运算符是自左向右的结合性。 如:345(34)43(54)3值为0注意:数学中的条件100x200被描述为100=x=100 & x=2003逻辑运算符 功能说明逻辑非!是单目运算符。例如:!(31 & y1 要求x与y必须都大于1条件才成立。 1 & 3结果为1 ,1 & 0结果为0逻辑或| -“见真得真” 表达式1 | 表达式2 x1 | y1要求x与y中只要有一个大于1条件就成立。1 | 0结果为1, 0 | 0 结果为0 优先级: ! 优先于双目算术运算符 优先于 关系运算符 优先于 & 优先于 | ! 和 正负号是同级别的。 !3*4+8结果为8,12 & 78为0 43 | 58 | 53) | (58) | (56) 为1。 结合性!的结合性是自右向左。例如:!3的计算顺序相当于!(!(!3),结果为0。 双目逻辑运算符&、|的结合性是自左向右。 注意: 数学中的条件100x200被描述为100=x=100&x & | &|3*2 结果为:-8 (3*2)-73|45&6 结果为:3 3|(4(5&6)结合性是自右向左,双目位逻辑运算符是自左向右。3 (3) 结果为3 3|4|5 (3|4)|5 例.设int x=1;则执行printf(%xn,xx);的结果是 A.0 B.1C.ff D.ffff答案:D分析: x与x进行按位加的结果为二进制的代码为1111,1111,1111,1111。所以输出的十六进制结果为:ffff。(2) 位移位运算符 功能说明 an 将a左移n位,结果为a*2n。例如:3n将a右移n位,当a0或a0且a能被2n整除时结果为a/2n;当a2 的结果为2(9/4),-162 的结果为-4(-16/4),-182 的结果为-5(-18/4-1)。优先级:双目算术运算符 优先于 优先于 双目关系运算符 32+1 3(2+1) 24结合性:自左向右。 321 (32)1 312 16 例如:设int a,b=10;执行a=b2+1;后a的值是。答案:80分析:a=b2+1;等价于a=b(2+1);b的值左移3位即扩大8倍,所以b(2+1)的值为80,因而a的值为80。5.赋值运算符 (1)赋值运算符是双目运算符,共分三种:基本赋值运算符、算术自反赋值运算符、位自反赋值运算符。 基本赋值运算符 =用法:变量=表达式;将表达式的值赋给变量。例如:int a; a=7*8; a=a+1; 算术自反赋值运算符(将变量与表达式的值进行算术运算的结果反过来赋给变量自己) += = *= /= %=用法:变量* =表达式;变量=变量*(表达式);例如:int a=3,b=4; a*=b+5;a=a*(b+5); 使a 的值为27。位自反赋值运算符(将变量与表达式的值进行位运算的结果反过来赋给变量自己) &= |= = = 用法:变量&=表达式;变量=变量&(表达式);例如:int a=17; a&=0xfff0;a=a&0xfff0; 使a 的低四位清0,结果为16。(2) 赋值运算符的优先级别三类赋值运算符优先级别相同,仅高于逗号运算符。(3) 结合性:均为自右向左。int a=6;a*=a+=a=12;a=12; a+=a; a*=a; a=a12; a=a+a; a=a*a; a为1446.逗号运算符 ,功能说明表达式1,表达式2,表达式n 自左向右计算各表达式的值,并将最后一个表达式的值作为结果。a=(1+2,3+4); a为7 a=(b=3,c=4); a为4 a=b=3,c=4; a为d=(a=1,b=2,c=3); d为3 d=a=1,b=2,c=3; d为1 逗号运算符的优先级 逗号运算符的优先级别最低。 结合性:自左向右。a=1;b=2; a=1,b=2;a=1;b=2;int a=3,b=4,t; 交换a与b的值:t=a,a=b,b=t; t=a;a=b;b=t;7.条件运算符 ? :功能说明“表达式1?表达式2:表达式3”的执行过程为:先计算表达式并判断表达式是否为真,若为真则计算表达式并将表达式的值作为最终结果(不计算表达式),若为假则计算表达式并将表达式的值作为最终结果(不计算表达式)。例如:int a=2,b=3,c=4,d; 执行d=(a5?(b=9):(c=10);后,d为10,a为2,b为3,c为10。int a=2,b=3, d; 执行d=ab?a:b;后,d为3。 if (ab) d=a; else d=b;条件运算符的优先级: 其它运算符优先于 条件算术运算符 优先于 赋值运算符 char a=y;a=a=a & a=a & a=z) a=a-32;结合性:自右向左。int a=4,b=5,c=6,d; d=ab?a:bc?b:c; d=ab?a:(bc?b:c);d为 int a=4,b=5,c=6,d; d=ab?(a=7):bc?(b=8):(c=9); d=ab?(a=7):(b 单目 + ! sizeof 双目算术* + 位移位 关系 = = = != 双目位逻辑&|&|?:赋值逗号结合性:右:1单目(除sizeof) 2双目(赋值)3三目:条件左:双目(除赋值之外)五、不同数据类型的数据在计算和赋值时的类型转换原则(1)赋值时是以左边的变量的类型为标准。int a; a=B;a=66;例如:执行int a;float b=9.9; a=b;之后,a的值为9。执行int a;long b=65535; a=b;之后,a的值为-1。b: 0000 0000 0000 0000 1111 1111 1111 1111a: 1111 1111 1111 1111 -1 (2)在算术表达式的计算中,应以宽度较长的类型为标准,最终结果为较长的数据类型。 a+197+198例如:a为long 型、b为short 型、c为double型, 则a+b*c 的结果为double型。1.0/21.0/2.00.5 (3)在关系和逻辑表达式的计算中,应以宽度较长的类型为标准,但最终结果为整型(或)。例如:a为long 型、b为short 型、c为double型, 则ab*c 的结果为整型。3.3a-953.397-953.323.32.01(4)在表达式的计算中,还可以用强制类型转换来实现数据类型的转换。强制类型转换的方法为:(数据类型符)(表达式)将表达式的值转换为给定的数据类型。例如:(int)(3.5+4.6)的值为。(int) 3.5+4.6的值为7.63+4.63.0+4.67.6 (double)(7/4)1.0 (double)7/41.75 (int)(7.5 6+0.5)8 (int)(7.499+0.5)7 第3章 三大结构程序设计输入原始数据加工处理输出结果一、字符输入输出函数在使用输入输出函数时要切记,输入输出函数在使用前必须在程序的首部使用一条包含命令将头文件“stdio.h”包含到当前程序中来。包含命令为: #include stdio.h 或 #include 注意包含命令后无分号。(1) 字符输入函数 getchar( )调用方法: 变量=getchar( );函数功能:从键盘读取单个字符并将读取的单个字符作为函数的返回值赋给变量。(2)字符输出函数putchar(c) 调用方法:putchar(c); 例如:putchar(a); a putchar(x61); a putchar(96+1);a参数c可以是字符常量、字符变量或整型表达式。函数功能:将c对应的字符输出到显示器上。例1:写出程序的输出结果:(31.c)#include stdio.hmain( )char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);若输入:xyz1234并回车则输出结果为:xyz例2:写出程序的输出结果:(32.c)#include stdio.hmain()char a,b,c;a=getchar( );b=getchar( );c=getchar( );putchar(a); putchar(n);putchar(b); putchar(n);putchar(c); putchar(n);若输入:xyz1234并回车则输出结果为:xyz注意:输入单字符时,空格与回车均为有效的字符输入。二、格式输入输出函数 %c %d %f %s字符输入输出函数只能用来对单个字符输入输出,格式输入输出函数能够对各种基本类型的数据输入输出,如整型、短整、长整、无符号数、单精度数、双精度数和单个字符。1.格式输入输出函数 (1)格式输入函数 调用方法:scanf(输入格式字符串,变量地址表); 函数功能:从键盘按照“输入格式字符串”中规定的格式读取若干个数据,按“变量地址表”存放到相应的变量中。函数参数中的输入格式字符串由两类字符组成:普通字符(要求必须原样输入)输入格式字符(以%打头)。变量地址表是用逗号分隔的多个变量地址。如:&a,&b变量地址可表示为 “&变量名”。 例1:分析程序的功能:(33.c)#include stdio.hmain( )short a,b;scanf(a=%d,b=%d,&a,&b); a=123,b=456printf(nn%d,%d,a,b); 123,456 例2:分析程序的功能:(331.c)#include stdio.hmain( )short a,b;printf(nplease input a,b:);scanf(%d,%d,&a,&b);printf(nn%d,%d,a,b);注意:输入多个数据时的分隔方法:按指定宽度取值,采用%m字母格式,其中m用于指定输入数据的宽度(例如“%2d%3d”)。有普通字符分隔时必须用相应的普通字符作为输入数据的间隔(例如用“%d,%d”格式输入时必须用逗号分隔)无普通字符分隔时可用空格、Tab、回车作为两个输入数据的间隔(例如“%d%d”)。用%c输入单个字符时,空格和回车均作为有效的输入。 (2)格式输出函数调用方法:printf(输出格式字符串,表达式序列); 函数功能:按照“输出格式字符串”中规定的格式输出给定各个表达式的值。函数参数中的输出格式字符串由三类字符组成:普通字符(原样输出)转义字符(按相应的含义输出)输出格式字符(以%打头)。表达式序列是用逗号分隔的若干个表达式。注意:在输出函数中各个表达式的计算顺序是自右向左的。例如:若定义了int a=6;则printf(%d,%d,%d,a,a+,+a);的输出结果为8,7,7。需要说明的是:若表达式序列互相不影响,则自左向右计算也不影响结果。如:printf(%d,%d,%d,a+1,a+2,a+3);2格式字符(1)输入格式字符:短整型数据%d长整型数据%ld单精度实型数据%f双精度实型数据 %lf (38.c)字符型数据%c(39.c) 字符串数据%s(391.c遇空格、Tab、回车结束)(2)输出格式字符:带符号短整型数据%d带符号长整型数据%ld无符号短整型数据%u无符号长整型数据%lu实型数据%f 字符型数据 %c 字符串数据 %s3.注意输入格式字符与输出格式字符的区别: 输入格式字符中%d%u %ld%lu,而输出格式字符中%d与%u、%ld与%lu是有区别的。例如:unsigned a; int b;scanf(%d,%d,&a,&b); /* 若输入65535,-1时使a为65535、b为-1 */printf(%u,%d,a,b); /* 输出的结果为:65535,-1 */ 输入格式字符中单精度实型数据与双精度实型数据的控制符有区别(单%f、双%lf),而输出格式字符是没有单双精度的区别,均为%f。例如:(38.c)float a; double b;scanf(%f,%lf,&a,&b); /* 若输入2.3,2.3时使a为2.3、b为2.3 */printf(%f,%f,a,b); /* 输出的结果为:2.300000,2.300000 */ 输出时可控制实型数据的小数位数(利用%-m.nf控制),但输入时不能限制输入的小数位数(即不能利用%m.nf控制输入精度)。(381.c,382.c)%-m.nf m输出总宽:m实际宽度%m.nf 数据右对齐,左补空格 %-m.nf 数据左对齐,右补空格 n小数位数,若省略则默认为6位小数。三、顺序结构例1:输入三角形的三边长,求其面积并输出。分析:1设三边长分别存入变量a、b、c中,面积存入变量s中。 2求解三角形面积的公式为海伦公式:s= 其中d=3数学函数是用c语言系统函数sqrt(x)表示,而数学函数均在头文件math.h中定义的,所以应在程序的首部使用包含命令:#include “math.h”4综上所述,程序中最好定义a,b,c,d,x,s六个实型变量。程序清单如下(sx1.c):#include stdio.h#include math.hmain()float a,b,c,d,x,s;printf(nninput a,b,c: );scanf(%f,%f,%f,&a,&b,&c);d=(a+b+c)/2;x=d*(d-a)*(d-b)*(d-c);s=sqrt(x);printf(narea:%.2 f,s);例2:输入一半径,求圆的周长、面积、球的体积并输出。分析:1设半径为r, 圆的周长、面积、球的体积分别存入变量c、s、v中。 2 c=2r s=r2 v=r33圆周率最好用 #define PI 3.141593 定义(PI为符号常量)。4综上所述,程序中最好定义r,c,s,v四个实型变量。程序清单如下:(sx2.c)#define PI 3.141593#include stdio.hmain()float r,c,s,v;printf(nninput r: );scanf(%f,&r);c=2*PI*r;s=PI*r*r;v=4.0/3*PI*r*r*r;printf(nc=%.2f,c);printf(ns=%.2f,s);printf(nv=%.2f,v);例3:输入一3位整数,求各位数字的平方和并输出。1231+4+914 分析:1设输入的3位整数存入变量x中,对x分解的各位数字分别存入变量x1、x2、x3中,分解方法为:设x为 789x1=x/1%10; 9x2=x/10%10; 8x3=x/100%10; 7 规律为相应位上的数字=x/位权102设平方和存入变量s中,故应定义个整型变量。3程序清单如下:(sx3.c)#include stdio.hmain()int x,x1,x2,x3,s;printf(nn input x(100999): );scanf(%d,&x);x1=x%10;x2=x/10%10;x3=x/100%10;s=x1*x1+x2*x2+x3*x3;printf(ns=%d,s);例4:输入三个整数,求出最大值并输

温馨提示

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

评论

0/150

提交评论