一、goto语句的应用(关机小程序);
1.调用系统函数,输入关机指令;
system("shutdown -s -t 60");
2.创建字符数组;设置goto的返回标志;
char arr1[20] = { 0 };
again:
3.输入字符串;
scanf("%s", arr1);
4.使用字符串比较函数strcmp,比较所需字符串和输入字符串,如果相等,则返回0,系统执行停止关机指令,注意引用string和Windows头文件;
if (strcmp(arr1, "不关机") == 0)
{
system("shutdown -a");
}
5.如果不同,goto返回到输入部分,再次执行;
goto again;
6.完整代码;
#include<string.h>
#include<windows.h>
int main()
{
system("shutdown -s -t 60");
char arr1[20] = { 0 };
again:
printf("请注意60s后关机,如果输入不关机,则停止;否则,继续关机\n");
scanf("%s", arr1);
if (strcmp(arr1, "不关机") == 0)
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
7.输出结果;
二、for循环的应用(打印n的倍数);
1.定义循环变量,输入变量;
int i = 0;
int n = 0;
2.输入n;
scanf("%d", &n);
3.for循环里循环变量,i从n开始,每次循环都加n,得到n的倍数,然后打印出来;
for (i = n;i <= 100;i += n)
{
printf("%d ", i);
}
4.完整代码;
int main()
{
int i = 0;
int n = 0;
scanf("%d", &n);
printf("\n");
for (i = n;i <= 100;i += n)
{
printf("%d ", i);
}
return 0;
}
5.运行结果;
三、for循环的应用(打印100到200之间的素数);
1.给100个数设置空间,定义所需变量;
int arr[101] = { 0 };
int i = 0;
int j = 0;
int k = 0;
2.进入第一层循环,给数组第一位arr[i]数定义;
for (i = 0;i <= 100;i++)
{
arr[i] = i + 100;
3.进入第二层循环,用数组里的数arr[i]与j取模,j从2到arr[i]-1,如果不能整除,则k++;
for (j = 2;j < arr[i];j++)
{
if (arr[i] % j == 0)
{
break;
}
else
{
k++;
}
}
4.如果k为arr[i]-2,则证明它是素数;
if (k == arr[i] -2)
{
printf("%d是素数\n", arr[i]);
}
5.完整代码;
int main()
{
int arr[101] = { 0 };
int i = 0;
int j = 0;
int k = 0;
for (i = 0;i <= 100;i++)
{
arr[i] = i + 100;
k = 0;
for (j = 2;j < arr[i];j++)
{
if (arr[i] % j == 0)
{
break;
}
else
{
k++;
}
}
if (k == arr[i] -2)
{
printf("%d是素数\n", arr[i]);
}
}
return 0;
}
6.优化内容,及代码;
偶数不是素数;
for (i = 101;i <= 200;i+=2)
j只需要算到i的开次方就可以;
for (j = 2;j<= sqrt(i);j++)
7.输出结果;
四、库函数 strcpy的应用;
1.输入所要拷贝的字符串;
char arr1[] = "hello bin";
2.设置所要改变的字符串;
char arr[20] = "##########";
3.使用strcpy(字符串1,字符串2),strcpy所需变量值是指针变量,数组benshen就是指针,将字符串2的内容复制到字符串1中;
strcpy(arr, arr1);
4.打印字符串1;
printf("%s\n", arr);
5.完整代码;
int main()
{
char arr1[] = "hello bin";
char arr[20] = "##########";
strcpy(arr, arr1);//数组的名是第一个元素的地址,也就是起始地址;//strcpy的作用是将arr1的字符(包括\0)拷贝到arr里
printf("%s\n", arr);
return 0;
}
6.运行结果;
五、库函数memset的应用;
1.输入所需要改变的字符串;
char arr1[] = "hello bin";
2.使用memset(1,2,3),1是要去修改的字符串,2是所要改成的内容,3是要改内容的数目;
memset(arr1, '2', 5);
3.打印出改变的字符串;
printf("%s\n", arr1);
4.完整代码;
int main()
{
char arr1[] = "hello bin";
memset(arr1, '2', 5);//第一个式子是要修改的字符串,第二个是要改成的内容,第三个是要改内容的个数;
printf("%s\n", arr1);//返回值不一定要接受,看需求;
return 0;
}
5.运行结果;