C语言程序设计02

目录

1.常量

字面常量

Const 修饰的常变量

#define定义的标识符常量

枚举常量

2.字符串 

3.转义字符

4.选择语句

   if选择语句   

while循环语句

5.函数

6.数组

7.操作符

算术操作符:

移位操作符:

 位操作符:

赋值操作符:

单目操作符:

关系操作符:

逻辑操作符  :

条件操作符(三目操作符):

下标引用:

函数调用: 

8.常见关键字:



1.常量

  • 字面常量

  • Const 修饰的常变量

  • #define定义的标识符常量

  • 枚举常量

2.字符串 

“hello world\n”这种由双引号引起来的一串字符称为字符串字面值,或简称字符串

注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。

 arr2加0之后:

 

注: strlen函数返回的是在字符串中’\0’前面出现的字符的个数

3.转义字符

\t是一个字符 \32是一个 \t是一个字符

 打印\32对应的字符:

int main()
{
	/*printf("%d\n",strlen("c:\test\32\test.c"));*/
	printf("%c\n",'\32');
	//\32是2个八进制数字
	//32作为八进制代表的十进制数字,作为ASCII码值,对应的字符
	//32——>十进制3*8+3*1=26——>26对应的字符—>
	printf("%c\n",'\132');
	//若打印\132——>1*8^2+3^8+2^1=90——>对应字符为Z
	return 0;
}

4.选择语句

  •    if选择语句   

int main()

{

int input=0;

printf("进入大学\n");

printf("你要好好学习吗?(1/0)>:");

scanf("%d",&input);

if(input==1)

printf("好offer\n");

else

printf("卖红薯\n");

return 0;

}

  • while循环语句

	int main()
	{
		int line=0;
		printf("学习C语言");
		while(line<20000)
		{
			printf("敲一行代码:%d\n",line);
		    line++;
		}
		if(line>=20000)
			printf("好offer\n");
		return 0;
}

5.函数

分类:自定义函数

          库函数

int Add(int x,int y)//int 表示函数的返回类型 Add表示函数名  x y是函数的参数

{

int z=x+y;

return z;     //函数体,完成所给的任务——两数相加

}

int main()

{

int a=100;

int b=200;

int num1=10;

int num2=20;

int sum=0;

sum=Add(a,b);

sum=Add(num1,num2);

return 0;



}

6.数组

一组相同类型元素的集合

int main()

{

int arr[10]={1,2,3,4,5,6,7,8,9,10};//定义一个存放10个整数数字的数组 arr0-arr9

/*printf("%d\n",arr[4]);*///用下标的形式访问元素

int i=0;

while(i<10)

{

printf("%d ",arr[i]);    //打印数组arr0-9的元素

i++;

}

/*char ch[10];

float arr2[5];*/

return 0;

}

7.操作符

算术操作符:

                         +  -  *  /   %

移位操作符:

                            <<   >>       

 移(2进制)位操作符

int main()

{

int a=1;

int b=a<<1;   //整型1占4个字节,32个bite位 00000000000000000000000000000001

printf("%d\n",b); //b为2

printf("%d\n",a);  //a为1

return 0;

}

 位操作符:

                   &(按位与)   ^(按位异或)    |(按位或)

int main()

{

int a= 3;//011

int b= 5;//101

int c=a&b;//001

printf("%d\n",c);

return 0;

}

//异或  对应的二进制位相同,则为0

//      对应的二进制位相异,则为1

赋值操作符:

                      =    +=    -=

单目操作符:

                   !逻辑反操作   -  +  &    ++   --   *    (类型)强制类型转换

                    sizeof  //  计算的是变量/类型所占的空间大小,单位是字节

int main()
{
	int a=0;//4个字节,32bite
	int b=~a;
	//~——按(二进制)位取反
	//00000000000000000000000000000000
	//11111111111111111111111111111111
	//原码 反码 补码
	//正数的原码  反码 补码相同
	//负数在内存中存储时,存的是二进制的补码;只要是整数,内存中存的都是补码
	//所以先-1,得到反码,再符号位不变其余位取反得到原码 
	//11111111111111111111111111111110
	//10000000000000000000000000000001——》-1
	printf("%d\n",b);//打印的是b的原码

	return 0;
}

--  ++分为前置和后置,两者区别:

int main()
{
	int a=10;
	int b=a++;//后置++,先使用,再++。a先赋给b,a再++
	printf("a=%d b=%d\n",a,b);
	//a=11,b=10
	return 0;
}
int main()
{
	int a=10;
	int b=++a;//前置++,先++,再使用。a先++,再赋给b
	printf("a=%d b=%d\n",a,b);
	//a=11,b=11
	
	return 0;
}

类型强制转换

int main()
{
	int a=(int)3.14;
	
	return 0;
}

关系操作符:

                   >   >=     <   <=    !=    ==

逻辑操作符  :

                  &&(逻辑与)              ||(逻辑或)

int main()
{
	//真-非0
	//假-0
	int a=3;
	int b=5;
	int c=a&&b;
	printf("%d\n",c);//c=1
	return 0;

}

条件操作符(三目操作符):

                       exp1?exp2:exp3       //若exp1为真,取exp2,否则取exp3

下标引用:

                  [ ]

函数调用: 

                 函数调用   add(a,b)

8.常见关键字:

auto 局部变量前面都会有,故省略 

break结束循环

typedef--类型重定义   例typedef unsigned int u_int;

Static

 

void test()
{
	static int a=1;//a是一个静态的局部变量
	//static修饰局部变量,局部变量的生命周期变长,出作用域不销毁
	a++;
	printf("a=%d\n",a);//23456
	
}

int main()
{
	int i=0;
	while(i<5)
	{
		test();
		i++;
	}
	return 0;
}

 //Static 修饰全局变量改变了变量的作用域,让静态的全局变量只能在自己所在的源文件内部使用

出了源文件就没法使用了

//static修饰函数,也是改变了函数的作用域(说法不准确),static修饰函数改变了函数的链接属性,没有static修饰的函数

具有外部链接属性(外部的源文件使用函数声明一下就可以用),static修饰函数具有内部链接属性,不能再被外部的源文件链接

#define 定义标识符常量     #define MAX 100

#define可以定义宏——带参数

//利用宏定义比较两数的大小

#define MAX(X,Y) X>Y?X:Y

int main()

{

int a=10;

int b=20;

int max=MAX(a,b);  //max=a>b?a:b     max=20

printf("%d\n",max);

return 0;

}

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值