第四章最简单的C程序设计
第四章 最简单程序设计--顺序程序设计
开始
输入三边长 计算s 计算面积 结束
13
C语言程序设计
北京工业大学实验学院 陈洪丽
顺序结构程序设计举例
#include<stdio.h> #include<math.h> 数学函数库 void main( ) 因为要用到 {float a,b,c,s,area; 其中的sqrt scanf(″%f,%f,%f″,&a,&b,&c); 函数 s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); 运行情况: printf(″a=%7.2f, b=%7.2f, c=%7.2f, 3 ,4,6 n″,a,b,c,s); s=%7.2f\ a= 3.00, b= 4.00, c= 6.00, s= 6.50 printf(″area=%7.2f\n″,area);}
C语言程序设计
第四章 最简单程序设计 --顺序程序设计
北京工业大学实验学院 陈洪丽
C语言程序设计
北京工业大学实验学院 陈洪丽
本章主要内容
C语句概述
赋值语句
算法的基本控制结构
顺序结构程序设计举例
2
C语言程序设计
北京工业大学实验学院 陈洪丽
C语句概述
C程序
源程序文件1
源程序文件2
源程序文件n
5
分支 循环
辅助控制
C语言程序设计
北京工业大学实验学院 陈洪丽
计算机二级 C语言第四章-第五章
逻辑或
逻辑非
“&&”和“ ||”是双目运算符 “!”是单目运算符
C语言程序设计
第五章 选择结构程序设计
逻辑运算真值表
a 真 b 真 !a 假 !b 假 a&&b 真 a||b 真
真 假 假
假 真 假
假 真 真
真 假 真
假 假 假
真 真 假
逻辑运算符的优先次序 !(非) , &&(与),
优先次序:高(2) 结合方向:从右向左 (11) 从左向右
4.00, c=
6.00 s=
6.50
C语言程序设计
第四章 顺序程序设计
例4.11 从键盘输入大写字母,用小写字母输出
#include "stdio.h" void main() { char c1,c2; c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); }
值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1 值为1
C语言程序设计
第五章 选择结构程序设计
复杂逻辑条件的表述
判断某一年year是否为闰年
判别闰年的条件(int year): 能被4整除: year%4==0 能被4整除但不能被100整除: (year%4==0)&&(year%100!=0) 能被400整除: year%400==0 综合起来: ((year%4==0)&&(year%100!=0))||year%400==0 优化语句: 此表达式为真时是闰年 (year%4==0&&year%100!=0)||year%400==0
C语言程序设计第4章
4.2.2 逻辑表达式
例:设a=3,b=4,x=0,y=0,求值: 结果:0 1、a < b && x > y 结果:1 2、a = = b || x = = y 3、! a || a > b 结果:0 4、! a && b || x > y 结果:0 5、int a=-1,b=1,c=2,d=3,m=5,n=2,k; k=(m=a+b)&&(n=c+d) k为0 ,m为0, n为2
当尝试对该程序进行编译时,C语言编译器会报告 "illegal else without matching if"的语法错误。 28
4.3.4使用if语句应注意的问题
void main() { int x; x=1; if(x==1) printf("x等于1\n"); else ; /*这里多加了个分号*/ printf("x不等于1\n"); }
if(表达式) 语句1 else 语句2
真 表达式 语句1 语句2 假
如果括号内的表达式为真,则执行括号后面的 语句1。如果表达式值为假,则执行else后面的 语句2;语句1和语句2只能有一个被执行。
21
4.3.2 else子句
【例4-2】输入两个整数,将较大者输出。 /*程序4-2*/ #include<stdio.h> void main () { int a, b, max; printf("Please input the data a and b:"); scanf("%d, %d",&a, &b); if(a>=b) max=a; else max=b; printf("The max is %d\n", max); }
C语言程序设计-第四章简单计算器小程序-分支程序设计
P1 逻辑运算符 P2
或
逻辑运算符 P2
课堂练习: 求下面逻辑表达式的值: 2>1 && 4 && 7<3+!0
值为0
等价于((2>1)&&4)&&(7<(3+(!
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算的重要规则
a&&b:当a为0时,不管b为何值,结果为0
课堂练习:有下面定义的语句和逻辑表达式: int a=0,b=10,c=0,d=0 a && b && (c=a+10,d=100) 逻辑表达式执行后,a,b,c,d的值各为多少?
任务实现效果演示 例题源代码:switchcalculator.c
相关知识 1. switch语句 2. break语句
1 switch多分支选择结构
❖ 尽管用if…else if结构可以实现多分支,注但意当:分常支量较表多达时式,必程须序是结整构型较、复字杂符。型或枚举类型,不能是 实型表达式,每个case关键字后的常量表达式应互不相同
值为0 等价于i==(k>j),值为1
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算符与逻辑表达式
&&(逻辑与)、||(逻辑或)、!(逻辑非)(单目)
逻辑表达式的一般形式:
优先级: 1.由低到高: ||→ && → !; 2.多种运算符一起: = →|| →&& →关系运算符 →算术运算符→ !。
【】 简单计算器小程序:由用户输入运算数和四则运算符(+、-、*、/),输出计算结果。
【】
《C语言程序设计课件》第四章-数组
#include <stdio.h> #define N 10 int main(void)
{ int a[N], i; printf("Enter %d numbers: ", N);
for (i = 0; i < N; i++)
for(i=0;i<1;i++) if (a[i]>a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; }
a[0]
20
a[1]
02
a[2]
44
a[3]
55
a[4]
88
a[5]
99
for(i=0;i<5;i++) if (a[i]>a[i+1]) { ……}
for(i=0;i<4;i++) if (a[i]>a[i+1]) { ……}
4.2 一维数组
一维数组主要用来存储一组类型相同并且数量一定 的数据。其中,每个数据称为数组的一个元素。
4.2.1 一维数组定义 一维数组的定义形式如下: 类型名 数组名[常量表达式]; int x[100]; char string[10]; double data[10];
常量表达式给出了数组的长度,在C语 言中定义数组时必须确定数组的长度。
600
xxx[[[654]]]
700
xxx[[[765]]]
800
xxx[[[876]]]
900
xxx[[[987]]]
C语言程序的设计第四章顺序程序的设计
C语言程序的设计第四章顺序程序的设计在学习 C 语言程序设计的过程中,第四章的顺序程序设计是构建程序基础的重要环节。
它就像是搭建房屋的基石,为后续更复杂的程序结构奠定了坚实的基础。
顺序程序设计,简单来说,就是按照语句出现的先后顺序依次执行。
这是程序设计中最基本也是最常见的结构。
在这一章节中,我们首先要了解的是数据的输入和输出。
C 语言中,常用的输入函数是`scanf`,而输出函数则是`printf`。
就拿`printf`来说,它可以以各种不同的格式来输出数据,比如整数可以用`%d`,浮点数可以用`%f`,字符用`%c`等等。
通过这些格式控制符,我们能够让程序输出的内容更加清晰、准确,符合我们的预期。
在顺序程序中,变量的定义和使用也是关键的一部分。
变量就像是一个个小盒子,我们给它们贴上不同的标签(变量名),然后往里面存放不同类型的数据(比如整数、浮点数、字符等)。
定义变量的时候,要明确变量的类型,这决定了它能够存储的数据范围和精度。
比如说,我们定义一个整数变量`int num = 10;`,这里的`int`就是变量类型,`num`是变量名,`10`是给变量赋的初始值。
在程序执行过程中,这个变量的值是可以改变的。
接着,我们来谈谈算术运算。
C 语言提供了丰富的算术运算符,像加法`+`、减法``、乘法``、除法`/`以及取余`%`。
在进行算术运算时,要注意数据类型的匹配和运算的优先级。
比如,先乘除后加减,如果有括号,先计算括号内的表达式。
赋值运算也是经常用到的。
`=`这个符号可不是数学里的“等于”,而是把右边的值赋给左边的变量。
而且,还可以进行复合赋值运算,比如`+=`、`=`、`=`、`/=`等,这让代码更加简洁高效。
在顺序程序设计中,关系运算和逻辑运算同样不可或缺。
关系运算包括大于`>`、小于`<`、等于`==`、大于等于`>=`、小于等于`<=`、不等于`!=`,通过这些运算,我们可以比较两个值的大小关系,并根据结果做出不同的处理。
《C语言程序设计课件》第四章-循环语句
{ sum+=n; scanf("%d",&n); }
printf("The sum is :%d\n",sum);
return 0; }
从任意 n 个实数中选出最大数 和最小数
从任意 n 个实数中选出最大数和最小数
#include <stdio.h> int main( ) {
/*程序4-1*/ #include <stdio.h> int main() {
int i,sum=0; i=1; while(i<=100) {
sum += i; i++; } printf("sum=%d\n",sum); return 0; }
【例4-2】输入一行字符以回车键结束,分别 统计出其中英文字母、空格、数字和其它字符 的个数。
#include <stdio.h> int main( ) {
int i,n;
printf("This program prints a table of squares.\n"); printf("Enter number of entries in table:");
scanf("%d",&n); i=1; while (i<=n)
【例】求整数1~100的累加和,使用for语句实 现。
#include <stdio.h> int main() {
int i,sum=0; for(i=1;i<=100;i++)
C语言最简单的C程序设计
响铃 回车
#include “stdio.h”
main( ){
char a=‘A’,b=‘B’,c=‘\007’;
putchar(a); putchar(b); putchar(‘\n’);
putchar(c); sleep(3); putchar(c);
putchar(65);putchar(66);putchar(‘\007’);
radius=1.5; length=2*Pi*radius; area=Pi*radius*radius; printf(“radius=%f\n”,radius);
/*求圆周长*/ /*求圆面积*/ /*输出圆半径*/
printf(“length=%7.2f,area=%7.2f\n”,length,area);
sleep(3); putchar(‘\007’);
}
运行结果: AB
17
响 延时3秒 响 AB 响 延时3秒 响
4.2 getchar函数
功能:从键盘输入一个字符 形式:getchar( ) 特点:无参数,其值是从输入设备得到的字符。
#include “stdio.h”
main( ) {
char c;
13
四、字符数据的输入输出
14
4.1、putchar(字符输出函数)
功能:向输出设备输出一个字符。 形式:putchar(参数) 其中,参数可以是整型或字符型变量或常量。 例如:putchar(97) ; putchar(‘a’) ; 都输出字符 a,
char c=‘ b’ ; putchar ( c ) ;输出字符 b。
}
输出结果: a,a,c,ф
97,97,355,232对于整型数据,若用字符格式输出,由于整型
C语言习题3
第四章最简单的C程序设计4.1 选择题【题4.1】putchar函数可以向终端输出一个 D 。
A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值【题4.2】以下程序的输出结果是 D 。
main(){printf(“\n*s1=%15s*”, “chinabeijing”);printf(“\n*s2=%-5s*”, “chi”);}A)*s1=chinabeijing * B)*s1=chinabeijing **s2=**chi* *s2=chi *C)*s1=*chinabeijing* D)*s1= chinabeijing**s2=chi* *s2=chi *【题4.3】printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式【B;如果字符串长度小于5,则输出按方式【C】。
A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息【题4.4】已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的叙述是D 。
A)整型变量的输出格式符只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度【题4.5】以下C程序正确的运行结果是。
main(){long y=-43456;printf(“y=%-8ld\n”,y);printf(“y=%-08ld\n”,y);printf(“y=%08ld\n”,y);printf(“y=%+8ld\n”,y);}A)y= -43456 B)y=-43456y=- 43456 y=-43456y=-0043456 y=-0043456y=-43456 y=+-43456C)y=-43456 D)y= -43456y=-43456 y=-0043456y=-0043456 y=00043456y= -43456 y=+43456【题4.6】以下C程序正确的运行结果是。
C语言程序设计第四章
运行情况: 1989↙ 1989is not a leap year.
2000↙
2000 is a leap year.
C程序设计
第五章
选择结构程序设计
例4.6 求
2 ax bx c 0 方程的解
#include "stdio.h" #include "math.h" main() {float a,b,c,d,disc,x1,x2,realpart,imagpart; scanf("%f,%f,%f",&a,&b,&c); printf("The equation"); if (fabs(a)<=1e-6) printf("is not a quadratic"); else disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf("has two equal roots:%8.4f\n",-b/(2*a)); else if(disc>1e-6) {x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2); } else {realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf("has complex roots:\n"); printf("%8.4f+%8.4fi\n",realpart,imagpart); printf("%8.4f-%8.4fi\n",realpart,imagpart); } }
最简单的c程序
最简单的c程序最简单的C程序C语言是一种广泛应用于系统和应用程序设计的高级编程语言。
C语言的初学者们需要掌握C语言基础知识,其中最基础的知识点就是学会写最简单的C程序。
最简单的C程序通常包含一个main()函数,这个函数是程序的入口点,也称为程序的主函数。
在main()函数中,我们可以编写一些代码,通过C语言编译器进行编译,生成可执行文件,执行程序。
下面,我们将介绍最简单的C程序的编写过程。
首先,我们需要打开一个文本编辑器,例如Windows下的Notepad++或者Linux下的vim编辑器。
在文本编辑器中输入如下代码:```#include <stdio.h>int main(){printf("Hello, World!");return 0;}```这就是最简单的C程序了。
这个程序可以输出"Hello, World!"到控制台上。
让我们来仔细分析这个程序。
```#include <stdio.h>```这一行代码表示导入了标准输入输出头文件。
这个头文件中包含了一些常用的函数,例如printf()函数。
```int main(){printf("Hello, World!");return 0;}```这是程序的主函数。
在主函数中,我们使用printf()函数输出一段字符串。
printf()函数是C语言中最常用的输出函数之一。
它的作用是将格式化的字符串输出到控制台上。
第一行代码int main()是函数的声明。
其中,int表示返回值类型,main是函数名。
本程序的main()函数没有参数,所以用()表示没有参数。
printf()函数使用了双引号括起来的字符串作为参数,这个字符串称为格式化字符串。
在格式化字符串中,可以使用特殊的占位符,例如%s用于输出字符串,%d用于输出整数等等。
最后,return 0;表示程序返回值为0。
C语言简明教程第04章最简单C程序设计
getchar函数 功能:从标准输入设备上(键盘)输入一个且只
能是一个字符,并将该字符返回为函数的值。
格式:getchar();
没有参数 例:
#include <stdio.h>
注意:
main()
(1)只有在按“回车”键之后输入的字
{
符才有效.
int i;
(2)此函数只接受一个字符,而非一
i=getchar(); printf(“%c:%d\n”,i,i);
格式字符
说
明
l
用于长整型,可加在格式符d、o、x、u前面
%lf将修正为double型
h
将整型格式d、o、x、u修正为short型
m(正整数) 数据最小宽度
n(正整数) 对实数表示输出n位小数;对字串表示截取的字符个数
-
输出的数字或字符在域内向左靠
0
用“0”来填充数字前面的空位
长度修饰符:l(长),h(短),放在(1)格式字符前面。 域宽和精度描述符:m(域宽).n(精度),放在长度修饰符的前面。
格式控制符:规定 数据的输入格式, 必须由“ ”括起来 ,其内容包括格式 说明(修饰符)和 格式符两部分。
地址列表:由一个或多个 变量的地址组成,变量地 址之间以“,”分隔。也 可以是字符串的首地址。
在C语言中一个变量的地址 可以通过&地址运算符得到。 例如:int a,b;
则a,b的地址为&a,&b。
❖ 4.空语句。下面是一个空语句: ;
即只有一个分号的语句,它什么也不做。有时用来作被转向点,或 循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。
❖ 5.可以用{ }把一些语句括起来成为复合语句,如下面是一个复合 语句。 {z=x+y; t=Z/100; printf(”%f”,t); }
最简单的C程序设计(1)
返回值:所输入的一个字符。若文件结束或出错,则返回-1。 *说明:1、用getchar( )只能接收一个字符;
2、getchar( )函数没有参数;
3、由于该函数有返回值,故常出现在各种表达式中,作 为表达式的一部分,以它的返回值参与相应的运算。
例:4.2 输入单个字符。
注意:如果在一个函数中要调用getchar和putchar函数,应在该函数 (或)所在源文件的开头加上“包含命令” #include <stdio.h>
语 for( )~ 句 功 条件语句 循环语句 能 语 句 break switch 功 能 if( )~else~ 中止执行switch或循环语句 多分支选择语句
while( )~
continue
循环语句
提前结束本次循环语句
goto
转向语句
do~while( ) 循环语句
return 从函数返回语句
例4.9 用scanf函数输入数据 2.格式说明: 格式符的使用与printf函数中的相同。
几点说明:
⑴ 对unsigned型变量用cscanf函数赋值时,可采用%u、%d、 %o、%x格式。 ⑵ 可以指定输入数据所占地列数,这时系统将自动截取指定长 度的数据。 ⑶ 如果在%后有一个“*”附加说明符,表示跳过它指定的列数, 即将读入的指定长度的数据不赋给任何变量,而将下一个输入的数 据按下一个格式符的要求赋给相应的变量。例如:
① %e:不指定输出数据所占的列宽和小数部分的位数,由系统自动 确定:数值部分按规范化指数形式输出,且小数部分占6位,加上一位 整数和一位小数点,共占8列;指数部分含符号e、指数部分的符号(+ 或-)及3位指数,共占5列。总计占13列。
② %m.ne和%-m.ne:其中m、n和“-”的含义与前同,即m规定了 输出数据所占的整个列宽,n规定了数值中小数部分所占地列宽, “-”规定了对齐方向。
915145-C语言程序设计-第4章 选择结构程序设计
老年人
票价分类 两日联票
65周岁及以上
选择两日联票
• 常见错误
– 条件表示时,“==” 运算符误写作“=”运算符 – 数值0、1、…、9与数字字符’0’、’1’、…、’9’的混淆
4.2.2 逻辑运算
• • • 逻辑运算符
– 逻辑非(!)、逻辑与(&&)和逻辑或(||)
• 逻辑表达式求值方法
– 在逻辑表达式的求值过程中,按其操作数从左至右的 计算顺序,当某个操作数的值可以确定整个逻辑表达 式的值时,其余的操作数不再计算
4.2.3 短路求值
例如:假如有变量定义为 int x,y,z; 求下列表达式执行后,表达式的值和变量的值
序号
① ② ③ ④ ⑤ ⑥
变量初始值
x=y=z=1; x=2,y=0,z=1; x=y=z=1; x=0,y=1,z=2; x=0,y=1,z=2; x=0,y=1,z=2;
单分支 双分支 多分支 综合决策
– 选择控制结构
• 即根据条件进行判断选择执行相应操作的 问题,也称为分支控制结构 • 一般分为单分支、双分支和多分支三种结 构
• 实现的关键
– 判断条件的合法描述 – 选择操作流程的合理设计
4.1 门票价格问题
表4-1 上海迪士尼主题乐园的门票价格表
平日票
370
4.2 条件的表示
微视频:短路求值示例
4.3 单分支结构
• 问题
– 迪士尼门票规则
• 老年人:65周岁以上 平日票:280元,高峰日票:375元
分析 – 需要对条件(年龄大于等于65)进行判断
如果为真,则享受优惠票价 平日票:280元,高峰日票:375元
《C语言程序设计》教案 第四章 数组—一维数组
if(a[i]>average)
printf(“%f\n”,a[i]);
(2)在这里,a代表数组名,a[i]代表a数组中的一个元素,i是数组元素的下标,当i的值为1时,a[i]代表a[1];当i的值为2时,a[i]代表a[2]。在循环中当i从1变化到100时,a[i]也就逐个代表a[1]到a[100]。
if(a1>average)printf(“%f\n”,al);
if(a2>average)printf(“%f\n”,a2);
……
if(a100>average)printf(“%f\n”,a100);这样的程序是无法让人接受的。
解决上述问题方法:(1)在C语言中,我们可以定义一个名叫a的变量,它不代表一个单一的成绩值,而是代表整个成绩组。使用数组元素a[1]、a[2]、…、a[100]来代替a1、…、a2、…、a100,则程序就会简单得多,只需要用一个for循环就能完成100次比较:
每个数组元素也都可以作为单个变量使用。
3、一维数组(45分钟)
(1)一维数组的定义(先定义后使用)
格式:类型说明数组名[常量表达式]
例如:
int grades[10]; /*定义了一个数组grades,元素个数为10,数组元素类型为整型。*/
说明:1)数组的类型就是数组各个元素的类型,对于一个数组,所有元素的数据类型都是相同的。
(3)数组的下标:是数组元素的位置的一个索引或指示。
(4)数组的维数:数组元素下标的个数。根据数组的维数可以将数组分为一维、二维、三维、多维数组。
例如:int a[10];
定义了一个一维数组a,该数组由10个数组元素构成的,其中每一个数组元素都属于整型数据类型。
最简单的C程序设计—顺序程序设计
4.复合语句:把多个语句用括号{}括起来组成的一个语句称复合语句。
在程序中应把复合语句看成是单条语句,而不是多条语句。
例如:
{ x=y+z;
a=b+c;
printf(“%d%d”,x,a);
}
是一条复合语句。
复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能e
将有关“头文件”包括到源文件中。
使用标准输入输出库函数时要用到“stdio.h”文件,因此源文件开头应有以下预编译命令:
#include< stdio.h >
或
#include”stdio.h”
stdio是standard input &outupt的意思。
}
【例4.6】
main(){
int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
}
这两个程序的区别是用一个printf语句和多个printf语句输出。但从结果可以看出是不同的。为什么结果会不同呢?就是因为printf函数对输出表中各量求值的顺序是自右至左进行的。在第一例中,先对最后一项“-i--”求值,结果为-8,然后i自减1后为7。再对“-i++”项求值得-7,然后i自增1后为8。再对“i--”项求值得8,然后i再自减1后为7。再求“i++”项得7,然后i再自增1后为8。再求“--i”项,i先自减1后输出,输出值为7。最后才求输出表列中的第一项“++i”,此时i自增1后输出8。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
提高人机交互性建议:为改善人机交互性,同时简化输入操作,在
设计输入操作时,一般先用 printf() 函数输出一个提示信息,再用 scanf()函数进行数据输入。 例如,将scanf("num1=%d,num2=%d\n",&num1,&num2 );改为: printf("num1="); scanf("%d",&num1); printf("num2="); scanf("%d",&num2); 3.输入数据时,遇到以下情况,系统认为该数据结束: (1)遇到空格,或者回车键,或者Tab键。 (2)遇到输入域宽度结束。例如“%3d”,只取3列。 (3)遇到非法输入。例如,在输入数值数据时,遇到字母等非数 值符号(数值符号仅由数字字符0-9、小数点和正负号构成)。
1,输入10个数,输出其中最大者
S1:n=1 S2:输出一个数赋给max S3:如果n>10 转S8
S4:输入一个数赋给a
S5:如果max<a则max=a
S6:n=n+1
S7:转S3
S8:输出max
2,求1+2+…+100之和 S1:i=1,sum=0 S2: sum=sum+i S3: S4: i=i+1 if i<=100 goto S2
4.5.1 printf函数(格式输出函数) 1,printf函数 printf函数的一般格式为 printf(格式控制,输出表列)
(1)格式控制是用双引号括起来的字符串,该字符串包括
1)格式说明(由%后跟一个格式字符组成) 2)普通字符:原样输出的字符。 3)转义字符:转换成相应的功能或字符 形式1:只输出普通字符。例如:
格式输入函数, 功能:接收从键盘输入的数据
函数
scanf()函数的一般格式
scanf("格式字符串", 输入项首地址表); 空白字符和非空白字符(又称普通字符)。 格式指示符与 printf()函数的相似,空白字符作为相邻 2个输入数据 的缺省分隔符,非空白字符在输入有效数据时,必须原样一起输入
1)格式字符串。格式字符串可以包含3种类型的字符:格式指示符、
4.3
数据输入输出概念在C语言中的实现
数据的输入与输出在C语言中是以函数的形式 实现的,主要的函数有:printf , putch, putchar, puts ; scanf, getch, getchar, gets, 前 四个为输入函数,后四个为输出函数。其中 putchar, puts 和getchar, gets函数的调用必须在 主函数前加下面的文件包含命令:
2)输入项首地址表──由若干个输入项首地址组成,相邻2个输入
项首地址之间,用逗号分开。 输入项首地址表中的地址,可以是变量的首地址,也可以是字符
数组名或指针变量,但其地址个数必须和格式字符的个数相同。
变量首地址的表示方法: &变量名 其中“&”是地址运算符。
scanf的常用形式为:
scanf("%格式字符1%格式字符2",&变量名1,&变量名2) 程序运算时必须从键盘输入相应个数的数字,它们之间用空格 分开
#include <stdio.h>
4.4 字符数据的输入输出
4.4.1 putchar函数与putch函数(字符输出函数) 一般形式:putchar(字符型变量或字符常量);
putch(字符型变量或字符常量);
功能:输出指定字符 例4.1 输出单个字符
main()
{char a,b,c; a='B'; b='O';c='Y';
函数调用语句:函数名(参数表);
表达式语句:表达式后加一分号;如a=3;i=i+1;
空语句:只有一个分号的语句:;
复合语句:将多个语句用花括号括起来的语句,语法上 作为一个语句。如:
{t=a;a=b;b=t;}
4.2 赋值语句
一般形式:变量名=表达式;
功能:将表达式的值赋给指定的变量。
注意:等号左边不能是表达式或常数。 例:a=2; b=3;c='w'; 错误的赋值方式:x+y=z;x+1=2;
#include<stdio.h> main()
{char a,b,c;
a='B'; b='O';c='Y'; putchar(a);putchar(b);putchar(c); }
putch(a);putch(b);putch(c );
}
4.4.2 getchar函数和getch函数(字符输入函数) 一般形式:字符型变量=getchar(); 字符型变量=getch (); /*只能输入一个字符*/
输出八进制数据
例
ቤተ መጻሕፍቲ ባይዱ
输入两数,输出大者
main()
{float a,b,max; printf("input 2 real please:\n");
scanf("%f%f",&a,&b);
max=a>b?a:b;
printf("The max is %5.2f\n",max);
}
4.5.2 scanf
2,格式字符
%d %md %ld %c %f %m.nf %5.2f %s %u %x %o
按实际宽度输出整型数据 输出整型数据,不够m位则左边补空格
输出长整型数据
输出字符型数据 输出实型数据 输出实型数据,宽度为m位,其中小数占n位 输出实型数据,宽度为5位,其中小数占2位 输出字符串 输出无符号整型数据 输出十六进制数据
功能:接收从键盘输入的一个字符,并赋给指定的变量。输入时 按回车键结果输入。 main() 例4.2 输入单个字符 #include<stdio.h>
main() {char c; c=getchar(); putchar(c); {char c; c=getch (); putch(c);
}
}
4.5 格式输入与输出
函数1 ... 函数n
函数体 执行语句
源程序的编译过程:
编译(生成.obj文件) ->连接(生成.exe文件)
函数首部 数据声明
C语句可以分为5类:控制语句、函数调用语句、 表达式语句、空语句、复合语句。
控制语句:条件语句,循环语句,continue,break, return,goto 多分支选择语句等
S5: 输出sum
第四章 最简单的C程序设计 --顺序程序设计
主要内容:1,C语句介绍 2,字符数据的输入输出 3,格式输入与输出( scanf函数与printf函数) 重点:格式输入与输出
4.1 C语句概述
C程序的组成结构图 工程
源程序文件1
源程序文件2 ... 源程序文件n
预处理命令
预处理命令
printf("input 2 real:");
又如:printf(" max
is ");
形式2:只含有格式说明。如 printf("%d%f%c",2,3,97);
形式3:普通字符和格式说明都有。如:
i=2;j=3; printf("%d+%d=%d",i,j,i+j); 例 加法口决表 main() {int i, j; for(i=1;i<=9;i++) {for(j=1;j<=9;j++) printf (" %d+%d=%2d",i,j,i+j); printf("\n"); }}
例:求一元二次方程的解
1,输入系数
2,计算b2-4ac
3,根据b2-4ac的值求出根
4,输入方程的解。
作业:4.7
4.8
4.9
例
从键盘输入两个数和一个字符,然后输出
main()
{int a; char b; float c;
printf("input a b c:");
scanf("%d%c%f",&a,&b,&c);
printf("a=%d,b=%c,c=%f",a,b,c);
}
例 将输入的数据按域宽截取赋值
main()
{int a;
float b,c; scanf("%2d%3f%4f",&a,&b,&c); printf("a=%d,b=%f,c=%f",a,b,c); } 当运行时输入12345678987654321,则输出
a=12 b=345.000000 c=6789.000000