版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主讲:王广正wgz80930C 语言程序设计第3章 简单C程序设计 程序的三种基本结构顺序结构AB选择结构YNABP成立?循环结构NYP成立?AYNAP成立?直到型循环当型循环第三章 简单的C程序设计C语言的语句类型数据输出数据输入顺序结构程序设计要求:重点掌握数据的输入输出函数3.1 C语言的语句类型主要内容:说明性语句表达式语句控制语句复合语句说明性语句对程序中使用的变量、数组、函数等操作对象进行定义、声明的描述语句只起说明作用,不产生可执行的机器指令代码。 例如:int a,b; float function( int, int);C程序由函数组成。函数的格式:函数名(参数表) 说明部分
2、; 执行部分;数据类型说明语句可执行语句表达式后面加一个分号,构成表达式语句x=3; y=y+5; x=a-b & c | d ; printf(x=%d, y=%dn,x,y); sort(a,10); 3.2表达式语句 赋值语句函数调用语句注意: 分号是语句必不可少的一部分 单独的一个分号“;” 构成一个空语句例如: ; (空语句,是最简单的C语句)控制语句1选择分支控制语句 if ( ) else switch ( ) 2循环控制语句 for ( ) while ( ) do while ( )3其他控制语句 break、continue、gotoreturn3.3复合语句 用一对花括号
3、“”括起来的若干条语句 花括号中可以是说明语句、表达式语句、控制语句,也可以是复合语句例如: if (ab) max=a; min=b; for(n=1; n= 100 ) printf(“dn”, p); break; 复合语句(续)复合语句中如果有说明性语句,应该写在可执行语句的前面例如: main( ) int a=3,b=5; if(ab) int max; max=a; printf(“max=%dn,max); else 要特别注意:花括号的配对花括号的位置C语言学习的难点之一3.4 字符数据的输入输出主要内容:字符输出函数(putchar)字符输入函数(getchar)3.4.1
4、 putchar函数函数调用的一般形式: putchar(c) 功能:在标准输出设备(即显示器屏幕)上输出一个字符。它输出字符变量c的值,c可以是字符型变量或整型变量或转义字符。例如:putchar(b); putchar(n); putchar(101);putchar(st); putchar函数说明putchar是C语言的标准库函数,使用时必须加编译预处理命令:#include stdio.h 或 #include 【例】利用putchar函数输出字符。#include stdio.h main( ) char c1,c2; c1=a ; c2=b ; putchar(c1);putch
5、ar(c2); putchar(n); putchar(c1-32);putchar(c2-32); putchar(n);也可改为c1=97 ; c2=98 ; 输出结果:ab AB3.4.2 getchar函数函数调用的一般形式 getchar( ) 功能:从标准输入设备(即键盘)上输入一个字符。它没有参数,函数的值就是从输入设备得到的字符。例如:getchar( ) ; c = getchar( ); printf(%c n,getchar( );例如:【例4.2】getchar函数的应用。 #include stdio.hmain( ) char c; c=getchar( ); pu
6、tchar(c); putchar(n); a从键盘上输入字符将字符给赋值给变量ca在屏幕上输出getchar函数说明:getchar是C语言的标准库函数,使用时必须加编译预处理命令:#include stdio.h 或 #include 使用getchar函数,接收到输入字符之后才继续执行程序。 连续使用getchar函数时,要注意字符的输入形式 ,例如执行如下程序段:char ch1,ch2;ch1=getchar( );ch2=getchar( );必须连续输入两个字符,中间不能有其他字符3.5 格式输入与输出主要内容:格式输出函数(printf)格式输入函数(scanf)3.5.1 p
7、rintf函数函数调用的一般形式 printf(格式控制, 输出列表) 功能:按格式控制所指定的格式,在标准输出设备上输出“输出列表”指定的数据的值。例如有程序段 :int a=123,b=100; printf(%d %d %dn,a,b,a+b); printf (c = %d + %d = %dn,a,b,a+b ); 格式控制 用双引号括起的字符串,用于指定输出数据的类型、格式、个数包括:普通字符和格式说明符照原样输出 printf (c=%d+%d=%dn, a, b, a+b );格式说明符:指定输出3个十进制整型数,分别为变量 a、b、ab的值输出格式说明符整型数据 %d以有符号
8、十进制形式输出整型数%o以无符号八进制形式输出整型数%x以无符号十六进制形式输出整型数%u以无符号十进制形式输出整型数实型数据 %f以小数形式输出实型数%e以指数形式输出实型数%g按数值宽度最小的形式输出实型数字符型数据 %c输出一个字符%s输出字符串其他 %输出字符 % 本身在和格式符之间可以使用附加说明符附加格式说明符 l输出长整型数(只可与d、o、x、u结合用)及double型数据(%lf,%le)m指定数据输出的宽度(即域宽).n对实型数据,指定输出 n 位小数;对字符串,指定左端截取n 个字符输出+使输出的数值数据无论正负都带符号输出-使数据在输出域内按左对齐方式输出整数位数+小数位
9、数+小数点 自动对n位后小数四舍五入 例如:%ld 输出十进制长整型数 %m.nf 右对齐,m位域宽,n位小数或n个字符%-m.nf 左对齐 格式输出举例例3.3 无符号数据的输出#include main()unsigned int a=65535;int b=-2;printf(“a=%d,%o,%x,%un”,a,a,a,a);printf(“b=%d,%o,%x,%un”,b,b,b,b);格式输出举例(续)例3.4 字符数据的输出#include main()char c=a;int i=97;printf(“%c,%dn”,c,c);printf(“%c,%dn”,i,i);格式输
10、出举例(续)例3.5 字符串的输出#include main() printf(“%3s,%7.2s,%.4s,%-5.3sn”,”CHINA”,”CHINA”,”CHINA”,”CHINA”);格式输出举例(续)例3.8 输出实数时指定小数位数#include main()float f=123.456;printf(“%f %10f %10.2f %.2f %-10.2fn”,f,f,f,f,f);注意:printf函数格式控制中的格式说明符与输出参数的个数和类型必须一一对应。 格式说明符的 % 和后面的描述符之间不能有空格。除 %X、%E、%G外类型描述符必须是小写字母。 长整型数应该用
11、ld(或lo、lx、lu)格式输出,否则会出现输出错误。 如果想输出“”,则应该在格式控制字符串中连续使用两个“”。3.5.2 scanf函数函数调用的一般形式 scanf(格式控制, 地址列表); 功能:按格式控制指定的格式,从标准输入设备(即键盘)输入数据,并依次存放到对应地址列表指定的变量中(即将输入值赋给变量)。 例如:scanf (%d%f,&a, &f); scanf (%o, %f , &b,&x); scanf (a=%d, b=%d,&a,&b); 格式控制 用双引号括起的字符串,用于指定输入数据的类型、格式、个数以及输入的形式 包括:普通字符和格式说明符照原样输入 scan
12、f (a=%d, b=%d, &a, &b);格式说明符:指定输入2个十进制整型数赋给变量 a 和 b输入格式说明符整型数据 %d输入十进制整型数%u输入无符号的十进制整型数%o输入八进制整型数%x输入十六进制整型数实型数据 %f输入小数形式的单精度实型数%e输入指数形式的单精度实型数字符型数据 %c输入单个字符%s输入一个字符串在和格式符之间可以使用附加说明符附加格式说明符 l与d、o、x、u结合输入长整型数与 f 结合输入double型数m指定数据输入的宽度(即域宽)*忽略读入的数据(即不将读入数据赋给相应变量)例如:%ld、%lo输入十进制、八进制长整型数%lf、%le输入双精度实型数%
13、mf输入m位数(域宽)%*d忽略输入的一个整型数对float和double型指整数位数+小数点 +小数位数例如:scanf (%d%d%d, &a, &b, &c); 输入3个整型十进制数,以空白符(空格、tab键或回车键)分隔 scanf (%d, %o, %f , &a, &b, &x); 输入3个数,以“,”分隔scanf (a=%d, b=%d, &a, &b); 输入的形式是:a=32, b=28 (普通字符要照原样输入)格式输入举例例4.9 用scanf函数输入数据#include main()int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%
14、d,%d,%dn”,a,b,c);使用scanf函数应注意: 要求在程序运行中输入数据,输入的数据个数和类型必须与格式说明符一一对应。地址参数形式:&变量名(除数组或指针变量) 格式控制中有普通字符时,必须照原样输入。格式控制中无普通字符时,输入的数值型数据和字符串用空白符分隔,字符型数据不必分隔。 double型数据输入时,必须用%lf或%le格式实型数输入时域宽不能用m.n形式的附加说明 为了减少不必要的输入量,除了逗号、分号、空格符以外,格式控制中尽量不要出现普通字符,也不要使用 n 、t 等转义字符scanf (%c%c%c, &ch1, &ch2, &ch3);要输入:abc不能输入
15、:abc注意数值型数据与char型数据的混合输入注意(续) :格式符之间若无普通字符,则:输入的数值型数据用空白符分隔输入的 char型数据不必分隔 例如:scanf (%d%d, &m, &n);scanf (%c, &ch); 错误输入:3228a 正确输入:3228a 补充说明 如果程序中只包含printf函数和scanf函数,可以不加#include 但建议在所有的程序中都加上 #include 3.6 顺序结构程序设计顺序结构程序的一般算法描述变量定义变量赋值运算处理输出结果可用:变量初始化赋值语句输入函数调用语句注意各个语句的顺序顺序结构程序设计举例 【例】数据交换。从键盘输入a、
16、b的值,输出交换以后的值。 思路: 在计算机中交换变量a和b的值,不能只写下面两个赋值语句: a=b ; b=a ; ?正确的交换方法:c=a ; a=b ; b=c;程序:main( ) int a,b,c; printf(ninput a, b: ); scanf(%d,%d,&a,&b); printf(nbefore exchange:a=%d b=%dn,a,b); c=a; a=b; b=c; printf(after exchange: a=%d b=%dn,a,b);程序运行情况如下:input a, b: 32, 57 before exchange: a=32 b=57 after exchange: a=57 b=32 举例: 【例】已知三条边a、b、c,求三角形面积。计算三角形面积的海伦公式: 其中:设定义:整型变量 a、b、c实型变量 s 、 area程序如下: #include math.hmain( ) int a,b,c; float s,area ; scanf(%d, %d, %d,&a,&b,&c);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智慧城市建设中股东股权变更管理合同3篇
- 2025年度跨境电商仓储租赁服务协议3篇
- 2025年度教育科技公司股权置换合同样本3篇
- 2025年度汽车环保材料研发与应用合作合同3篇
- 二零二五年度纳米材料研发委托合同2篇
- 二零二五年度智慧养老设施运营管理服务合同3篇
- 二零二五年度农村土地置换与农业人才培养合作协议2篇
- 2025年度公司高管聘用合同全新版:企业数字化转型合作协议3篇
- 二零二五年度养殖场动物福利保障承包协议3篇
- 二零二五年度智能办公空间租赁合同(2025)3篇
- 2025年安徽交控集团招聘笔试参考题库含答案解析
- 促进临床合理用药持续改进措施
- MOOC 数字电路分析与设计-浙江大学 中国大学慕课答案
- 食堂日常考核评分表(后勤)
- 高频淬火设备安全操作规程
- 闸阀的操作力矩参考表
- 浙江省市政工程安全台账完整
- 环氧树脂参考配方大全
- 花木绿化养护考核评分表
- #2锅炉炉膛内脚手架搭设及拆除施工方案
- 110KV变电站工程创优监理实施细则
评论
0/150
提交评论