第三章:顺序结构

合集下载

第3章 顺序结构程序设计

第3章 顺序结构程序设计

第三章顺序结构程序设计一、输出函数printf的使用使用的格式:printf(“输出格式串”,表达式表); /*printf要小写*/重点掌握输出格式符① 格式符:%d 以普通整型输出(不可以写成%D)%md 以普通整型输出,数据占m位,右对齐%+md 以普通整型输出,数据占m位,右对齐(正数的前面有+号)%-md 以普通整型输出,数据占m位,左对齐%hd 以短整型输出%ld(或%Ld) 以长整型输出%u 以无符号整型输出%o 以八进制形势输出%x(或%X) 以十六进制形势输出%f 以单精度小数形势输出,点后6位小数%lf(或%Lf或%f) 以双精度小数形势输出,%±m.nf 以单精度小数形势输出,点后n位小数,且进行四舍五入%.nf 以单精度小数形势输出,点后n位小数,且进行四舍五入%c 以字符形式输出%s 以字符串形式输出说明:以上的常用格式符必须和后面的变量一一对应,并且后面的变量是什么类型前面就必须用相应的格式符例:int a=-2;unsigned int b=30;float c=3.1456;printf(“%d%u%5.2f”,a,b,c); 问:输出结果是什么?(-230 3.15)②普通字符普通字符原样输出,它不控制变量的输出。

printf(“a=%d,b=%u,c=%5.2f”,a,b,c); 问:输出结果是什么?③转义字符\n 回车且换行\r 回车但不换行\b 退一个字符\t 走一个制表位(8个字符)\\ 转译成\\’转译成’\”转译成”%% 转译成%\ddd 转译成1~3位八进制所对应的ascii码值所代表的字符\xdd 转译成1~2位十六进制所对应的ascii码值所代表的字符二、输入函数scanf的使用格式:scanf(“格式串”,变量地址列表);重点掌握输入格式(有格式符和普通字符,没有转义字符)① 格式符:%d 以普通整型输入%ld(%Ld) 以长整型输入%hd 以短整形输入%md 取整型的m位%u 以无符号型输入%o 以八进制输入%x(%X) 以十六进制输入%f 以单精度小数输入%lf(%Lf) 以双精度小数输入%mf 以单精度小数输入(但是不能规定它的精度。

《C语言程序设计》第三章 顺序结构程序设计

《C语言程序设计》第三章 顺序结构程序设计

第三章顺序结构程序设计3.1 基本要求z掌握C语言中使用最多的一种语句——赋值语句的使用方法。

z掌握各种类型数据的输入输出的方法,并能正确使用各种格式转换符。

z掌握文件包含预处理命令#include。

3.2 内容小结本章主要介绍了一些为编写简单程序所必须的语句及基本的输入输出方法。

它们是C语言中5类基本语句:控制语句、函数调用语句、表达式语句、空语句和复合语句。

格式输入输出函数scanf( )和printf( ):在C语言中没有专用的输入输出语句,但可通过调用输入输出函数及C系统提供的9种格式字符,进行各种类型数据、各种格式的输入输出。

单个字符的输入输出函数getchar( )和putchar( )。

文件的包含:函数是C程序的构成单元,C程序中的函数调用可分为两类,本源程序中函数的调用和非本源程序中函数的调用,如是后者需用#include 文件包含预处理命令把该函数所在的源文件包含到本源文件中来。

3.3 典型例题分析z例题1 printf( )函数的功能main( ){ int a , b;a=10;b=25;printf(“a=%d b=%d\n”,a,b);printf(“a+b=%d\na-b=%d\n”,a+b,a-b);}运行结果:a=10 b=2529a+b=35a-b=-15从上例中可以看出,转换说明符不仅规定了输出格式,而且也决定了输出项在整个输出信息中的位置。

此外,从上例也可以看出,输出项还可以是运算表达式,这时输出的是它的运算结果值。

z例题2 scanf( )函数的功能main( ){ int x, y;printf(“Enter integer x:”);scanf(“%d”,&x);printf(“Enter integer y:”);scanf(“%d”,&y);printf(“x+y=%d\n”,x+y);printf(“x-y=%d\n”,x-y);}该程序是以人机对话方式给变量x和y赋值,它的某次运行情况如下所示:Enter integer x:16〈CR〉Enter integer y:25〈CR〉x+y=41x- y=-9其中划有下横线的部分是从键盘打入的字符,其中〈CR〉表示回车键。

顺序结构的程序设计

顺序结构的程序设计

(3)在用%c格式输入字符时,空格和转义字符 都作为有效字符输入;
(4)在输入数据时,遇以下情况时该数据认为 结束:
• 遇空格,或按TAB或回车键; • 按指定的宽度结束; • 遇非法输入。
§3.4 顺序结构程序设计
从键盘输入一个大写字母,要求改用小写字 母输出。
#include <stdio.h> void main() {
2.若变量已正确定义,要将a和b中的数进行交 换,下面不正确的语句组是:
A.a=a+b,b=a-b,a=a-b; B. t=a,a=b,b=t;
C.a=t;t=b;b=a;
D.t=b;b=a;a=t;
3.写出输出结果: x=5.16894; printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);
注意: 在使用这两个函数时,必须包含头文件 stdio.h。
#include “stdio.h” void main() {
char c; c=getchar(); putchar(c); }
#include<stdio.h> void main() {
char ch1,ch2,ch3; ch1=getchar();ch2=getchar();ch3=getchar(); putchar(ch1);putchar(′′);putchar(ch2); putchar(′′);putchar(ch3); putchar(′\n′); utchar(′\101′);putchar(66);putchar(‘\″’); putchar(′\n′); }
• %-m.nf:同上,左对齐。 (8)e格式符:以指数形式输出实数。 • %e:输出位数13位(正数)或14位(负

C语言 第三章 顺序结构程序设计期末测试习题与答案

C语言 第三章 顺序结构程序设计期末测试习题与答案
A.scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
B.scanf(“%dV%dV%d”,&a,&b,&c);
C.scanf(“%d,%d,%d”,&a,&b,&c);
D.scanf(“%2d%3d%4d”,a,b,c);
参考答案:C
5、若int a,b; double x;
以下不合法的scanf函数调用语句是( )。
参考答案:C
17、以下程序段的输出结果是
int a=1234;
printf("a=%2d\n",a);
A.提示出错、无结果
B.a=34
C.a=1234
D.a=12
参考答案:C
18、下列关于printf()函数说法错误的是( )。
A.printf()函数是库函数,必须使用#include命令将其包含进来
printf(" %d %d\n",(++x ,y++),z+2);}
运行该程序的输出结果是( )。
A.4 2
B.33
C.4 3
D.3 4
参考答案:B
24、下列程序的输出结果是( )。
main()
{ double d=3.2; int x ,y ;
x=1.2 ; y=(x+3.8)/5.0;
printf("%d \n", 7.3);}
A.3
B.3.07
C.0
D.3.2
参考答案:C
25、以下程序的输出结果是( )。
main( )
{
inmp;&!b||!c;

06c语言程序设计教案程序的控制结构—顺序结构

06c语言程序设计教案程序的控制结构—顺序结构

06c语言程序设计教案程序的控制结构—顺序结构int a=-1;printf(“%d,%o”,a,a);输出结果为:-1,177777这是因为-1在内存中以补码形式存放(见图3-2)。

八进制数为从低位开始,以三位一组划分为一个八进制数。

3)x格式符。

以十六进制数无符号形式输出整数。

例如:int a=-1;printf(“%x,%o,%d”,a,a,a);输出结果为:ffff,177777,-1十六进制数为从低位开始,见图3-2,以四位一组划分为一个数。

4)u格式符。

以十进制数无符号形式输出整数。

一个有符号的(int)型数据能够用%d格式输出,也能够用%u格式输出。

要注意两类数据的取值范畴大小。

例如:无符号数据的输出。

main(){unsigned int x=65535;int y=-1;printf(“x=%d,%o,%x,%u\n”,x,x,x,x);printf(“y=%d,%o,%x,%u\n”,y,y,y,y);}运行结果为:x=-1,177777,ffff,65535y=-1,177777,ffff,65535即-1的二进制形式以无符号形式输出时为整数65535。

5)c格式符。

用来输出一个字符。

例如:char x=’A’;printf(“%c,%d\n”,x,x);运行结果为:A,65能够看出,一个范畴在0~255的整数,既能够用%d格式输出,也能够用%c格式输出。

输出该整数或者整数对应ASCII的字符。

6)s格式符。

用来输出一个字符串,该格式有以下用法:①%s例如:printf(“%s”,”HELLO”);运行结果为:HELLO②%±ms,假如%ms字符串的实际宽度小于m,右对齐,左端补空格,%-ms,字符串左对齐,右端补空格;否则,不受m限制,输出实际宽度。

③%±m.ns,若%m.ns取字符串左端n个字符,输出在m列的右端,左端补空格;%-m.ns,取字符串左端n个字符,输出在m列的左侧,右侧补空格;若m<n,则m自动取n 值输出n个字符。

C语言--第三章 顺序结构程序设计

C语言--第三章 顺序结构程序设计

t=a;
a=b;
表达式语句
b=t;
}
printf(“a=%d,b=%d,max=%d\n”,a,b,c);} 函数调用语句
int max(int x,int y)
{
int z; 数据声明语句
if (x>y)
z=x;
表达式语句
else
z=y; return z;}
控制语句
}
3.2 字符数据输入输出函数
表达式;
赋值表达式
分号
a = 3;
表达式语句
3.1 C语句概述
(四)空语句
只有一个分号的语句
; (什么也不做)
不执行任何操作,用来产生延迟.
3.1 C语句概述
例3.1:
(五)复合语句 用一对{}括起来的语句
{语句序列}
{ z=x+y; t=z/100; printf(“%f”,t);
}
3.1 C语句概述
出无意义的0
3.3 格式输入与输出
1)c格式符,用来输出一个字符。 如:char d=′A′; printf(″%c″,d);
运行程序:
从键盘输入字符‘a’ 按Enter键 屏幕上将显示输出的字符‘a’
a a
3.3 格式输入与输出
(一).格式输出函数 • 函数作用:向终端(或系统隐含指定的输出设备
)输出若干个任意类型的数据。 • 一般格式:printf(格式控制,输出表列); • 说明: 1)输出表列是要输出的数据列表,输出多个数据
6 break 间断语句 7 switch() 开关语句 8 goto 转向语句 9 return 返回语句
3.1 C语句概述
(二)函数调用语句 有一个函数调用加一个分号构成一个语句

【最新】一章顺序结构

【最新】一章顺序结构

printf("(float)(a+b)/3+(int)x%%(int)y=%f\n",(float)(a+b)/3+(int)x%(int)y );
} 2021/2/2
8
二、格式说明
3.3 格式输出——printf函数
1. 格式字符 (1)与整型数据的格式输出有关的格式说明—— %d(%i)、 %o、 %X(%x)、%u
(2作)。转如义“字\符n”,格代以表式反回斜控车线。制“\”字开头符,后面紧跟一个特定的输字符出,用项来代表某个特定的操
(3)普通字符,在显示器上原样输出,主要起解释、说明作用。除了格式说明和转义字
符之202外1/2,/2 在格式控制中的其他字符(包含空格)均按原样输出。
5
3.3 格式输出——printf函数
出形式为[-]m.ddddddE±xxx ,共占13列宽度。
%G或%e:根据数值的大小,自动选f格式或e格式,使得数据的输出宽度最小,且
不输出无意义的零。%g对应输出的指数形式为[-]m.dddddde±xxx, %G对应输出的
指数形20式21/为2/2[-]m.ddddddE±xxx。%g格式用得较少。
5. 空语句 ——只有分号“;”组成的语句称为空语句。空语
句是什么也不执行的语句。在程序中空语句可用来
作空循环体。
2021/2/2
2
第3章 顺序结构
3.1 C语句概述
二、C语句示例
a+4*b; 算术表达式语句
4*x,4+y; 逗号表达式语句
x=4*5;
赋值表达式语句(赋值语句)
printf(“Hello Everyone!”) ;

第三章 顺序结构

第三章  顺序结构

第三章顺序结构C++的程序采用了结构化程序设计.结构化程序设计要求的顺序、选择、循环的控制结构,使编写的程序结构清晰。

顺序结构就是按照语句的先后顺序来执行的方式。

第一节赋值语句赋值语句的一般形式: <变量名>= <表达式>变量名必须在变量说明部分已经定义过。

“=”与“==”(两个等号连接在一起)的区别:“=”赋值号是将其右边的表达式的值赋给左边的变量。

例如:X=X+1是将X的当前值加上1,再赋给X。

而“==”双等号是两边值比较的结果。

赋值号左边不能是表达式、常量,只能是变量名。

表达式是由常量、变量、函数、运算符和圆括号组成的式子。

应用举例:Y=0.5;X=Y;X=Y+2.5;在C++中对于赋值语句提供了缩写的形式,即当一变量既出现在赋值符号的左边又出现在右边时,可以缩写:x=x*y; 缩写为: x*=y;x=x+y; 缩写为: x+=y;其他的算术运算“-”、“/”、“%”都可依照同样的规则在赋值中缩写。

缩写格式通常更为有效,可读性也比较强。

根据每个表达式所得的值的类型,表达式可分为数值表达式(值是实型或整型)、字符表达式(值是字符型)、和布尔表达式(值是布尔型),单独一个常量、一个变量或一个函数都可看作是简单的表达式。

赋值语句的功能:首先计算表达式的值,再赋给赋值号左边的变量。

对任意一个变量必须先赋值,然后才能引用,否则未赋值的变量将以一个随机值参与运算。

另外需要强调一点的是赋值构成了一个表达式,因而它是有值的,赋值表达式的值为赋值符左边表达式的值。

例如:cout<<(i=1)<<endl;将输出1,与此同时i也将被赋值为1。

[例3.1]关于变量赋值的应用。

交换两个变量的值。

程序如下:#include<iostream>using namespace std;int main (){ int a=3,b=2;cout<<"a = "<<a<<" "<<"b = "<<b<<endl;//输出未交换的值a = a+b;b = a-b;a = a-b;cout<<"a = "<<a<<" "<<"b = "<<b<<endl;//输出交换后的值system("pause");return 0;}分析:用下表说明程序的运行情况. 在程序的第一行,将3赋给a,将2赋给b.第二行输出变量a、b的值. 第三行将a和b的当前值相加,其和赋给a;即对变量a的值更新.第四行用a的当前值减去b的当前值,再赋给b,对b的值进行更新.同理,下一行对a进行更新程序中整型变量是分别赋值 3,2 ,接着a的值加b的值为 5,仍赋给a.a的值改为5,再接下去的两条赋值语句同样使b的值改为3.a的值又改为2.最后输出的a,b的值分别为2,3.交换两个变量的值的常用方法是:假如有A、B两盘磁带,分别装有两种不同的内容。

第3章 顺序结构程序设计

第3章 顺序结构程序设计
2016年12月12日星期一 6
第3章 顺序结构程序设计
【例题3.1】阅读下列程序,认识格式输出函数的用法,写结果 #include<stdio.h> int main() { int i,j,m,n; 格式控制字符串 输出列表项 i=5; j=15; m=i++; n=++j; printf("i=%d, j=%d, m=%d, n=%d\n",i,j,m,n); return 0; }
※ %s:输出一个字符串。
※ %f:按实型数据输出且有6位的小数点。 ※ %e: 按实型数据输出且按指数形式
※ %g:按实型数据输出由系统自动选择f格式或e格式。
2016年12月12日星期一 8
第3章 顺序结构程序设计
3.3.2 格式输入函数scanf
阅读下列程序,认识scanf()函数的用法
#include<stdio.h> int main() 格式控制字符串(注意表示形式) { 输入地址列表 int a,b,c; float aver; printf("请输入三个数a,b,c:"); scanf("%d%d%d",&a,&b,&c); aver=(a+b+c)/3; printf("aver=%f\n",aver); return 0; }
第3章 顺序结构程序设计
3.4 字符输入/输出函数
【例题3.4.1】 通过键盘输入一个小写字母,输出该 字母的大写。 分析:输入可采用格式输入函数scanf()实现,输出可 采用格式输出函数printf()实现,使用格式符%c。小 写字母与大写字母的ASCII码值相差32。 思考:不用格式输入/输出函数能不能完成?能,用C 语言提供的另一类函数即字符输入/输出函数。

高教c语言程序设计课后编程题答案

高教c语言程序设计课后编程题答案

第三章顺序结构3.30 编写程序,把560 分钟换算成用小时和分钟表示,然后进行输出。

※程序如下※main( ){int hour,minute;hour=560/60;minute=560%60;printf("hour=%d,minute=%d",hour,minute);}3.31 编写程序,输入两个整数:1500 和350,求出它们的商数和余数并进行输出。

※程序如下※#include<stdio.h>main( ){int numl,num2,i,j; /* 定义变量i—商,j —余数*/printf("input num1 and num2:\n");scanf("%d%d",&num1,&num2);i=n}3.32 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。

※程序如下※main( ){double a,b,c,average=0;printf("input a,b,c(double):\n");scanf("%lf%lf%lf",&a,&b,&c);average=(a+b+c)/3;average=average*10;average=average+0.5;average=(int)average;average=average/10;printf("average=%lf",average);}3.33编写程序,读入三个整数给a, b , c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中的值给a。

※程序如下※main( ){int a,b,c,t=0; printf("input ab c:\n"); scanf("%d%d%d",&a,&b,&c); t=c;c=b;b=a;a=t;printf("a=%d b=%d c=%d",a,b,c);}dO );并输入当前的日第四章 选择结构4.21 当 a>0 时,请将以下语句改写成 switch 语句。

顺序结构(5)

顺序结构(5)

第三章 顺序结构
(3)x格式符。以十六进制数形式输出整数。同样不会出 x格式符 现负的十六进制数。 例: int a=-1; printf(″%x,%o,%d″,a,a,a); 输出结果为: ffff,177777,-1 可以用“%lx”输出长整型数,也可以指定输出字段的宽 度 例: “%12x”
第三章 顺序结构
② %m.ne和%-m.ne。 m、n和“-”字符的含义与前相 同。 此处n指拟输出的数据的小数部分(又称尾数)的小数位数。 若f=123.456,则: printf("%e %10e %10.2e %.2e %-10.2e",f,f,f,f,f); 输出如下: 1.234560e+002 1.234560e+002 1.23e+002 1.23e+002 13列 13列 10列 9列 1.23e+002 10列
第三章 顺序结构
(2) o格式符 格式符。以八进制整数形式输出。 输出的数值不带符号,符号位也一起作为八进制数的一部分输出。 例:int a=-1; printf("%d,%o",a,a); -1在内存单元中的存放形式(以补码形式存放)如下: 1111111111111111 输出为: -1,177777 不会输出带负号的八进制整数。对长整数(long型)可以 用“%lo”格式输出。还可以指定字段宽度, 例:printf("%8o",a); 输出为: ○○177777。 (数字前有2个空格)
第三章 顺序结构
六、程序举例 例: 输入三角形的三边 长,求三角形面积。 假设:三个边长a,b,c能构 成三角形。 已知面积公式: area= s(s − a)(s − b)(s − c) s=(a+b+c)*0.5

全国计算机等级考试二级教程——《C语言程序设计》课后题及参考答案

全国计算机等级考试二级教程——《C语言程序设计》课后题及参考答案

答案:C
3.20 以下程序的输出结果是
A) 9 8 B) 8 9 C) 6 6 D) 以上三个都不对 #include "math.h" main() { double a=-3.0, b=2; printf("%3.0f %3.0f\n",pow(b,fabs(a)),pow(fabs(a),b)); } 答案:B 来源:
3.23 复合语句在语法上被认为是____。空语句的形式是____。
答案:一条语句、 ;
3.24 C语句的最后用____结束。 答案:;
3.25 以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。 写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能 的输入形式____、_____、____。 int k; float a; double x; scanf("%d%f%lf",&k,&a,&x); printf("k=%d,a=%f,x=%f\n",k,a,x); 答案: (1) 100 25.81 1.89234 (2) 100 25.81<CR>1.89234 (3) 100<CR> 25.81<CR> 1.89234<CR>
3.19 若变量已正确说明,要求用以下语句给a赋予
3.12、给b赋予9.0,则正确的输入形式是(□代表空格)
A)
3.12□□9.0<CR> B) a=□□3.12b=□□□9<CR> C) a=3.12,b=9<CR> D)
a=3.12□□,b=9□□□□<CR> scanf("a=%f,b=%f",&a,&b); <CR>表示Enter键

第三章 顺序结构程序设计

第三章 顺序结构程序设计

步骤1:0 => s; 步骤2:1 => I; 步骤3:s+i => s; 步骤4:i+1 => I; 步骤5:如果i≤1000,转到步骤3,否则结束。 在上面的算法中,符号s、i表示变量,符号“=>” 表示给变量赋值。步骤1和步骤2表示给变量s和i 赋初始值为0和1;步骤3将变量i的当前值累加到 变量s中;步骤4使变量i在原值的基础上增加1; 步骤5判断i的值如果小于等于1000,重复做步骤 3和步骤4,构成一个循环,而当i的值不小于等于 1000时,循环结束,这时,变量s的值就是要求 的计算结果。
2.函数调用语句 函数调用语句由一次函数调用加一个分号(语句结 束标志)构成。例如: printf("This is a C Program."); 3.表达式语句 表达式语句由表达式后加一个分号构成。 表达式能构成语句是C语言的一大特色。最典型的 表达式语句是在赋值表达式后加一个分号构成的赋值 语 句 。 例 如 , “ num=5” 是 一 个 赋 值 表 达 式 , 而 “num=5;”却是一个赋值语句。
3.3 格式化输出函数printf()
程序运行中,有时候需要从外部设备(例如键盘)上得 到一些原始数据,程序计算结束后,通常要把计算结果发 送到外部设备(例如显示器)上,以便人们对结果进行分析。 我们把程序从外部设备上获得数据的操作称为“输入”, 而把程序发送数据到外部设备的操作称为“输出”。 不像其他的高级语言,C语言没有专门的输入/输出语 句,输入/输出的操作是通过调用C语言的库函数来实现的。 printf()函数是最常用的输出函数,它的作用是向计算机系 统默认的输出设备(一般指显示器)输出一个或多个任意指 定类型的数据。
3.1.2 算法的特征 通常,一个算法必须具备以下五个基本特征: (1) 有穷性。一个算法必须在它所涉及的每一种情 形下,都能在执行有限次的操作之后结束。 (2) 确定性。算法的每一步,其顺序和内容都必须 严格定义,而不能有任何的歧义。 (3) 有零个或多个输入。输入是算法实施前需要从 外界取得的信息,有些算法需要有多个输入,而有些 算法不需要输入,即零个输入。 (4) 有一个或多个输出。输出就是算法实施后得到 的结果,显然,没有输出的算法是没有意义的。 (5) 可行性。算法的每一步都必须是可行的,也就 是说,是能够由计算机执行的。

河南理工大学C语言第三章课后答案

河南理工大学C语言第三章课后答案

A. a=98, b=765, c=4321
B. a=10, b=432, c=8765 C. a=98, b=765.000000, c=4321.000000
D. a=98, b=765.0, c=4321.0
第三章 顺序结构程序设计
2.解析题 (1)请写出下面程序的运行结果 #include <stdio.h> main( ) { int x=170; float a=513.789215; printf("x=%3d,x=%6d,x=%6o,x=%6u\n",x,x,x,x,x,x); printf("x=%-3d,x=%-6d,x=%6d,x=%%6d\n",x,x,x,x); printf("x=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lf\n",a,a,a,a); }
#include <stdio.h> main() { int a,b; float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf("x=%f y=%f",&x,&y); scanf("c1=%c c2=%c",&c1,&c2); printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c",a,b,x,y,c1,c2); }
x=170,x=ㄩㄩㄩ170,x=ㄩㄩㄩ252, x=ㄩㄩㄩ170 x=170,x=170ㄩㄩㄩ,x=ㄩㄩㄩ170,x=%6d a=513.789185,a=ㄩㄩ513.79,a=ㄩㄩ513.78918457,a=ㄩㄩ513.78918457

第3章程序控制结构结构化程序的三种基本结构1、顺序结

第3章程序控制结构结构化程序的三种基本结构1、顺序结
第3章 程序控制结构 结构化程序的三种基本结构: 1、顺序结构(order structure) 2、选择结构(selection structure) 3、循环结构(repetition structure)
Bohm和Jacopini的研究证实,所有的程序都能够只用以上 三种控制结构编写。
3.1 C语言的语句
3.3 分支结构 3.3.1 if 语句 一、if语句的三种形式 1、if(表达式) 语句
假 表达式
真 语句
当表达式值为真(非0)时,执 行if中的语句,否则执行if后的 语句。
可以是复 合语句
例: include <stdio.h> main( ) {int x=10,y=20,z;
z=x; if (z>y)
N
a=b=0,c不为0 Y 无解
N
a=0,b不为0 Y x= -c/b
N
d=b*b-4*a*c
d>0
N
d=0
N
1
Y X1= (-b+sqrt(d))/(2*a) X2= (-b-sqrt(d))/(2*a)
Y X1=X2= -b/(2*a)
1 该方程无实根
END
scanf(“%d”,&x); if (x<0) y=-1;
错误!
ssccaannff((““%%dd””,,&&xx));; iiff((xx>>==00))
else if(x==0);
if(x>i0f)(xy>=01); y=1;
y=0;
else ye=ls0e; y=0;
else y=1;
eellsseeyy==--11;;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.将华氏温度转换为摄氏温度和绝对温度的公式分别为:
c= (f-32) (摄氏温度)
k=273.16+c (绝对温度)
请编程序:当给出f时,求其相应摄氏温度和绝对温度。

测试数据:① f=34
② f=100
2.写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。

转换公式是:
x=r.cosθ
y=r.sinθ
测试数据:① r=10 θ=45°
② r=20 θ=90°
3.写一个程序,按如下格式输出数据。

name number math english computer
zhanghua 9901 80.50 87.0 80
lina 9902 70.00 80.0 90
wanggang 9903 87.00 76.0 78
main()
{
char name1[10]="zhanghua",name2[10]="lina",name3[10]="wanggang";
int number1=9901,number2=9902,number3=9903;
float math1=80.5,english1=87,computer1=80;
float math2=70.5,english2=80,computer2=70;
float math3=87,english3=65,computer3=65;
/*printf("first student:name,number,math,english,computer\n");
gets(name);
scanf("%d%f%f%f",&number,&math,&english,&computer);*/
printf(" name number math english computer\n");
printf("%10s %6d %5.2f %7.1f %-8.0f\n",name1,number1,math1,english1,comput er1);
printf("%10s %6d %5.2f %7.1f %-8.0f\n",name2,number2,math2,english2,comput er2);
printf("%10s %6d %5.2f %7.1f %-8.0f\n",name3,number3,math3,english3,comput er3);
getch();
}
4.输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。

5.输入一个3位整数,求出该数每个位上的数字之和。

如123,每个位上的数字和就是1+2+3=6。

扩展到五位数:
main()
{
long int x,ge,shi,bai,qian,wan;
scanf("%ld",&x);
ge=x%10;
shi=x/10%10;
bai=x/100%10;
qian=x/1000%10;
wan=x/10000%10;
x=ge+shi+bai+qian+wan;
printf("%ld+%ld+%ld+%ld+%ld=%ld\n",ge,shi,bai,qian,wan,x); getch();
}
6. 键盘输入两个整形变量的值,交换两个变量的值后,输出结果。

(利用中间变量及不利用中间变量两种方法)
7. 输入一个3位整数,将该数反序输出。

main()
{
long int a,b;
scanf("%ld",&a);
printf("input:%ld\n",a);
b=a%10;
a=a/10;
printf("output:%ld",b);
b=a%10;
a=a/10;
printf("%ld",b);
b=a%10;
a=a/10;
printf("%ld\n",b);
getch();
}
8. 猜字母:主要用于讲解getch与getchar之间的区别
#include "stdio.h"
#include "conio.h"
main()
{
char a,b;
printf("Easy Game:Guess letter\n");
printf("Firster input a letter:\n");
a=getch();
printf("*\nOK,then the Seconder input a letter:\n");
b=getchar();
if(a==b)
printf("you guess right!!!");
else
printf("you are loser!!");
getch();
}
9. 读程序:如果输入1234567,则下面的程序输出是什么?
main()
{ int x,y;
scanf("%2d%*3d%ld",&x,&y);
printf("%*d\n",x,x);
printf("%d\n",y);
printf("%d\n",x+y);
getch();
}
讲解:
%*d在scanf中的作用:读取相关的数据但不存入变量。

(本例中可以认为是忽略读取的整数)%*d在printf中的作用:用对应变量的值代替,指定输入的宽度,可以用于通过变量确定输入宽度。

(本例中用第一个X的值代替*)。

相关文档
最新文档