首页 > 其他分享 >初识C语言(3)

初识C语言(3)

时间:2023-10-18 20:05:43浏览次数:30  
标签:10 return int max C语言 初识 printf main

一、操作符

6.关系操作符

大于>

小于<

大于等于>=

小于等于<=

不等!=

相等==


7.逻辑操作符

逻辑与&

逻辑或||

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

初识C语言(3)_寄存器

8.条件操作符

exp1 ? exp2 : exp3;如果表达式1结果为真,执行表达式b,否则执行表达式3

int main()
{
	int a = 10;
	int b = 20;
	int max = 0;
	max = (a > b ? a : b);
	printf("%d\n", max);//20
	int min = 0;
	min = (a < b ? a : b);
	printf("%d\n", min);//10
	return 0;
}

9.逗号表达式

exp1,exp2,exp3···

10.下标引用、函数调用

int add(int x, int y)
{
	int z = 0;
	z = x + y;
	return z;
}
int main()
{
	int arr[10] = { 0 };
	arr[4];//下标引用操作符
	int a = 10;
	int b = 20;
	int sum = add(a, b);//函数调用操作符
	return 0;
}


二、关键字

1.register建议存储在寄存器

计算机存储数据的地方:

寄存器          处理速度(自下而上,越来越快)

高速缓存

内存

硬盘

随着CPU处理数据的速度越来越快,内存的访问速度跟不上,所以出现了寄存器等更高速的访问空间

2.static

①修饰局部变量,使其生命周期变长

void test()
{
	int a = 1;//a是局部变量
	a++;
	printf("%d\n", a);//22222
	return 0;
}
int main()
{
	int i = 0;
	while (i < 5)
	{
		test();
		i++;
	}
	return 0;
}
void test()
{
	static int a = 1;//此时a是一个静态局部变量
	a++;
	printf("%d\n", a);//23456
	return 0;
}
int main()
{
	int i = 0;
	while (i < 5)
	{
		test();
		i++;
	}
	return 0;
}

②修饰全局变量,改变了变量的作用域,让静态的全局变量只能在自己所在的源文件内部使用,extern无法声明外部函数

③修饰函数,改变了函数的链接属性,外部链接属性→内部链接属性

3.define定义宏

int Max(int x, int y)//函数的实现
{
	if (x > y)
		return x;
	else
		return y;		
}
#define MAX(X,Y) (X>Y?X:Y)//宏的定义
int main()
{
	int a = 10;
	int b = 20;
	//函数
	int max = Max(a, b);
	printf("max1=%d\n", max);
	//宏
	max = MAX(a, b);
	printf("max2=%d\n", max);
	return 0;
}

三、指针

内存地址的大小为1个字节(8个比特位)

指针变量:用来存放地址的一种变量,在32位机器上大小是4个字节,在64位机器上大小是8个字节

int main()
{
	int a = 10;//4个字节
	int* p = &a;//取地址,指向什么类型*前面就是什么
	printf("%p\n", &a);
	printf("%d\n", *p);//*-解引用操作符,*p就是a
	return 0;
}

标签:10,return,int,max,C语言,初识,printf,main
From: https://blog.51cto.com/u_16292010/7921852

相关文章

  • 青蛙跳台阶(C语言数学排列组合公式求解法)
    题目:从前有一只青蛙他想跳台阶,有n级台阶,青蛙一次可以跳1级台阶,也可以跳2级台阶;问:该青蛙跳到第n级台阶一共有多少种跳法。当只有跳一级台阶的方法跳时,总共跳n步,共有1次跳法                 当用了一次跳二级台阶的方法跳时,总共跳n-1步,共有n-1次......
  • C语言-读取一个目录中的文件,并将文件名写入数组
    C语言-读取一个目录中的文件,并将文件名写入数组注意点:文件名是字符串,放入数组,需要数组二维数组,array[m][n],m表示字符串的个数,n表示字符串的长度;使用函数char*strcpy(char*destination,constchar*source),例如:charstrings[3][10];strcpy(strings[0],"hello");......
  • C语言---去掉字符串中的空格
    有时候,我们会遇到,字符串中有空格,那如何删除呢?要删除空格,就需要找到空格,找到空格,就需要遍历字符串。下面是示例代码:(分别使用了for和while循环)#include<stdio.h>#include<stdlib.h>#include<ctype.h>voidfun(char*str){ inti=0; char*p; /*标记:p=str表示指针指......
  • 初识Cocos Creator
    1.1 Cocos不同时期与产品 刚接触Cocos家族的时候,会有很多个Cocos的版本与分支,比如Cocos2d,Cocos2d-x,CocosCreator1.x,CocosCreator2.x,CocosCretor3D,CocosCreator3.x,CocosDashboard,等我们先把Cocos的主要产品脉络梳理一遍。智能手机刚出来的时候,国外做了......
  • C语言 内存布局
    GCC编译预处理->编译->汇编->链接预处理:头⽂件包含、宏替换、条件编译、删除注释...编译:主要进⾏词法、语法、语义分析等,检查⽆误后将预处理好的⽂件编译成汇编⽂件...汇编:将汇编⽂件转换成⼆进制⽬标⽂件...链接:将项⽬中的各个⼆进制⽂件+所需的库+启动代码链接成可执⾏⽂......
  • C语言-结构体使用
    C语言-结构体使用#include<stdio.h>#include<stdlib.h>#include<string.h>//结构体/*结构体定义*/structPerson{ charname[20]; intage;};intmain(){/*结构体赋值*/ structPersonperson1={"Tom",20 }; printf("Name:%s,age:......
  • C语言-数组初始化方式
    C语言-数组初始化方式#include<stdio.h>#include<string.h>//数组初始化intmain(){ //方式1:{0} intarr1[3]={0}; for(inti=0;i<3;i++){ printf("arr1[%d]=%d\n",i,arr1[i]); } //方式2:for循环 intarr2[3]; for(inti=0;i<3;i++)......
  • C语言部分学习知识记录
    导包#include时候使用<>和""的区别://<filename.h>->去系统存放头文件的位置找.h文件//"filename.h”->去当前目录寻找头文件,如果没找到再去系统存放头文件的位置找.h文件main函数中参数意义//intargc->从命令行传入的参数个数//char*argv[]->存放参数的数组//char*env[......
  • 【C语言】数组指针
    【C语言】数组指针顾名思义,数组指针是指向数组的指针。例如,p是一个指向含有3个int元素的一维数组的指针:int(*p)[3];//圆括号的优先级更高,让p先与*结合再与[]结合用法:#include<stdio.h>//voiddisplay1(intp[][3])//等价下行写法voiddisplay......
  • 初入c语言学习
        hello,我是一名大一新生,2023/8/1开始在视频上跟着学习c语言。回顾前两个月,我对c语言的认识已经不停留在一门高深莫测的技术,也让我逐渐清晰自己想要什么,当然,与此相对应的就是付出比在暑假期间更多学习时间的决心。    在学习前,因对c语言认识有限,或者说对计算机这......