sizeof 的用法和特点。n=sizeof(a)/sizeof(int);
循环结构的实现方式:(1+..100)
1.while
2.do...while
3.for
4.if...goto...
5.递归
goto语句的作用:无条件跳转
滥用goto语句会导致程序执行流程混乱,代码可读性大大降低,所以建议尽量不使用goto语句
break和continue语句在循环结构中的作用:
break语句:结束当前循环,即退出循环
continue语句:结束本次循环,即进入下次循环
循环结构可以嵌套使用(二重循环或多重循环),但建议嵌套层次不要太多,否则影响代码可读性
数据交换(a,b):
1.中间变量t: t=a; a=b; b=t;
2.变量特性 : a=a+b; b=a-b; a=a-b;
3.异或 : a=a^b; b=a^b; a=a^b; (a^=b; b^=a; a^=b;)
函数(Function):实现某个特定功能的代码块,相当于一个功能模块。
在C语言项目开发中,一个复杂的项目可以划分为若干个功能模块,而每个功能模块可以通过一个函数去实现。
函数分为两类:库函数和自定义函数
库函数:系统已经定义好,我们直接调用的函数,无需关注其实现细节。例如:printf, scanf, getchar等。
C语言提供的库函数称为标准库函数,大概有300多个,例如:printf, scanf, getchar等,
有些库函数是操作系统或第三方提供的,它们就不是标准库函数了,也不能像标准库函数一样跨平台使用了。
C/C++语言是跨平台(源代码级别,不是二进制级别)的,即C/C++语言源代码在不同的操作系统平台上可以通用,不需要任何修改。
平台是指操作系统(例如,Windows平台,Linux平台,Android平台等)或软件运行环境(例如,Java平台,.NET平台)
常用库函数:
1.时间处理相关的库函数:time(获取系统当前时间戳,即距离1970年1月1日0时0分0秒的秒数(美国时间))
2.生成随机数相关的库函数:srand(设置随机数种子),rand(产生一个随机数)
rand函数生成的是伪随机数(pseudo-rand number),并不是真正的随机数,每次运行程序生成的随机数序列是一样的
操作系统内部维护着一个随机数序列,我们每次调用rand函数只是从这个序列中的某个位置开始依次获取一个随机数,这个取随机数的起始位置是由随机数种子决定的,如果随机数种子相同,则每次获取的随机数序列将是一样的,所以如果希望产生不同的随机数序列,就应该在每次产生随机数序列之前设置一个不同的随机数种子
#include <stdio.h>
int main()
{
int i,t,nu;
for(i=0;i<10;i++)
{
t=time(NULL)+i;
srand(t);
nu=rand()%40+1;
printf("随机取1—40号码中的十个(待优化):%d号\n",nu);
}
return 0;
}
循环结构的实现方式:(1+..100)
1.while
2.do...while
3.for
4.if...goto...
5.递归
goto语句的作用:无条件跳转
滥用goto语句会导致程序执行流程混乱,代码可读性大大降低,所以建议尽量不使用goto语句
break和continue语句在循环结构中的作用:
break语句:结束当前循环,即退出循环
continue语句:结束本次循环,即进入下次循环
循环结构可以嵌套使用(二重循环或多重循环),但建议嵌套层次不要太多,否则影响代码可读性
数据交换(a,b):
1.中间变量t: t=a; a=b; b=t;
2.变量特性 : a=a+b; b=a-b; a=a-b;
3.异或 : a=a^b; b=a^b; a=a^b; (a^=b; b^=a; a^=b;)
函数(Function):实现某个特定功能的代码块,相当于一个功能模块。
在C语言项目开发中,一个复杂的项目可以划分为若干个功能模块,而每个功能模块可以通过一个函数去实现。
函数分为两类:库函数和自定义函数
库函数:系统已经定义好,我们直接调用的函数,无需关注其实现细节。例如:printf, scanf, getchar等。
C语言提供的库函数称为标准库函数,大概有300多个,例如:printf, scanf, getchar等,
有些库函数是操作系统或第三方提供的,它们就不是标准库函数了,也不能像标准库函数一样跨平台使用了。
C/C++语言是跨平台(源代码级别,不是二进制级别)的,即C/C++语言源代码在不同的操作系统平台上可以通用,不需要任何修改。
平台是指操作系统(例如,Windows平台,Linux平台,Android平台等)或软件运行环境(例如,Java平台,.NET平台)
常用库函数:
1.时间处理相关的库函数:time(获取系统当前时间戳,即距离1970年1月1日0时0分0秒的秒数(美国时间))
2.生成随机数相关的库函数:srand(设置随机数种子),rand(产生一个随机数)
rand函数生成的是伪随机数(pseudo-rand number),并不是真正的随机数,每次运行程序生成的随机数序列是一样的
操作系统内部维护着一个随机数序列,我们每次调用rand函数只是从这个序列中的某个位置开始依次获取一个随机数,这个取随机数的起始位置是由随机数种子决定的,如果随机数种子相同,则每次获取的随机数序列将是一样的,所以如果希望产生不同的随机数序列,就应该在每次产生随机数序列之前设置一个不同的随机数种子
#include <stdio.h>
int main()
{
int i,t,nu;
for(i=0;i<10;i++)
{
t=time(NULL)+i;
srand(t);
nu=rand()%40+1;
printf("随机取1—40号码中的十个(待优化):%d号\n",nu);
}
return 0;
}
4.休眠函数:sleep(以秒为单位), usleep(以微秒为单位),注意它们不是标准库函数,是Linux系统提供的库函数,只能用于Linux平台