第一章
数值运算:
如果某个算数运算符的所有操作都是整型,则执行整型运算。2
如果其中一个是浮点型,则在运算前将整型转换成浮点型,然后运算。
一般如果定义了一个float 变量,该整型变量是整数,也要写上小数点,便于阅读。
打印时字符格式:
int a;
printf("%3d",a);
这样输出的a就占3个字符宽度,一般用于输出时对齐。
float a;
printf("%3.2f",a);
输出的float变量至少占3个字符宽,且小数点后有2位。
printf("%f",a);按浮点数打印
printf(".2f",a);按浮点数打印,小数点后有两位小数
字符输入输出
文本流:由多行字符构成的字符序列,而每行字符则由0个或多个字符组成,行末尾是一个换行符。标准库负责每个输入输出流都遵守这一模型。
c = getchar():从文本流中一次读入下一个输入字符,并将其结果返回
putchar(c):将变量c打印出来
区分文件中的有效数据与输入结束符:在没有输入时getchar()返回一个特殊值EOF(end of file)是一个整型值
参数---值传递
传递给被调函数的值存放在临时变量中,而不存放在原来变量中
变量作用域
自动变量(局部变量):函数中每个自动变量只在调用时存在,函数执行完毕消失,所以两次函数调用之间,自动变量不保存第一次调用时的赋值,并且
在每次进入函数是都要为其显示赋值
#include <stdio.h>
int fun(int c){
int s = 0;
s++;
return (sum = c+s)}
int main(){
int a = 10;
int b =20;
sum1 = fun(a);
sum2=fun(b);
printf("%d\n%d",sum1,sum2);
return 0;}
如上程序,两次调用fun,第一次调用后自动变量s的值为1,第二次调用时s的初始值仍然为0,不为1
外部变量:在所有函数中都可以进行通过变量名访问,外部变量在程序运行期间一直存在,外部变量定义在所有函数之外
在每个需要访问的外部变量的函数中可以用extern语句显示声明,外部变量放在源文件处,extern可以省略。
#include <stdio.h>
int m;
void fun(){
m = 10;}
int main(){
printf("%d",m);}
执行之后m的值为10,外部变量的值会被其他函数改变。