C语言顺序程序设计详解(scanf,printf,getchar,putchar等函数)
一、C语言语句概述:
C语句分为以下五类:
<1>:表达式语句->表达式语句由表达式加上分号“;”组成。
<2>:函数调用语句->由函数名、实际参数加上分号“;”组成。
<3>:控制语句->
条件判断语句:if语句、switch语句;
循环执行语句:do while语句、while语句、for语句;
转向语句:break语句、goto语句、continue语句、return语句。
<4>:复合语句:把多个语句用括号{}括起来组成的一个语句称复合语句
例如:{ x=y+z;
a=b+c;
printf(“%d%d”,x,a);
}
<5>:空语句:只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如:while(getchar()!='\n');
1、C语言赋值语句详解:
变量=(变量=表达式)
[cpp]
a=b=c=d=e=10
按照赋值运算符的右结合性,因此实际上等效于:
e=5;
d=e;
c=d;
b=c;
a=b;
2、putchar 函数(字符输出函数)
putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。
其一般形式为:
putchar(字符变量)
3、getchar函数(键盘输入函数)
getchar函数的功能是从键盘上输入一个字符。
其一般形式为:
getchar();
通常把输入的字符赋予一个字符变量,构成赋值语句,如:
char c;
c=getchar();
4、C语言格式输出函数printf()详解
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)
格式字符串
在Turbo C中格式字符串的一般形式为: [标志][输出最小宽度][.精度][长度]类型。其中方括号[]中的项为可选项。
各项的意义介绍如下:
类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:
格式字符 意 义
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀0)
x,X 以十六进制形式输出无符号整数(不输出前缀Ox)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e,E 以指数形式输出单、双精度实数
g,G 以%f或%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
标志:标志字符为-、+、#、空格四种,其意义下表所示:
标 志 意 义
- 结果左对齐,右边填空格
+ 输出符号(正号或负号)
空格 输出值为正时冠以空格,为负时冠以负号
# 对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点
5、C语言格式输入函数scanf()详解
scanf(“格式控制字符串”,地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。
[cpp]
scanf("%d%d%d",&a,&b,&c);
格式字符串的一般形式为:%[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项。各项的意义如下:
类型:表示输入数据的类型,其格式符和意义如下表所示。
格式 字符意义
d 输入十进制整数
o 输入八进制整数
x 输入十六进制整数
u 输入无符号十进制整数
f或e 输入实型数(用小数形式或指数形式)
c 输入单个字符
s 输入字符串
“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:scanf("%d %*d %d",&a,&b);。当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。
宽度:用十进制整数指定输入的宽度(即字符数)。
例如:
scanf("%5d",&a);
输入12345678只把12345赋予变量a,其余部分被截去。
又如:
scanf("%4d%4d",&a,&b);
输入12345678将把1234赋予a,而把5678赋予b。
长度:长度格式符为l和h,l表示输入长整型数据(如%ld) 和双精度浮点数(如%lf)。h表示输入短整型数据。
使用scanf函数还必须注意以下几点:
scanf函数中没有精度控制,如:scanf("%5.2f",&a);是非法的。不能企图用此语句输入小数为2位的实数。
scanf中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a);是非法的,应改为scnaf("%d",&a);才是合法的。
在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
例如:
scanf("%c%c%c",&a,&b,&c);
输入 d e f 则把'd'赋予a, ' ' 赋予b,'e'赋予c。只有当输入为 def 时,才能把'd'赋于a,'e'赋予b,'f'赋予c。
如果在格式控制中加入空格作为间隔,如:
scanf ("%c %c %c",&a,&b,&c);
则输入时各数据之间可加空格。
作者:grassroots2011
补充:软件开发 , C语言 ,