【C语言】——数组

extern :声明一个变量 没有储存空间 无法存值
const :常量 不能修改
volatile :防止编译器优化代码
reigister :定义寄存器变量(cpu有没有空闲寄存器)

‘a’ :字符号常量 “a”:字符串常量 (找到\0为止)

printf附加格式:
%-5d是左对齐 %5d右对齐(数字是整体的宽度 如果没有全用就会用空格补全)
0将输出的前面补上0直到占满列宽

putchar

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>    
#include<stdlib.h>
int main()
{
       char ch='a';
       //printf("%c\n", ch);
       //输出字符 可以是变量 字符 数字 转义字符
       putchar(ch);
       putchar('7');
       putchar('\n');
       system("pause");
       return 0;
}
scanf
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
       //char ch;
       int a, b;
       //scanf("%c", &ch);
       scanf("%3d%d", &a,&b);
       //putchar(ch);
       printf("%d\t%d", a, b);
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       char ch;
       //getchar接收键盘获取字符
       ch=getchar();

       putchar(ch);
       //暂时停留界面
       getchar();
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int a;
       scanf("%d\n", &a);//这里不要加\n不然就跳不出去了!!!
       printf("%d\n", a);
       getchar();
       return 0;
}

算术运算符

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       //int a = 10;
       //int b = 3;;
       //printf("%d\n", a / b);//整型所以四舍五入
       /*int a = 10;
       int b = 7;
       printf("%d\n", a / b);*/
       /*int a = 10;
       int b = 0;
       printf("%d\n", a / b);会崩溃!!!*/
       //取余只能对整型
       int a = 10;
       //a = a + 1;//11
       //a++;后自增(就是表达式计算之后再进行自增)
       //++a;前自增;
       //int b = ++a * 10;
       int c = a++ * 10;
       printf("%d\n", c);
       //printf("%d\n", b);
       printf("%d\n", a);
       system("pause");
       return EXIT_SUCCESS;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int a = 10;
       //a--;
       //建议++和--都用在前面(因为有二义性)int b = ++a + --a + a++;
       printf("%d\n", a);
       printf("%d\n", b);
       system("pause");
       return EXIT_SUCCESS;
}

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int a = 10;
       //a = a + 5;
       //a += 5;//a=+5 有歧义所以是a+=5
       a %= 8;//(就是取余)
       printf("%d\n", a);
       system("pause");
       return EXIT_SUCCESS;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int a = 10;
       int b = 5;
       a *= --b;//a=a*(--b)
       printf("%d\n", a);
       system("pause");
       return EXIT_SUCCESS;
}

逻辑运算符

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int a = 10;
       int b = 20;
       int c = 10;
       printf("%d\n", a == b);
       printf("%d\n", a != b);
       printf("%d\n", a >= b);
       printf("%d\n", a <= b);
       printf("%d\n", a >= b);
       //返回值为0/1就是表示值得假/真
       printf("%d\n", c = ++a <= b * 2);
       system("pause");
       return EXIT_SUCCESS;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       //所有!0的数都是真值
       //!非真为假  非假为真
       //int a = 10;
       //printf("%d\n", !!!!!!a);
       int a = 10;
       int b = 20;
       //printf("%d\n", !a&&b);//(单目运算符要高于双目运算符)
       &&与 同真为真 其余为假
       printf("%d\n", a || b);
       //||或同假为假 其余为真
       system("pause");
       return EXIT_SUCCESS;
}

运算符优先级别
1.()
2.++.- -.!sizeof (强制类型转换) 结核性从右到左 单目运算符
3../.%
4.+.-
6.>.>=.<.<=
7.==.!=
11.&&
12.||
14.=.+=.-=.
=./=

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int a = 10;
       int b = 20;
       int c = (a, b);
       printf("%d\n",c);
       system("pause");
       return EXIT_SUCCESS;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
       int score;
       scanf("%d", &score);
       //如果表达式结果为真,执行{}里面的
       if (score > 700)
       {
              printf("我就不上清华上北大\n");
              if (score > 720)
              {
                     printf("我可以上清华的计算机\n");
              }
              else if (score > 710)
              {
                     printf("我要学考古\n");
              }
              else
              {
                     printf("我还是学挖掘机把");
              }
       }
       else
       {
              printf("想上北大分不够啊\n");
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
       int a, b, c;
       printf("输入三只兔子的体重:\n");
       scanf("%d%d%d", &a,&b,&c);//如果想要12,56,78这样输入值得话应该变成scanf("%d,%d,%d",&a,&b,&c);
       if (a > b)
       {
              if (a > c)
              {
                     printf("a最重就吃它吧\n");
              }
              else
              {
                     printf("c最重还是吃它吧");
              }
       }
       else if (b > c)
       {
              printf("b最重还是吃它吧\n");
       }
       else
       {
              printf("c最重还是吃它吧\n");
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define MAX(a,b) (a)>(b)?(a):(b)
int main()
{
       int a = 10;
       int b = 20;
       printf("最大值为%d\n", MAX(a, b));
       system("pause");
       return 0;
}
int main0()
{
       int a = 10;
       int b = 20;
       int c;
       //表达式1?表达式2:表达式3
       c=a > b ? a : b;
       printf("最大值为%d\n", c);
       //if (a > b)
       //{
       //     printf("a大\n");
//}
//     else
//     {
//            printf("b大\n");
//     }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define MAX(a,b) (a)>(b)?(a):(b)
int main()
{
       int score;
       scanf("%d", &score);
       switch (score / 10)
       {
       case 10:
              printf("优秀\n");
                     break;
       case 9:
              printf("优秀\n");
              break;
       case 8:
              printf("良好\n");
              break;
       case 7:
              printf("及格\n");
              break;
       case 6:
              printf("及格\n");
              break;
       default:
              printf("不及格\n");
              break;
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define MAX(a,b) (a)>(b)?(a):(b)
int main()
{
       int score;
       printf("请输入1到7:\n");
       scanf("%d", &score);
       switch (score)
       {
       case 1:
              printf("星期一\n");
                     break;
       case 2:
              printf("星期二\n");
              break;
       case 3:
              printf("星期三\n");
              break;
       case 4:
              printf("星期四\n");
              break;
       case 5:
              printf("星期五\n");
              break;
       case 6:
              printf("星期六\n");
              break;
       case 7:
              printf("星期七\n");
              break;
       default:
              printf("WARNING!!!BOOM SHA KA LA KA!!!\n");
              break;
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define MAX(a,b) (a)>(b)?(a):(b)
int main()
{
       int score;
       printf("请输入1到7:\n");
       scanf("%d", &score);
       switch (score)
       {
       case 1:
              printf("星期一\n");
                                                                                                                                                                               break;
       case 2:
              printf("星期二\n");
              break;
       case 3:
              printf("星期三\n");
              break;
       case 4:
              printf("星期四\n");
              break;
       case 5:
              printf("星期五\n");
              break;
       case 6:
              printf("星期六\n");
              break;
       case 7:
              printf("星期七\n");
              break;
       default:
              printf("WARNING!!!BOOM SHA KA LA KA!!!\n");
              break;
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
       int i = 1;
       while (i<=10000)
       {
              if (i % 2 == 0)
              {
                     printf("%d\n", i);
              }
              i++;
       }
       system("pause");
       return 0;
}


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int i = 1;
       while (i<100)
       {
              //7的倍数 || 个位带7的 || 十位带7的
              if (i % 7 == 0||i%10==7||i/10==7)
              {
                     printf("敲桌子\n");
              }
              else
              {
                     printf("%d\n", i);
              }
              i++;
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int i = 0;
       do
       {
              printf("%d\n", i);
              ++i;
       } while (i < 10);
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//水仙花 从100-999各个位数的立方和相加等于本身就是一个水仙花数
int main(void)
{
       int i = 100;
       do
       {
              //个位数
              int a = i % 10;
              //十位数
              int b = i / 10 % 10;
              //百位数
              int c = i / 100;
              if (pow(a,3) + pow(b, 3) + pow(c, 3)==i)//if (a^)
              {
                     printf("%d\n", i);
              }
              i++;
       } while (i <= 999);
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       //int i;gcc -o hello.out hello.c (-std=c99)
       int j = 5;
       for (int i = 0; i < 10,j<10;i++,j+=5)
       {
              printf("%d\n", i);
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int i = 0;
       for (; ;)
       {
              if(i>=10)
              //在循环语句中遇到break表示结束循环
              break}
       printf("%d\n", i);
       i++;
       system("pause");
       return 0;
}
   


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
       //差生随机数
       //1.导入头文件 time.h stdlib.h
       //2.添加随机数种子
       //3.获取随机数
       srand((unsigned int)time(NULL));//每次随机数不一样
       //int value=rand()%10;//0~9
       for (int i = 0; i < 10; i++)
       {
              int value = rand() % 10;
              printf("%d\n", value);
              break;
       }
       system("pause");
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main(void)
{
       srand((unsigned int)time(NULL));//每次随机数不一样
       int value=rand()%100;//0-99
       int num;
       //for (;;)
       while(1)
       {
              printf("请输入数字:\n");
              scanf("%d", &num);
              if (value > num)
              {
                     printf("您输入的数太小了\n");
              }
              else if (value < num)
              {
                     printf("您输入的数太大了\n");
              }
              else
              {
                     printf("恭喜你,猜对了\n");
                     break;
              }
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main(void)
{
       //外层执行一次,内层执行一周
       for (int i = 0; i < 5; i++)
       {
              for ( int j= 0;  j < 5; j++)
              {
                     printf("i=%d,j=%d\n", i, j);
              }
       }
       system("pause");
       return 0;
}


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#include<windows.h>
int main(void)
{
       for (int s = 0; s < 24; s++)
       {
              for ( int f= 0;  f < 60; f++)
              {
                     for (int m = 0; m < 60; m++)
                     {
                           printf("%d:%d:%d\n", s, f, m);
                           Sleep(900);
                               system("cls");
                     }
              }
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
#define SIZE 10
int main()
{
       //一维数据类型 数组名[元素个数]=[值1,值2~]
       //多维数据类型 数组名[行][列]
       //{
       //{值1,值2}
       //{值3,值4}
       //};
       int a[2][3] =//{{1,2,3},{4,5,6}};
       {
              {1,2,3},
              {4,5,6},
       };
       //a[1][2]=20;//改变的是6的值
       for (int i = 0; i < 2; i++)
       {
              for (int j = 0; j < 3; j++)
              {
                     printf("%d", a[i][j]);
              }
              printf("\n");
       }
       printf("二维数组大小:%d\n", sizeof(a));
       printf("二维数组一行大小%d\n", sizeof(a[0]));
       printf("二维数组元素大小%d", sizeof(a[0][0]));
       printf("二维数组行数:%d\n", sizeof(a) / sizeof(a[0]));
       printf("二维数组列数:%d\n", sizeof(a[0]) / sizeof(a[0][0]));
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
#define SIZE 10
int main()
{
       int a[2][3]=
       {
              {1,2,3},
              {4,5,6}
       };
       //二维数组首地址
       //printf("%p\n", a);
       //printf("%p\n", a[0]);
       //printf("%p\n", &a[0][0]);
       //printf("%p\n", &a[0][1]);
       for (int i = 0; i < 2; i++)
       {
              for (int j = 0; j < 3; j++)
              {
                     printf("%p\n",& a[i][j]);
              }
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
#define SIZE 10
int main()
{
       //int a[2][3] = { 1,2,3,4,5,6 };
       //int a[][3]={1,2,3,4,5,6,7};会自动补零
       int a[][3] = {1,2,3};
       for (int i = 0; i < 2; i++)
       {
              for (int j = 0; j < 3; j++)
              {
                     printf("%d",a[i][j]);
              }
              printf("\n");
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
#define SIZE 10
int main()
{
       int sum=0;
       int pingjun=0;
       int a[5][3] = {44,55,66,77,55,66,11,55,44,66,88,44,88,77,11};
       for (int i = 0; i < 5; i++)
       {
              sum = 0;
              for (int j = 0; j < 3; j++)
              {
                     sum+= a[i][j];
              }
              printf("学生总成绩是%d\n",sum);
              pingjun += sum;
       }
       printf("学生成绩平均等于%d\n", pingjun / 5);
       system("pause");
       return 0;
}

.

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
#define SIZE 10
int main()
{
       int sum=0;
       int pingjun=0;
       int a[5][3] = {44,55,66,77,55,66,11,55,44,66,88,44,88,77,11};
       for (int i = 0; i < 3; i++)
       {
              sum = 0;
              for (int j = 0; j < 5; j++)
              {
                     sum+= a[j][i];
              }
              printf("各科成绩是%d\n",sum);
              pingjun += sum;
       }
       printf("各科成绩平均等于%d\n", pingjun / 3);
       system("pause");
       return 0;
}
int main(void)
{
       //一维数组定义
       //数据类型 数组名[元素个数]
       //二维数组定义
       //数据类型 数组名[行][列]
       //三维数组
       //数据类型 数组名 [层][行][列]
       int a[2][3][4] =
       {
              {
                     {1,2,3,4},
                     {4,5,6,7},
                     {7,8,9,9}
              },
              
              {
                     { 1,2,3,4 },
                     { 4,5,6,7 },
                     { 7,8,9,9 }
              }
       };
       for (int i = 0; i < 2; i++)
       {
              for (int j = 0; j < 3; j++)
              {
                     for (int k = 0; k < 4; k++)
                     {
                           printf("%d\t", a[i][j][k]);
                     }
                     printf("\n");
              }
       }
       printf("三维数组大小:%d\n",sizeof(a));
       printf("三维数组一层大小:%d\n",sizeof(a[0]));
       printf("三维数组一行大小:%d\n",sizeof(a[0][0]));
       printf("三维数组元素大小:%d\n",sizeof(a[0][0][0]));
       system("pause");
       return 0;
}
int main(void)
{
       //一维数组定义
       //数据类型 数组名[元素个数]
       //二维数组定义
       //数据类型 数组名[行][列]
       //三维数组
       //数据类型 数组名 [层][行][列]
       int a[2][3][4][5] = { 1,2,3 };
       for (int i = 0; i < 2; i++)
       {
              for (int j = 0; j < 3; j++)
              {
                     for (int k = 0; k < 4; k++)
                     {
                           for (int z = 0; z < 5; z++)
                           {
                           printf("%d\t", a[i][j][k][z]);
                           }
              
                           
                     }
                     printf("\n");
              }
       }
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
int main()
{
       //定义字符数组
       //char a[5] = { 'a','b','c','d','e' };
       //字符
       //char a='a';
       //字符串 字符串结束标志为\0,数字0等同于\0,但是不等同意'0'
       //char*a="hello\0";
       //char ch[] = "hello";
       char a[] = { 'h','e','l','l','o','\0' };
       for (int i = 0; i < sizeof(a); i++)
       {
       printf("%c", a[i]);
       }
       printf("%d\n", sizeof(a));
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
int main()
{
       //定义字符数组存储字符串
       char ch[10];
       scanf("%s", ch);//空格或者回车表示结束!!
       printf("%s", ch);
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
int main()
{
       //字符串 的拼接操作
       char ch1[] = "hello";
       char ch2[] = "world";
       char ch3[30];
       int i = 0;
       int j = 0;
       while (ch1[i] !='\0')
       {
              ch3[i] = ch1[i];
              i++;
       }
       while (ch2[j] !='\0')
       {
              ch3[i + j] = ch2[j];
              j++;
       }
       ch3[i + j + 1] = '\0';
       printf("%s", ch3);
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
int main()
{
       //字符串是一个特殊性的char数组
       //如果没有数字0的话就不是字符串
       char a[] = { "hello" };
       printf("%s", a);//可以%9s限定输出的个数
       system("pause");
       return 0;
}

getchar putchar 基于字符 gets 和puts 基于字符串

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
int main()
{
       char a[100];
       //gets(a);//接收字符串可以带空格
       scanf("%[^\n]", a);//通过正则表达式接受空格
       printf("%s\n", a);
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
int main()
{
       char a[10];
       //"fgets自带的\n\0;   hello\n\0"
       //gets(a);//接收字符串可以带空格
       //fgts也可以接收空格
       //fgets获取字符串少于元素个数会有\n(自动加);大于等于的时候没有
       //这个是安全的哦不会溢出
       fgets(a, sizeof(a), stdin);
       printf("%s", a);
       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
int main()
{
       char a[] = "hello world";
       //puts自带换行
       //puts(a);
       //printf("%s", a);
       puts("hello\0 world");//会在\0停止
         //可以把puts("");当成换行

       system("pause");
       return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<time.h>
int main()
{
       char a[] = "hello world";
       
       fputs(a,stdout);
       
       system("pause");
       return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nydia~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值