C语言程序设计 键盘输入和屏幕输出(4.2.2)--4.1节和4.4节

合集下载

第4章 键盘输入和屏幕输出

第4章  键盘输入和屏幕输出


16/36
【例4.3】计算圆的周长和面积
#include <stdio.h> main() { const double pi = 3.14159; double r, circum, area; printf("Input r:"); scanf("%lf", &r); circum = 2 * pi * r; area = pi * r * r; printf("printf WITHOUT width or precision specifications:\n"); printf("circumference = %f, area = %f\n", circum, area); printf("printf WITH width and precision specifications:\n"); printf("circumference = %7.2f, area = %7.2f\n", circum, area); }
29/36
输入数据的格式控制——例4.4
#include <stdio.h> main() { int a, b;
scanf("%d %*c %d", &a, &b); printf("a = %d, b = %d\n", a, b);
} 问题6:设计程序使得用户可以以任意字符(回车、空格、 制表符、逗号、其他字符)作为分隔符进行数据的输入

5/36
4.1.1 字符常量(续)
表4-1 常用的转义字符来自6/364.1.1 字符常量(续)

C语言 输入与输出

C语言 输入与输出
4.1 4.2 4.3
C语言的基本语句 C语言的基本语句 数据输入 数据输出
返回
第4章
基本语句
4.1
C语言的基本语句 语言的基本语句
语句是用来对数据进行加工(完成操作任务 是 语句是用来对数据进行加工 完成操作任务),是 完成操作任务 构成程序的基本单位。通常一个C程序由若干个函数 构成程序的基本单位。通常一个 程序由若干个函数 系统、用户)组成。 (系统、用户)组成。每一个函数由若干条语句组 每条语句总以“ 结束。 成。每条语句总以“;”结束。 C语言的语句可分为以下四类:简单语句(包括 语言的语句可分为以下四类:简单语句( 语言的语句可分为以下四类 输入/输出语句)、空语句 输出语句)、空语句、 输入 输出语句)、空语句、复合语句和流程控制语 句。
• 上面9种语句中的括号()表示其中是一个条件,~表示内嵌的语句。例如: 上面9种语句中的括号()表示其中是一个条件,~表示内嵌的语句。例如: ()表示其中是一个条件,~表示内嵌的语句 if( )~else else~ 的具体语句可以写成: “if( )~else~”的具体语句可以写成: •“if(x>y)z=x;else z=y;” “if( z=y;
4.2.1 getchar函数(字符输入函数) 函数(字符输入函数) 函数
函数调用形式为: 函数调用形式为: getchar( ) ( getchar函数没有参数,可以赋给字符变量或整型变量。 getchar函数没有参数,可以赋给字符变量或整型变量。 函数没有参数 从键盘接收一个输入的字符。当程序执行到getchar 从键盘接收一个输入的字符。当程序执行到getchar 函数时,程序将暂停执行, 函数时,程序将暂停执行,等待用户从键盘输入一个 字符,用户键入一个字符之后程序在继续执行。 字符,用户键入一个字符之后程序在继续执行。

C语言的输入和输出

C语言的输入和输出

空语句用做转向点,或者为循环语句提供空体。 如:for(i=0;i<=10;i++) ;
4.2 赋值语句
赋值语句是由赋值表达式加 ; 构成。 要区分赋值表达式与赋值语句 如:if((a=b)>0) t=a;
表达式
语句
注意: 赋值表达式可以包含在其他表达式中,而赋值语句不行。 赋值语句只能作为一条单独的语句,或放在复合语句中。 赋值语句用途很广
②结构控制语句:控制程序流程 选择语句:if()„else switch 循环语句:for() while() do„while() 转向语句:continue break return goto
2)复合语句:将一组语句括在一对{ }中 如:while(i<100) { sum+=i; i++; } 3) 空语句:;
④ %c一次接收一个字符,无需单引号。空格字符是个 有效字符。 如:scanf(“%c%c%c”,&a,&b,&c); 思考: scanf(“Enter a number?%d”,&n); 的输入格式?
&a(得到2字节空间的首地址) &b(得到4字节空间的首地址)
23
12.345
2.格式控制符 1)格式说明项 % * m l/h 格式字符
输入的数据类型和格式 长度 #include “stdio.h” viod main( ) { int a,b,c,d,e,f; scanf(“%d%d”,&a,&b) ; printf(“%d,%d\n”,a,b); scanf(“%d%d”,&c,&d) ; printf(“%d,%d\n”,c,d); scanf(“%d%d”,&e,&f) ; printf(“%d,%d\n”,e,f); scanf(“%3d%3d”,&a,&b) ; printf(“%d,%d\n”,a,b); }

C语言的标准输入输出格式

C语言的标准输入输出格式

C语⾔的标准输⼊输出格式C语⾔标准库概述 1)库函数分类 我们暂时需要记住的有: 标准输⼊输出函数库:stdio 数学应⽤函数库:math 字符串处理函数库:string 2)调⽤函数库时,我们需要预编译指令: 即://或者#include"头⽂件名"需要注意的是,第⼀种写法,⼀般在使⽤标准函数库时使⽤,第⼆种写法,⼀般在使⽤⽤户⾃⼰定义的函数库时使⽤。

格式输出函数:printf 1)前⾔: 从计算机向外部设备输出信息称为输出,即将计算机内的信息以打印或者存储的形式转到终端。

printf函数在<stdio.h>函数库中 预编译指令为:#include<stdio.h> 2)标准格式输出: printf("格式输出控制表列",输出参数表列); 格式输出控制表列包括普通字符和格式字符组成,普通字符如:hello,world; 格式字符以%开头,后跟⼀个字符表⽰数据类型。

如:%d,%f等。

输出参数表列在控制表列中如果没有格式字符,可以省略:如:printf("Hello,world!"); 这⾥,我们给出两个实例帮助理解:printf("Hello,world!");printf("%d",100);printf("521%d!",1314); 3)格式控制符 在明⽩输出函数的基本使⽤⽅法后,我们剖析⼀下格式控制符。

1、%d格式 标准输出函数中以%作为格式输出控制索引。

%d是以⼗进制在屏幕上显⽰输出参数表列的值。

当然输出参数表列可以为字符型,整型,浮点型等类型,不过最终都以10进制输出。

我们看⼀个例⼦:main(){char c='A';int a=1,b=2;printf("c=%d,a/b=%d,b/a=%d,(float)a/b=%d",c,a/b,b/a,(float)a/b);printf("123.456=%d",123.456);printf("%d");reeturn 0;}最终的输出结果出乎我们意料,c=65,a/b=0,b/a=2,(float)a/b=0123.45=4466765992367460 我们在这⾥解释⼀下,⾸先字符型的'A'在ASICC中的数值是65,所以最终以⼗进制输出的是65;由于,a/b的值理应为0.5,在这⾥,由于是整型输出,所以⼩数部分被截断,最终的结果为0,同理,我们不难理解最后的(float)是什么情况,那么b/a的结果显然是2,我们不在阐述。

《C语言程序设计》 第4章 键盘输入与屏幕输出

《C语言程序设计》 第4章 键盘输入与屏幕输出

可变长度输入 地址参数表
问题1:若未使用&,会怎样?
问题2:若格式字符写错,会怎样?
C语言程序设计
1346
第4章 键盘输入和屏幕输出
输入数据的格式控制——例
#include <stdio.h> int main(void) {
int a, b;
scanf("%d %d", &a, &bb); printf("a = %d, b = %d\n", a, b); return 0; } 问题:若程序第5行语句未使用&,结果会怎样?
return 0;
} 问题:如果用户输入的是123a,那么结果又会如何呢?
123a↙ a = 123, b = -858993460
C语言程序设计
2046
第4章 键盘输入和屏幕输出
输入数据的格式控制——例
#include <stdio.h> int main(void) {
int a, b;
格式字符串中的 普通字符原样输入
Example:
printf("Value is:%-10f", 32.6784728);
6 digits (default)
10 characters左对齐
C语言程序设计
946
第4章 键盘输入和屏幕输出
printf()的格式修饰符
显示精度.n 对浮点数表示输出n位小数 格式: %.nf
Example:
C语言程序设计
格式符%f与%lf
第4章 键盘输入和屏幕输出
调用scanf()输入数据时,通过地址指向变量
%f告诉编译器scanf()在该地址存储一个float型数 %lf告诉编译器scanf()在该地址存储一个double

C语言入门5-键盘的输入和屏幕输出

C语言入门5-键盘的输入和屏幕输出

C语⾔⼊门5-键盘的输⼊和屏幕输出C程序中的键盘输⼊和屏幕输出都是通过调⽤输⼊/输出函数实现的。

⼀、数据的格式化屏幕输出函数printf()的⼀般格式(有两种)(1)第⼀种:printf(格式控制字符串);printf ( “请输⼊a的值” );(2)第⼆种printf(格式控制字符串,输出值时参数表);// 就是变量名字printf(“您输⼊的a的值是:%d”, a );格式控制字符串(format string)是⽤双引号括起来的字符串,也称转换控制字符串,输出值参数表可有多个输出值,也可没有(只输出⼀个字符串时)。

*** 格式控制字符串包括两部分:需原样输出的普通字符和格式转换说明(Format Specifier) %d %f %cprintf( “您输⼊的a的值是:%d”, a );如表4—2所⽰,格式转换说明有%开始,并以转换字符(Conversion Character)结束,⽤于指定各输出值参数的输出格式。

这⾥,下⾯两条语句的作⽤是等价的。

printf(“%c”,ch);putchar(ch);⽽下⾯两条语句的作⽤也是等价的。

printf(“\n”);putchar(‘\n’);⼆、数据的格式化键盘输⼊(1)函数scanf()的⼀般格式scanf(格式控制字符串,参数地址表);scanf (“%d”, &a);Scanf(“%d %d” , &a , &b)其中,格式控制字符串是⽤双引号括起来的字符串,它包括格式转换说明符和分隔符两个部分。

参数地址表是由若⼲变量的地址组成的列表,这些参数之间⽤逗号分隔。

函数scanf()要求必须指定⽤来接收数据的变量的地址,否则数据不能正确读⼊指定的内存单元。

必须有 & 符号 ****1. 1. 函数scanf()中的格式修饰符与prinf()类似,在函数scanf()的%和格式符中间也可插⼊格式修饰符。

在⽤函数scanf()输⼊数值型数据时,遇到以下⼏种情况都认为数据输⼊结束:(1)遇空格符,回车符,制表符(TAB)(2)达到输⼊域宽;(3)遇⾮法字符输⼊。

《C语言程序设计》第4章键盘输入与屏幕输出

《C语言程序设计》第4章键盘输入与屏幕输出《C语言程序设计》第4章主要介绍了键盘输入与屏幕输出。

在实际编程中,我们经常需要从用户那里获取输入并将结果输出到屏幕上。

本章将介绍如何使用C语言进行键盘输入和屏幕输出,并且讨论了一些常见的输入输出函数和操作符。

在C语言中,我们可以使用标准库提供的函数来实现键盘输入和屏幕输出。

其中,最常用的输入函数是scanf(函数,它可以从标准输入设备(如键盘)读取用户输入的数据。

scanf(函数的基本用法如下:```scanf("格式控制字符串", 参数列表);```其中,格式控制字符串用来指定输入数据的格式,参数列表则是接收输入数据的变量。

例如,我们可以使用scanf(函数获取用户输入的一个整数:```int num;scanf("%d", &num);```在这个例子中,我们使用%d格式控制字符串指定输入数据的格式为十进制整数,并且将输入数据保存到名为num的整型变量中。

需要注意的是,scanf(函数在读取数据时需要使用取址符&来获取变量的地址。

除了scanf(函数之外,C语言还提供了其他一些输入函数,如gets(函数和fgets(函数。

这些函数主要用于读取字符串类型的数据,使用方式类似于scanf(函数。

例如,我们可以使用gets(函数读取用户输入的一个字符串:```char str[100];gets(str);```在这个例子中,我们定义了一个长度为100的字符数组str,并使用gets(函数将用户输入的字符串保存到str中。

对于屏幕输出,C语言提供了多个输出函数,其中最常用的是printf(函数。

printf(函数的用法如下:```printf("格式控制字符串", 输出值列表);```其中,格式控制字符串用来指定输出数据的格式,输出值列表为需要输出的变量和常量。

例如,我们可以使用printf(函数将一个整数输出到屏幕上:```int num = 100;printf("The number is %d.", num);```在这个例子中,我们使用%d格式控制字符串指定输出数据的格式为十进制整数,并且将整型变量num的值输出到屏幕上。

04最简单的程序设计-输入输出及顺序结构


25+5=30 66,5.000000
函数printf能够实现如下输出格式化功能: 1) 指定任何类型数据输出的域宽; 2) 指定输出在域宽内左对齐或右对齐; 3) 插入要输出的直接字符; 4) 以8进制或16进制输出整型量的存储镜像; 5) 指定实型数以小数或指数形式输出;
2. getchar字符输入函数 调用格式: getchar( )
功能:从系统隐含的输入设备(键盘)输入一个字符。
说明:无参,返回值为输入字符的ASIIC码; 是带输入缓冲区和回显的函数; 要求:使用文件包含预编译命令 # include <stdio.h>
YS 例1:输入一个字符并输出 #include ”stdio.h” main( ) { char c; c=getchar( ); putchar(c); putchar(‟#‟); putchar(‟\n‟); }
函数首部
函数体
变量声明
执行语句
2. C语句的分类 控制语句——9种,可控制程序的执行流程。 函数调用语句——由函数的一次调用加分号构成。 表达式语句——任何合法的C表达式加分号构成。 空语句——只有一个分号构成。
复合语句——由一对花括号将多条语句括起来构 成一条复合语句。
4.2 赋值语句 其它高级语言只能用赋值语句给变量赋值,而C 不仅可用赋值语句给变量赋值,还可在表达式的位置 上利用赋值表达式给变量赋值,这大大增加了C程序 设计的灵活性。
3) 串中直接字符\、%、” 的表示:\\ %% \”
2. scanf 格式输入函数 调用格式:scanf(格式控制字符串,地址项表) 功能:按格式控制字符串中指定的格式,从键盘输 入常数,并存入对应变量的地址中。 参数:格式控制字符串中可包含格式说明、直接 字符;注意:不要使用控制字符;

C语言程序设计-键盘输入和屏幕输出1


按指定类型和格式输出数据:printf() 按指定类型和格式输入数据:scanf() 输出单个字符:putchar() 输入单个字符:getchar() 格式化输入输出函数使用更灵活 几点忠告
– 不要拘泥于细节,不死记硬背 – 在使用中慢慢掌握
C语言程序设计
第4章 键盘输入和屏幕输出
SuXiaoHong
printf("Please input a float number:");
scanf("%f", &c);
printf("float:%f\n", c);
}
C语言程序设计
第4章 键盘输入和屏幕输出
C格式符的问题及解决—例4.6
#include <stdio.h> main() {
int a;
程序修改后得到的运行结果
char b; float c;
float number:3.500000
printf("Please input an integer:");
scanf("%d", &a);
printf("integer:%d\n", a);
printf("Please input a character:");
printf("Please enter the expression data1 + data2\n");
scanf("%d%c%d",&data1, &op, &data2); printf("%d%c%d = %d\n",
data1, op, data2, data1+data2); }

c语言健盘输入与屏幕输出


问题8:如果用户输入了非法字符,例如输入了12
那么程序运行结果如何? 12 3a↙
2020/3/12
a = 12, b = 3
3a,
26/38
输入数据的格式控制——例4.4
#include <stdio.h> main() {
int a, b;
scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b); }
2020/3/12
16/38
(2)空白字符: (空格、Tab键和回车键):作为相邻2 个输入数据的缺省分隔符;
(3)非空白字符(又称普通字符):普通字符不是显示的 而是规定在输入有效数据时,必须原样一起输入的字符。
如:scanf(“ch=%d,f=%f\n",&ch,&f);
若要使ch值为3,f的值为56.6,则应怎样输入?
Please input a and b: 123456↙
a=12, b=56, a+b = 68
2020/3/12
18/38
输入数据的格式控制——例4.4
#include <stdio.h> main() {
int a, b;
12 34↙
scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b); }
问题3:语句scanf("%d %d", &a, &b);修改为
scanf("a = %d, b = %d", &a, &b); 时,用户应该如何输入数据?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例4.1】从键盘输入一个大写英文字母,将其转换为小写字母后,再显示到屏幕上。

程序如下:
1 2 3 4 5 6 7 8 9 10#include <stdio.h>
main()
{
char ch;
printf("Press a key and then press Enter:");
ch = getchar(); /* 从键盘输入一个字符,按回车键结束输入,该字符被存入变量ch */
ch = ch + 32; /* 将大写英文字母转换为小写英文字母 */
putchar(ch); /* 在屏幕上显示变量ch中的字符 */
putchar('\n'); /* 输出一个回车换行控制符 */
}
程序的运行结果如下:
Press a key and then press Enter: B↙
b
【例题解析】在ASCII字符表中,小写英文字母与相应的大写英文字母的ASCII码值相差32。

根据这一规律,可实现大小写英文字母之间的转换。

【例4.2】从键盘输入一个大写英文字母,将其转换为小写英文字母后,将转换后的小写英文字母及其十进制的ASCII码值显示到屏幕上。

1 2 3 4 5 6 7 8 9
#include <stdio.h>
main()
{
char ch;
printf("Press a key and then press Enter:");
ch = getchar();
ch = ch + 32;
printf("%c, %d\n", ch, ch); /* 分别输出变量ch中的字符及其ASCII码值 */ }
此程序的运行结果如下:
Press a key and then press Enter: B↙
b, 98
【例题解析】字符型数据既可以用字符格式输出,也可以用整型格式输出,后者是输出
其ASCII码的值。

相关文档
最新文档