计算机二级C语言课件第3章2
全国计算机二级C语言课件 第3章 顺序结构
7
① d格式字符。 用来输出十进制整数。 其用法如下: (a)%d,按型数据的实际长度输出。 例如: printf("%d,\n",x); 如果x=789,则输出结果为: 789
8
(b)%1d,输出长整型数据。 例如: printf("%1d,\n",a); 如果a被定义为: long int a=56789; 则输出结果为: 56789 如果用%d格式输出,就会出错,因为整型数据的 范围是-32768~32767。对超出此范围的long型数据 应当用%1d格式输出。
21
3.3 数据输入
22
3.3.1 scanf函数的一般调用格式
scanf()函数的一般形式为: scanf(“格式控制”,输入项表) “格式控制”的含义同printf函数;“输入项地 址序列”是由若干个变量地址(变量前加&号)组成 的序列,各地址按排次序依次接收转换格式后的读入 数据。
23
例如: main() { int a,b; scanf("%d%d",&a,&b); printf("%d,%d\n",a,b); } 程序运行结果为: 123 456<回车> 123,456
28
3.3.3 通过scanf函数从键盘输入数据
通过scanf函数从键盘输入数据时,需要 注意以下几点: 1.scanf函数中的输入项必须是“地址 量”,它可以是一个变量的地址,也可以是数 组的首地址,但不能是变量名。例如,如果定 义了a,b为整型变量,则 scanf(“%d,%d”,a,b); 是不合法的,应将“a,b”改为“&a,&b”。 请读者予以注意,这是初学者易出错的地方。
计算机国家二级C语言教程 三四五章课件
例题:#include <stduio.h>
运 行 结 果 : main() boy {char a,b,c; a='b';b='o';c='y'; putchar(a);putchar(b);putchar(c); }
例题:输入单个字符
#include <stdio.h> main( ) {char c; c=getchar(); putchar(c); }
(2010年3月15题)有以下程序
#include<stdio.h> main() {char a,b,c,d; scanf (“%c%c”,&a,&b);
c=getchar( ); d=getchar( ); printf( “%c%c%c%c\n” , a,b,c,d);}
当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车, 注意:回车也是一个字符) 12<CR> 34<CR> 则输出结果是 A)1234 B)12 C)12 D)12 3 34
3. 说明 3. 说明 1. scanf函数调用格式 (1)地址列表由变量地址组成,变量名前必 scanf("格式控制",地址列表); (4)输入数据时,当遇到空格、回车、跳格 须要加地址符“&” 。多个变量地址之间用逗号 键(TAB)、数据宽度结束或非法输入时,C语言 例如: “,”分隔。格式个数应与地址列表中输入项数 系统认为其中的一个数据输入结束。 scanf("%d,%d",&x,&y); 要一一对应且数据类型匹配。 (5)格式说明中可以指明数据宽度的正整数、 其中,变量x、y前的“&”是求地址运算符, (2)格式控制”%”后的格式符有d、o、x、c、 小写字母1和h等修饰符。(了解即可) &x表示取变量x的地址,也就是内存中存储x值的数 s、e、f等,其含义和输出函数printf中的规定 (6)实型数据输入时不能指定小数位宽度。 据单元地址。 基本类似。 (7)使用“%c”格式输入字符时,输入的空格 2. 功能 (3)格式控制字符串必须用双引号括起,字 或转义字符都是有效的字符。 从键盘上输入数据,按格式控制所指定的格式 符串中含有普通字符时,键盘输入数据时,普通 (数据形式)赋给相应的输入项,并存放在地址列 字符也必须按原样输入。 表所对应变量的地址单元中。
计算机二级考试C语言辅导PPT课件
二、数据类型及其运算
1.C的数据类型(基本类型,构造类型,指针 类型,无值类型void)及其定义方法。
2.C运算符的种类、运算优先级和结合性。 3.不同类型数据间的转换与运算。 4.C表达式类型(赋值表达式,算术表达式,
else max = y; 4)复合语句:用{ }把多个语句括起来称为复合语句,又
称分程序
(1)while ( x < 0 )
{y = - x ; x ++ ; }
(2) if ( x > y )
{ t =x ; x = y; y = t;}
1)字符输入函数: putchar( ) (功能,参数及其类型,返回值及其类型) putchar(‘a’); putchar(‘\023’);putchar(‘\x1a’);putchar(30+35); char x; int y; float z; putchar(x); putchar(y); putchar(z);
一个结果
printf(“%d”,x++,x+6,x+=7); 6)条件运算符: (1)唯一的一个三目运算符(2)结合性(3)规则
( (w)?x++:y++ 找等价 表达式1的值非0或0)
1)赋值转换:以变量类型为准
int a ; a = 2.3;
float b; b=7; 2)计算时自动转换:低精度向高精度转换,特别的是单
s1=s1+f1(i); for(j=1;j<=10;j++)
全国计算机二级考试C语言公共基础知识 ppt课件
08年4月选择题第5题 算法的有穷性是指_A___ A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用
<<
<
>
>>
扬州大学计算机中心 1.1 算法
3、算法复杂度主要包括时间复杂度和空间复杂度。 (1)算法时间复杂度是指执行算法所需要的计算工作量,可以用执行算法的过 程中所需基本运算的执行次数来度量。 (2)算法空间复杂度是指执行这个算法所需要的内存空间。 06年9月选择题第7题 下列叙述中正确的是___D__ A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)上述三种说法都不对
3、数据结构分为两大类型:线性结构和非线性结构。 (1)线性结构(非空的数据结构)条件:1)有且只有一个根结点;2)每一个 结点最多有一个前件,也最多有一个后件。 *:常见的线性结构有线性表、栈、队列和线性链表等。 (2)非线性结构:不满足线性结构条件的数据结构。 *:常见的非线性结构有树、二叉树和图等。
(3)后序遍历(LRD):若二叉树为空,则结束返回。否则:首先遍历左子树, 然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历 左子树,然后遍历右子树,最后访问根结点。
<<
<
>
>>
扬州大学计算机中心 1.4 树与二叉树
2007年4月选择题第6题
对下列二叉树进行前序遍历的结果为_C__ A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ
计算机二级C语言课件第3章最简单的C程序设计1-改
例3.2
解题思路:确定计算本息和的公式。
从数学知识可知:若存款额为p0,则: 活期存款一年后本息和为:
p1=p0(1+r1) 一年期定期存款,一年后本息和为:
p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
p3 = p0(1+ r3)(1+ r3 ) 22
例3.2
#include <stdio.h> int main ( )
一个字符变量在内存中占一个字节。
字符数据在内存中的存储形式及其使用方法
将一个字符常量放到一个字符变量中,, 而是将该字符的相应的ASCII代码放到存 储单元中。例如字符‘a’的ASCII代码为 97,‘b’为98,在内存中变量c1、c2的值如图
(a)所示。实际上是以二进制形式存放的,如 图(b)所示。P48
[signed ] int unsigned int
注意: 取值范围 举例P47
例:
#include<stdio.h>
void main( )
运行结果:
{int a,b,c,d;
a十u=22,b+u=-14
unsigned u;
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf(“a+u=%d ,b+u=%d”,c,d);
字符常量
• 定义:用单引号括起来的单个普通字符或转义字符.
• 字符常量如的值‘:a’该字‘A符’ 的‘?’ASC‘I\nI’码值‘\101’
• 转转义义字字如符符:反及‘‘斜其A0’’线含——后义——面:6458跟P,4,一0表‘‘个\n3a字’.’——1符——或190一7,个代码值表示
计算机二级C语言考试C语言学习第3讲
文件输入输出涉及到文件指针、文件路径、文件打开 模式等概念。
标准库函数在文件操作中应用
fclose()函数用于关闭 文件,释放资源。
fprintf()和fscanf()函 数用于格式化写入和读 取文件。
fgetc()、fgets()、 fwrite()等函数用于按字 符、字符串、块等方式 读写文件。
复杂数据结构构建技巧
01
结构体嵌套
在结构体中可以包含另一个结构 体作为成员,实现复杂数据结构 的构建。
02
指针与动态内存分 配
使用指针和动态内存分配技术, 可以构建灵活的数据结构,如链 表、树等。
03
数据结构操作封装
将数据结构的相关操作封装成函 数,提高代码的可读性和可维护 性。
05
位运算与位字段处理技术
数组
数组是一种用于存储同一类型数据的数据结构,可以方便地实现数据的批量处理和操作。C语言支持一维数组和 多维数组,提供了数组的定义、初始化和访问等操作。同时,C语言还支持字符数组和字符串处理等功能。
02
指针与内存管理
指针概念及基本操作
80%
指针定义
指针是一种特殊类型的变量,它 存储的是另一个变量的内存地址 ,而不是实际的值。
位运算在加密解密等领域应用
加密算法
利用位运算实现简单的加密算法,如异或加 密、循环移位加密等。
数据压缩
通过位运算对数据进行压缩和解压缩,减少 存储空间占用。
网络通信
在网络通信中,利用位运算对数据进行编码 和解码,提高传输效率。
提高程序执行效率策略
01
02
03
04
计算机二级考试C语言辅导PPT课件(共三部分第二部分)
switch结构与if多分支结构的区别: 1)switch结构只能表示等于关系,即 switch后的表达式是否与 case 后的常量相等,而if可表示大于\小于\等于 switch(a/b) { case 0: …; case 1: …; break; … default: …;(可省) } 2)当前面条件均不成立时,switch执行default后的语句而if执行 else后的语句,两个关键字均可省;但default的位置可调整, 放到case之前运行结果不会不同;而else则不可. int a=6; switch(a) {case 1:printf(“1”);break; default :printf(“2”);break; case 6:printf(“3”);}
计算机二级考试 C语言辅导
共三部分:第二部分
四、选择结构程序设计
1.用if语句实现选择结构。 2.用switch语句实现多分支选择结构。 3.选择结构的嵌套。 4.相关习题
1)关系表达式(> >= =< < == !=): 比较两个值之间大小关系 3>2 3==2 ‘a’>’A’ A>a (1)优先级:前四个比后两个高,比算术运算符低 3+2>9==!4 (2)不同类型数据之间也可以用关系运算符比较大小 ‘a’>=30 12.3>’1’ (3)关系表达式结果0或1 (4)注意=和==的区别 x=3 x==3 x+1=3; x+1==3; (5)数学中的式子2<x<9的正确表达形式 x>2 && x<9
main() {int a=6; if (a==1)printf("1"); else printf("2"); else if(a==6)printf("3");} 3)If结构中至多只能执行一条语句,执行完即结束,而对于 switch结构,找到符合条件的位置即找到入口,如不遇break 语句则从入口处按从上至下的顺序,执行到该结构结束 int a=6; switch(a) {case 1:printf(“1”);break; case 6:printf(“3”); default :printf(“2”);break;} 4)break语句在if结构中不能使用
C语言第3章课件.ppt
P56
3.1.2 关系表达式
P56
用关系运算符将两个表达式(可以是算术表达 式或关系表达式、逻辑表达式、赋值表达 式、字符表达式)连接起来的式子,称关系 表达式。
例如,下面都是合法的关系表达式:
a>b, a+b>b+c, (a=3)>(b=5), 'a'<'b', (a>b)>(b<c)
x=5; printf("%d ",!x); 输出0 printf("%d ",3 && ‘A’); 输出1
printf("%d ",(x=2) || 0); 输出1 printf("x=%d\n",x); 输出x=2
逻辑运算的规则
&&:两个运算量都为非零,结果是真, 值为1;否则,结果是假,值为0
x=1;
printf("%d ",x>=0 && x<=2); 输出1
真
真
x=5;
真
假
printf("%d ",x>=0 && x<=2); 输出0
printf("%d ", x<-3 || x>3 ); 假真
输出1
x=0; printf("%d ",x<-3 || x>3); 输出0 printf("%d ",!x); 输出1
x2+1 (当20≤x<30时)
x+3 (当x≥30时)
scanf("%f",&x);
计算机二级第3章 程序控制结构_2
循环结构
功能:在给定的条件成立时,反复执行某个程序段. 循环条件,反复执行的程序段称为 给定的条件称为循环条件 循环条件 循环体. 循环体 根据判定条件与循环体的先后次序,循环结构分为 两种: 1. 当型循环:for语句和while语句 首先判定循环条件,为真时执行循环体,否则 结束循环 2. 直到型循环:do ~ while语句 首先执行循环体一次,然后判定循环条件,为 真时再次执行循环体,否则结束循环
d
d>9
d = d/10
7
do ~ while语句
格式
do 循环体语句组 while(表达式)
执行过程 先执行一次循环体,然后判断表达式的值,如果为真,再执行 循环体,继续循环,否则退出循环.
8Hale Waihona Puke 【例3.13】用do~while语句求1~100的累计和 main( ) { int i=1,sum=0; do { sum += i; i++; }while(i<=100); printf("sum=%d\n",sum); }
16
循环的嵌套
一个循环体内又包含另一个完整的循环结构,称为循环的嵌套. 内嵌的循环中还可以嵌套循环,称为多重嵌套. while( ) {… while( ) {…} … } for( ; ; ) {… for( ; ; ) {…} … } do {… do {… }while( ); … }while( );
17
for( ; ; ) {… while( ) {…} … }
while( ) {… do {… }while( ); … }
do {… for( ; ; ) {…} … }while( );
计算机2级课件第3章
第 3 章数据、函数与表达式数据是计算机程序处理的对象,也是运算产生的结果,所以我们首先应该认识VFP能处理哪些数据,掌握各种形式数据的表示方法。
可以从不同的角度对数据进行分类。
从数据类型来分,数据可以分为数值型数据、字符型数据、逻辑型数据等。
从数据的存处方式来分,数据可分为常量和变量。
3·1 Visual Foxpro常用数据类型P37 表3-13·2 常量与变量在程序运行过程中,我们把需要处理的数据存放在内存中,称始终保持不变的数据为“常量”,称存放可变数据的存储单元为“变量”,其中的数据称为变量的值。
一、常量是一个具体的数据项,在整个操作过程中其值保持不变。
VFP支持以下6种类型的常量。
1·数值型常量2·货币型常量前置的符号($),采用4位小数。
3·字符型常量单引号、双引号或方括号称为定界符。
4·日期型常量定界符是一对花括号。
1)传统的日期格式{mm-dd-yy}2)严格的日期格式{^yyyy-mm-dd}设置不同的日期格式1)在命令窗口键入如下4条命令,并分别回车执行:SET CENTURY ON &&设置4位数字年份SET MARK TO &&恢复系统默认的斜杠日期分配符SET DATE TO YMD &&设置年月日格式? {^2002-11-26}2)在命令窗口键入如下4条命令,并分别回车执行:SET CENTURY OFF && 设置2位数字年份SET MARK TO "." &&设置日期分隔符为西文句号SET DATE TO MDY &&设置月日年格式格式? {^2002-11-26}5·日期时间型常量在命令窗口键入如下2条命令,并分别回车执行:SET HOURS TO 24? {^2002-11-26 8:30:00P}6·逻辑型常量只有“真”和“假”两种值,通常用.T.表示逻辑真,用.F.表示逻辑假。
计算机二级C语言辅导 公共基础知识 第二、三章PPT课件
编辑版pppt
24
❖软件设计基本原理:抽象、模块化、信息隐蔽和模块 独立性。
٭抽象:抽象是一种思维工具,就是把事物本质的共同特性提 取出来而不考虑其他细节。
٭模块化:解决一个复杂问题时自顶向下逐步把软件系统划分 成较小的、相对独立但又不相互关联的模块的过程。
❖软件的特点
٭软件没有明显的制造过程。 ٭软件在使用过程中,没有磨损、老化问题 ٭软件依赖与硬件和环境,导致了移植问题 ٭软件是复杂的,而且以后会更复杂 ٭软件的成本相当昂贵
٭软件工作牵涉到很多社会因编素辑版pppt
13
❖软件危机
早期的软件主要指程序,采用个体工作方式,缺少相关文 档,质量低,维护困难,这些问题称为“软件危机”,软件 工程概念的出现源自于软件危机。
▪从该问题所涉及的对象入手来研究问题。
٭消息(Message)
▪对象之间进行通信的一种数据构造,消息包括:接受消息对 象名、消息标识符、零个或多个参数。
编辑版pppt
10
❖面向对象的基本概念
٭类(Class)
▪一个类定义了一组大体上相似的对象。 ▪一个类所包含的方法和数据描述一组对象的共同行为和属性。 ▪类是在对象之上的抽象,对象是类的具体化,是类的实例
٭封装(Encapsulation)
▪将数据和操作数据的函数衔接在一起,构成一个具有类类型的对象的 描述。 ▪对象的内部实现受保护,外界不能访问
▪封装简化了程序员对对象的使用
编辑版pppt
11
❖面向对象的基本概念
٭继承(Inheritance)
计算机二级C语言教学ppt 共61页
语句简洁、功能强大、移植性好
总结 2-2
• C程序编写完成后,首先需要通过编译转换 成目标文件,然后通过连接创建可执行程 序,最后才可以执行该程序
• 可以使用Visual C++ 6.0 IDE编辑和运行C 程序
• 程序的三大结构是1、顺序结构 2、选择结 构 3、循环结构
这种机器代码计算机可以理解 编译程序/解释机程器序代码
高级编程语言中的指令 计算机硬件
编译和执行C程序
C
源程序:是用户创建的文件,以“.c”为文件扩展名 源 保存 程 序
编译
目
标
文
头文件:含有函数的声明和
件
预处理语句,用于帮助访问
外部定义的函数。头文件的
扩展名为“.h”。
C语言函数库
目标文件:是编译器的输出结 果。这类文件的常见扩展名 为.obj” 0 1 形式
机识别和执行。
3、语句:组成程序的基本单位
1.1.__做__口__述__笔__记__…_…_ 23..2.____键____入____信____函____的__内__容__…… 4.3.__发__送__传__真__…_…__
1.口述
2.信函
3.传真
语句被逐条执行
程老序板 员
秘书
• 4.机器语言:(machine language)计算机直接使 用的二进制形式的程序语言或机器代码。
第一章 程序设计的基本概念
目标
• 了解C程序的一些基本概念 • 了解程序、算法和流程图的概念 • 了解C 程序的三大基本结构 • 掌握 C 程序的编译和运行过程 • 使用Visual C++ 6.0 创建 C程序
最新全国计算机等级考试二级C语言教程——第3章顺序结构资料PPT课件
建设法规
第五章 建筑法律制度(合同)
一、建设工程合同种类
(二)按承发包方式 1. 总承包(交钥匙) 2. 施工总承包 3. 管理总承包 4. 单位工程施工承包 5. 分包合同
建设法规
第五章 建筑法律制度(合同)
一、建设工程合同种类
(三)按工程计价 1. 固定价格 2. 可调价格 3. 成本加酬金
3.5 程序举例
7
MS Office 高级应用
Thank You !
建设法规
第五节 建设工程合同
第五章 建筑了解合同法的概念、订立的基本程序;熟 悉合同法的基本原则、基本形式与主要条款, 及合同订立当事人的权利、义务与违约责任 等方面的基本知识;掌握建设工程勘察设计 合同、建设工程施工合同、工程建设监理委 托合同的订立、履行与违约责任等方面的内 容。
勘察、设计合同具有建设工程合同的一 切法律特征。
第五章 建筑法律制度(合同)
二、建设工程勘察设计合同
建设法规
(一)勘察、设计合同的主要内容: 1. 工程概况,工程名称、地点、规模; 2. 发包人提供资料的内容、技术要求及期限; 3. 承包方勘察的范围、进度与质量,设计的阶段、
进度、质量和设计文件的份数及交付日期; 4. 勘察设计取费的依据、取费标准及拨付办法; 5. 双方当事人的权利与义务; 6. 违约责任; 7. 争议的解决方式等。
第五章 建筑法律制度(合同)
第五节 建设工程合同
建设法规
建设工程合同:是指建设单位(发包方)与 勘察、设计、建筑安装单位(承包方)依 据国家规定的基本建设程序和有关合同法 规,以完成建设工程为内容,明确双方的 权利与义务关系而签订的书面协议。
第五章 建筑法律制度(合同)
最新二级C语言第3章 软件工程基础
软件调试的方法
软件调试可分表静态调试和动态调试。静态调试 主要是指通过人的思维来分析源程序代码和排错, 是主要的设计手段,而动态调试是辅助静态调试。 主要调试方法有: (1)强行排错法; (2)回溯法;
(3)原因排除法。
THANK YOU
感谢聆听,批评指导
2020
3.4 软件测试
软件测试定义:使用人工或自动手段来运行或测定 某个系统的过程,其目的在于检验它是否满足规定 的需求或是弄清预期结果与实际结果之间的差别。
软件测试的目的:发现错误而执行程序的过程。
一个好的测试用例是指很可能找到迄今为止尚未发 现的错误的用例;一个成功的测试是发现了至今尚 未发现的错误的测试。
软件工程的理论和技术性研究的内容
•软件工程的理论和技术性研究的内容主要包括:软件 开发技术和软件工程管理。
–软件开发技术包括:软件开发方法学、开发过程、开发工 具和软件工程环境。 –软件工程管理包括:软件管理学、软件工程经济学、软件 心理学等内容。
❖软件管理学包括人员组织、进度安排、质量保证、配 置管理、项目计划等。
从需求分析建立的模型的特性来分 静态分析 动态分析
二级C语言第3章 软件工程基础
结构化分析方法
结构化分析方法的实质:着眼于数据流,自顶向下, 逐层分解,建立系统的处理流程,以数据流图和数据 字典为主要工具,建立系统的逻辑模型。
结构化分析的常用工具 (1)数据流图(DFD—Data Flow Diagram) (2)数据字典(DD) (3)判定树 (4)判定表
•衡量软件模块独立性使用耦合性和内聚性两个定性的度量
标准。
•在程序结构中各模块的内聚性越强,则耦合性越弱。优秀
软件应高内聚,低耦合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例3.9 P80
#include <stdio.h>
int main ( )
{ char a,b,c;
a=getchar();
输入一个字符,送给变量a
b=getchar();
c=getchar();
putchar(a); putchar(b); putchar(c);
putchar('\n');
return 0;
%f: 不指定字段宽度,由 系统自动指定,使整 数部分全部如数输出,
并输出6位小数。
例: 输出实数时指定小数位数相%。同-m,.n只f与是%使m输.n出f基的本数
#include<stdio.h>
值向左端靠,右端
void main( )
补空格。
{float f=123.456;
printf(“%f︼︼%10f︼︼%10.2f︼︼ %.2f︼ ︼%-10.2f\n”, f,f,f,f,f); }
putchar(c)
参数: c为字符常量、变量或表达式 功能:把字符c输出到显示器上
C可以是字符变量或整型变量
例3.8 P78
#include <stdio.h>
说明:P79 putchar(’\101’)(输出字符A) putchar(’\’’ (输出单撇号字符’)
int main ( ) 改为int a=66,b=79,c=89;
(2)对o不格同式类符型,以的数八据进用制不数同形的︼式格123输式,字出12符3整45。数常P用7的3
(3有)以x格下式几种符格,以式十字六符进: 制数形式输出整数 P73 (4()1u)格d式格符式,符用。来用输来出输u出ns十ig进n制ed整型数数。据,即
无1符)号%数d,,按以整十型进数制据形的式实输际出长度P7输3出。
scanf("%lf%lf%lf",&a,&b,&c);
disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a);
输入的是双 精度型实数
x1=p+q; x2=p-q;
程序分析
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2); P66
{
char a='B',b='O',c='Y';
putchar(a);
向显示器输出字符B
putchar(b);
putchar(c);
putchar ('\n');
向显示器输出换行符
return 0;
}
字符数据的输入输出 P81
2. 用getchar函数输入一个字符 向计算机输入一个字符 getchar函数的一般形式为:
x1=p+q; x2=p-q;
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
return 0;
}
#include <stdio.h>
#include <math.h> int main ( ) {double a,b,c,disc,x1,x2,p,q;
自动转成实数 后赋给a,b,c
输出结果如下:
123.456001︼︼123.456001︼︼︼︼︼ ︼123.46︼︼ 123.46︼︼ 123.46︼︼︼ ︼
e格式符,以指数形式输出实数。P72
%e 不指定输出数据所占的宽度和数字部 分小数位数,由系统自动指定给出6位小数, 指数部分占5位,其中“ e ”占1位,指数符 号占1位,指数占3位。数字按规范化指数 形式输出。
d格式符。用来输出一个有符号的十进制 整数
可以在格式声明中指定输出数据的域宽 printf(”%5d%5d\n”,12,-345);
%d输出int型数据 %ld输出long型数据
Long a=135790;
格式字符:
printf(“%pr4indt,f%(4“d”%,al,db”);,a=a1)23;,b=12345
例 - 例:字符串的输出。
#include<stdio.h>
void main( )
{ printf(“%3s\n”, “student” );
printf(“%8.3s\n”, “student”);
printf(“%.4s\n”, “student”);
printf(“%-8.3s\n”, “student”);
这两个函数是格式输入输出函数 用这两个函数时,必须指定格式
3.4.3 用printf函数输出数据 P69
1. printf函数的一般格式 printf(格式控制,输出表列)
例如: printf(”i=%d,c=%c\n”,i,c);
格式声明
用printf函数输出数据 P69
1. printf函数的一般格式 printf(格式控制,输出表列)
#include <math.h>
程序中调用数学函数sqrt
int main ( )
{double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,&c); 输入a,b,c的值 disc=b*b-4*a*c;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
归纳如表3.6(P7否4)。则将会出现错误。
3.4.4 用scanf函数输入数据P75
1. scanf scanf(格式控制,地址表列)
含义同printf函数
3.4.4 用scanf函数输入数据
1. scanf scanf(格式控制,地址表列)
可以是变量的地址,或字 符串的首地址
用scanf函数输入数据
③%- ms,若串长小于m,则在m列的范围内,字 符串向左靠,右补空格。
④%m.ns,输出占m列,但只取字符串中左端n个字 符。这n个字符输出在m列的右侧,左补空格。
⑤% -m.ns,其中m 、n含义同上, n个字符输出 在m列的左侧,右补空格。如果n> m,则自动 取n值,即保证n个字符正常输出。
getchar( )
例: 字输入符单输个入字符函数
#include<stdio.h>
void格m式a:igne(t)char( ) {ch功ar能c;:从键盘输入一字符,
运行结果: A getcAhar没有参数。
c=getchar( );
putchar(c);
}
请注意:getchar( )只能接受一个字符。 getchar得到的字符可以是一个字符变量 或整型变量,也可不赋给任何变量,作为 表达式的一部分。
是库函数的名字 putchar、getchar、puts、gets
有关数据输入输出的概念 P68
在使用输入输出函数时,要在程序文件的开 头用预编译指令
#include <stdio.h>
或
#include ″stdio.h″
3.4.3 用printf函数输出数据 P68
在C程序中用来实现输出和输入的, 主要是printf函数和scanf函数
}
运行结果:
student
stu
stud
stu
(7)f格式符 P71~72
例:输出实数时的有效位数。 #include<stdio.h>
void main( )
{float x,y;
x=111111.111;y=222222.222;
printf(“%f”,x+y); } 运行结果为 333333.328125
例如:若f=123.468 printf(“%f︼︼%e︼︼%g”,f,f,f);
输出如下g:格式符,用来输出实数, 123.46它80根0据0︼数值︼的1.大23小4,68自0e动+选002︼︼ 123.4f格占68式宽︼或度︼e较格︼小式的(一在选种用择)p输r,i出n且t时f函数输出时,
不输出无意义务的必零注。意数据类型应与 以上介绍了9种格上式符述,格式说明匹配,
例3.5
解题思路:首先要知道求方程式的根的方法。
由数学知识已知:如果 b2 4ac ≥0,则一
元二次方程有两个实根:
x1 b
b2பைடு நூலகம் 4ac 2a
x2 b
b2 4ac 2a
若记 p b q b2 4ac
2a
2a
x1 p q x2 p q
#include <stdio.h>
例:字符串的输出 #include<stdio.h>
“%.4s”,及只指定了n,没指定m, 自动使m=n=4,故占4列。
void main( )
{
printf(“%3s,%7.2s,%.4s,%-5.3s\n”,
“CHINA”, “CHINA”, “CHINA”, “CHINA”);
}
输出如下: CHINA, ︼︼︼︼︼CH,CHIN,CHI︼︼
(52))c%格m式d符, m,为用指来定输的出输一出个字字段符的P宽70度。
3)%ld, 输出长整型数据。
对long型数据应当用%ld格式输出。
举例 P70~P73
见P47及P45表3.2
例例 int a=例3,b#=in4c;lude<stdio.h> 2个字节 printf(v“o%iddm%aidn\(n)”,a,b); printf(“a{=%undsi,gbn=e%d din\nt”u,a=,b65);535;
对于scanf(”%c%c%c”,&c1,&c2,&c3);