第二节 数据输入与输出-【单招零距离】计算机专业综合(下)

2025-04-23
| 2份
| 10页
| 124人阅读
| 0人下载

内容正文:

 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􀅰 总复习方案􀅰参考答案  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􀅰 单招零距离􀅰计算机专业综合􀅰下册 单招零距离·计算机专业综合·下册 米米PROGRAM关米米米并米米*/ 兴兴兴米兴*关米*兴**米¥头头米END*兴兴*米兴****兴兴/ 第二节 数据输人与输出 知识体系 %⑤ 字符数据的输入输出函数Putchar函数(字符输出函数) getchar函数(字符输入函数) 数据输入输出 printf函数(格式输出函数) 格式化输入输出函数 scanf函数(格式输入函数) 知识梳理 85 一个完整的程序,都应该含有数据输入/输出操作。将原始数据输入,经程序处理后,输出 有用的信息。C语言程序的输入输出功能是由系统提供的输入输出标准函数实现的。常用 的输入输出标准函数有两类:格式化输人输出函数和字符输入输出函数。 一、字符数据的输入输出函数 l.getchar()函数先将输入字符放到缓冲区里,等待回车键,当敲入回车键后才能获取所 输入的字符并把结果回显到显示器上。其一般形式为: 2.putchar函数的作用是向终端输出一个字符。其一般形式为: :它的作用是 输入变量c的内容,c可以是 变量。 二、格式化输出输出函数。 1.格式化输入/输出函数 (1)printf()函数 printf()函数的一般形式为: ,它的作用是向终端(显示 屏)输出若干个任意类型的数据。 "格式控制"是用双撇号括起来的字符串,也称”转换控制字符串”,它包括两部分:①格式 说明:格式说明由"%"和格式字符组成,如%d,%c等,作用是将输出的数据转换为指定的格 式输出:②普通字符:普通字符即为原样输出的字符。 "输出表列"是需要输出的一些数据,可以是表达式,也可以是变量。用"[门"括起来表示内 容可以省略,当省略该项时,pitf()函数仅输出"格式控制"中的内容,注意双撇号不输出;输 ·36· 总复习方案·第三章基本语句与顺序结构程序设计 出项有多项时,之间必须用逗号作为分隔符。 (2)scanf函数 scanf()函数的一般形式: ,"格式控制"的含义同printf 函数;"地址表列"是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。 scanf处理输入数据时,遇到下列情况时该数据认为结束: 一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令: 2.输入格式串和输出格式串用法如下表所示: 格式字符 说明 d 以带符号的十进制整数形式输人输出整数 0 以八进制无符号形式输入输出整数 x.X 以十六进制无符号形式输入输出整数 以无符号十进制形式输入输出整数 以字符形式输人输出 输入输出字符串 以小数形式输入输出单、双精度数 e.E 以指数形式输入输出实数,用eE时指数以"e"或"E"表示 选用%f或%格式中输入输出宽度较短的一种格式,用G时,指数 g.G 以大写表示。输出时将小数点后末尾无用的0过滤掉。 1,L 用于长整型整数,可加在格式符d,o,x,u前面 m(代表一个正整数) 数据最小宽度 n(代表一个正整数) 对实数,表示输入输出位小数;对字符串,表示截取的字符个数 输出的数字或字符在域内向左靠 表示本输入项在读入后不赋给相应的变量 典例精析 @Y⑤ 【例1】用scanf("%4d%4d%c%c%f%f%*f%f",&a,&b,&chl,&.ch2,&x,&y,&-z); 输入数据,使a=22,b=44,ch1=‘A’,ch2=‘z’,x=2.24,y=一4.5,z=12.3。请问在键盘上 如何输入?(建议可用符号“☐”表示空格,“”表示回车) 程序如下: #include<stdio.h> int main() int a,b; float x,y,z: char chl,ch2; scanf("%4d%4d%c%c%f%f%*f%f",&a,&b,&.chl,&.ch2,&.x,&y,&.z): printf("%4d%4d%c%c%f%f%f",a,b,chl,ch2,x,y,z); ·37· 单招零距离·计算机专业综合·下册 【分析】按照scanf格式控制符可以确定各个变量类型,在输入a,b值时,它们的格式均 为%4d,当为和b输入的值不足4位时,需要在输入的数据间添加能分隔数据的符号,比如 空白符等。例如,在输入22之前两先输入两个空格,输入44之前,先输入两个空格。对于% *f是用来禁止赋值的,因此可以任意输入一个实数(例如3.1),该值不会赋给任何变量。 【答案】 程序运行时可按如下方式输入数据: ☐☐22☐☐44Az2.24☐-4.5☐3.1☐12.3 (符号“☐”表示空格,“”表示回车) 当然也可以按下列方式实现同样目标: 22☐☐44Az2.24-4.5-3.1☐12.34 22☐44Az2.24-4.5☐3.1☐12.3 【例2】以下程序输出结果是 #include<stdio.h int main() {inta=4,b=127,c=-5: float x=12.3456,y=-246.135; char ch='B'; 1ongn=7654321; unsigned u=65535; printf("%d\t%d\t%d ",a,b.c); printf("%-3d%2d%3d ",a,b,c); printf("%f.%f n",x,y) printf("%8.2f,%-8.2f,%4f,%.4f ",x,y,x,y): printf("%e,%10.2e ",x,y); printf("%c,%d,%0,%x ".ch,ch,ch,ch); printf("%ld,%lo.%lx ",n,n,n) printf("ou,%0,%x,%din",u,u,u.u); 【分析】注意第3行的输出结果为“12.345600,一246.134995”,与程序中定义的值不同, 主要原因有两个,一是C编译系统通常把实型常量按双精度处理,将实型常量赋值给一个单 精度变量时需要将双精度数据转换为单精度数,然后赋值给单精度变量,这种转换会损失精 度;二是十进制数小数转换为二进制小数时也会损失精度。 【答案】 4 127 -5 4127-5 12.345600,-246.134995 12.35,-246.13,12.345600.-246.1350 1.234560e+001,-2.46e+002 B,66,102,42 7654321,35145661,74cbb1 65535,177777,ffff.65535 ·38· 总复习方案·第三章基本语句与顺序结构程序设计 【例3】以下程序输出结果是 #include<stdio.h int main() printf("%s,%3s,%.2s ","Chinese","Chinese","Chinese"); printf("%8.2s,%5.6s,%-8.2s ","Chinese","Chinese","Chinese"); 【分析】%m.ns:输出占m列,但只取字符串中左端n个字符;这n个字符输出在m列 的右侧,左补空格。%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限 制,将字符串全部输出;若串长小于m,则左补空格。%一ms:如果串长小于m,则在m列范围 内,字符串向左靠,右补空格。%一m.ns:其中m、n含义同上,n个字符输出在m列范围的左 侧,右补空格:如果n>m,则自动取n值,即保证n个字符正常输出。 【答案】Chinese,Chinese,Ch Ch,Chines,Ch 【例4】以下程序输出结果是 #include "stdio.h" int main() int x=0x22,y=0xA2; printf("%d,%0,%x,%X ",x,x,x,x) printf("%d,.x,%#X ",y,y,y,y); 【分析】%共。是以数字0开始,之后为对应的八进制数;%共x是以0x或者0X开始, 之后为对应的十六进制数。 【答案】34,42,22,22 162,0242,0xa2,0XA2 巩固练习 Y⊙ 1.执行下列程序片段时输出结果是 f1oatx=-1023.012; printf("%08.3f,",x); printf("%10.3f",x); 2.执行下列程序片段时输出结果是 int x=13,y=5; printf("%d",x%=(y./=2)): 3.下列程序的输出结果是 #include <stdio.h int main ( {intx=023: printf("%d",--x): ·39· 单招零距离·计算机专业综合·下册 4.执行下列程序片段时输出结果是 int x=5,y; y=2+(x+=x++,x+8,++x): printf("%d",y); 5.若运行时输入:12345678,则下列程序运行结果为 #include <stdio.h> int main ( int a,b; scanf("%2d%*2d%3d",&a,&.b); printf("%od ",a+b); } 6.执行下列程序后的输出结果为 #include <stdio.h int main() {intn=32767; printf("%010d\t",n); printf("%10d小n",n); 7.执行以下列程序后输出结果为 #include <stdio.h int main() char x='1'; printf("%3c ",x): printf("%62c%2c ",x.x): printf("%1c%4c ",x,x): } 8.执行下面程序,如果从键盘输人数据1234567890,则下列程序运行结果为 #include <stdio.h int main() int x;float y: scanf("%3d%f",&.x.&-y): printf("x=%d,y=%fn",x,y): 9.执行下面程序,如果从键盘输入数据7,8,9,则下列程序运行结果为 #include <stdio.h int main() int xl,x2,x3; scanf("%d,%d,%d",&.xl,&x2,&.x3): printf("%d",x1+x2+x3); ·40· 总复习方案·第三章基本语句与顺序结构程序设计 10.执行下列程序后,运行结果为 #include <stdio.h int main() { char d1=1,d2=2,d3=3,d4=4: printf("%1c ",d1); printf("%2c ",d2); printf("%3c ",d2); printf("%04c ",d4); 2 拓展练习 Y⊙ 1.以下程序运行时,若从键盘输入205010,则输出的结果是 #include <stdio.h> int main() { int i,j,k; i=j=k=3: scanf("d%*dod",81,&.j,&.k); printf("%d,%d.%d",i,j,k); } 2.用下面的scanf函数输人数据,使i=5,j=8,x=3.5,y=21.86,c1=A',c2=B。问在 键盘上如何输入? #include <stdio.h> int main() int i.j; float x,y; char cl,c2: scanf("i=%d,j=%d",8.i,8.j); scanf("f%e",&.x.&.y); scanf("%c,%c",&.cl,&.c2); printf("%d,%d,%f,%e,%c,%c",i,j,x,y.cl,c2): } 3.程序阅读题: #include<stdio..h≥ int main() int i=5,j=8; float x=35.8764,y=-786.123: ·41… 单招零距离·计算机专业综合·下册 printf("%d%d ",i,j): printf("%3d%-3d ",i.j); printf("f%An",x,y); printf("%-10f%-1of ",x,y) printf("%-10.2f%10.2f%3f%3f%.4f%-.4fn",x,x,yy,x,y): printf("%e%10.2e%-10.2en",y,y,x): 4.程序阅读题: #include <stdio.h> int main() char c=A'; unsigned u=65535; printf("%c,%d,%0,%x ",c.c,c,c): printf("%u,%0.%x,%d ",u,u,u,u): printf("%s,%5.2s","COMPUTER","COMPUTER"): printf("%-5.2s,%.3s ","COMPUTER","COMPUTER"); 5.以下程序输入123456<CR>后的执行结果是 #include <stdio.h int main( { int a,b; scanf("%2d%3d",&.a,&.b): printf("a=%od,b=%d ",a,b); 6.以下程序输入ABC<CR>后的执行结果是 #include <stdio.h int main() { char c; scanf("%3c",&.c); printf("c=%c ",c); 技能实践 ⊙ 1.程序阅读题: #include "stdio.h" #include "string.h" int main() int x=0x23,y=0xc2; ·42· 总复习方案·第三章基本语句与顺序结构程序设计 char s]="ab\659\tc\bd\x61g"; printf("d,%0,%x,%x ",x,x,x,x); printf("%d,x,%#X ",y.y.y,y); printf("size=%d,len=%d ",sizeof(s),strlen(s)); puts(s); 2.下列程序的输出结果是16.00,请填空使程序完整。 #include <stdio.h int main ( int a=9,b=2; float x= ,y=1.1,z; z=a2+b¥x/y+12: printf("% n",z): } 3.程序改错题: #include<stdio.h int main() 关***关米0**米米0f0und***关米米米/ int A; :**米米米米000米*弟f0und米*弟米*米* scanf("%d";a); /著**米米000米米弟*「0und**0**关米/ b=3.14 printf("a=%d,b=%.2f",a,b); } 4.程序设计题:从键盘输入矩形的长和宽,求该矩形的面积和周长。 #include<stdio.h int main() int a,b,s,c; /关并*关并关兴*关*关BEGIN米米*米米*关米*米* /兴关¥¥¥¥兴兴米米米END兴关¥¥*¥兴¥兴关米/ ·43·

资源预览图

第二节 数据输入与输出-【单招零距离】计算机专业综合(下)
1
第二节 数据输入与输出-【单招零距离】计算机专业综合(下)
2
第二节 数据输入与输出-【单招零距离】计算机专业综合(下)
3
第二节 数据输入与输出-【单招零距离】计算机专业综合(下)
4
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。