c语言学习2

字符串是双引号括起来的一串字符,如”sdas“

字符串在结尾处隐藏了一个\0,字符串的结束标志是\0这个转义字符。\0在计算字符串长度时不算做字符串内容

数组为一组相同类型的元素

字符串-%s

字符-%c

---------------------

strlen()求字符串长度,需要的头文件为#include<string.h>

-----------

转义字符:\ddd,ddd表示1-3个八进制数字,如:\130,x

\xdd,dd表示2个十六进制数字,如:\30,0

------------

函数

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int ADD (int x,int y)
{
	int c = x + y;
	return c;
}
int main()
{
	int a, b;
	scanf("%d %d", &a, &b);
	int d=ADD(a, b);
	printf("%d", d);
	return 0;
}

------------

数组

一组相同类型元素的集合:如int arr[4]={1,2,3,4]

chae ch[4]={'a','b'} (不完全初始化,剩余的默认为0)

数组使用下标来访问,每个元素都有下标,第一个元素的下标为0

------------------------------

操作符:

算术操作符:+,-,*,/,%(取模,即取余数)

int a=9\2 ----a=4

float a=9\2-----a=4

float a=9\2.0-----a=4.5

位移操作符:<<,>>(移动的是二进制位)

位操作符:

& 按位与

| 按位或

^ 按位异或

赋值符:=,即上述操作符与=的复合赋值符

例:a = a + 3即为a +=3;

a = a % 3即为a % = 3

单目操作符:

!:逻辑反操作(C语言中,0为假,其他为真。!可以将真变为假,假变为真)

sizeof : 计算类型或者变量大小,当其求类型大小时括号不能省略,求变量大小时可省略

int arr[10] ={0};
printf("%d\n",sizeof(arr));

计算的是数组的总大小,单位是字节,输出结果为40(10*4)

int arr[10] ={0};
printf("%d\n",sizeof(arr[0]);

输出结果为4

int sz = sizeof(arr)/sizeof(arr[0]);

输出sz的结果为10,此为数组元素个数

~ 按(二进制)位取反:把所有二进制位中的数字,1变成0,0变成1

整数a=0

二进制:00000000000000000000000000000000

~a:1111111111111111111111111111111111

整数在内存中存储的是补码,一个整数的二进制表示有三种:原码,反码,补码

 如-1:10000000000000000000000000000001(首位数字为符号位)(原码)

11111111111111111111111111111110(反码)(符号位不变,其他位按位取反)

11111111111111111111111111111111(补码)(反码二进制数加1)

上述为负数的计算方式

正整数:原码,反码,补码相同

 

前置后置--相似

逻辑操作符:

&& 逻辑与 

同为真即为真,一为假即为假 

|| 逻辑或

一为真,即为真。两为假,才为假

条件操作符

?:  :    如exp1 ? exp2 :exp3

exp1 成立,exp2计算,整个表达式的结果是:exp2的结果

exp1 不成立,exp3计算,整个表达式的结果是:exp3的结果

 逗号表达式以逗号隔开,从左至右依次计算,整个表达式的结果是最后一个表达式的结果

 

下标引用操作符【】

函数调用操作符()

变量名不能是关键字,关键字是C语言提供的,不能自己创建关键字

auto :声明自动变量

break:跳出当前循环

case:开关语句分支

char :声明字符型变量或函数返回值类型

const :声明只读变量

continue:结束当前循环,开始下一轮循环

default:开关语句中的“默认”分支

do :循环语句的循环体

double :声明双精度浮点型变量或函数返回值类型

else :条件语句否定分支(与 if 连用)

enum :声明枚举类型

extern:声明变量或函数是在其它文件或本文件的其他位置定义

float:声明浮点型变量或函数返回值类型

for:一种循环语句

goto:无条件跳转语句

if:条件语句

int: 声明整型变量或函数

long :声明长整型变量或函数返回值类型

register:声明寄存器变量

return :子程序返回语句(可以带参数,也可不带参数)

short :声明短整型变量或函数

signed:声明有符号类型变量或函数

sizeof:计算数据类型或变量长度(即所占字节数)

static :声明静态变量

struct:声明结构体类型

switch :用于开关语句

typedef:用以给数据类型取别名

unsigned:声明无符号类型变量或函数

union:声明共用体类型

void :声明函数无返回值或无参数,声明无类型指针

volatile:说明变量在程序执行中可被隐含地改变

while :循环语句的循环条件

typedef:类型重命名

#include<stdio.h>
typedef unsigned int u_int;
int main()
{
	unsigned int a = 100;
	u_int b = 100;
	return 0;
}

unsigned int 被重命名为u_int ,即u_int也是一个类型名

static-静态的:修饰局部变量,改变局部变量的生命周期(本质上是改变了变量的存储类型);

修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部使用,其他源文件不能使用;(全局变量之所以在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成了内部链接属性,在其他源文件就不能链接到这个静态的全局变量了)

修饰函数,使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用(和static修饰全局变量一样)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值