第四章 顺序结构
C语言第四章顺序结构复习题
顺序结构程序设计复习题一.选择题1.已有定义:int a,b; float x,y;,以下正确的赋值语句是:()a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;2. 有以下程序:main(){ int y=1111;printf(“y=%6d\n”,y);printf(“y=%+06d\n”,y);}程序运行的结果是:()a) y= 1111 b) y= 1111 c) y=1111 d) y= 1111y=001111 y=+01111 y=+01111 y=1111 3. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n”,y);printf(“*y=%-7o*\n”,y);printf(“*y=%07o*\n”,y);}程序运行的结果是:()a) *y= 710* b) *y= 456**y=710 * *y=456 **y=0000710* *y=0000456*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*4. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.667000* b) *3.667000** 3.67* *3.667 ** 4* *4.000000*c) *3.667* d) *3.667000**3.667000* *3.67**3.667000* *4.000000*5. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);6. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;7. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}8. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;9. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值10. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;11. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1 c) 2.0 d) 212. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,413. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 314. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.015. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768 d) b=-1 16.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1617.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2218.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:int x,y;,执行以下语句后的输出结果是______.x=11/3; y=5; printf(“%%d,%%%d\n”,x,y);2. 已有定义:int y;,执行以下语句后的输出结果是______.y=26; printf(“%d,%#o,%#x”,y,y,y);3. 执行以下语句后的输出结果是_____.printf(“7/8=%d”,7/8); printf(“%%%d”,7%2);4. 以下程序的运行结果是_______.main(){ float a;int b;b=a=24.5/5;printf(“%f,%d”,a,b);}5. 以下程序的运行结果是_______.main(){ float a;int b;a=b=24.5/5;printf(“%f,%d”,a,b);}6. 以下程序的运行结果是_______.#include <stdio.h>main(){ int a=252;printf(“a=%-5o**a=%x\n”,a,a);printf(“a=%#o**a=%#x\n”,a,a);}7. 若有定义:int t1; double t2;,执行下列语句后,t1的值是_______。
4(1)-顺序与选择结构
举例: if ( c<’A’ || c>’Z’ ) ; else c=c+32;
17
三、if 语句的形式3—多分支选择结构
格式: if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 : : : : else if (表达式n) 语句n N else 语句n+1
将分号改为逗号 则成为1个语句, 可去掉花括号 24
举例:求分段函数的值
例4.8 根据所输入的x之值,求 y=
用多边if 语句: #include <stdio.h> void main ( ) { float x,y; scanf("%f",&x); if(x<0) y=0; else if(x<=50) y=x; else y=x*x; printf("x=%f,y=%f\n",x,y); }
/*以十六进制形式输入a*/ /*使a右移4位存于b*/ /*置c=(1111)2*/ /*b & c得到结果d*/ /*以十六进制形式输出d*/
10
例4.4 求方程ax2+bx+c=0的实数根。 #include <stdio.h> b b 2 4ac x #include <math.h> 2a void main() { float a,b,c,d,x1,x2; printf("Input a,b,c: "); scanf("%f,%f,%f",&a,&b,&c); d=b*b-4*a*c; x1=(-b+sqrt(d))/(2*a); x2=(-b -sqrt(d))/(2*a); printf("x1=%.4f\nx2=%.4f\n",x1,x2); }
第四章 结构化程序设计的三种结构
第四章结构化程序设计的三种结构4.1 顺序结构程序设计一、结构化程序设计的程序结构顺序结构、分支结构/选择结构、循环结构二、C语言语句1、9种控制语句2、表达式语句3、特殊语句三、格式化输出--printf()函数printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。
printf()函数的一般格式printf("格式字符串" [,输出项表]);1、"格式字符串"也称"转换控制字符串",可以包含三种字符(1)格式指示符。
格式指示符的一般形式如下:%[标志][宽度][.精度][F|N|h|L][类型]常用的标志字符如表3-1所示,常用的宽度指示符如表3-2所示,常用的精度指示符如表3-3所示,长度修饰符如表3-4所示,类型转换字符如表3-5所示。
(2)转义字符'\n'就是转义字符,输出时产生一个"换行"操作。
转义字符通常起控制作用(3)普通字符──除格式指示符和转义字符之外的其它字符。
格式字符串中的普通字符,原样输出。
例如printf("radius=%f\n", radius);语句中的"radius="是普通字符。
2.输出项表输出项表是可选的。
如果要输出的数据不止1个,相邻2个之间用逗号分开。
下面的printf()函数都是合法的:(1)printf("I am a student.\n");(2)printf("%d",3+2);(3)printf("a=%f b=%5d\n", a, a+3);必须强调:"格式字符串"中的格式指示符,必须与"输出项表"中、输出项的数据类型一致,否则会引起输出错误3、格式指示符输出不同类型的数据,要使用不同的类型转换字符。
第4章 C语言程序的基本控制结构
#include<stdio.h> main() { int c1,c2; scanf("%c",&c); c1=c-1;c2=c+1; printf("%c%4c%4c\n",c1,c,c2); printf("%d%4d%4d\n",c1,c,c2); }
4.2 顺序结构
运行结果:
4.3选择结构
入口
入口
A 语句1 B
真
表达 式
假
条件 语句2 循环体
出口
图4.1 顺序结构
出口 出口
图4.2 选择(分支)结构 图4.3 循环结构
上述三种基本控制结构的共同特定是具有单入口和单出口。 还有一种goto语句,又叫转向语句,在本章的4.4.5小节中将会讲解到。 我们在编写程序时,力求使用前三种基本结构语句。
4.3选择结构
例4.3 幼儿园里三个小朋友站队要求小个站在前面,高个站在后面。 分析:我们可以把个子最小的小朋友放在a位置上,较高的小朋友放在b位 置上,个子最高的小朋友放在c位置上。输入三个数,a,b,c,要求按由小到 大的顺序输出。先比较a和b,若a大于b,则a与b对换,再比较a和c,若a 大于c,则a与c对换,这时a的值是最小的,最后比较b和c,若b大于c,则b 与c对换。这样操作之后就使a<b<c的关系成立。然后顺序输出a,b,c既可。
! 逻辑非,单目运算符,自右至左结合。其运算规则是:当 运算量为0,运算结果为1;反之,当运算量为1,运算结果为0。 && 逻辑与,双目运算符,自左至右结合。其运算规则是: 只有当运算符两边的运算量都是非0时,运算结果才为1,否则为0。 || 逻辑或,双目运算符,自左至右结合。其运算规则是:只 要运算符两边的运算量有一个为为非0,运算结果就为1。只有两 个运算量都为0,结果才是0。 这三个运算符的优先级,逻辑非!最高,逻辑与&&次之,逻 辑或||最低。!(逻辑非)的优先级高于算术运算符和关系运算符, 而&&(逻辑与)和||(逻辑或)的优先级低于算术运算符和关系运算符。 由 此可见: a>b&&c>d 相当于 (a>b)&&(c>d) a= =0||b= =0 相当于 (a= =0)||(b= =0) !a&&b= =c 相当于 (!a)&&(b= =c)
顺序结构程序设计方案
C=5(f-32)/9;
见程序P4_1~P4_5
输出结果
123
7B
173 123 E china 1.234560e +002 123.45600
0 123.456
%
a
7
(一)printf函数的使用:
1、输出转换
在输出语句中,也会发生隐式转换。如:
float f=5.8; printf(“%d”, f ); 则输出 5。
如果是int a=5.8; printf(“%f”, a); 在 编译时不用出错,但不会输出结果。
如:%ld、%lx、%lo、%lu、%lf等
h:只用于将整型的格式修正为short型。如:%hd、%hx、 %ho、%hu等。
a
10
(一)printf函数的使用:
4、域宽及精度描述符(m•n):
m:指域宽。即对应的输出项共占多少位的位置; n:指精度。即小数占多少位。不指定n时,默认的精度是n=6。
a
9
(一)printf函数的使用:
另外,在%和格式字符之间可有一些可选的附加说明项, 其完整格式为: % — 0 m•n l/h 格式字符
指定输出类型 输出长度修正 指定输出域宽及精度 指定空位是否填0 是否左对齐 格式说明的起始符
可选项
3、长度修正符(l/h)
l:对整型指long型,对实型指double型。
6、多余的小数是被截断还是舍入?
4.顺序结构
§4.2 库函数的使用
• C程序由函数组成,函数必须先定义,后使用。 • 库函数是C语言已定义,用户可直接使用的函数 例: • 库函数的定义在函数库中,使用时需指明库函数 #include "math.h" 的位置,方法:在程序开头加上预处理命令 main( ) { float x, y; #include "头部文件名" scanf("%f",&x); • 例: y=sin(x); printf("%.2f\n",y); 使用输入输出函数: #include "stdio.h" } 使用数学函数: #include "math.h" 参考课本:P344
使用格式输出函数应注意的问题
• 格式符与输出数据必须一一对应。 类型,数量一一对应 • 格式符中的字母都是小写,如: %d, %f是格式符,%D, %F不是格式符 • 输出%:%% 例: float x=80; printf(“%.2f%%\n”,x); 结果:80.00%
二、字符输出函数 putchar( )
putchar (c );
}
4.5 程序举例
例1: 输入三角形三边, 求三角形 面积。 数学模型: s=(a+b+c)/2
输入a,b,c s=(a+b+c)/2
area s(s a)(s b)(s c)
程序:
area s(s a)(s b)(s c)
输出area
第四章 顺序结构程序设计
• • • • 语句概述 库函数的使用 数据输出 数据输入
§4.1 语句概述
• 语句:
– 实现算法的最小单位,控制计算机执行确定的操作。 – 语句以分号结束。
4.2运用顺序结构描述问题求解过程
开始 输入n的值 a=3*n,b=5*n y=(a+b)*0.8 输出y的值
结束
三、顺序结构的应用
编写程序:
n = int(input("输入购买的笔记本1和笔记本2 的本数:")) a=3*n b=5*n y=(a+b)*0.8 print("购买笔记本1和笔记本2 的数量为:",n,"本") print("实际的需要支付","%.2f"%y,"元")
用合适的方法描述算法。
二、数据的输入和输出
1、输入:
<变量>=input(‘提示信息:’) 注意:input()函数返回结果都是字符串,需要将其转换为相应的 类型再处理。
二、数据的输入和输出
2、输出:
Print([object,…][,sep=‘’][,end=‘\n’] 说明: 1)方括号中的项是可选的。 2)object是要输出的对象,可以是常量、变量或表达式。 3)sep后面的空格(或其他字符)表示每个输出对象之间的分隔符,如果缺省的 话,默认值是一个单个的空格。 如:print(4,5,6,sep=‘***’) 输出结果为 4***5***6 4)end后面的字符串含义为输出文本尾的一个字符串,默认值是一个\n换行符。 如end=‘ ‘则输出一个空格,不换行。 如:prin(“hello”,end=‘ ‘)
第四章程序设计基础
4.2运用顺序结构描述问题求解过程 胡玉清
复习提问:
什么是常量?什么是变量?
一、顺序结构的定义
按语句的先后顺序执行的结构称为顺序结构”。
第四章 顺序结构
例 m.n
例 int a=1234; float f=123.456; char ch=‘a’; printf(“%8d,%2d\n”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f); printf(“%3c\n”,ch);
运行 1234,1234 结果: 123.456000,123.456000, 123.5,123.46,1.23e+02 a 例 static char a[]=“Hello,world!” printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a); 运行结果:Hello,world! Hello,world! Hello Hello Hel
看下面程序的运行结果
main() {int a=1,b=2; b=a; printf("%d%d",a,b); }
? 如果把b=a; 换成a=b a=b; 程序的结果如何? 如果把b=a; 换成a=b;,程序的结果如何? b=a
4.2字符的输入输出 字符的输入输出
C语言无I/O语句,I/O操作由函数实现 #include <stdio.h> 或者: #include “stdio.h”
4.3格式输入输出 格式输入输出
格式输出函数
格式:printf(“格式控制串”,输出表) 功能:按指定格式向显示器输出数据
输出表:要输出的数据(以“,”分隔) 格式控制串:包含两种信息 格式说明: %[修饰符]格式字符 , 用于指定输出格式 普通字符或转义序列:原样输出 格式字符
格式字符:
d,i x,X o u c s e,E f g %%
输入分隔符的指定 一般以空格、TAB或回车键作为分隔符 其它字符做分隔符:格式串中两个格式符间字符
Visual Bisic 第四章 顺序结构
入 口 顺序结构 选择结构 出 口 循环结构
4.1 结构化程序设计语言三种结构
结构化程序设计三种结构流程图
表达式 T 语句2 语句块
F
表达式 T
F
循环体
顺序结构
选择结构
循环结构
4.2 赋值语句
赋值语句形式
形式: 变量名=表达式 作用:计算赋值号“=”右边表达式的值,然后把计算的结果赋给左边的变量。 例如:y=3*x^2+4*x+5 注意: 赋值号与表示等于的关系运算符都用“=”表示,VB系统会根据所处的位置自动判 断是何种意义的符号。
4.3 数据的输入和输出
例如4.2:编写账号和密码输入的检验程序,运行界面如图所示。对输入的账号和密码规 定如下: (1)账号不超过6位数字,以按Tab键表示输入结束;当输入不正确,如账号为非数字字 符等,显示如图所示的信息。 (2)密码是4位字符,输入文本框以“*”显示,按“检验密码”按钮表示输入结束,密 码假定为“Gong”;若密码不正确,显示如图所示的信息。
4.4 图形框、图像框控件
主要知识点与重点
• 赋值语句;
• 数据的输入和输出。
• 图形框、图像框控件
4.1 结构化程序设计语言三种结构
应用程序界面 可视化编程技术
VB应用程序
VB是融合了面 向对象和结构 化编程两种思 想的一个编程 工具。
事件过程代码 结构化程序设计
4.1 结构化程序设计语言三种结构
4.4 图形框、图像框控件
图像框(Image)
图像框控件名称的缺省值为:Image1,Image2,…,微软建议名称 前缀为img. 图像框控件只能用来显示图像,不支持图像方法,也不能当做容器来 使用。
顺序结构
变量的返回值
三、 MsgBox函数()
系 统 定 义 的 常 数
用户自定义的常数
Dim PAI As Single=3.14156
四、使用数据文件
输出数据到文件中
(1) Open <文件名> For output As #<文件号>
(2) Write #<文件号>,<输出项列表>
(二) 使用InputBox函数
如:x=InputBox(“请输入你的 Email 信箱地址” +Chr(10)+ “请注意地址应写完整!”),程序运行时出现对话框窗口,如图44所示。输入内容后单击“确定”按钮或按回车键,输入的内容就赋 给变量x。 参见图4-4。
标题部分
提示信息
注意:
函数中的各项参数次序必须一一对应,除了 “提示”一项不能省略外,其余各项均为可选项,
二、 提供数据的基本方法
(一) 使用赋值语句 赋值语句是任何程序设计语言中最基本的语句, VB中赋值语句有两种格式: 格式1: [Let] 变量名=表达式 格式2: [Let] 对象名.属性名=表达式 第一种格式用于给一个变量赋值,第二种用于修改 对象的属性值。先计算右边表达式的值,再赋给左边 的变量或属性。
(三) 使用文本框
在程序运行时为变量提供数据,除了使 用InputBox函数外,还有应用最广泛的是 使用文本框,将文本框的 Text 属性的值赋 给给变量,格式为:变量名=对象名.Text 其作用是将文本框的值赋给某一变量。同 InputBox函数一样,文本框的值也是字符 型数据。在应用中,若要得到数值型数据, 可通过转化函数Val将字符型数据转化为数 值型。
C语言程序设计 第3版 第4章 顺序结构程序设计
printf(“%d“,a); printf(“%d“,a+b);
C语言程序设计
2.printf函数
格式功能 格式控制 注意说明
注意说明:
(1)格式转换说明符个数和类型必须与输出列表一一 对应 。
(2)格式控制字符串中可以有转义字符和普通字符。 转义字符根据具体作用实现操作,普通字符原样输出。
例题:
scanf(“%d”,&a);
//一个变量
scanf(“%d%d”,&a,&b);
//两个变量
scanf(“%d%d%d”,&a,&b,&c); //三个变量
C语言程序设计
1.scanf函数
格式功能 格式控制 注意说明
注意说明:
(1)格式控制字符串中多个格式转换说明符之间没有 逗号,输入数据时,通常使用空格键或者回车键来分隔 数据;格式转换说明符之间有逗号,输入数据时,一定 要用逗号来分隔数据。
功能描述 输出一个十进制整数 输出一个单精度实数 输出一个双精度实数 按指数格式输出一个实数
输出一个字符 输出一个字符串 输出一个八进制整数 输出一个十六进制整数
C语言程序设计
2.printf函数
格式功能 格式控制 注意说明
输出列表:
输出列表由输出项组成,两个输出项之间用逗号分隔,输出项可以 是一般的表达式,也可以是简单变量,即:变量名或者表达式。
a
b
2
3
t
C语言程序设计
简单语句分析
实例介绍 算法设计 语句编写
将具体的算法转化为C语言的标准语句,采用 逐条语句编写方法,称为顺序结构程序设计。 算法设计如下:
1、定义三个变量a、b和t; 2、2存储到a中,3存储到b中; 3、将a的值存储到t中; 4、将b的值存储到a中; 5、将t的值存储到b中; 6、输出a和b的值;
C语言程序设计:第4章 顺序结构与选择结构
printf("max: %d\n",b); return 0; }
#include <stdio.h> int main(void) {
int a ,b,max; printf("请输入a和b的值\n"); scanf("%d%d",&a,&b); max = a; if(max < b)
7
顺序结构:复合语句
复合语句:由大括号{}中的0个或多个声明和语句列表共同构成。
#include <stdio.h> int main(void) {
int a = 10; int b = 11;
注意: 1>复合语句不以分号;作为结束符, 即最后的}后面不加分号。 2>在复合语句中可以定义变量,但
if(score >= 60)
printf("及格\n");
else
printf("不及格\n");
return 0;
}
19
选择结构: if...else if语句
成绩等级划分: 输入自己的成绩,根据成绩的范围输出成绩等级。
成绩范围
等级
90--100
A
80--89
B
70--79
C
60--69
D
0--59
3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字 母,则把它变为大写字母;若是其他字符则不变
4.输入数字1-7,并输出显示对应的星期 (输入的数字 1 ,输出星期一,以此类推)
第4章 流程控制
第四章程序流程控制一、顺序结构和选择结构任何一门编程语言都离不开流程控制,Java语言也不例外,一般流程控制有三种结构:顺序结构、选择结构和循环结构。
本节将主要介绍顺序结构和选择结构。
1.1 顺序语句其实所有的编程语言,发给计算机的命令都是按顺序一条条地执行的。
比如生活中的取钱任务一般按六步操作顺序完成。
这六步操作分别是:①带上存折或银行卡去银行;②取号排队;③将存折或银行卡递给银行职员并告知取款数额;④输入密码;⑤银行职员办理取款事宜;⑥拿到钱并离开银行。
下面的程序SequentialStatement.java就是按顺序一步一步地完成取钱任务的。
public class SequentialStatement {/*** 顺序结构语句的示例*/public static void main(String[] args) {System.out.println("第1步:带上存折或银行卡去银行");System.out.println("第2步:取号排队");System.out.println("第3步:将存折或银行卡递给银行职员并告知取款数额");System.out.println("第4步:输入密码");System.out.println("第5步:银行职员办理取款事宜");System.out.println("第6步:拿到钱并离开银行");}}上面的代码就是根据一定的顺序从main方法的{(左括号)开始到}(右括号)结束,来一行行地发送命令给计算机完成取钱的任务。
1.2 选择条件语句if条件语句是根据条件判断之后再做处理,if分支结构主要有以下几种。
l if(条件语句){…}。
l if (条件语句){…}else{…}。
l if (条件语句){…}else if(条件语句){…}else{…}。
第4章c语言的三种基本结构
程序1: /*exp51.c*/ #include <stdio.h> main ( ) { int x, y;
scanf(“%d", &x); if (x<0)
y= -1; else if (x==0)
y=0; else
y=1; printf ("x=%d, y=%d\n", x, y); }
程序2:将程序1的if语句改为: /*exp52.c*/ #include <stdio.h> main ( ) { int x, y; scanf(“%d", &x); if (x>=0)
1. 顺序结构 先执行A, 再执行B.
A 表示 A B
B
2. 选择结构 存在某条件P, 若P为真,则执行A, 否则执行B。
TP F
A
B
表示为
TP F AB
另一种选择结构––多分支结构.
K
K=K1 K=K2
K=Kn
A1 A2 … Ai … An
3. 循环结构
有两种结构:当型和直到型 (1) 当型结构
例:计算10!并输出结果。
main()
main()
{
{
int i=1, sum=1;
int i=1; long sum=1;
loop: if (i<=10)
loop: if (i<=10)
{
{
sum=sum*i;
sum=sum*i;
i++;
i++;
goto loop;
goto loop;
}
}
printf(“10!=%d\n”,sum); printf(“10!=%ld\n”,sum
顺序结构
s 格式符
分类: 分类: 直接输出指定字符串。 %s:直接输出指定字符串。 ms:输出字符串占m 右对齐, %ms:输出字符串占m列,右对齐,若输出字 符串长度大于m 则突破m限制。 符串长度大于m,则突破m限制。 ms:输出字符串占m 左对齐。 %-ms:输出字符串占m列,左对齐。 m.ns:输出字符串前n个字符, %m.ns:输出字符串前n个字符,占m列,右对 齐。 m.ns:输出字符串前n个字符, %-m.ns:输出字符串前n个字符,占m列,左 对齐。 对齐。 20 程序范例
程序范例
13
『例4.3』执行下面程序,注意输出格式: 』执行下面程序,注意输出格式:
main( ) { int a=12,b=-3456; printf("%5d\n",a); printf("%d\n",a); printf("%5d\n",b); printf("%3d\n",b); } 运行结果: 运行结果: ︼ ︼ ︼12 12 -3456 -3456
2
空语句
一般形式: 一般形式: ; 含义:什么也不做。 含义:什么也不做。 说明:凡是在C 说明:凡是在C程序中出现语句的 地方都可以用一个分号来代替一 条语句。 条语句。 作用: 作用: –转折点。 转折点。 转折点 –循环语句中的空循环体。 循环语句中的空循环体。 循环语句中的空循环体
3
表达式语句
『例4.6』s格式符使用。 4.6』 格式符使用。 main() { printf("%3s,%7.2s,%.4s,%-5.3s\n", "China","China","China","China"); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章顺序结构一、选择题1.以下叙述中错误的是_______________________-。
A)C语句必须以分号结束B)空语句出现在任何位置都不会影响程序运行C)复合语句在语法上被看作一条语句D)赋值表达式末尾加分号就构成赋值语句2.以下叙述中正确的是_______________。
A) 调用printf函数时,必须要有输出项B) 使用putchar函数时,必须在之前包含头文件stdio.hC) 在c语言中,整数可以以多种进制例如十二进制、八进制或十六进制的形式输出D) 调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码值3.有以下程序段:char c1='1',c2='2';c1=getchar(); c2=getchar();putchar(c1);putchar(c2);运行时从键盘上输入a回车后,以下叙述中正确的是_______________A)变量cl被赋予字符a,c2被赋予回车符B)程序将等待用户输入第2个字符C)变量cl被赋予字符a,c2中仍是原有字符2D)变量cl被赋予字符a,c2中将无确定值4.已知如下定义和输入语句,若要求a1,a2,cl,c2的植分别为l 0,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是______________。
int a1,a2;char c1,c2;scanf("%d%c%d%c",&al,&c1,&a2,&c2);A)10A20B回车B)10凵A凵20凵B回车C) 10凵A20凵B回车D)10 A凵20凵B回车5.已知如下定义和输入语句,若要求a1,a2,cl,c2的植分别为l 0,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是______________。
int a1,a2;char c1,c2;scanf("%d%d",&al, &a2);scanf("%c%c",&cl, &c2);A)1020 A B回车B)10凵20回车AB回车C) 10凵20凵AB回车D)10 凵20AB回车6.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为l,b 的值为3,c的值为2,正确的数据输入方式是______________________A) 132回车B) l,3,2回车C) a=l凵b=3凵c=2回车D) a=l,b=3,c=2回车7.已知i,j,k为lnt型变量,若从键盘上输入:1,2,3回车,使i的值为1,j的值为2,k 的值为3,以下选项中__________是正确的输入语句。
A) scanf("%2d%2d%2d",&i,&j,&k);B) scanf("%d凵%d凵%d",&i,&j,&k);C) scanf("%d,%d,%d",&i,&j,&k);D) scanf("i=%d,j=%d,k=%d",&i,&j,&k);8.若定义x为double型变量,则能正确输入x值的语句是_______________。
A) scanf("%f", x);B) scanf("%f",&x);C) scanf("%lf",&x); D) scanf("%5.1f",&x);9.若变量已正确说明为float类型,要通过语句scanf("%f%f%f”,&a,&b,&c);使a得到10.0,b得到22.0,c得到33.0,不正确的数据输入形式是_______________A) 10回车B) 10.0,22.0,33.0回车C) l 0.0回车D)10凵22回车22回车22.0凵33.0回车33回车33回车10.有以下程序段:int m,n,p:scanf("m=%dn=%dp=%d“,&m,&n,&p);若想从键盘上输入数据,使变量m值为123,n值为456,p值为789,则正确的输入是_____。
A) m=123n=456p=789回车B) m=123凵n=456凵p=789回车C) m=123,n=456,p=789回车D) 123凵456凵789回车11.设int a,b;为使变量a和b分别获得数据10和20,则下面正确的是_________。
A) scanf("%d,%d",&a,&b);输入数据:a=10,b=20回车B) scanf("%d,%d",&a,&b);输入数据:10凵20回车C) scanf("%d,%d",&a,&b);输入数据:10,20回车D) scanf("%d,%d",a,b);输入数据:10,20回车12.设short i=65539;执行语句printf("%d",i);后的输出结果是__________。
A) -3 8) 3 C) 65539 D) 数据不确定13.若定义了short a=32768;执行语句printf("a=%d",a);后的输出结果是________。
A) 6=-32768 B) a=-l C) a=32768 D)数据类型不一致,出错14.下面程序段执行后的输出结果是__________________。
char x=0xFFFF;printf("%d",x--);A) -32767 D) FFFE C) -1 D) -3276815.在Turbo C 3.0中,执行语句printf("%x",-1);后的输出结果是_____________A) -1 B) 1 C) -ffff D) ffff16.在V isual C++6.0中,执行语句printf("%x",-1);后的输出结果是_____________A) -1 B) 1 C) -ffffffff D) ffffffff17.下面程序段执行后的输出结果是____________float x= -1023.012;printf("%8.3f,",x);printf("%10.3f",x);A) 1023.0l2,-1023.012 B) -1023.0l2,-1023.012C) 1023.0l2,凵-1023.012 D) -1023.0l2,凵-1023.01218. 下面程序段执行后的输出结果是____________int x=l 3,y=5;printf("%d",x%=(y/=2));A) 3 B) 2 C) 1 D) 019.执行语句printf(">%9.4f<",12345.67);后的输出结果是________________A) >12345.6700< B) >2345.6700< C) >12345.670< D) >1234.5670<20. 下面程序段执行后的输出结果是____________int y=3,x=3,z=1;printf("%d凵%d",(++x,y++),z+2);A)3凵4 B)3凵3 C)4凵3 D)4凵221. 下面程序段执行后的输出结果是____________int x='f';printf("%c",'A'+(x-'a'+1));;A) G B) H C) I D) J22.设int a=1234;执行语句printf("%2d",a);后的输出结果是__________。
A) 12 B) 34 C) 1234 D) 出错23.设int a=7,b=8;执行语句printf("%d,%d",(a+b,a),(b,a+b));后的输出结果是_________。
A) 出错B) 8,15 C) 15,7 D) 7,1524.执行语句printf("a\bre\'hi\'y\\\bou");后的输出结果是__________。
A) abre'hi'ybou B) a\bre\'hi\'y\\\bou C) re'hi'you D) abre'hi'y\bou25.下面程序段执行后的输出结果是______________。
int x=023;printf("%d",--x);A) 17 B) 18 C) 23 D) 2426.下面程序段执行后的输出结果是______________。
int x=102,y=012;printf("%2d,%2d",x,y);A) 10,01 B) 02,12 C) 102,10 D) 102,1227.下面程序段执行后的输出结果是______________。
int m=0256,n=256;printf("%o凵%o",m,n);A) 0256凵0400 B) 0256凵256 C) 256凵400 D) 400凵40028.下面程序段执行后的输出结果是______________。
int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d",n++,++m);A)12343514 B) 12343513 C) 12353513 D) 1235351429.下面程序段执行后的输出结果是______________。
int a; char c=10; float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d凵%d凵%3.1f凵%3.1f",a,c,f,x);A) 1凵65凵1凵6.5 B) 1凵65凵1.5凵6.5C) 1凵65凵1.0凵6.5 D)2凵65凵.51凵6.530.下面程序段执行后的输出结果是______________。
char a='a',b;printf("%c,",++a);printf("%c",b=a++);A) b,b B) b,c C) a,b D)a,c31.下面程序段执行后的输出结果是______________。