【C语言】从零开始复习笔记

注意

c语言大小写敏感

auto 存储类是所有局部变量默认的存储类。auto变量初始值一般是随机的
static变量初始值为0

参数传递

函数定义时的参数被称为形式参数 函数调用时的参数被称为实际参数
参数传递:实参→形参
参数传递过程中,实参把值复制给形参
形参和实参一一对应:数量一致,类型一致,顺序一致
形参:变量,用于接受实参传递过来的值
实参:常量、变量或表达式

变量

一个变量可以在多个地方声明,但是只能在一个地方定义。

格式化输出

%d 格式化输出整数int
%f 格式化输出浮点型数据float
int getchar(void) 函数从屏幕读取下一个可用的字符,并把它返回为一个整数。
int putchar(int c) 函数把字符输出到屏幕上,并返回相同的字符。
%s输出字符串 scanf(“%s %d”, str, &i);
printf( “\nYou entered: %s %d “, str, i);
scanf(”%s”,str);//输入参数不用加& 因为c语言中数组名就代表该数组的起始地址
%c在C语言中代表字符型格式符。char
%o 输出八进制
printf(“25d”,123);第二部分有三位,小于指定的五位,左边补两个空格 123

string库函数

#include <string.h>
strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
strlen(s1);
返回字符串 s1 的长度。
strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

头文件

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

所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。
printf() 用于格式化输出到屏幕。printf() 函数在 “stdio.h” 头文件中声明。
#include <stdio.h>

字符串

char *p = “hello”;
字符串常量直接赋值给指针p
字符串常量出现在表达式中时,是以地址形式出现的

printf(“s%,p); //printf打印指针p指向的字符串

不能用printf *p来输出字符串,因为字符串都是由首地址来表示,传给printf的参数必须是一个字符串的首地址
p里面存放的是字符串的首地址,*p表示的是首地址的内容

指针函数

指针函数是指返回值为指针的函数。

函数指针

如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针。

函数返回值类型 (* 指针变量名) (函数参数列表);
int(*p)(int, int);

如何用函数指针调用函数

int Func(int x);   /*声明一个函数*/
int (*p) (int x);  /*定义一个函数指针*/
p = Func;          /*将Func函数的首地址赋给指针变量p*/

指针函数和函数指针的差别

int *f()表示这个函数的功能是返回一个地址。
int(*f)()表示这是一个函数的指针。它要指向一个函数才能有用,指向一个函数之后可以用它来代替该函数。之后使用这个指针相当于使用该函数。
int *a[]是一个指针数组,表示数组中的每一个元素都是一个指针,可以指向一个int类型的数值。
int (*a)[]这是一个指向多维数组的指针变量。
————————————————
版权声明:本文为CSDN博主「发芽ing的小啊呜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43543789/article/details/111149011

int *f(int *x,int *y)
{ 
	if(*x<*y)
		return x;
	else
		return y;
}

标识符

关键字不可以作为用户标识符
但main、define、scanf和printf都不是关键字,可以作为用户标识符。If也可以因为I大写了。

代码应用

char b;
a='/'; 
b='/xbc';

报错因为b的内容为字符串,超出char的范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值