linux下程序开发-复合语句及输入输出.笔记
2010年04月24日
小术..
..坚强..勇敢..专注..快乐..幸福.. 复合语句
一对大括号{}包围若干条语句组成。
格式:
{[数据说明部分;]
执行语句部分;
}
注意:
(1)在复合语句中的“内部数据描述语句”中定义的变量,是局部变量,仅在复合语句中有效。
(2)复合语句结束的“}”之后,不需要分号,括号是用来结构化(界定范围)的,不是执行语句,所以不需要分号。
(3)复合语句可以出现在任何数据操作语句可以出现的地方。
例:
#include
void main()
{
int a=11,b=21,c=31;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
{
int b=22;
float c=3.3;
printf("a=%d\tb=%d\tc=%f\n",a,b,c);
a=b;
}
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}
执行结果:
a=11 b=21 c=31
a=11 b=22 c=3.300000
a=22 b=21 c=31
在复合语句中重新声明的全局变量,只对复合语句作用,复合语句外的参数不受影响
如果在复合语句中直接对参数进行操作,不作声明,则复合语句外的参数受影响
另 用表示标准头文件"stdio.h"表示在当前目录寻找(视为自定义头文件)
程序结构
C语言提供三种结构化语句来控制程序的执行流程:
顺序结构:按照语句书写顺序执行的程序结构
选择结构:又称分支结构,是指有条件地选择要执行的程序段(流程图)
循环结构:重复执行某一程序段
循环结构
1.当循环结构:当条件成立时,反复执行程序段,否则不执行.
2.直到型循环结构:先执行程序段,再判断条件是否成立(至少执行一次程序段)
3.选择型循环结构:根据不同的条件执行不同的程序段
输入输出语句
c语言本身不提供输入输出语句
c语言的输入输出功能由c语言的标准I/O库函数提供
c语言的输入输出库函数名称不是保留字(或关键字).如printf,scanf
字符输入与输出函数
1.字符输入函数
(1)函数原型
int getchar(void)
int是函数的返回值类型,getchar是函数名称,void表明无参数
(2)函数功能
从标准输入设备(一般为键盘)读入一个字符,返回该字符的ASCII码值,并且将高入的字符"回显"到屏幕
例:
#include
void main()
{
int a;
char b;
a=getchar();
b=getchar();
printf("a=%c\ta=%d\tb=%c\tb=%d\n",a,a,b,b);
}
注:
%c是输出一个字符
%d是输出一个整型值
调用函数getchar时,程序执行被中断,等待用户从键盘输入数据,当用户键入字符并回车以后,程序继续运行,当用户输入字符后未回车,则输入的内容一直保留在键盘缓冲区中,只有用户键入回车键后字符输入函数getchar才进行处理,回车键也作为一个字符读入,所以,如果程序中有两个以上函数应该一次性输入所需要字符地最后再读取回车键
无论输入的是英文字母或标点符号还是数字,都是作为字符输入.
字符输出函数
(1)函数原型
int putchar(int);
int:函数返回值类型 putchar函数名
例:
#include
main()
{
int a=65;
char b='B';
putchar(a);
putchar(65+1);
putchar(b);
putchar('B'+1);
}
运行结果:ABBC
函数调用的一般形式:
printf("格式控制字符串",输出项列表);
格式控制字符:
(1)组成:普通字符\转义字符\格式说明
普通字符:按原样输出,主要用于输出提示信息
转义字符:指明特定的操作 例:\t\n
格式说明:由"%"和"格式字符串"组成
例:
#include
void main()
{
int a=97,b=98;
printf("1:%d %d\n",a,b); /*普通字符,原样输出*/
printf("2:%d,%d\n",a,b); /*a,b以十进制整数形式输出*/
printf("3:%c,%c\n",a,b); /*a,b以字符形式输出*/
printf("4:a=%d,b=%d",a,b);
}
运行结果:
1:97 98
2:97,98
3:a,b
4:a=97,b=98
格式说明的形式::
%[flags][width][.prcc][F|N|h|L][typc]
flags:可选的标志字符
-:左对齐输出,缺省为右对齐输出
+:正数输出为加号,负数输出为减号
空格:正数输出空格代替加号,负数输出减号
例:%+d,%-d,% d
width:十进制整数,指定输出的宽度
指定宽度>实际宽度, 被空格
指定宽度c 输出一个字符
s 输出字符串
f 以小数形式输出单、双精度数,隐含输出6位小数
e(E) 以指数形式输出单、双精度数,小数位为6位
g(G) 由给定的值和精度自动选用%f或%c或%E格式
% 输出百分号
例1:
printf(“%d\n",100);
printf("%5d\n",100);
printf("%8d\n%8d",100,100*100);
printf("%4c,%c\n",'A','A');
printf("%-8s,%8.2s","Name","Name")
例2:
#include
void main()
{
int i=8;
printf("%d\t%d\t%d\n",++i,--i,i--); /*计算方向:
void main()
{
int a=3,b=4;
printf("%d\n",(a=b,b,a+3));
printf("%d\n",a=b,b,a+3);
}
输出结果:
7
4
格式输入函数
scanf 遇文件结束返回EOF ,出错返回0
scanf(“格式控制字符串”,地址列表);
格式控制字符串,必须用英文的双引号括起来,由普通字符和格式说明字符地组成。
地址列表:由若干个地址组成的列表
变量的地址、字符串的首地址、指针变量等,以(,)间隔
格式控制符:
(1)组成:普通字符、格式说明
普通字符:键盘输入时,要按原样输入,一般起分隔或提示的作用
格式说明: %
scanf("i=%d",&i);/*把用户的输入存放到变量i的地址*/
printf("i=%d",i);
&:是取地址的符号
scanf("%d%d%d",&a,&b,&c);
例2:
#include
void main(0
{
int a,b;
printf("input a,b:");
scanf("%d%d",&a,&b);
printf("a=%d,b=%d",a,b);
}
运行结果:
intput a,b
输入并回车后,
输出
a=XX,b=XX
注意事项:
scanf()的格式控制字符串中没有转义字符。如scanf("%d\n",&a);是错误的。
scanf()的格式控制字符串中的普通字符不是用来显示的,而是输入时要求照普通字符输入的。
scnaf()中参数的第二部分一定是地址列表,不能是表达式。
例1:输入一个华氏温度,输出对应的摄氏温度。输出取一位小数。转换公式为C=5/9(F-32)
#include
void main()
{
float c,f;
scanf("%f",&f);
c=5.0/9*(f-32);
printf("%.1f\n",c);
}
例2:输入两个整数a、b,将它们交换,如a=3,b=5,交换后a=5,b=3
#include
void main()
{
int a,b,c;
scnaf("a=%d,b=%d",&a,&b)
printf("a=%d,b=%d\n",a,b);
c=a;
a=b;
b=c;
printf("a=%d,b=%d\n",a,b);
}
例3:从键盘输入圆半径,求圆的面积和周长,结果保留两位小数。
#include
#include
void main()
{
float r,area,peri;
scanf("%f",&r);
area=3.14*pow(r,2);/*函数pow(x,y)表示x的y次方*/
peri=2*3.14*r
printf("area=%.2f,peri=%.2f\n",area,peri);
}
发表评论
-
【援引】中考酡语语法总温虾讪项实战练习练习
2012-01-20 11:34 692【援引】中考酡语语法总温虾讪项实战练习练习 2012年01月 ... -
花瓣采集js解析-greatqn-博客园
2012-01-20 11:34 1626花瓣采集js解析-greatqn-博客园 2012年01月1 ... -
javascript异常处理-乾蓝洛-博客园
2012-01-19 16:25 451javascript异常处理-乾蓝洛-博客园 2011年10 ... -
转载:全面介绍javascript异常处理(try…catch…finally window.onerror)
2012-01-19 16:25 532转载:全面介绍javascript异常处理(try…catch ... -
《JavaScript高级程序设计》学习笔记――错误处理与调试
2012-01-19 16:25 646《JavaScript高级程序设计》学习笔记――错误处理与调试 ... -
ecshop transport.js/run() error:undefined
2012-01-19 16:25 714ecshop transport.js/run() error ... -
Handling metadata and cue points in Flash video(AsyncErrorEvent text=Error #2095 flash.net.NetStream)
2012-01-19 16:25 908Handling metadata and cue point ... -
小学生作文教学生活化
2012-01-17 06:08 569小学生作文教学生活化 2010年07月22日 小学 ... -
如何提高小学生写作文的能力
2012-01-17 06:08 692如何提高小学生写作文 ... -
提高小学生作文能力的几种基本方法
2012-01-17 06:08 612提高小学生作文能力的 ... -
小学生作文训练
2012-01-17 06:08 483小学生作文训练 2011年0 ... -
2011、一切已成为神马、不再浮云
2012-01-16 04:50 5692011、一切已成为神马、 ... -
成绩神马的是浮云对不对
2012-01-16 04:50 596成绩神马的是浮云对不对 2012年01月13日 今天是1 ... -
神马都是浮云~ ~我们的第一个学期
2012-01-16 04:49 565神马都是浮云~ ~我们的第一个学期 2012年01月13日 ... -
神马都是浮云是不是好题目
2012-01-16 04:49 495神马都是浮云是不是好题目 6小时前 喜欢一个人听喜欢的歌 ... -
神马都是浮云
2012-01-16 04:49 507神马都是浮云 2011年12月31日 那一年还没有猫扑 ...
相关推荐
嵌入式Linux下C程序设计--02输入输出语句.ppt
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
选择结构程序设计if-else语句推选PPT文档.pptx
python1.使用while循环实现输出2-3+4-5+6...+100 的和_一个倔强的女孩的博客-CSDN博客_python1+2+3+4+5+6+…+100代码.pdf
C#应用程序开发
嵌入式Linux下C程序设计--03分支语句.ppt
C语言中if-else语句的嵌套分析.pdf
SQL Server数据库应用与开发:第06章 Transact-SQL语句的高级应用.ppt
第08课语句(5)-循环语句[归纳].pdf
一个免费非开源的用以开发数据库应用程序的图形化工具,使用它,您可以浏览数据库对象,运行SQL语句和SQL脚本,编辑和调试PL / SQL语句。
C程序的流程--程序控制结构与语句.pptx
hive是基于Hadoop的一...Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive是十分适合数据仓库的统计分析和Windows注册表文件。
这是Linux平台下,CMAKE V3.16.0版本源码。CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMAKE产生工程文件,再由平台的编译工具利用工程文件编译可执行文件。
...
...
...
...
Linux运维-嵌入式物联网开发教程-运算符和流程控制语句.mp4
Visual Basic课件:第7章-程序控制语句-选择.ppt