初识C语言回顾

1.

char字符数据类型

short短整型

int整型

long长整型

long long更长的整型

float单精度浮点数

double双精度浮点数

%d-打印整型

%c-打印字符

%s-打印字符串

%f-打印float类型

%lf-打印double类型

2.

#include<stdio.h>
int main()
{
    const int a = 10;//const修饰的a,本质是变量,但是不能被修改,有常量的属性。
    printf("%d\n",a);
    return 0;
}

int main()

{

        auto int a =10;//自动变量

        return 0;

}

3

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

#include<stdio.h>
#define STR "abcdef"
int main()
{
    printf("%s\n",STR);//define定义的只是一个符号,并不是像变量一样的值,在程序中遇到这个符号就自动替换成对应的值
    return 0;
}

#define ADD(x,y)((x)+(y))

ADD:宏名   (x,y)宏的参数,参数是无类型((x)+(y))宏体

define不是关键字,是预处理指令

4

enum color//枚举常量
{
    RED,
    BLUE,
    GREEN
};

5

#include<stdio.h>
#include<string.h>

int main()
{
    char arr1[] = "abcdef";//6
    char arr2[] ={'a','b','c','d','e','f','/0'};//7
//    int len = strlen("abc");//求字符串长度的一个函数 
int len =strlen(arr1);
    printf("%d\n",len);
    return 0;
}


#include<stdio.h>

int main()
{
	//int arr[10] = {1};
/*	int n =10;
	int arr[n] ={0};*///no
	/*int arr [10]={0};*///ok//0
//	int arr[3+4]={};ok //0
	int len=strlen(arr);
	printf("%d",len);
	return 0;
}
//c99标准之前,数组的大小都是用常量或者常量表达式来指定
//c99标准之后,支持了变长数组,这个时候允许数组的大小是变量,但是这种指定方式的数组是不能初始化的。

6

if语句

7

任意两个整数和

#include<stdio.h>
/*方法一 
int main()
{
	int a =0;
	int b =0;
	scanf("%d %d",&a,&b);
	int sum = a+b;
	printf("%d\n",sum);
	return 0;
}*/
//方法二,调用函数
int ADD(int x,int y)//调用函数 ,int是返回类型,ADD是函数名,(int x,int y)函数参数  
{
	int z = 0;
	z=x+y;
	return z;
}//函数体 

int main()
{
	int a =0;
	int b =0;
	scanf("%d %d",&a,&b);//输入 
	int sum = ADD(a,b);//求和,()就是函数调用操作符,ADD,2,3都是()的操作数
	//相当于int sum =a+b; 
	printf("%d\n",sum);
	return 0;
 } 

8

数组

#include<stdio.h>

int main()
{
	int arr[10] = {1,2,3,4,5,6,7,8,9};

	//printf("%d\n",arr[5]);//数组下标从0开始
	int i = 0;
	while(i<9)
{
	printf("%d ",arr[i]);
	i=i+1;
	}
	return 0;
}

9.

数据类型

一种:内置的如char,int......

二种:自定义:struct...

10

0-数字0

'0'-字符0,ASCII值是48

'\0'-字符-ASCII值是0

EOF-end of file文件结束标志 值是1

11

除号的两端都是整数的时候,执行的是整数除法,如果两端只要有一个浮点数就执行浮点数的除法

取模操作符的两个操作符只能是整数

%.2f:保留两位小数

12

双目操作符与单目操作符:

1.)操作符是嵌在每一条指令中的,换句话说,指令系统的每一条指令都有一个操作符。我理解是计算机系统中的术语。如=(赋值),==(判断相当)等等。

单目运算符:
单目运算符是指运算所需变量为一个的运算符,即在运算当中只有一个操作数,又叫一元运算符。
逻辑非运算符【!】、按位取反运算符【~】自增自减运算符【++,--】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&】、长度运算符【sizeof】
双目运算符:
运算所需变量为两个的运算符叫做双目运算符,或者要求运算对象的个数是2的运算符
初等运算符
下标运算符【[】、分量运算符的指向结构体成员运符【->】、结构体成员运算符【.】,函数调用【()】
算术运算符
乘法运算符【*】、除法运算符【/】、取余运算符【%】、加法运算符【+】、减法运算符【-】
关系运算符
等于运算符【==】、不等于运算符【!=】......
逻辑运算符
逻辑与运算符【&&】(并且)、逻辑或运算符【||】(或者)、逻辑非运算符【!】
位运算符
按位与运算符【&】、按位异或运算符【^】、按位或运算符【|】左移动运算符【>】
赋值运算符
赋值运算符【==】
逗号运算符
逗号运算符【,】

#include<stdio.h>

int main()
{
	int a=21;
	int b=27;
	int c=0;
	int d =(c=a	-2,a=b+c,c-3);//c=19,19+2=a=33,c-3=19-3=16
    printf("%d",d);//16
    
	return 0;
}	

//逗号表达式就是逗号隔开的一串表达式
//逗号表达式的特点是:从左向右依次计算,整个表达式的结果是最后一个表达式的结果

条件运算符【?:】(三目操作符:有三个操作数)

一般形式:

表达式1?表达式2:表达式3;

#include<stdio.h>

int main()
{
	int a=21;
	int b=27;
	int min=0;
/*	if(a<b)
	min=a;
	else
	min=b;*/
	min=(a<b)?a:b;
    printf("%d",min);//21
    
	return 0;
}	

2.)运算符是数学中的术语。主要是指数之间的运算方式。如+-*/%,但不包括=(赋值)这样的操作符。

3.)函数相当于一堆指令的集合,也可以理解为一堆操作符的集合。

13

后置++

前置++

#include<stdio.h>

int main()
{
	/*int arr[10] = {0};
	printf("%d\n",sizeof(arr));//40 计算的是整个数组的大小,单位是字节
	printf("%d\n",sizeof(arr[0]));//4 -数组的元素个数
*/
    /*int a = 10;
	int b =a++;//后置++,先使用,后++
	//int b =a;a=a+1; 
	printf("%d\n",b);//10
	printf("%d\n",a);//11
*/
	int a = 10;
	int b =++a;//前置++,先++,后使用
	//a =a+1,b=a 
	printf("%d\n",b);//11
	printf("%d\n",a);//11

	return 0;

}

14

int a =(int)3.14;//强制类型转换

printf("%d\n",a);//3.14字面浮点数,编译器默认理解为double类型

15

int a= 0;

int b=0;

if(a&&b)

{

printf("hehe\n");//a=0,b=0不打印hehe。a,b相等且非0时打印hehe

}

16

for 、while、 do while 、break 、continue

if else 、switch 、case 、default 、goto

char、 short 、int 、long、 float、 double、 signed 有符号的、unsigned无符号的

enum枚举 、struct结构体 、union 联合体(共用体)

void 、sizeof 、typedef

const常属性

extern声明外部符号、 register寄存器 、static 静态的、return函数返回值

17变量的命名:
1.有意义
int age;
float salary;
2.名字必须是字母、数字、下划线组成不能有特殊字符,同时不能以数字开头。
int 2b;//err

errint _2b;//ok
3.变量名不能是关键字

18

1.static修饰局部变量的时候,局部变量出了作用域,不销毁的。本质上,static修饰局部变量的时候,改变了变量的存储位置的,影响了变量的生命周期,生命周期变长,和程序的生命周期一样.

#include<stdio.h>
void test()
{
//	static int a =1;//2 3 4 5 6 7 8 9 10 11
	int a =1;//2 2 2 2 2 2 2 2 2 2
	a++;
	printf("%d ",a);
}
int main()
{
	int i =0;
	while(i<10)
	{
		test();
		i++;
	}
	return 0;
}

19

一个函数本来是具有外部链接属性的但是被static修饰的时候,外部链接属性就变成了内部链接属性,其他源文件(.c)就无法使用了。

20

.h 头文件(函数的声明、类型的声明、头文件的包含)

.c源文件(函数实现)

21

int a=10;

int* p =&a;

int说明p指向的对象是int类型的

*说明p是指针变量

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值