运算及一维数组

来源:互联网 发布:圣剑网络奥特曼新对码 编辑:程序博客网 时间:2024/06/18 03:50

/*

常见的运算符

+ - *

/   整除      a = 1/2     a == 0

%   取余      a = 1%2     a == 1%2

=   赋值

a += 1 a = a+1;

a -= 2

a *= 2

a /= 2

a++;            ++在变量后面表示先赋值,后运算;

++a;            ++在变量后面表示先运算,后赋值;

a>b?a:b         判断a>b, 如果为真,输出啊a,如果为假,输出b

#define ADD(a,b)    ((a)+(b))     //宏定义,简单的替换

&&          ||           !

1--------0

0--------1

*/

 

#include<stdio.h>

int main()

{

int a, b, c;

a = 0;

b = 0;

c = 0;

b = a++;//等效于 b = a; a = a+1;

c = ++a;//a = a+1   c = a;

printf("a = %d b = %d c = %d\n", a, b, c); //a = 2 b = 0 c = 2

return 0;

}

 

 

 

 宏定义

#define MIN 10     //宏定义    将10替换成MIN    

#define ADD(a,b)  (a+b)

int main()

{

int c;

c = ADD(3,4)*ADD(5,6);

printf("c = %d\n", c);//C = 77

printf("%d\n", MIN);//10

}

 

 

 

int main()

{

int a;

scanf("%d", &a);

if(!(a>0))                 //等效于a<=0

{

printf("<=0\n");

}

else

{

printf(">0\n");

}

return 0;

}

 

 

int main()

{

int a=1, b=2, c=3, d=4, e=5;

int add;

if((a+b>0) && (a-b<0) || (a%2==0))  //1 &&1 1 || 1  不确定优先级就加()

}

 

 

数组       int arr[100];

arr   是数组名   -------表示数组的首地址,表示数组第一个数的首地址

数组的初始化:

1.全部初始化       int arr[5]={1, 2, 3, 4, 5};

2.部分初始化       int arr[5]={1,2,3};     如果数组部分初始化,未赋值的部分默认初始化为0

3.只定义,不初始化          int arr[5];  直接打印的话会出现5个很大或者很小的随机数

4.未指定数组大小     int arr[];       不允许定义未知长度大小的数组。

5.未指定数组长度,直接初始化

int arr[5]={0};     

int arr[]={1, 2, 3, 4, 5};    数组的初始化    在定义的时候直接初始化,可以不指定数组的长度,

系统可以根据你初始化的个数来判断数组的长度。

强调: 我的数组长度为5,意思就是,我存五个整形数.

 

 

int main()

{

int i = 0;

int arr[5] = {0};

for(i=0;i<5;i++)

{

scanf("%d", &arr[i]);

}

for(i=0; i<5; i++)

{

printf("%d\n", arr[i]);

}

printf("%p %p %p\n",arr, &arr[0], &arr[1]);//0xbfdaafcc 0xbfdaafcc 0xbfdaafd0   打印地址

 

return 0;

}

 

 

假设我们班有十个人,现在对他们c语言进行考试,将考试结果付给保存在数组中。其中,数组的下标对应的就是他们的学号,他们的成绩分别为90,91,82,45,66,.....我发现有两个同学的成绩录入反了,分别是第三个和第六个。将它修改之后录入到终端上。

 

int main()

{

int i;

int temp;

int stu[10]={0};

printf("please input student test:\n");

for(i=0; i<10; i++)

{

scanf("%d", &stu[i]);

}

temp = stu[2];

stu[2] = stu[5];

stu[5] = temp;

for (i=0; i<10; i++)

{

printf("%d\n", stu[i]);

}

return 0;

}

1 0
原创粉丝点击