> 文章列表 > 分支与循环

分支与循环

分支与循环

1、关于for循环里面的初始化(省略与不省略)

int i = 0;
int j = 0;
int n = 1;int k = 0;for (i = 0; i < 4; i++) {for (j = 0; j < 4; j++) {printf("hehe ");printf("%d\\n", n);n++;}
}for (; i < 4; i++) {for (; j < 4; j++) {printf("hehe ");printf("%d\\n", n);n++;}
}for (i = 0, k = 0; k = 0; i++, k++) {k++;
}	//循环0次

2、变量的左值与右值

int a = 10;
a = 20;20存放到a这块空间中 这里使用的是a的空间
int b = a;
这里使用了a中存放的值 将a中的20存放在了b中使用空间就是左值
使用空间的内容就是右值

3、求1!+2!+…+10! (4037913)

int t = 1;
int n = 1;
int sum = 1;int num = 0;for (t = 1; t <= 3; t++) {sum = 1;for (n = 1; n <= t; n++) {sum = sum * n;}num += sum;//sum = 1;
}或者for (n = 1; n <= 3; n++) {sum = sum * n;num += sum;
}
printf("%d\\n", num);

3、在一个有序数组中查找具体的某个数字n

使用二分(折半)查找	log2 N
//1、确定该范围的左右元素下标
//2、根据left和right来确定中间元素下标mid
//3、根据mid确定的元素和查找的元素比较来确定新的范围的left和right
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };//使用二分(折半)查找int k = 7;int i = 0;int sz = sizeof(arr) / sizeof(arr[0]);int left = 0;int right = sz - 1;int flag = 0;int t = 0;while (left <= right) {//left和right中间需要存在至少一个元素int mid = (left + right) / 2;if (arr[mid] == k) {//printf("找到了!");flag = 1;t = mid;break;}else if (arr[mid] < k) {left = mid + 1;}else {right = mid - 1;}}if (flag) {printf("找到了!\\n");printf("下标为%d",t);}else {printf("没找到!");}

4、求数组中元素的个数

int arr[] = { 1,2,3,4,5,6,7,8,9,10 };printf("%d\\n", sizeof(arr));printf("%d\\n", sizeof(arr[0]));printf("%d\\n", sizeof(arr)/sizeof(arr[0]));
//元素的个数

5、编写代码:演示多个字符从两段移动,向中间汇聚

char arr1[] = "welcome to bit!!!!!";
char arr2[] = "#";int left = 0;int right = strlen(arr1) - 1;while (left <= right) {arr2[left] = arr1[left];arr2[right] = arr1[right];printf("%s\\n", arr2);Sleep(1000);//单位是毫秒system("cls");//清理屏幕//需要头文件#include<windows.h>left++;right--;}printf("%s\\n", arr2);

6、判断两个字符串是否相等

两个字符串比较相等是不可以使用==的
应该使用strcmp()函数
strcmp(s1,s2) == 0 s1相等于s2
需要引入头文件#include<string.h>

7、随机数
RAND_MAX–rand函数能返回随机数的最大值
头文件:#include <stdlib.h>
随机数的范围是:0到32767

srand((unsigned int)time(NULL));
int ret = rand()%100+1;//1到100
头文件:#include<time.h>

8、goto语句
goto语句可以跳出多层循环
goto语句不可以跨函数使用

9、cmd命令
shutdown -s -t 60 在cmd设置关机
shutdown -a 取消关机
system(“shutdown -s -t 60”);