版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.1结构化程序设计的基本概念3.1.1三种基本结构C语言是结构化程序设计语言,结构化程序设计的思想是,用顺序结构、选择结构和循环结构等三种基本结构来构造程序;限制使用无条件转移语句(goto语句)。结构化程序设计可采用结构化流程图。图3-2三种基本控制结构3.1结构化程序设计的基本概念3.1.2C语句的基本语句1.函数调用语句由一个函数调用加一个分号“;”构成的语句,其一般形式为:
函数名([实际参数表]);例如:printf("thisisabook");//调用库函数输出字符串“thisisabook”3.1结构化程序设计的基本概念3.1.2C语句的基本语句2.表达式语句由表达式加一个分号“;”就构成了一个表达式语句。例如:sum=a+b;
//赋值语句i++; //自加运算表达式语句x=1,y=2; //逗号表达式语句3.1结构化程序设计的基本概念3.1.2C语句的基本语句3.控制语句控制语句用于控制程序流程,以实现程序的各种结构方式,共九种,即if语句(条件语句)switch语句(多分支选择语句)while语句(循环语句)do-while语句(循环语句)for语句(循环语句)break语句(终止执行循环语句或switch语句)continue语句(结束本次循环语句)goto语句(转向语句)return语句(从函数返回语句)3.1结构化程序设计的基本概念3.1.2C语句的基本语句4.复合语句由“{”和“}”把一些变量说明和语句组合在一起,称之为复合语句,又称语句块(Block)。例如:{inta=0,b=1,sum;
sum=a+b;
printf("%d",sum);}5.空语句只有一个分号“;”组成的语句。空语句表示什么也不做,必要时再补充完善。3.2顺序结构的基本语句3.2.1赋值语句赋值语句是由赋值表达式再加上一个分号“;”构成的表达式语句,其一般形式为:变量=表达式;例如:y=4; //将整数4赋给变量yx=y*5+2; //将表达式y*5+2的值赋给变量x3.2顺序结构的基本语句3.2.2格式输出函数printf()(教材P30~P33)C语言没有提供输入和输出语句,数据的输入和输出是通过函数调用来实现的。在C语言的标准函数库中,提供了一些用于输入和输出的函数,如printf()函数和scanf()函数等。1.printf()函数调用形式
printf函数是一个标准库函数,其调用的一般形式:
printf(格式控制字符串,输出列表);格式说明一般字符按原样输出转义字符作用:换行输出列表printf("a=%d\n",a);3.2顺序结构的基本语句3.2顺序结构的基本语句2.格式说明符格式说明符,用%开头后跟有一个字母,它规定了输出形式。如上面的%d,它规定了输出项a以整数形式输出,而%c,规定了输出项ch以字符形式输出。(1)输出整型、长整型、无符号整型数据格式控制符%md中的m是一正整数,为指定的输出字段的宽度,负号表示左对齐,缺省为右对齐;%ld中的l表示输出数据为长整型数据。(2)输出字符和字符串格式控制符%m.ns中的m、n是正整数,m为指定的输出字段的宽度,n是从字符串中截取字符的个数,负号表示左对齐,缺省为右对齐。3.2顺序结构的基本语句(3)输出实型数据格式控制符%m.nf中的m、n是正整数,m为指定的输出字段的宽度,n是小数的位数,负号表示左对齐,缺省为右对齐。(4)转义字符的输出转义字符就是以“\”开头的字符序列。例如,语句printf("\nhelloworld");中的‘\n’就是转义字符,其作用是在输出时产生一个“换行”操作。“\n”换行符还可以插入到所需要的地方,来控制屏幕输出格式。表2printf函数常用类型格式符表格式字符格式字符含义d以十进制形式输出一个带符号的整数(默认正数不输出符号)o以八进制形式输出一个无符号的整数(默认不输出前导符0)x,X以十六进制形式输出一个无符号的整数(默认不输出前导符0x或0X)
u以十进制形式输出一个无符号的整数f以小数形式输出带符号的实数(包括单、双精度)e,E以指数形式输出带符号的实数g,G选择%f或%e格式输出实数c输出一个单字符s输出一个字符串3.2顺序结构的基本语句3.2顺序结构的基本语句【例2-7】表达式值的输出。程序如下:main(){inta,b,s;a=5;b=2;printf("a=%d,s=%d",a,a+b);}运行结果:a=5,s=7【例2-8】输出格式符的用法。程序如下:main(){charb;b=97;/*将ASCII码值为97的字符赋给变量b*/printf("%c\n",b);/*输出b后换行*/printf("%s","doyouknowit?");/*输出字符串常量*/}运行结果:adoyouknowit?3.2顺序结构的基本语句3.2.3格式输入函数scanf()1.scanf()函数的一般形式scanf(格式控制,变量地址列表);功能:从指定的输入设备(默认为键盘),按指定的格式读入数据,并将读入的数据赋给变量地址列表中的相应变量。说明(1)“格式控制”的含义同printf()函数;(2)“变量地址列表”是以逗号相隔的变量,且必须带地址符&,不能是常量,也不能是表达式。3.2顺序结构的基本语句2.格式说明符scanf()函数中的格式说明符的使用与printf()函数类似,必须用%开头后面跟一个字母(也可以在其中间增加附加字符),它规定了输入项对应的输入数据格式。同样格式说明符要在个数和类型上与输入项相匹配。//【例】用scanf()函数输入数据。#include<stdio.h>voidmain(){ inta,b; printf("请输入2个整数:");
scanf(“%d%d”,&a,&b);/*修改格式如%d,%d等该怎么输入*/ printf("a=%d,b=%d\n",a,b);}3.2顺序结构的基本语句【例2-9】本程序展示输入函数的用法。程序如下:main(){inta,b;floatc,d;printf("请输入变量的值:");/*提示用户的信息*/scanf("%d%d",&a,&b);scanf("%f,%f",&c,&d);printf("%d%d%f%f",a,b,c,d);}运行结果:请输入变量的值:12719.1,21↙12719.10000021.0000003.2顺序结构的基本语句3.2.4字符输出函数putchar()格式:putchar(ch);功能:通过标准输出设备(显示器)输出一个字符。说明:(1)ch可以是字符常量、字符变量或整型变量,当ch是字符型数据时,输出的是字符本身;当ch是整型数据时,输出的是整型数据的ASCII码对应的字符。(2)ch也可以是转义字符,以控制一个动作。例如:putchar('B'); //输出字符Bputchar(65); //输出ASCII码值65对应的字符,即字符Aputchar('\n'); //换行3.2顺序结构的基本语句3.2.5字符输入函数getchar()格式:getchar();功能:从键盘上接收输入的一个字符。返回一个整数,即输入字符的ASCII码值。【例2-10】利用putchar函数实现在显示器上输出CHINA的信息。程序如下:#include"stdio.h"/*使用字符输入输出函数时必须包含此头文件*/main(){chara,b,c,d,e;a='C';b='H';c='I';d='N';e='A';putchar(a);putchar(b);putchar(c);putchar(d);putchar(e);}运行结果:CHINA【例2-11】利用getchar和putchar函数,实现输入一个字符并输出。程序如下:#include"stdio.h"main(){charc;printf("Pleaseinputacharacter:");c=getchar();
/*把接收到的字符存储到变量c中*/putchar(c);
/*输出变量c的内容*/}运行结果:Pleaseinputacharacter:m↙m3.3情景应用——案例拓展案例1:字符的魔法变幻
【问题描述】
小写字符刹间变成大写字符,你信吗?在C语言中是区分大小写的,利用ASCII码中大写字符和小写字符之间的差值是32的特性,可实现大小写字符间的互相转换。//案例:字符的魔法变幻#include<stdio.h>voidmain(){charch1,ch2;ch1=getchar();ch2=ch1-32;printf("\nletter:%c,ASCII=%d",ch1,ch1);printf("\nletter:%c,ASCII=%d",ch2,ch2);}【例3-1】从键盘上输入圆柱体的底半径r、高h的值,输出圆柱体体积V。程序如下:
main(){floatr,h,pi=3.14159;
/*定义变量类型*/printf("Pleaseinputradius&high:");
/*屏幕提示输入半径和高*/scanf("%f%f",&r,&h);
/*为r,h提供数据*/v=pi*r*r*h;
/*运算部分*/printf("radius=%7.2f,high=%7.2f,vol=%7.2f\n",r,h,v);
/*输出结果*/}运行结果:Pleaseinputradius&high:1.02.0↙radius=1.00,high=2.00,vol=6.28【例3-2】从键盘任意输入两个整数,求它们的平均值及和的平方根。程序如下:#include"math.h"main(){intx1,x2,sum; /*类型说明*/floataver,root;printf("Pleaseinputtwonumbers:");scanf("%d,%d",&x1,&x2);/*提供数据*/sum=x1+x2; /*数据处理:求和*/aver=sum/2.0; /*数据处理:求均值*/root=sqrt(sum); /*数据处理:求方根*/printf("x1=%d,x2=%d\n",x1,x2);printf("
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豆科岩黄耆属:系统发育解析与生物地理探究
- 调和数的p - adic赋值:理论、方法与应用研究
- 2026西藏自治区高层次人才引进496人笔试备考题库及答案详解
- 语篇分析赋能大学英语精读教学:理论、实践与成效探究
- 语法辅助词块法在高中英语写作教学中的应用:理论、实践与成效探究
- 语境信息对大学生CET-6写作质量的影响:基于实证与文本分析
- 语义场理论赋能初中英语词汇教学:策略与成效探究
- 词块法赋能:专科生英语阅读能力进阶的实证探究
- 2026四川乐山市市场监督管理局下属事业单位考核招聘2人考试模拟试题及答案详解
- 2026江苏南通市通州区招聘通州湾示范区安全生产专属网格员40人笔试备考题库及答案详解
- 2026全国一卷语文真题 (回忆版)
- 冶金行业班组安全管理制度培训
- 2026广东广州市人力资源和社会保障局系统事业单位招聘事业编制人员166人(第一次)考试备考试题及答案解析
- 2025年贵州省黔南州事业单位遴选笔试真题及参考答案
- 2026年河南六级下半2026年考试试题及答案
- 安徽省皖江名校联盟2026年5月高三最后一卷地理+答案
- 2025湖南省长沙市中考英语真题(解析版)
- 2026年企业并购重组中的人力资源整合
- 2026-2030中国止血药市场应用趋势调研及投资前景展望研究报告
- 辽宁省沈阳126中学2026届初中英语毕业考试模拟冲刺卷含答案
- 中建三局新员工转正考核
评论
0/150
提交评论