第一天的学习
程序员文章站
2024-01-16 10:38:58
...
//输入两个数,得出他们的和
/*
#include<stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
scanf("%d%d",&num1,&num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
//cout<<sum;
return 0;
}*/
//引用第三个变量实现两个整型互换;
/*
#include <stdio.h>
int main()
{
int a = 3;
int b = 5;
int c = 0;
c=a;
a=b;
b=c;
printf("%d\n%d\n",a,b);
return 0;
}*/
//交换两个整型变量
//^按位异或,相同为0,相异为1;
/*
#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
printf("交换前:a=%d b=%d\n",a,b);
a = a^b;
b = a^b;
a = a^b;
printf("交换后:a=%d b=%d\n",a,b);
return 0;
}*/
//找出数组中只出现一次的数
/*
#include<stdio.h>
#include<limits.h>
int main()
{
int arr[] = {1,2,3,4,5,4,3,2,1};
//printf("%d\n",arr[5]);
int i =0;
int sz = sizeof(arr) / sizeof(arr[0]);//计算数组中的元素个数
for(i = 0;i <sz; i++)
{
int count = 0;
int j = 0;
for(j = 0;j <sz; j++)
{
if (arr[i] == arr[j])
{
count++;
}
}
if(count==1)
{
printf("%d\n",arr[i]);
break;
}
}
return 0;
}*/
//找出数组中只出现一次的数的简便方法;
/*
#include<stdio.h>
int main()
{
int arr[] = {1,2,3,4,5,4,3,2,1};
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);//计算数组里的元素个数
int shu = 0;
for(i = 0;i < sz; i++)
{
shu = shu^arr[i];
//printf("%d\n",shu);要放在if语句外面才行,不然会循环一次就打印一次;
}
printf("%d",shu);
return 0;
}*/
//shutdown -s -t 60 在60秒后关机;
//shutdown -a 取消关机;
//综合性的好玩恶搞小程序;
/*
#include<stdio.h>
#include<limits.h>
#include<stdlib.h>//使用system函数;
#include<string.h>//strcmp函数使用;strcmp = string compare(字符串比较)
int main()
{
char input[20] = {0};//储存数据
system("shutdown -s -t 60");//system()专门用来执行系统命令的;
again:
printf("请注意,你的电脑将在一分钟后关机,如果输入:我是猪,则取消关机\n");
scanf("%s",input);//%s-字符串
if(strcmp(input,"我是猪")==0)//判断input中放的是不是“我是猪”
{
system("shutdown -a");//取消关机
printf("已取消关机");
}
else
{
goto again;
}
return 0;
}
*/
//按位取反,原码,反码,补码。
//源码符号位不变,其他位按位取反得到反码,反码加一得到补码。
/*
#include<stdio.h>
int main()
{
int a = 0;//4个字节,32bit位
int b = ~a;//b是有符号的整型;二进制第一位代表符号,1为-。0为+。
printf("%d\n",b);
return 0;//运行结果为-1.
}
*/
//条件操作符,exp1 ? exp2 : exp3
/*
#include<stdio.h>
int main()
{
int a = 100;
int b = 20;
int max = 0;
if (a>b)
max = a ;
else
max = b;
max = (a>b ? a : b);//与上四句等价;
return 0;
}*/
//1.static(静态修饰)修饰局部变量
//局部变量的生命周期变长
//2.static 修饰全局变量
//改变了变量的作用域 - 让静态的全局变量只能在自己所在的源文件内使用
//出了源文件就无法使用
//3.static修饰函数 static add(int a,int b);
//也是改变了函数的作用域 - 不准确
//static修饰函数改变了函数的连接属性,由外部链接变为内部链接,只能在自己所在的源文件内使用
//#define 定义标识符常量
//#define MAX 100
//#define 可以定义宏-带参数
//#define MAX(A,B) (A>B?A:B)
//指针是存放地址的,32系统给的内存为4,64位为8.
//%lf是表达double类型的数值
/*#include<stdio.h>
int main ()
{
int a = 10;
int* p = &a;//有一种变量是用来存放地址的-指针变量
//&a;//取地址
*p = 20;//* - 解引用操作符。把p对应的对象的值变为20
printf("%d\n",a);//打印a的地址
printf("%p\n",p);
return 0;
}*/