内容正文:
3.
4.
5.a=12,b=345
6.c=A
【技能实践】
1.
2.6.6 .2f
3.(1)A改a,并增加定义语句floatb;
(2)scanf("%d";a);改scanf("%d",&a);
(3)b=3.14后加;
4.scanf(“%d%d”,&a,&b);
s=a∗b;
c=2∗(a+b);
printf(“area=%d,perimeter=%d
”,s,c);
第三节 顺序结构程序设计
【知识梳理】
一、头文件
2.include
3.#include<stdio.h> #include“stdio.h”
4..h
5.(2)平方根函数 x 指数函数xy 指数函数ex
对数函数lnx 绝对值函数|x| 浮点数绝对值
函数|x| 正弦函数sinx 余弦函数cosx
正切函数tanx 反正切函数arctanx
(3)判断是否是字母或数字字符 判断是否是字母
字符 判断是否是字母字符
判断是否是大写字母字符 判断是否是小写字母
字符
将小写字母转换为大写字母 将大写字母转换为
小写字母
(4)求串长 串中小写字母转为大写字母 串中大
写字母转为小写字母
串逆序 串连接 串复制或串拷贝 串比较
二、随机函数的用法
3.rand()%51+50 rand()%90+10 rand()%
900+100
rand()%(n-m+1)+m 2∗rand()%51 3%
rand()%34+1
rand()%10+48 rand()%26+65 rand()%26+97
三、顺序结构程序设计
书写顺序 逐条
【巩固练习】
1.1,3,1 49,51,49
2.x=7,y=3
z=18
3.x=20,x=17
4.6
YES!
a=4,b=6,c=8
5.#include<stdio.h>
intmain()
{ inta,b;
scanf("%d,%d",&a,&b);
printf("a=%d,b=%d
",a,b);
printf("%d+%d=%d
",a,b,a+b);
printf("%d-%d=%d
",a,b,a-b);
printf("%d∗%d=%d
",a,b,a∗b);
printf("%d/%d=%d
",a,b,a/b);
printf("%d∗%d+%d∗%d=%d
",a,a,
b,b,a∗a+b∗b);
}
【拓展练习】
1.(1)#definePRICE15
(2)sum=PRICE∗num
2.#include<stdio.h>
intmain()
{ inta;
printf("请输入一个两位正整数:");
scanf("%d",&a);
printf("个位数%d∗十位数%d=%d",a%
10,a/10,a%10∗(a/10));
41
单招零距离计算机专业综合下册
}
3.第一种方法,采用中间变量t
#include<stdio.h>
intmain()
{ inta,b,t;
printf("请输入两个正整数");
scanf("%d%d",&a,&b);
printf("交换前a的值为%d,b的值为%d\
n",a,b);
t=a;a=b;b=t;
printf("交换后a的值为%d,b的值为%d\
n",a,b);
}
第二种方法,不采用中间变量t
#include<stdio.h>
intmain()
{ inta,b;
printf("请输入两个正整数");
scanf("%d%d",&a,&b);
printf("交换前a的值为%d,b的值为%d\
n",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("交换后a的值为%d,b的值为%d\
n",a,b);
}
4.#include<stdio.h>
intmain()
{
chara,b;
floatx;
inty=35;
scanf("%c,%c,%f",&a,&b,&x);
printf("a=%c,b=%c,x=%.3E,y=%d
",
a,b,x,y);
}
5.#include<stdio.h>
intmain()
{ charc1='C',c2='h',c3='i',c4='n',c5='a';
printf("原字符为:%c%c%c%c%c
",c1,
c2,c3,c4,c5);
c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;
printf("加密后的字符为:%c%c%c%c%c
",
c1,c2,c3,c4,c5);
}
【技能实践】
1.程序填空题:
(1)&x
(2)(x-h∗3600)/60
(3)x%60或 x-h∗3600m∗60
2.程序改错题:
(1)scanf("%f",f);改成scanf("%f",&f);
(2)c=5/9∗(f-32);改成c=5.0/9∗(f-32);或c
=5/9.0∗(f-32);或c=5.0/9.0∗(f-32);或c=
(float)5/9∗(f-32);或c=5/(float)9∗(f-32);或c
=(float)5/(float)9∗(f-32);
(3)printf("%d
",c);改成printf("%.1f
",c);
3.程序设计题:
x=rand()%900+100;
gw=x%10;
sw=x/10%10;
bw=x/100;
y=gw∗gw∗gw+sw∗sw∗sw+bw∗bw∗
bw;
第四章 选择结构
第一节 if语句
【知识梳理】
一、选择结构
2.关系、逻辑
3.非0
三、嵌套if语句
1.一对大括号{}
2.多分支if语句
3.(1)(表达式) 上面小于或等于
(2)else总是和最近尚未配对的if配对
(3)一
【巩固练习】
1.a,b,c=1,3,2
2.0<a<b
3.程序段1:if (a>b) c=a;else c=b ;
程序段2: c=b ;if(a>c) c=a ;
4.②、③ ② 1 2 分支x=3;与if(a<2)配
5.(x>1)&&(x<=5) (x>0)&&(x<=1)
y=-1
【拓展练习】
1.C 2.B 3.B
51
总复习方案参考答案
单招零距离·计算机专业综合·下册
第三节顺序结构程序设计
知识体系
Y⑤
算法设计
1.定义变量
顺序结构程序设计
2.变量初始化或输入数据
程序实现
3.
数据处理(算法实现)
4.输出结果
知识梳理
©Y⊙
一、头文件
1.有系统头文件(C语言系统内已存在的头文件,如<stdio.h>)和用户头文件(用户根据
编程需要而建立的头文件)之分。
2.通过
命令包含它而被用户使用。
3.命令的格式为:
或
4.头文件的扩展名为
5.常用头文件:
(l)当用户需要使用系统中的输入输出和文件操作库函数时一#include-<stdio.h>
scanf(),printf(),getchar(),putchar(),gets(),puts(),fscanf(),fprintf(),fread(),
fwrite(),fgetc(),fputc(),
fgets(),fputs()
(2)当需要使用常用的数学函数时一#include-<math.h>
如:sqrt(x)
;pow(x,y)
;exp(x)
log(x)
abs(x)
fabs(x)
;sin(x)
;cos(x)
tan(x)
;atn(x)
(3)当需要使用字符处理函数时一#include-<ctype.h>
如:isalnum(ch)》
isalpha(ch)
isdigit(ch)
isupper(ch)
islower(ch)
toupper(ch)
tolower(ch)
(4)当需要使用字符串处理函数时一#include-<string..h>
如:strlen(str)
strupr(str)
·44·
总复习方案·第三章基本语句与顺序结构程序设计
strlwr(str)
strrev(str)
strcat(strl,str2)
strcpy(str1,str2)
stremp(strl,str2)
(5)当需要使用时间库函数和动态存储分配函数时一#include<time.h>和#include<
stdlib.h
如:srand(),rand(),random()
二、随机函数的用法
1.通常可用时间作为参数,生成不同的随机数,即将随机函数和时间函数配合使用,如:
srand((unsigned)time(NULL)),根据当前的时间(精确到秒),重新播种种子。
2.rand()函数
格式:rand()%n一产生[0,n)之间的一个随机整数
3.应用举例:
产生一个[50,100]之间的随机整数
随机产生一个两位数
随机产生一个三位数
随机产生一个[m,n](m<n)中的数
产生偶数序列[0,2,4,6,…,100]中的一个随机数
产生等差序列[1,4,7,10,…,100]中的一个随机数
随机产生一个数字字符
随机产生一个大写字母
随机产生一个小写字母一
三、顺序结构程序设计
顺序结构程序设计是结构化程序设计中最简单、最常用的基本结构,它是学习选择结构与
循环结构的基础,同时也是学生的思维从C语句转换为C程序的起点,熟练掌握顺序结构程
序的设计方法是学好后续章节的基础。
在顺序结构中,程序的执行顺序就是语句的
,即从上至下
执行。顺
序结构程序中的语句主要是由赋值语句、输入语句、输出语句和空语句等构成。
程序设计的一般步骤:分析问题、设计算法、编写程序、上机运行调试。
39
典例精析
【例1】输人三角形的三边长,用海伦公式求三角形面积。已知三角形的三边长a,b,c,
则该三角形的面积公式为:area=s(s一a)(s一b)(s一c),其中s=(a十b十c)j2。
【分析】注意sqrt()是一个标准库函数,在头文件math.h中定义,它的功能是求一个数
的平方根。
当程序运行时输入3,4,5后,程序运行结果如下:
a=3.00
b=4.00
c=6.00
s=6.00
area=6.00
【答案】源程序如下:
·45·
单招零距离·计算机专业综合·下册
#include<math.h>
#include<stdio.h
int main()
float a,b,c,s,area;
scanf("%f,%f,%f",&a,&.b,&.c):
s=1.0/2*(a+b+c):
area=sqrt(s*(s一a)*(s一b)*(s一c));/*sqrt()求平方根的函数*/
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2八n",a,b,c,s);
printf("area=%7.2f
",area);
}
【例2】求ax2十bx十c=0方程的根,a,b,c由键盘输入,设b一4ac>0。
、【分折】当6Aa之0时xb时e令p=2,q=4C,则xpg
2a
2a
X2=p一q。
【答案】源程序如下:
#include<stdio.h
#include<math.h
int main()
float a,b,c,disc,x1,x2,p,q:
scanf("a=%f,b=%f,c=%f",&.a,&.b,&.c):
disc=b*b-4*a c;
p=-b./(2¥a):
q=sqrt(disc)(2¥a);
xl=p+q:x2=p-q:
printf("
x1=%5.2f
x2=%5.2fn",x1,x2):
巩州练习
@好Y5
1.写出下列程序的运行结果
int main()
char c=B',m=2',n;
c=m十十:
n=--c;
printf("%c,%c,%c",c,m,n);
printf("\t%d,%d,%d
",c,m,n):
·46·
总复习方案·第三章基本语句与顺序结构程序设计
2.写出下列程序的运行结果
int main()
int x=6,y=2,z;
z=x十十*十十y:
printf("x=%d,y=%d
",x,y);
printf("z=%d",z);
}
3.写出下列程序的运行结果
int main()
int x=15;
int x=20;
printf("x=%d,",x)
printf("x=%o
",x):
4.写出下列程序的运行结果
int main()
int a,b,c;
a=b=c=2;
a+=b:
b+=a;
c+=b:
printf("%d
",a>b?a:b);
a<c?printf("YES!
"):printf("NO!
");
printf("a=%d,b=%d,c=%d
",a,b,c);
5.编写一个程序,输入两个正整数,分别计算这两个整数的和、差、积、商及平方和并正确
输出。
·47·
单招零距离·计算机专业综合·下册
拓展练习
2以
CY∞
1.某品牌牙音的单价是15元,卖出去8支,计算出销售总金额。请完善程序填空:
#include <stdio.h
(1)
int main()
int num,sum;
num=8;
(2)
printf(“总金额=单价数量=”):
printf(“%d*%d=%d”,PRICE,num,sum);
2.编程从键盘输入一个两位正整数,求个位数与十位数的乘积。
#include <stdio.h
int main()
{
关米米米兴关关关**米米并0 PROGRAM米0关米并米米米弟0米米米*米
子¥兴兴米兴米*****米米米米米END米米兴*****米兴米米米*关兴兴
}
3.任意从键盘上输入两个正整数a,b,交换值后打印输出。(要求用两种方法,第一种方
法不借助中间变量t,第二种方法借助中间变量t)。
#include <stdio.h>
int main()
月关关米关米兴兴米兴关兴兴**米米END兴*米0关关关关并关关米关关关关米/
·48
总复习方案·第三章基本语句与顺序结构程序设计
4.编写一个程序,将值x'、o'、1.345E10和35分别存储到不同的变量中,其中前三个值使
用scanf()函数输入,第4个数据使用赋值语句赋值。
include <stdio.h>
int main()
5.程序设计题:要将“China”译成密码,译码规律是:用原来字母后面的第4个字母代替原
来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为
“Glmre”。请编写程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为‘C’、‘h’、
‘i’、‘n’、‘a’,经过运算,使cl、c2、c3、c4、c5分别变为‘G’、1’、‘m’、‘r’、‘e’并输出。
#include <stdio.h
int main()
/米荣*米**为弟米*****PROGRAM*英茶关米米米*米著关关0关荣英/
了*兴***米*¥米¥米兴关¥¥共END兴兴类兴¥关并米芳¥关关关关关装米/
技能实践
V@⑤
1.程序填空题:从键盘输入一个整秒数,计算出是几小时几分钟几秒。
#include <stdio.h>
int main()
int x,h,m,s;
printf(“输入需转换的秒数:”):
scanf(“%d”,
(1)
);
h=x./3600:
·49·
单招零距离·计算机专业综合·下册
m=
(2)
S=
(3)
printf(“%d小时%d分钟%d秒”,(4)):
}
2.程序改错题:输入一个华氏温度,输出对应的摄氏温度。输出取1位小数。转换公式
为c=
9(F-32)。
#include <stdio.h>
int main()
float c,f;
/米**米米*米米*米米米f0Und米米***关*关米米关*/
scanf("%f",f);
/米***兴**兴¥关关¥f0und兴米¥¥¥¥关米关关关关/
c=5/9*(f-32):
7米米兴*关*米关*米米米f0und兴米并米关*关兴关关关*/
printf("%d
",c):
}
3.程序设计题:随机产生一个三位正整数,输出它的各位数字的立方和。(例如:123各位
数字的平方和为36,153各位数字的平方和为153)
#include<stdio.h>
#include<stdlib.h
#include<time.h>
int main()
{int x,bw,sw,gw,y;
srand((unsigned)time(NULL));
/米米米*米米米米米米米pr0gram关米米米米米米米米*米
/¥米米米米*0*兴兴米关关*end米米**兴兴米*关关*关0/
printf(“%d的各位数字的平方和是%d”,x,y):
·50·