C语言程序设计(基础3)
程序员文章站
2022-12-10 22:11:45
for循环嵌套:
for语法:
for(int i=0;i<=10;i++){
//外层循环
for(int j=0;j<=10;i++){
//...
for循环嵌套:
for语法:
for(int i=0;i<=10;i++){
//外层循环
for(int j=0;j<=10;i++){
//内层循环
}
}
------------------------------------------------
for(A;B;C)
for(D;E;F)
语句x;
语句y; //思考执行过程,认准循环体
------------------------------------------------
交换数据:
1.借助中间变量
2.宏交换(利用变量特性)。
a=a+b;
b=a-b;
a=a-b;
3.利用位运算交换
a=a^b;
b=a^b;
a=a^b;
4.(指针法)
------------------------------------------------
sizeof():长度运算符
int i;
sizeof(i)/sizeof(int)
------------------------------------------------
实现1+2+3+...+100?
1.for()
2.while()
3.do while()
4.函数
5.递归
------------------------------------------------
函数:
#include
int main(){
//main()是系统函数
int sum;
sum=add_for(0);
if(sum=5050){
printf("函数传参成功!");
}
return 0;
}
int add_for(int sum){ //---> 形参列表,有数据类型,在外面传值进来,形参在栈中
//add_for()是自定义函数,int是函数返回的数据类型
//int sum; --->sum在这里则不可以作为中转站与外界沟通。
int i;
for(i=1;i<=100;i++){
sum+=i;
}
return sum;
}
函数:先声明、后说明、再定义
函数的调用:
1.其他函数调用函数
2.自己调用自己——————>"递归"
---------------------------------------------------------------
实现1+2+3+...+100
方法1:(if...goto...循环)
int add_goto(int sum){
int i=0;
flag:
i++;
sum+=i;
if(i<100){
goto flag;
}
}
方法二:(递归法)
int add_digui(int sum,int i)-->i是为了控制
{
if(i>100){
return sum;
}
//i的值没有变化,控制不了递归,则出现段错误!
sum+=i;
++i;
//i++; //思考i++、++i在sum之前的情况,和在递归的参数列表里的情况。
add_digui(sum,i);
}
-------------------------------------------------------
时间等待函数:
毫、微、纳、皮
sleep(1); //--->等待1秒
usleep(10); //-->等待10微秒。
随机函数:
void srand(int ); -->伪随机数 //设定随机数种子(随机数种子)
随机数种子:相对于一种游戏规则,一种规则产生一种结果。一 一对应的唯一结果
一个随机数种子,产生一个固定的随机数。
int rand(void);
-------------------------------------------------------
作业1——调查:什么是随机?srand\rand
time(NULL)+i;--->这样就可以使规则不唯一
**********************************************************************************************
心得体会:
注意函数的递归、for的嵌套、理解随机函数的本质、还有交换两个数据不要仅限与固定思维。
for语法:
for(int i=0;i<=10;i++){
//外层循环
for(int j=0;j<=10;i++){
//内层循环
}
}
------------------------------------------------
for(A;B;C)
for(D;E;F)
语句x;
语句y; //思考执行过程,认准循环体
------------------------------------------------
交换数据:
1.借助中间变量
2.宏交换(利用变量特性)。
a=a+b;
b=a-b;
a=a-b;
3.利用位运算交换
a=a^b;
b=a^b;
a=a^b;
4.(指针法)
------------------------------------------------
sizeof():长度运算符
int i;
sizeof(i)/sizeof(int)
------------------------------------------------
实现1+2+3+...+100?
1.for()
2.while()
3.do while()
4.函数
5.递归
------------------------------------------------
函数:
#include
int main(){
//main()是系统函数
int sum;
sum=add_for(0);
if(sum=5050){
printf("函数传参成功!");
}
return 0;
}
int add_for(int sum){ //---> 形参列表,有数据类型,在外面传值进来,形参在栈中
//add_for()是自定义函数,int是函数返回的数据类型
//int sum; --->sum在这里则不可以作为中转站与外界沟通。
int i;
for(i=1;i<=100;i++){
sum+=i;
}
return sum;
}
函数:先声明、后说明、再定义
函数的调用:
1.其他函数调用函数
2.自己调用自己——————>"递归"
---------------------------------------------------------------
实现1+2+3+...+100
方法1:(if...goto...循环)
int add_goto(int sum){
int i=0;
flag:
i++;
sum+=i;
if(i<100){
goto flag;
}
}
方法二:(递归法)
int add_digui(int sum,int i)-->i是为了控制
{
if(i>100){
return sum;
}
//i的值没有变化,控制不了递归,则出现段错误!
sum+=i;
++i;
//i++; //思考i++、++i在sum之前的情况,和在递归的参数列表里的情况。
add_digui(sum,i);
}
-------------------------------------------------------
时间等待函数:
毫、微、纳、皮
sleep(1); //--->等待1秒
usleep(10); //-->等待10微秒。
随机函数:
void srand(int ); -->伪随机数 //设定随机数种子(随机数种子)
随机数种子:相对于一种游戏规则,一种规则产生一种结果。一 一对应的唯一结果
一个随机数种子,产生一个固定的随机数。
int rand(void);
-------------------------------------------------------
作业1——调查:什么是随机?srand\rand
time(NULL)+i;--->这样就可以使规则不唯一
**********************************************************************************************
心得体会:
注意函数的递归、for的嵌套、理解随机函数的本质、还有交换两个数据不要仅限与固定思维。
上一篇: c++中使用类定义自己的数据类型
下一篇: 浅谈c语言的知识体系