随笔分类 -  C语言学习

摘要:1、字符数组的数组名存的就是字符数组的起始地址,类型是字符指针 2、str系列字符串函数主要包括strlen,strcpy,strcmp,strcat strlen:用于统计字符串长度 strcpy:用于将某个字符串复制到字符数组中 strcmp:用于比较两个字符串的大小,比较对应字符的ASCII码 阅读全文
posted @ 2023-04-09 19:28 xxxbai 阅读(41) 评论(0) 推荐(0)
摘要:格式化的输入输出: printf %[flag][width][.prec][hil]type scanf %[flag]type printf:%[flag][width][.prec][hil]type Flag 含义 - 左对齐 + 在前面放+或- (space) 正数留空 0 0填充 wid 阅读全文
posted @ 2023-03-30 23:03 xxxbai 阅读(35) 评论(0) 推荐(0)
摘要:1 Array array_create(int int_size);//创建数组 2 void array_free(Array *a);//回收数组 3 int array_size(const Array *a);//告诉我们数组中有多少个单元可以用 4 int* array_at(Array 阅读全文
posted @ 2023-03-30 23:03 xxxbai 阅读(42) 评论(0) 推荐(0)
摘要:按位运算符: & 按位的与 | 按位的或 ~ 按位取反 ^ 按位的异或 << 左移 >> 右移 按位与&: 如果(x)==1并且(y)==1,那么(x&y)=1,否则它等于0,即同真则真 按位与常用的两种应用: 让某一位或某些位为0:x & 0xFE 取一个数中的一段:x & 0xFF 按位或|: 阅读全文
posted @ 2023-03-30 22:23 xxxbai 阅读(67) 评论(0) 推荐(0)
摘要:文件输入输出: 用>和<做重定向,>是把输入写进另一个文件,<是从文件中获取 1 FILE* fopen(const char* resrict path,const char* restrict mode); 2 int fclose(FILE *stream); 3 fscanf(FILE*,. 阅读全文
posted @ 2023-03-30 21:26 xxxbai 阅读(71) 评论(0) 推荐(0)
摘要:头文件: 把函数原型放在头文件(以.h结尾)中,在需要调用这个函数的源代码文件(.c文件)中#include这个头文件,就能让编译器在编译的时候知道函数的原型 在使用和定义这个函数的地方都应该#include这个头文件 一般的做法就是任何.c都有对应的同名的.h,把所有对外公开的函数的原型和全局变量 阅读全文
posted @ 2023-03-29 21:40 xxxbai 阅读(44) 评论(0) 推荐(0)
摘要:在C语言中,联合有以下特性: 存储方面:所有的成员共享一个空间 同一时间只有一个成员是有效的 union的大小是其最大的成员 初始化:对第一个成员做初始化 静态本地变量: 在本地变量定义时加上static修饰符就成为静态本地变量 当函数离开的时候,静态本地变量会继续存在并保持其值 静态本地变量的初始 阅读全文
posted @ 2023-03-29 20:48 xxxbai 阅读(41) 评论(0) 推荐(0)
摘要:结构和本地变量一样,在函数内部声明的结构类型只能在函数内部使用 所以通常在函数外部声明的结构类型,这样就可以被多个函数所使用了 以下类似代码参考: 1 #include <stdio.h> 2 3 struct date{ 4 int month; 5 int day; 6 int year; 7 阅读全文
posted @ 2023-03-28 23:02 xxxbai 阅读(62) 评论(0) 推荐(0)
摘要:指针变量: 变量的值是内存的地址 普通变量的值是实际的值 指针变量的值是具有实际值的变量的地址 作为参数的指针: void f(int *p); 在被调用的时候得到了某个变量的地址 int i=0;f(&i); 在函数里面可以通过这个指针访问外面的这个i 访问那个地址上的变量: * 是一个单目运算符 阅读全文
posted @ 2023-03-22 22:19 xxxbai 阅读(53) 评论(0) 推荐(0)
摘要:Unsigned 如果一个字面量常数想要表达自己是unsigned,可以在后面加u或U 255U 用l或L表示long(long) *unsigned的初衷并非扩展数能表达的范围,而是为了做纯二进制运算,主要是为了移位 整数的输入输出 只有两种形式:int 和 long long %d : int 阅读全文
posted @ 2023-03-05 22:57 xxxbai 阅读(29) 评论(0) 推荐(0)
摘要:字符 意义 字符 意义 \b 回退一格 \'' 双引号 \t 到下一个表格位 \' 单引号 \n 换行 \\ 反斜杠本身 \r 回车 回退一格:是什么意思呢? 如果\d后面紧跟内容,那么后面那一位会覆盖\d前最后一位的内容,这就叫回退一格 \t:使用\t使得输出从下一个制表位(固定位置,不是固定大小 阅读全文
posted @ 2023-02-28 21:16 xxxbai 阅读(143) 评论(0) 推荐(0)
摘要:当运算符的两边出现不一致的类型时,会自动转换较大的类型 下面是自动转换规则: char >short >int >long >long long int >float >double 注意: 对于printf,任何小于int的类型会被转换成int; float会被转换成double 但是scanf不 阅读全文
posted @ 2023-02-28 20:56 xxxbai 阅读(143) 评论(0) 推荐(0)
摘要:在C语言中,printf输出inf表示超过范围的浮点数:±∞(inf,-inf) printf输出nan表示不存在的浮点数 注意: 带小数点的字面量是double而不是float float需要用f或F后缀来表明身份 浮点运算是没有精度的,如f1==f2可能失败(判断两个浮点数,float是七个有效 阅读全文
posted @ 2023-02-28 20:40 xxxbai 阅读(436) 评论(0) 推荐(0)
摘要:下面用一个凑零钱的小程序来介绍一下goto的使用: 凑零钱:用1角2角5角凑n元 #include <stdio.h> int main() { int x; int one,two,five; scanf("%d",&x); for(one=1;one<x*10;one++) { for(two= 阅读全文
posted @ 2023-02-27 18:15 xxxbai 阅读(99) 评论(0) 推荐(0)
摘要:switch(控制表达式){//控制表达式只能是整数型的结果 case 常量://常量可以是常数,也可以是常数计算的表达式 语句 ······ case 常量: 语句 ······ default: 语句 ······ } 举例说明: #include <stdio.h> int main() { 阅读全文
posted @ 2023-02-26 20:24 xxxbai 阅读(157) 评论(0) 推荐(0)
摘要:运算符 意义 == 相等 != 不相等 > 大于 >= 大于或等于 < 小于 <= 小于或等于 关系运算的结果: 当两个值的关系符合关系运算符的预期时,关系运算的结果为整数1,否则为整数0 printf("%d\n",5==3); 0 printf("%d\n",5>3); 1 printf("%d 阅读全文
posted @ 2023-02-25 22:46 xxxbai 阅读(177) 评论(0) 推荐(0)
摘要:优先级 运算符 运算 结合关系 举例 1 + 单目不变 自右向左 a*+b 1 - 单目取负 自右向左 a*-b 2 * 乘 自左向右 a*b 2 / 除 自左向右 a/b 2 % 取余 自左向右 a%b 3 + 加 自左向右 a+b 3 - 减 自左向右 a-b 4 = 赋值 自右向左 a=b 阅读全文
posted @ 2023-02-24 17:12 xxxbai 阅读(72) 评论(0) 推荐(0)
摘要:在C语言中整数/整数,结果只能是整数 如果想要得到浮点数,就只能使用浮点数参与运算 10/3=3 > printf("%d",10/3); 10.0/3=3.33333 > printf("%f",10.0/3); 当浮点数和整数放在一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。 编写一 阅读全文
posted @ 2023-02-24 16:42 xxxbai 阅读(224) 评论(0) 推荐(0)
摘要:首先我们先看一下什么是编译型语言和解释型语言: 解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行 编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂得语言--机器语言--写的程序,然后,这个机器语言写的程序就能直接执行了 解释语言与编译语言有什么区别呢? 语言本无编 阅读全文
posted @ 2023-02-24 16:05 xxxbai 阅读(91) 评论(0) 推荐(0)