全国计算机二级C语言课件 第3章 顺序结构
合集下载
C语言课件第三章
三、 自增、自减运算符 ++ --
++、- -运算符的作用是使变量的值加1或减1
1)该运算符为单目运算符,其运算对象只能是 变量,不能为常量或者表达式。 例如: i++ 、x- - 都是正确的 5++ 、(x+y)++ 都是错误的
2)该运算符作前缀、后缀都可以 例如 i++、++i、i- - 、- -i 都是正确的
3)对变量而言 i++ 或者++i都相当于i=i+1 i- -或者- -i都相当于i=i-1
例如: main( ) { int i=3 , j=3; +i+++i; j---j;; printf (“%d, %d\n”, i, j ); }
运行结果:4,2
4)但如果作为表达式,前缀和后缀则不同: 后缀:先取值再运算(i++,先取i值,i再自加) 前缀:先运算再取值(++i,i先自加,再取i值)
2)强制类型转换运算符优先级高于算术运算符
float x=3.6; int y; y=(int)x%3+2;
x = ?3.6 y=?2
计算下列表达式的值 设 x=2.5, a=7,y=4.7
x+a%3 * (int)(7x7+.2y ) % 2 / 4
设 a=2,b=3,x=3.5,y=2.5
(float5).(0a+b )/2+(int3)(x)%(int2)(y)
例如: main() { int i=3; printf(“%d\n”+, +i+i+ ); printf(“%d”, i ); }
计算机国家二级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语言课件第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语言教程——第3章 顺序结构
3.3 数据输入
3.3.2 通过scanf函数从键盘输入数据
输入数值数据 指定输入数据所占的宽度
5
跳过某个输入数据
在格式控制字符串中插入其他字符
3.4 复合语句和空语句
3.4.1 复合语句
复合语句格式: {语句1;语句……语句n} 例如: {a++;b*=a;printf(“b=%d\n”,b);}ຫໍສະໝຸດ 33.3 数据输入
3.3.1 scanf函数的一般调用形式
4
1、scanf函数的一般格式: scanf(格式输入控制,输入数据列表) 格式输入控制与printf函数的格式输出控制相同。输入数据列 表必须是一个或者是多个合法的地址。 2、scanf函数的注意事项 (1)输入数值型数据时,各数值间的分隔符可以是:空格、 Tab、回车。 (2)输入字符型数据时,空格、Tab、回车都会被认为是字符, 而不是分隔符。 (3)“格式输入控制”中的普通字符,在输入数据时一定要 原样输入。 (4)跳过输入数据,在%和格式字符之间加一个“*”。
6
3.4.2 空语句
main() {; }
3.5 程序举例
7
NCRE
1、printf函数的一般格式: printf(格式输出控制,输出列表) (1)格式输出控制:需用一对双引号括起来,双引号内包含 “格式说明”和“普通字符”两部分。 (2)输出列表:需要输出的数据,多个数据之间用逗号隔开。 2、格式说明 “格式说明”由“%”和格式字符组成,如%d,%c,更多格式 说明请参考P25. 3、printf函数中格式控制的作用是: 给输出项提供输出格式说明 提供需要原样输出的文字或字符
第3章 顺序结构
NCRE
第三章 学习目标与要求
C语言程序设计第3章顺序结构程序设计简明教程PPT课件
运行结果:
C语言程序设计
a=65535,(0)177777,(0x)ffff,65535 b=-1, (0)37777777777,(0x)ffffffff,4294967295
第3章 顺序结构程序设计 11
二、实型数据的输出
%f格式符用来输出实数(单精度、双精度),以小数形式输出。
①%f: 表示输出的实数,是以小数的形式输出。虽没指定输 出数据位数的宽度。由于系统自动约定,整数部分全部输出, 并输出6位小数。
C语言程序设计 第3章 顺序结构程序设计 9
三、x格式符
x格式符:数据以十六进制的形式输出,数值不带符号,
即将符号位也作为十六进制的一部分输出。 【例3.2】将一个整数分别以十进制、八进制、十六进制的 格式输出。 #include <stdio.h> int main() { int b=-1; printf("%d,%o,%x\n",b,b,b); return 0; } 运行结果: -1,37777777777,ffffffff
②%m.nf: 指定输出的数据共占的位数为m,其中有n位小数 ,如果数值的位数小于m,则左端补空格。
③%lf:表示输出双精度实数。
C语言程序设计
第3章 顺序结构程序设计
12
【例3.4】 输出实数的有效位数。 #include <stdio.h> int main() { float y=564123.41111; printf("y=%f\n",y); return 0; } 运行结果: y=564123.437500
C语言程序设计
第3章 顺序结构程序设计
6
②%md:m为输出数据的宽度。 若输出项的实际位数小于m值,则以右对齐,不够的位数 以左补空格凑齐;
最新全国计算机等级考试二级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章 顺序结构
2.输出格式说明
格式说明由“%”符号和紧跟在其后的格式描述符组成。当输出项为int类型时,用d作为 格式描述字符,其形式为%d;c输出一个字符;%s用来输出一个字符串。当输出项为float 或double类型时,用f或e作为格式描述字符,其形式为%f或%e(对于double类型也可用 %lf或%le)。
3. 输出数据的宽度 当使用%d、%c、%f、%e、%s、…的格式说明时,输出数据所占的宽度(域宽)由系统决定,通常按照数据本 身的实际宽度输出,前后不加空格,并采用右对齐的形式。
可以用以下2种方法人为控制输出数据所占的宽度(域宽),按照使用者的意愿进行输出。
(1)在%和格式字符之间插入一个整数常数来指定输出的宽度n(例如%4d,n代表整数4)。如果指定的宽度n不
则以下叙述中正确的是()。 A.printf必须作为独立语句出现 B.变量k得到的是输出的可见字符个数2 C.变量k得到的是输出字符的总个数3 D.变量k仍保持初值0
正确答案:C 【解析】printf()函数的原型如下: extern int printf(const char *format,...); 它是有返回值的,返回值是打印出来的字符个数,题意中的字符串 "OK\n"输出3个字符,所以k的值为3,本题答案为C。
若有定义:char c; double d; 程序运行时输入: 1 2<回车>,能把字符1输入给变量c、数值2输入给变量d的输入语句是( ) A.scanf("%d%lf", &c,&d); B.scanf("%c%lf", &c,&d) ; C.scanf("%c%f", &c,&d); D.scanf("%d%f", &c,&d);
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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”。 请读者予以注意,这是初学者易出错的地方。
29
2.输入数据时,各个数据之间可以用空 格“[”或Tab键或回车键作为间隔符。 3.除了空格、Tab键和回车键外,用户还 可以自己指定其他字符作为输入间隔。需要注 意的是,如果在“格式控制”字符串中除了格 式说明以外还有其他字符,则在输入数据时应 输入与这些字符相同的字符。例如,对应语句: scanf(“%d,%d,%d”,&a,&b); 输入方式应为: 1,3<回车>
12
③ c格式字符。用来输出一个字符。 例如: char ch= 'a'; printf("%c",ch); 则输出一个字符‘a‟。也可以指定输出字符的宽 度,如: printf("%2c",ch); 则输出‘a‟,即ch变量输出占2列,第一列补空 格。
13
④ s格式字符。用来输出一个字符串。其用法如
5
格式控制符的作用有:
1.为各输出项提供格式转换说明。它总是由“%” 符号开始,紧跟其后的是格式描述符。 2.提供需要原样输出的文字或字符。输出项表中 的各输出项要用逗号隔开,输出项可以是合法的常量、 变量或表达式。格式转换说明的个数要与输出项的个 数相同,使用的格式描述符也要与它们一一对应且类 型匹配。
表3.1 输出格式字符及其功能说明
格式字 说 符 c 输出一个字符 明
d或i
o x或X u f E或e G或g
输出带符号的十进制整数
以八进制无符号形式输出整形数(不带前导0) 以十六进制无符号形式输出整形数(不带前导),x输出 小写字母,X输出大写字母 按无符号的十进制形式输出整型数 以带小数点的形式输出单精度和双精度数 以[-]m.dde(或E)±xx的指数形式输出浮点数。d的个数由 精度指定,精度为0时小数部分不输出 由系统决定采用%f格式还是采用%e格式,以使输出宽度 最小
第3章
本章要点:
3.1 赋值语句 3.2 数据输出 3.3 数据输入
顺序结构
3.4 复合语句和空语句
1
3.1 赋值语句
2
在赋值表达式的尾部加上一个“;”号, 就构成了赋值语句也称表达式语句。以下是几 点说明: 1.赋值语句必须在最后出现分号,分号 是语句中必不可少的部分,如“x+=10”是表达 式,“x+=10;”是赋值语句。 2.任何赋值表达式都可以加上分号而称 为赋值语句。 3.赋值语句是一种可执行语句,应当出 现在函数的可执行部分。
注意1后面是逗号,它与scanf函数中的“格式控 制”中的逗号对应,若输入时不用逗号,而用空格或 回车键等字符就不对。 30
4.特别需要注意的是,在使用格式说明符%c输 入一个字符时,凡是从键盘输入的字符,包括空格、 回车等均被作为有效字符接收。 例如对语句: scanf(“%c%c”,&c1,&c2); 若输入: a b<回车> 原意图是把字符'a'赋给c1,'b'赋给c2,而结 果却是把[赋给了c2。因为%c只要求读入一个字符, 后面不需要用空格作为两个字符间隔,因此[作为下一 个字符赋给c2。
格式字符 l h 功能说明 用于输入长整型数据(用%ld,%lo,%lx)以及 double型数据(用%lf或%le) 用于输入短整型数据(用%hd,%ho,%hx)
m(m表示一个 用于指定输入数据所占宽度(列数)为m 正整数)
*
表示该输入项在读入后不赋给相应的变量
27
3.几点说明 (1)可以指定输入数据所占列数,系统自动按 它截取所需数据。 (2)标准C在scanf()函数中不使用%u说明 符,对unsigned型数据,以%d,%o,%x输入。 (3)在输入时若想跳过某个数据,可在%后加 一个相应的“*”。 (4)输入数据时不能规定精度,如 scanf(“%5.2d”,&x)是不合法的。
格式字符 d u 功能说明 以带符号的十进制形式输入整数正数 以无符号十进制形式输入整数
o
x f c s
以八进制无符号形式输入整数
以十六进制无符号形式输入整数 以小数形式或指数形式输入实数 输入单一字符 输入一个字符串
26
2.附加格式字符。表3.3列出scanf函数的附加格 式字符及其功能说明。
表3.4 scanf常用附加字符
6
3.2.2 printf函数中常用的格式说明
“格式控制”部分是用双引号括起来的字 符串,也称“转换控制字符串”,它包括三种 信息:格式说明符、转义字符和普通字符。 1.格式字符 格式说明符由%和格式字符组成,如%d、 %f等。作用是转换输出数据的格式。对于不同 类型的数据用不同的格式字符。下面详细介绍 几种常用的格式字符。
下: (a)%s,按原样输出一个字符串。例如: printf("%s", "Happy New Year!"); 则输出字符串: Happy New Year! (b)%-ms,与整数输出格式“%-md”类似。
14
(c)%m.ns,输出占m列,但只取字符 串中左边n个字符。这n个字符输出在m列的右 边,左边补空格。 (d)%-m.ns,n个字符输出在m列范围 的左边,右边补空格。若n>m,则m自动取n 值,即保证n个字符正常输出。 如:字符串输出示例 main() { printf(“%3s,%6.3s,%.2s,%5.4s\n”,“Hello”,“Hello”,“Hello”,“Hello”); } 程序运行结果为: Hello, Hel,He,Hell 15
11
(d)%-m.nf,输出的实数包括小数点在内共 占m位,其中小数部分占n位。如果数据的实际宽 度小于m,则左靠齐,右边补空格,省略“-”时, 右靠齐,左边补空格。 如:main() { float a=123.45; printf(“%f,%11f,%.2f,%-10.3f\n”,a,a,a,a); } 程序运行结果为: 123.449997, 123.449997,123.45,123.450 说明:a的值应该是123.45,但输出的结果却 是123.449997,这是由于实数在内存中的存储误 差引起的。
18
3.2.3 调用printf函数时的注意事项
1.在格式控制字符串中,格式说明与输 出项从左到右在类型上必须一一对应匹配。 例如: printf("x=%f,c=%d",x,c); 中的x与%f对应,c与%d对应。 2.在格式控制串中,格式说明与输出项 的个数应相同,若格式说明少于输出项,则多 余的输出项不输出,相反,对于多余的格式将 输出不定值。 3.在格式控制串中,可以包含任意的合 法字符(包括转义字符)。
24
3.3.2 scanf函数中常用的格式说明
在格式控制部分一般只包含“格式说明符”这一 项内容。和printf函数中的格式说明符相似,以%开始, 以一个格式字符结束,中间可以插入附加的字符。 1.scanf常用的格式字符。表3.3列出scanf函数 常用的格式字符及其功能说明。
25
表3.3 scanf格式字符
34
ห้องสมุดไป่ตู้
3.4.2 空语句
只有一个分号构成的语句称为“空语句”,如{;} 就是一个空语句。 空语句在执行时不产生任何动作,但并不表示空 语句没有用途。一般空语句可以用在循环体内对程序 起“延时”作用。如: {for(i=1;i<=100;i++) ; }
s
输出字符串中的字符,直到遇到“\0”。或者输出由精度 16 指定的字符数
2.附加格式字符 在%和上述格式字符之间可以插入以下几种附加符号,如下所 示。 表3.2 输出常用附加格式字符
附加字符 m(m为一正整数) .n(n为一正整数) - 功能说明 规定输出数据的最小宽度为m位 对实数,表示输出的实数保留n位小数,对 字符串,表示截取字符串的前n个字符 使输出的数据在域内向左靠齐,省略“-” 时,向右靠齐
3
3.2 数据输出
4
3.2.1 printf函数的一般调用形式
printf函数是标准输出函数,功能是在终端设备 上按指定格式进行输出。 printf()函数的一般形式为: printf(“格式控制”,输出项序列) 例如:printf(”a=%d,b=%c”,a,b) 中,”a=%d,b=%c”称为格式控制字符串,a,b是输 出项序列中的输出项,都是printf函数的参数。