C语言课程设计教程第三章顺序结构(章节带习题)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自然语言描述
#include <stdio.h> main() {int x,y; printf(“Enter x&y:\n"); scanf(“%d%d”,&x,&y); printf(“x=%dy=%d\n",x,y); 交换x和y中的值; printf(“x=%dy=%d\n",x,y); }
1. 在格式控制中,格式说明的类型与输入项的类型,应该一一对应匹配。如果类 型不匹配,系统并不给出出错信息,但不可能得到正确的数据。
2. 在输入项表中,输入项的个数要与格式符的个数相同,且排列顺序要一一对应。 若格式符个数少于输入项,scanf函数按格式符的数目结束输入,多余的输入项没 有得到新的数据;若格式符个数多于输入项,scanf函数则按输入项的数目结束输 入,多余的格式符不起作用(作废)。
例如:int a,b,c; scanf(“%d%d”,&a,&b,&c); printf(“%d%d%d\n”,a,b,c);
比如说,我们从键盘读入:
int a,b,c; scanf(“%d%d%d%d”,&a,&b,&c); printf(“%d%d%d\n”,a,b,c); 比如说,我们从键盘读入:
例:对于scanf函数的调用形式,请见下面的程序示例。
#include <stdio.h> main() {int a; float b; scanf(“%d%f”,&a,&b); printf(“%d,%f\n",a,b); }
程序执行到此,停止执行,等待用户 从键盘输入数据,等输入数据后,待
用户安回车键<CR>后,继续向后执行。 scanf(“%d%f”,&a,&b); a 23
n1.n2 n1指定输出的宽度, n2指定输出的小数位数 printf(“%12.2f\n”,f);jjjjjj123.46
0 输出的数据右对齐,前面补0
printf(“%06d\n”,k); 001234
- 输出的数据左对齐
printf(“%-6d\n”,k); 1234jj
+ 输出的数据为正数时,使前面带有“+”符号
若从键盘上输入:
12 34 56 78<CR>
则输出的结果是:
12 56 78
3.3 数据输入
3.3.3 通过scanf函数从键盘输入数据
4. 在格式控制字符串中插入其他字符 在格式控制字符中出现了其他字符的语句如下: int x,y,z; scanf(“Please input x,y,z:%d%d%d”,&x,&y,&z);
3.2.1 printf函数的一般调用形式
printf也可以没有输出项,函数的调用形式将为: printf(格式控制)
比如:printf(“OK!”);
OK!
3.2 数据输出
3.2.2 printf函数中常用的格式说明
1. 格式字符:
d ----- 以十进制整数进行输出
o ----- 以八进制数进行输出 x ----- 以十六进制数进行输出 f ----- 以小数形式进行输出
56<CR>
3.4 复合语句和空语句
3.4.1 复合语句
复合语句是用符号"{"和"}"括起来的语句组,也可称为"语句块",在语法上被视 为一条语句。复合语句的语句形式如下:
{语句1;语句2;…;语句n;}
例如: { a++ ; b*=a; printf("b= %d\",b); }
3.4 复合语句和空语句
88
输入宽度为5
4. 当输入函数的格式说明的类型与输入项的类型一一对应匹配时。程序在运行的 过程中,当我们输入的数据个数少于输入项时,运行的程序将一直等待输入,直到 满足要求时才继续向下执行;当我们输入的数据个数多于输入项时,多于的数据没有 作废,依然在缓冲区中等待等待下一个输入操作语句。
5. scanf函数在调用结束后将返回一个函数值,其值等于得到输入值的输入项的个数。
例如:printf(“my\tname\tis\tchenhao\n”); my name is chenhao
\t为转义字符(制表符) 代表八个空格字符
5. 如果需要输出百分号%,则应该在格式控制串中用两个连续的百分号%%来表示。
例如: printf(“%d%%”,100);
100%
6. printf函数的返回值通常是本次调用中输出字符的个数。
若从键盘上从第1列开始输入: 123456.789.123<CR>
k
a
y
用printf(“k=%d a=%f y=%f\n”,k,a,y);输出的结果是:
k=123 a=456.700000 y=89.120000
3.3 数据输入
3.3.3 通过scanf函数从键盘输入数据
3. 跳过某个输入数据 例如:int x,y,z; scanf(“%d%*d%d%d”,&x,&y,&z); printf(“%d %d %d\n”,x,y,z);
例如:int a=10,b=20,c=30; printf(“%d,%d\n”,a,b,c);
int a=10,b=20,c=30; printf(“%d,%d,%d,%d\n”,a,b,c);
10,20
10,20,30,2367460
4. 在格式控制串中,除了合法的格式说明外,可以包含任意的合法字符,还可以 包括转义字符,这些字符在输出时将"原样照印"。
a=0.000000,b=1076428800
a=10,b=12.500000
编译时能通过,则输出时为 不正确的数据
输出时类型一定要一一对应
3.2 数据输出
3.2.3 使用printf函数时的注意事项 3. 若格式说明中的个数少于输出项的个数时,则多余的输出项不予输出; 若格式说明中的个数多于输出项的个数时,则将输出一些毫无意义的数字。
printf(“%d%d%f\n”,k,k,f);
12341234123.456000
printf(“%d,%d,%f\n”,k,k,f);
1234,1234,123.456000
printf(“k=%d,k=%d,f=%f\n”,k,k,f); k=1234,k=1234,f=123.456000
3.3 数据输入
3.3.3 通过scanf函数从键盘输入数据
百度文库
1. 输入数值数据 例如:int k;float a;double y; scanf(“%d%f%lf”,&k,&a,&y);
若要给k赋值10,a赋值12.3,y赋值1234567.89,正确的输入格式如下: 10 12.3 1234567.89<CR>
第3章 顺序结构
3.1 赋值语句 3.2 数据输出 3.3 数据输入 3.4 复合语句和空语句 3.5 程序举例
3.1 赋值语句
在赋值表达式的尾部加上一个“;”号,就构成了赋值语句,也称表达式语句。
例如:a=a+b a=a+b;
(赋值表达式) (赋值语句)
3.2 数据输出
3.2.1 printf函数的一般调用形式
首先,我们先来了解一些其它知识。 一个程序,一般情况下都包含数据输入、数据处理、数据输出三个部分。 输出:把数据从计算机内部送到计算机的外部设备上的操作称为“输出” 显。示器 输入:从计算机外部设备将数据送入计算机内部的操作称为“输入”。 键盘
在C语言中,数据的输入和输出是通过调用输入和输出函数来实现的。在VC6.0 环境下,在调用输入和输出的库函数之前要求在源程序中出现包含头文件命令行:
最好
2. 在格式控制串中,格式说明与输出项从左到右在类型上要一一对应匹配。 如不匹配,将导致数据不能正确输出,这时,系统并不报错。
例如:int a=10;
int a=10;
float b=12.5;
float b=12.5;
printf(“a=%f,b=%d\n”,a,b);
printf(“a=%d,b=%f\n”,a,b);
printf(“%+-6d\n”,k+)1;234j
l 输出整数时,为长整型;输出实数时,为双精度型 printf(“%ld\n”,k); 1234
h 输出整数时,为短整型
printf(“%hd\n”,k); 1234
3.2 数据输出
3.2.3 使用printf函数时的注意事项
1. 在使用输出函数时,输出的数据要清晰,视觉感要好。例如:k=1234,f=123.456
3.2 数据输出
3.2.3 使用printf函数时的注意事项
7. 思考:如:int k=8; printf(“%d,%d\n”,k,++k); 9,9
首先先对应匹配,然后再输出,输出的过程,是按输入项从右往左
8. 输出时,也可以用参数作为域宽。如:int m=8,i=10;
int m=8,n=10; float f=123.456;
10 20 30<CR>
10 20 30 40<CR>
10,20,-858993460
10,20,30
3.3 数据输入
3.3.2 scanf函数中常用的格式说明
3. 在scanf函数中的格式字符前可以用一个整数指定输入数据所占宽度。
例如:int a;
该输入函数正确的输入形式为:
scanf(“%5d”,&a);
这时从键盘上输入时,一定要向下形式进行输入:
Please input x,y,z:12 34 56<CR>
又如:int x,y,z; scanf(“%d,%d,%d”,&x,&y,&z);
则正确的输入形式: 12,34,56<CR> 12, 34, 56<CR>
12, 34,
错误的输入形式: 12 34 56<CR> 12 ,34 ,56<CR>
使用时,以%作为引导符 格式字符必须使用小写

有如下程序段

int k;
如:%d %o %x %f
简单的格式字符形式
float f; k=1234;
完整的格式字符形式
% + - 0 n n1.n2 l/h 格式字符 f=123.456
n 指定输出的宽度
printf(“%6d\n”,k); jj1234
b 12.345
比如,想把23赋值给a,12.345赋值给b,输入形式为: 23 12.345<CR>
输出结果为: 23,12.345000
3.3 数据输入
3.3.2 scanf函数中常用的格式说明
scanf函数中的格式说明字符与输出函数中的格式说明字符相同。
在使用scanf函数进行输入时,应该注意以下几点:
3.4.2 空语句
空语句由一个分号构成,但它是一个C语句,程序执行空语句时不产生任何操作。
如:main() { ; }
3.5 程序举例
例3.1 以下程序由终端输入两个整数给变量x和y;然后输出x和y;在交换x 和y中的值后,再输出x和y。验证两个变量中的数是否正确地进行了交换。
程序分析:
开始
① 输入两个整数分别给变量x和y。 ② 输出两个变量。 ③ 交换两个变量中的值。 ④ 再输出两个变量。
jjjjjj10
123.4560000000
3.3 数据输入
3.3.1 scanf函数的一般调用形式
1. scanf函数的调用形式如下 :
scanf(格式控制,输入项表)
作用:把从终端设备(如,键盘)上输入的数据传 送给对应的输入项(如变量地址)。
把从键盘上输入的数据送到该指定的输入项中,输入项中 必须为变量的地址
双引号括起来的字符串,按照该指定的格式进行输入
例如:int k; float a; double y; scanf(“%d%f%lf”,&k,&a,&y);
★变量地址
形式:&变量名
函数名 输入格式控制 变量地址(实参)
在scanf函数调用的后面加一个分号就构成输入语句。
3.3 数据输入
3.3.1 scanf函数的一般调用形式
#include <stdio.h> 或 #include “stdio.h”
1. printf函数的调用形式如下 : printf(格式控制,输出项表) 作用:按照指定的格式将输出项中的值输出到终端。
要输出的内容(常量、变量、表达式等)
双引号括起来的字符串,按照该指定的格式进行输出
3.2 数据输出
10 12.3 1234567.89<CR>
10<CR> 12.3<CR> 1234567.89<CR>
输入的数据之间必须用间隔符隔开 可以使用的间隔符有:空格、回车符、制表符
错误的输入格式: 1012.31234567.89<CR>
3.3 数据输入
3.3.3 通过scanf函数从键盘输入数据
2. 指定输入数据所占的宽度 例如:int k;float a;double y; scanf(“%3d%5f%5lf”,&k,&a,&y);
相关文档
最新文档