1.赋值语句
在变量说明中,不允许连续给多个变量赋初值。
如下述说明是错误的:
int a=b=c=5
必须写为
int a=5,b=5,c=5;
而赋值语句允许连续赋值。
2.输入输出
#include<stdio.h>
stdio
是standard input &outupt的意思。
考虑到printf
和scanf
函数使用频繁,系统允许在使用这两个函数时可不加
2.1 putchar 函数(字符输出函数)
putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。
其一般形式为:
putchar(字符变量)
例如:
putchar('A');
(输出大写字母A)
putchar(x);
(输出字符变量x的值)
putchar(‘\101’);
(也是输出字符A)
putchar('\n');
(换行)
2.2 getchar 函数(键盘输入函数)
getchar
函数的功能是从键盘上输入一个字符。
其一般形式为:
getchar();
通常把输入的字符赋予一个字符变量,构成赋值语句,如:
char c;
c = getchar();
字符串: gets()
2.3 printf 函数(格式输出函数)
格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型
- 类型: 类型字符用以表示输出数据的类型,其格式符和意义如下表所示:
- “”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
如: scanf("%d %d %d", &a, &b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。- 宽度:用十进制整数指定输入的宽度(即字符数)。
如:printf("%5d", i);
当i=99时, 输出: □□□99
当i=999999时, 输出: 999999
如:printf("%-5d", i)
当i=1时, 输出:1□□□□
如:scanf("%5d", &a);
输入:12345678
只把12345赋予变量a,其余部分被截去。
解释: 5:最少输出5个字符,不足空格前面补充
-:空格后面补充
就是左右对齐的问题,正数右对齐,负数左对齐。- 长度:长度格式符为l和h,l表示输入长整型数据(如%ld) 和双精度浮点数(如%lf)。h表示输入短整型数据。

2.4 scanf函数(格式输入函数)
使用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);
则输入时各数据之间可加空格。 - 如果格式控制串中有非格式字符则输入时也要输入该非格式字符。
例如:
scanf("%d,%d,%d",&a,&b,&c);
其中用非格式符“ , ”作间隔符,故输入时应为:
5,6,7
又如:
scanf("a=%d,b=%d,c=%d",&a,&b,&c);
则输入应为:
a=5,b=6,c=7 - 如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不正确。
网友评论