内容正文:
2.(1)num/10 (2)num%10
3.(1)math.h
(2)a+b>c&&b+c>a&&a+c>b
(3)(a+b+c)/2.0
(4)sqrt(p∗(p-a)∗(p-b)∗(p-c))
(5)%.2f
4.(1)area=π∗r∗r;改成area=3.14∗r∗r;
(2)volume=1/3∗area∗h;
改成volume=1.0/3∗area∗h;
5.#include<stdio.h>
intmain()
{
doublex,xs;intzs;
scanf("%lf",&x);
zs=(int)x;
xs=x-zs;
printf("%.lf=%d+%.lf",x,zs,xs);
}
第三章 基本语句顺序结构程序设计
第一节 基本语句
【知识梳理】
一、表达式语句
分号
二、空语句
只有一个分号
三、复合语句
大括号"{}" 一个整体的语句
【巩固练习】
1.B 2.B 3.B 4.D
5.12 35 35 14
6.3
【拓展练习】
1.C
2.g,d
3.c,c,c 99,99,99
4.x=7,y=3,z=18
5.T
6.0,0,4
7.1,0,4
8.16
43,3,10
【技能实践】
1.x=2.80,y=8.20
x=8.20,y=2.80
2.2 2 3 2
3 3 2 1
3.getchar() c1+32
4.&x (int)(x∗100+0.5)/100.0
5.#include<stdio.h>
intmain()
{ intn;
printf("请输入一个四位正整数:");
scanf("%4d",&n);
printf("%d%d%d%d
",n%10,n%100/
10,n%1000/100,n/1000);
}
第二节 数据输入与输出
【知识梳理】
一、字符数据的输入输出函数
1.getchar();
2.putchar(c); 字符型或整型
二、格式化输入输出函数
(1)printf(格式控制[,输出表列]);
(2)scanf(格式控制,地址表列);
空格 TAB键 回车键
#include<stdio.h>或#include“stdio.h”
【巩固练习】
1.-1023.012,□-1023.012
2.1
3.18
4.14
5.579
6.0000032767 32767
7. 1
1 1
1 1
8.x=123,y=45.000000
9.不确定值
10.1
2
3
4
【拓展练习】
1.20,10,3
2.i=5,j=83.521.86A,B
31
总复习方案参考答案
单招零距离·计算机专业综合·下册
第三章
基本语句与顺序结构程序设计
大纲要求
1.掌握表达式语句,空语句,复合语句。
2.掌握输入输出函数。
3.熟练掌握顺序结构程序设计的方法。
第一节
基本语句
知识体系
Y⊙
表达式语句(包括赋值语句)
空语句
C语言基本语句{复合语句
流程控制语句
函数调用语句
知识梳理
GY⊙
一、表达式语句
在任何一个合法的C语言表达式末尾加上
就构成一条表达式语句,它是C语
言程序中最常用的语言。例如:
int x,y,z;
x一y一z=1;¥赋值语句。由赋值表达式再加上分号构成的表达式语句称为赋值语句。*
x十+:
y十=10;/复合赋值语句*/
x=十+z,y=3+x,z=xfy:
二、空语句
的语句称为空语句,它什么也不做。
注意:空语句在执行时不产生任何动作,但并不表示空语句没有用途。一般空语句可以用
在循环体内对程序起“延时”作用。
三、复合语句
用
括起来的若干语句称为复合语句,又称语句块、分程序。复合语句
的形式为:
(数据说明部分;
执行语句部分;
·30·
总复习方案·第三章基本语句与顺序结构程序设计
一般情况凡是允许出现语句的地方都允许使用复合语句。在程序结构上复合语句被看作
,但是内部可能完成了一系列工作。复合语句内的各条语句都必须以分号
“;”结尾,在括号“}”外不能加分号。
四、流程控制语句
1.控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义
符组成。C语言有九种控制语句。可分成以下三类:
l)条件判断语句:if语句、switch语句;
2)循环执行语句:do while语句、while语句、for语句:
3)转向语句:break语句、goto语句、continue语句、return语句。
五、函数调用语句
由函数名、实际参数加一个分号构成函数调用语句。其一般形式为:
函数名(实际参数表):
执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调
函数体中的语句,求取函数值。
典例精析
@Y⑤
【例1】若定义三个整型变量a,b,c,均欲赋值为5,则正确的写法是:
若写成:inta=b=c=5是否正确?为什么?
【分析】正确的写法是:inta,b,c;a=b-c-5;或inta-5,b-5,c-5;不能写成inta=
b=c=5;的形式,因为这样写,则代表定义一个变量a=b=c,然后再赋值为5,而变量名a=b
=c是非法的,故不正确。
【答案】(1)inta,b,c;a=b=c=5;或inta=5,b=5,c=5:(2)不正确
因为若写成这样,代表定义一个变量a=b=c,然后再赋值为5,而变量名a=b=c是非法
的,故不正确。
【例2】写出下列程序的运行结果
#define SQR(X)X*X
int main()
{inta=16,k=2,m=1;
a =SQR(k+m)/SQR(k+m);
printf(“%d
”,a);
【分析】主要考查的是宏定义的替换使用方法,要记住一个原则就是,一定要照原样进行
替换,不能加想象的括号。所以对于上式的替换a/=SQR(k十m)/SQR(k十m),a/=k十m*
k十mk十m*k十m,a/=2+1*2十1./2+1米2+1,a/=7,a=a/7,a=2,所以最后输出为2。
【答案】2
【例3】写出下列程序的运行结果
#define SQR(X)(X*X)
int main()
{inta=16,k=2,m=1;
·31·
单招零距离·计算机专业综合·下册
a =SQR(k+m)/SQR(k+m);
printf("%d八n",a):
【分析】本题和上例一样,都是考查的是宏定义的替换使用方法,所不同的是本题的替换
表达式两端加了一对圆括号。本题中的替换a./=SQR(k+m)SQR(k十m),a/=(k十m*k
十m)/(k十m*k十m),a=1,a=16,所以最后输出为16。
【答案】16
巩固练习
⑤
1.已知i,j,k为it型变量,若从键盘输入1,2,3,使i=1,j=2,k=3,以下选项正确的输
入语句是(
)。
A.scanf("%2d%2d%2d",&i,&j,&k):
B.scanf("%d,%d,%d",&1,&j,&k);
C.scanf("d%d%d",&.i,&.j,&.k):
D.scanf("i=%d,j=%d,k=%d",8.i,&.j,&.k);
2.若x和y都是int型变量,x=10,y=20:且有下面的程序片段
printf("%d”,(x,y));则输出结果是(
)。
A.10
B.20
C.1020
D.输入格式符不够,输出不确定的值
3.若k为长整型变量,若有以下的语句
long k=-3L:printf("%d",k);
则下面的说法正确的是()
A.输出为不确定的值
B.赋值不合法
C.输入一3L
D.输出值为一3
4.执行以下程序时输入1234567,程序的运行结果是().
int main()
int x,y;
scanf("%2d%2Ld",8.x,8.y):
printf("%d
",x+y);
}
A.17
B.15
C.46
D.输入格式符不够,输出不确定的值
5.写出下列程序的运行结果
#include <stdio.h
int main()
{intm=12,n=34:
printf("%d八t%d\t",m++,十+n):
printf("%d\t%d
".n++,++m);
·32
总复习方案·第三章基本语句与顺序结构程序设计
6.下面程序的输出结果是
#include <stdio.h
int main()
{intx=10,y=3;
printf("%d",y=x/y):
试和
拓展练习
1.下列叙述中错误的是()。
A.C语句必须以分号结束。
B.复合语句在语法上被看成一条语句。
C.空语句出现在任何位置都不会影响程序运行。
D.赋值表达式末尾加分号就构成赋值语句。
2.已知字母a的ASCIⅡ码值为97,下面程序的输出结果是
#include <stdio.h
int main()
char cl,c2;
cl=a'十6-0':
c2=a'+3-0':
printf("%c,%c",cl,c2):
}
3.下面程序的运行结果是
#include <stdio.h
int main()
char c='c',m=2,n;
m=c十+;
n=-一c;
printf("%c,%c,%c",c.m,n):
printf("t%d,%d,%d",c,m,n);
}
4.下面程序的运行结果是
#include <stdio.h
int main()
int x=6,y=2,z;
z=x++¥十+y;
printf("x=%d,y=%d
",x,y);
printf("z=%d",z);
5.下面程序的运行结果是
#include <stdio.h>
·33·
单招零距离·计算机专业综合·下册
int main()
char a,b,c,result;
result=(c=A',b='B',c=T');
printf("%c
",result):
}
6.下列程序的运行结果是
#include <stdio.h
int main()
{inta=-1,b=4,k;
k=(++a<0)&.&.!(b--<=0):
printf(“%d,%d,%d八n”,k,a,b):
7.下列程序的运行结果是
#include <stdio.h>
int main()
{inta=-1,b=4,k:
k=(+十a==0)1I!(b--<=0):
printf("%d,%d,%d
",k,a,b);
8.下列程序的运行结果是
#include "stdio.h"
#define FUN(x,y)(x)>(y)?(x):(y)
#define M(x,y)++y*x++
int main(
{inta=16,b=2,t;
inti=4,j=2,k=10:
t=10*FUN(a,b)*10:
i=M(i,j+k);
printf("%d
",t);
printf("%d,d,%d",i.j,k);
技能实践
⊙Y⊙
1.下列程序的输出结果是
#include <stdio.h>
int main()
{
double x=2.8,y=8.2;
printf("x=%0.2lf,y=%0.2lf
",x,y)
x+=y;
y=x-yi
·34·
总复习方案·第三章基本语句与顺序结构程序设计
x-=y:
printf("x=%.2lf,y=%.21f
",x,y);
2.下列程序的输出结果是
#include <stdio.h
int main()
int x,y,z;
x=y=2;z=3;
y=z++-1:
printf("%d\t%d\t",x,y);
y=++x-1;
printf("%od\t%d
",x.y):
y=z---1:
printf("%od\t%d\t",z,y);
y=--z-1;
printf("%d\t%d
",z.y);
3.程序填空题:从键盘输入一个大写字母,改用小写字母输出。
#include <stdio.h
int main()
char cl.c2;
cl=
printf("%c,%d
",cl,cl);
c2=
printf("%c,%d
",c2,c2):
4.程序填空题:从键盘上输入任意一个大于0的实数,要求保留两位小数输出此数。
#include <stdio.h>
int main()
{
float x,y;
scanf("%f",
y=
printf("%f,%fn",x,y);
}
5.程序设计题:从键盘输入一个四位正整数,将该数逆序后输出。如输入1234,输出
4321.
#include <stdio.h
int main()
·35·
单招零距离·计算机专业综合·下册
弟米PROGRAM米米米并米米*/
共兴兴米米兴米米***兴米¥兴头米END¥兴兴米头兴**兴*兴兴/
第二节
数据输人与输出
知识体系
©%⑤
字符数据的输入输出函数putchar函数(字符输出函数)
getchar函数(字符输入函数)
数据输入输出
printf函数(格式输出函数)
格式化输入输出函数
scanf函数(格式输入函数)
知识梳理
⊙Y
一个完整的程序,都应该含有数据输入/输出操作。将原始数据输入,经程序处理后,输出
有用的信息。C语言程序的输入输出功能是由系统提供的输入输出标准函数实现的。常用
的输入输出标准函数有两类:格式化输人输出函数和字符输入输出函数。
一、字符数据的输入输出函数
1.getchar()函数先将输入字符放到缓冲区里,等待回车键,当敲入回车键后才能获取所
输入的字符并把结果回显到显示器上。其一般形式为:
2.putchar函数的作用是向终端输出一个字符。其一般形式为:
:它的作用是
输入变量c的内容,c可以是
变量。
二、格式化输出输出函数。
1.格式化输入/输出函数
(1)printf()函数
printf()函数的一般形式为:
,它的作用是向终端(显示
屏)输出若干个任意类型的数据。
"格式控制"是用双撇号括起来的字符串,也称"转换控制字符串”,它包括两部分:①格式
说明:格式说明由"%"和格式字符组成,如%d,%c等,作用是将输出的数据转换为指定的格
式输出:②普通字符:普通字符即为原样输出的字符。
"输出表列"是需要输出的一些数据,可以是表达式,也可以是变量。用"[门"括起来表示内
容可以省略,当省略该项时,printf()函数仅输出"格式控制"中的内容,注意双撇号不输出;输
·36·