欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第一天的学习

程序员文章站 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;
}*/