第二章,c语言怎么编程输出带边框

边框 13
第二章数据对象与计算 2011-3-16
2 主要内容 基本数据的描述形式 表达式的形式和意义(所表示的计算过程) 基本概念:类型 学写最简单的C程序 计算概论 第二章 基本字符/标识符/关键字 计算概论 第二章
3 4 基本字符 数字字符:0~
9 大小写字母:a~z,A~
Z 其他可打印字符:标点符号、运算符号、括号等 特殊字符:空格、换行、制表符(空白字符)等 起分隔作用; 利用空白字符排列程序格式。
计算概论 第二章
5 标识符 作用:命名各种对象(变量、函数、类型等);建立定义和使用之间的联系。
形式:字母和数字字符构成的连续序列 要求以字母开头;将下划线“_”看作字母;不可出现非字母/非数字/非下划线字符; 标识符对字母大小写敏感; 基本原则:尽量采用能说明程序对象意义的标识符。
计算概论 第二章
6 关键字(Keywords) 特殊标识符集(共32个);有特定意义,不能用于其他用途(C99有扩充)。
计算概论 第二章 数据和类型 计算概论 第二章
7 8 概述 类型是计算机科学的一个核心概念。
一个类型是程序中可用的一个数据对象集合。
程序中的数据都属于某种特定的类型。
同类型所有数据对象的性质相同:采用统一的书写形式;同样的编码方式;能进行同样的操作。
基本类型用定长二进制编码表示;确定了该类型的可能范围。
C基本数据类型包括字符/整数/实数类型等。
计算概论 第二章
9 C的数据类型概述 基本类型 整型int字符型char实型(浮点型) 单精度实型float 数据类型构造类型 数组类型结构类型联合类型 双精度实型double struct union 枚举类型enum 指针类型 空类型(无值类型)void 计算概论 第二章 10 整数类型 C语言里有多个整数类型; 不同整数类型所用编码位数可能不同; 常用的整数类型 一般整数类型(整型):int长整数类型(长整型):longint(简称long)long的表示范围可能大于int;由C系统确定。
计算概论 第二章 11 整型字面量 十进制:首字符非0的数字序列;例:1234、0; 八进制:以0开始的数字序列,只允许用0~7;例:0123; 十六进制:以0x或0X开头的数字序列,用字母a~f或A~F表示其余6个数字;例:0x2073、0xA3B5; 长整数写法:加后缀l或L(不能有间隔);例:123L、0765432L、0xF0F0000L; 整数可以加正负号。
计算概论 第二章 12 整数表示范围 编码长度(表示范围)由具体C系统确定。
C语言规定:long的范围不小于int,但允许相同。
Turbo-C系统 整数用16位,表示范围是:-32768~32767;长整数用32位表示,范围是:-2147483648~ 2147483647 VC系统中整数和长整数均用32位。
计算概论 第二章 13 实数类型 单精度浮点数类型(浮点类型):float 32位表示,约7位十进制有效数字; 双精度浮点数类型(双精度类型):double 64位表示,约16位十进制有效数字; 长双精度类型:longdouble。
64位或80位表示,约19位十进制有效数字(系统确定); 对应的字面量:浮点数/双精度数/长双精度数。
计算概论 第二章 14 实数的表示 双精度数(double)的写法 十进制形式:一个数字序列,需包含小数点“.”(可是首/末字符);例:0.123、.123、123.0、123.、0.0; 指数形式:数字序列后有指数部分(以e/E开头数字序列,可带符号,以10为底);允许小数点和指数部分同时存在;e/E之前须有数字,且之后的指数须有整数;例:1e3、1.8E-
3、-.1e-3、e3、2.1E3.5、.e3、e; 规范化的指数形式:e/E之前的小数部分中,小数点左边应有一位且只能有一位非零的数字。
计算概论 第二章 15 字符类型 字符类型用于输入输出(I/O)或文字处理。
常用字符类型:char 包括所用机器的字符集的所有字符。
字符在机器内部用对应编码表示。
一个char一个字节。
微机常用ASCII字符集,包含128个字符。
有些机器用扩展ASCII字符集,256个字符。
计算概论 第二章 16 字符字面量 形式:单引号括起的一个字符 只能包含一个字符,如:'1','a','D'; 特殊字符(以“\”开头的字符序列,转义序列) 换行字符'\n' 双引号字符'\"' 单引号字符'\'' 反斜线字符'\\' 计算概论 第二章 17 字符串 表示一串字符的数据描述形式;用一对双引号包含起来的字符序列。
例: "CHINA""e\n" "Hesaid:\"Ok.\"\n“ 特殊字符用转义序列表示。
主要用于输入输出; 字符串里的空格是实际内容(“有意义”); 规定:字符串中不能实际换行。
计算概论 第二章 18 C函数的调用形式 函数名(参数1,参数2,…,参数n) 语句:程序基本单位,以分号为结束符。
printf("Goodmorning!
\n"); 函数名括号 计算概论 第二章 函数参数 分号(语句) 19 格式输出函数printf 功能:将信息按照指定的格式送到标准输出(一般送到屏幕或特定窗口) 使用形式 printf(格式描述串,其他参数
1,…,其他参数k); 参数“格式描述串”:字符串;指定输出的格式; 如果“格式描述串”里没有%,则没有“其他参数”,printf输出“格式描述串”本身; 其他参数的数目必须匹配“格式描述串”,可以是0,1,2…。
计算概论 第二章 20 转换描述 形式:以%开始的一段字符序列,如%d,%f等; 功能:指定数据的转换和输出方式; 每个转换描述对应一个“其他参数”。
转换描述%d%ld%f%Lf%s%c%% 实现的转换对应参数的类型 整数转换输出int 长整数转换输出long 实数转换输出double 实数转换输出longdouble 输出字符串 字符串 输出字符 字符(编码) 输出% 计算概论 第二章 •输出整数:printf(“%d",2);
2 •输出实数:printf(“%f",2.0); 2.000000 21 printf的功能 按照“格式描述串”的格式输出,即控制输出的格式。
直接输出“格式描述串”中非转换描述(普通字 符);转换描述用对应的“其他参数”的转换结果替代输出。
printf(”Test:%d+%d=%d\n",2,3,5);Test:2+3=
5 printf("len:%f,width:%f,area:%f\n",2.2,3.5,7.7); len:2.200000,width:3.500000,area:7.700000 计算概论 第二章 22 关于printf的说明如调用printf,最前面应写: #include 转换描述和“其他参数”个数一致; 转换描述和对应参数的类型必须一致; 在%和转换字符之间可加其他限制性描述,如 %md,%ms,%mf等:指定输出数据的宽度是m; %m.nf表示输出数据的宽度是m列,其中有n位小数。
如果数值长度小于m,则左侧补空格。
printf(“%10s:%4d%8.1f\n”,“LiMing",2,88.4); □□□LiMing:□□□2□□□□88.4 计算概论 第二章 23 问题 下面程序的输出结果? #include intmain(){printf("%d\n",5.0);printf("%f\n",5);return0; } 计算概论 第二章 运算符、表达式与计算 计算概论 第二章 24 25 算术运算符 运算符 使用形式 +一元和二元运算符 -一元和二元运算符 *二元运算符 /二元运算符 %二元运算符 意义一元正号,二元加法一元负号,二元减法乘法运算除法运算取模运算(求余数) 由+/–的上下文可确定是“一元”还是“二元”; %只能用于整型,其余可用于各种算术类型。
计算概论 第二章 26 算术表达式 形式:与数学的算术表达式类似,由计算对象,运算符,和圆括号构成; -(28+32)+(16*7-4) 25*(3-6)+234 同类型值的运算结果仍是该类型的值; 例:3+5计算结果是int类型的8;3L+5L的结果是long;3.2+2.88的结果是double。
可在运算对象和运算符间加空格调整格式。
计算概论 第二章 27 程序实例 请计算半径为6.5厘米的圆球体积,并用printf输出计算结果。
#include intmain(){printf("V=%fcm^3\n",(3.1416*6.5*6.5*6.5)*4.0/3.0);return0; } V=1150.349200cm^
3 计算概论 第二章 28 表达式的计算 优先级:运算符在表达式中相邻出现时,先算优先级高的运算符(附录A运算符表); 算术运算符分三个优先级(符合数学习惯): 一元+,-(高)*,/,%(中)二元+,-(低) 例:5/-3+4*
6 结合方式:同优先级运算符相邻时的计算顺序 规则:一元算术运算符自右向左结合,二元算术运算符自左向右结合(符合数学习惯); 例:166/8*5/3 计算概论 第二章 29 表达式的计算 括号:控制和改变计算顺序的手段,括号括起的部分先算(符合数学习惯); -(((2+6)*4)/(3+5)) 运算对象的求值顺序 (5+8)*(6+4)(5+8)和(6+4)中哪个先做? C对此问题无规定。
程序中不应写依赖特殊计算顺序的表达式,否则将无法保证得到的结果。
计算概论 第二章 30 表达式的计算 算术计算的溢出 每个类型都有明确的取值范围,且计算结果都有确定的类型;计算中结果超出类型的表示范围则称为溢出。
C程序对溢出不报错,溢出后的计算没有意义。
例,如int由16位表示,下面表达式将有问题:32766+18 应选择合适类型,如改为:32766L+18L 实数计算也可能发生溢出(上溢和下溢)。
计算概论 第二章 31 表达式的计算 计算和类型 14/8*12=1*12=12 vs. 14*12/8 =168/8=21 int数据计算得到int结果; int采用整除,商是整数,余数丢掉; long类型和其他所有整数类型都如此; 各种实数类型的情况类似(未必精确)。
计算概论 第二章 32 表达式的计算 混合类型计算和类型转换 混合类型计算:运算符的运算对象类型不一致3.27+201 不同算术类型的加法都用+表示,编译程序是 根据运算对象类型来确定怎样做: 3+
2 用int类型的加法运算 3.0+2.0用double类型的加法运算 如果出现混合类型计算,程序自动将运算对象转换到相同类型值,而后计算。
计算概论 第二章 33 表达式的计算 自动类型转换原则:把表示范围小的类型的值转换为表示范围大的类型的值 int,long,float,double,longdouble 混合类型计算中自动插入数值转换动作,由原类型的值产生出新值后参与计算。
32767+2L 计算概论 第二章 表达式的计算 例:表达式2L+3*4.5的计算过程 2L 2.0 +
3 3.0 *13.5 4.5 计算概论 第二章 34 15.5 35 表达式的计算 显式类型转换 如果自动转换不符合需要,可要求做特定类型转换,称为强制转换或类型强制。
写法:表达式前写括起的类型名。
例: (int)(3.6*15.8)+
4 实数类型转为整型时丢掉小数部分。
计算概论 第二章 数学函数库及其使用 计算概论 第二章 36 37 概述 C标准库提供了很多实现不同功能的函数。
其中包括一组数学函数,实现常用数学函数的计算。
如sin函数计算数据对象的正玄函数值。
函数计算时,传递给函数的计算数据对象是函数的实际参数(实参)。
使用函数,需知道函数名字、使用方式、能完成的工作;但是无需关心功能的具体实现。
计算概论 第二章 38 函数 函数的类型特征 返回值类型函数名(参数1的类型,…,参数k的类型) 例:sin的函数特征是doublesin(double) 函数的调用形式 函数名(实参1,...,实参k)函数返回值可参与计算;例: 2.0*sin(2.4) 计算概论 第二章 39 数学函数 sincostanasinacosatansinhcoshtanhexploglog10sqrtfabs 乘幂:doublepow(double,double) 实数余数:doublefmod(double,double) 例:pow(2.5,3.4)fmod(103.45,3.14259) #include 计算概论 第二章 40 程序实例 求两邻边长为3.5和4.72米,两边夹角为37度的三角形的面积。
#include#include intmain(){printf("Area:%fm^2\n",3.5*4.72*sin(37.0/180*3.1416)/2);return0; } 计算概论 第二章 41 函数调用中的类型转换 函数对参数有类型要求,实参表达式有类型。
规定:实参类型与函数要求不符时,表达式值自动转为函数要求类型的值后再送给函数。
例如下面表达式的计算中将出现两次类型转换: sin
(2)*sin
(4) 思考:设函数f的类型特征为intf(int)。
下式计算会出现类型转换(几次/哪里/什么)? 4.23*f(3*2.7) 计算概论 第二章 42 程序实例 三角形三边长为3、5、7厘米,求其面积。
(根据已知三边求三角形面积公式) #include #include intmain(){ printf("%f\n", sqrt(((3+5+7)/2.0)* ((3+5+7)/2.0-3)* ((3+5+7)/2.0-5)* ((3+5+7)/2.0-7)) ); return0; } 计算概论 第二章 43 简单的计算程序模式 程序模式1: #include intmain(){printf(格式串,……); return0;} 程序模式2(使用数学函数): #include #include intmain(){printf(格式串,……); return0; 计算概论 }第二章

标签: #蓝屏 #测试 #英语 #排位 #战绩 #不上 #潜龙 #变速箱