C语言要点2

双重循环是两个循环套在一起使用,其中外层循环和内层循环使用不同的循环变量。


C语言中还可以使用while来编写循环,while循环只需要在小括号中填写循环条件就可以了。while循环的执行过程是首先进行循环条件的判断,如果条件成立就执行大括号内的代码。这个过程反复进行直到条件不成立为止。


do...while循环和while循环类似,只是代码的执行顺序颠倒了一下,do...while循环中可以保证大括号里面的代码至少执行一次。


死循环指循环条件永远成立的循环,例如while(1)或for(;;)
死循环只能通过大括号里面的break语句结束。


scanf函数从缓冲区中读取数据,过程时:
键盘-->键盘缓冲区-->输入缓冲区-->程序
输入缓冲区里的数据只有被都走以后彩绘被清除。因此如果输入缓冲区中的数据和scanf函数希望的数据不一致就会一直保留在输入缓冲区中。使用如下两条语句清理输入缓冲区中不希望保留的数据:
scanf("%*[^\n]");
scanf("%*c");
printf函数有一个输出缓冲区,输出过程是
程序-->输出缓冲区-->显示器屏幕
输出缓冲区在如下情况下会把内容放到屏幕上:
1.输出缓冲区中出现\n字符
2.函数结束的时候
3.使用函数fflush(stdout)
4.输出缓冲区满了


C语言中可以使用数字记录多个同类型的变量,数组声明语法如下
int shu_zi[3];
其中int是数组中所有变量的类型,shu_zi是数组名称,3表示数组中的变量个数。
通过数组名称加下标的方式使用数组中的某个变量,下标的范围是从0到个数减一。超过范围下标不可以使用,可能产生严重错误。


使用循环依次列举数组中每个元素的下标就可以实现对数组中每个变量的顺序处理工作。这种工作方式编写出的代码可以很容易的支持大量的数据。


数组名称不可以被赋值,只有在声明数组的时候才可以使用赋值操作符把数组但分成一个整体进行赋值。数组初始化的时候如果有些变量没有指定初始化的数字那么这些变量会被设置成0。


对数组名称使用sizeof关键字计算出的结果是数组中所有变量所占空间的总和。


数组中下标小的变量的地址也小,相邻变量之间没有空隙。


数组名称代表了数组中下标为0的那个变量的地址

地址数据加减法不是简单的数字加减法,与地址数据类型有关。


数组名称加一个整数可以得到数组中某个变量的地址,在结果前加*就可以代表这个变量了


C99中允许使用变长数组,也就是声明数组的时候是使用一个不确定的数字表示数组中的变量个数。这个数字是程序运行过程中计算出来的。


C语言中使用二维数组对数据进行分析管理,在声明二维数组的时候要提供两个数字,前一个数字表示一共有多少组数据,后一个数字表示没组中的变量个数。


使用rand函数可以生成随机数,srand函数可以设置随机种子,不同的随机数种子会生成不同的随机数序列。time函数可以获得当前系统时间,可以使用这个时间作为随机种子。在一个程序中srand函数应该只使用一次。


C语言中使用函数分割大量的语句,每个函数可以包含多条语句,每个函数完成一个独立的工作。一个函数可以委托另一个函数工作,这叫做函数调用。发起者叫做调用者,另外一方叫做被调用者。


C语言程序中应该把所有函数的声明列在源文件的开头,这样保证不出问题。如果gcc在处理源文件的时候先看到函数调用,它会假设函数声明如下
int<函数名>();
这表示函数的返回值是整数,函数可以接受任何数据作为参数。这叫做函数的隐式声明。显示声明函数的时候可以不写参数名称。


不论是参数还是返回值调用函数和被调用函数各保留一份,互相不会干扰。调用函数保留的参数叫做实参,被调用函数保留的参数叫做形参。
如果函数没有返回值则必须用void代替返回值类型,不可以空着不写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值