C语言
张文琪2024
若是命运注定,我必逆天改命。
展开
-
C语言学习——位操作符
按位取反移位操作按位与按位或按位异或拓展按位取反(~)任何进制的都转换成二进制,然后0变1,1变0 例如printf(“%u”,(unsigned char)~181);移位操作(>>,<<)符号的方向说明二进制移动的方向 例如 11>>2结果就是2按位与(&)例如 8&6 规律:一假全假,全真才真 结果为0 0 0 0即为0按位或(|)例如 8|6 规律:一真全真,全假才假原创 2016-09-07 08:53:58 · 706 阅读 · 0 评论 -
C语言——关于指针的那些事
很早以前上大一的时候接触过C语言的时候就听说过指针,当时也没深入学习,老师也没做太多要求,所以最后也就没管,后来大二之后就学java了。到现在整个大学期间也就是考了三次软考的时候学了一些C,正好考研的时候需要用到C,所以就学了本很基础的书一直在看,算是做个小总结。实际上指针不是多么难的东西,只不过才接触编程的时候本来就抽象,指针更是在抽象之上的抽象了,尤其在声明的时候就开始纠结……不过习惯了都是一...原创 2018-12-02 21:05:08 · 1509 阅读 · 0 评论 -
C语言学习小问题总结!!!
字符串转整型#include <stdlib.h>...char cs[] = "123";int num = atoi(cs);分隔字符串#include<string.h>...char str[] = "I am student";char *ptr; ptr = strtok(str, " "); while (ptr ...原创 2018-03-16 22:08:22 · 274 阅读 · 0 评论 -
C语言学习——文件操作
只是跟文件有关的简单操作打开fopen关闭fclose写入fwrite读取fread打开(fopen)FILE* fp=fopen("c:/aaa.txt","wb");第一个参数指定文件的位置,第二个参数设置文件的权限(常用的:r/rb:可读,不可创建;w/wb:可写可创建;a/ab:追加写可创建;后面带+号,或者中间带+号表示可读可写)关闭(fclose)fclose(fp); 不解释原创 2016-10-07 23:32:43 · 527 阅读 · 0 评论 -
C语言学习——ANSI C标准函数库
即C语言环境自带的变量和方法等stdiohgetchar和putchargets和putssprintf和sscanfstringhstrcpystrlenstrtokstdlibhrandsrandtimehtime_ttimeNULLtmlocaltime案例1求当前的年月日时分秒mktime案例2求两个日期之间的日数差stdio.hgetchar和putc原创 2016-10-07 17:03:26 · 4703 阅读 · 0 评论 -
C语言学习——动态内存
感觉C语言真的好神奇 [TOC]两个主要方法malloc(n);参数为所申请内存的字节数 free(p);参数为申请内存里获取的首地址为何要使用动态内存结合到数组的局限性:数组中元素的个数是固定不变的,太少会报错,太多会浪费内存。简单示例char* p=(char*)malloc(8);//申请了八个字节数的char类型的内存for(int i=0;i<8;i++){ p[i]原创 2016-09-22 08:42:19 · 495 阅读 · 0 评论 -
C语言学习——结构体(struct)的使用
结构化可以创建一个新的数据类型,得到的数据类型类似于java中的对象。定义新类型使用新类型单个变量初始化赋值输出多个变量初始化赋值输出关于新类型的一些其他应用新类型的变量之间可以赋值指针在新类型中的使用定义新类型struct Contact{ int id; char name[16]; char number[16];};注:特别注意下标点符号使用新类原创 2016-09-21 09:45:26 · 2891 阅读 · 0 评论 -
C语言学习——有头链表
有头链表类似于java的list,用于操作多个结构体(对象)有头链表与无头链表的区别有头链表的作用增加对象的案例有头链表与无头链表的区别无头链表是链表中所有的对象都有数据,有头链表是链表中存在一个没有保存数据功能的对象,一般是在表头的位置有头链表的作用有头链表的作用是辅助增加对象,插入对象,删除对象增加对象的案例#include <stdio.h>#include <string.h>#i原创 2016-09-25 20:08:52 · 960 阅读 · 0 评论 -
C语言学习——链表
链表的实质名词解释链表的作用如何使用链表创建结构体创建结构体变量创建链表遍历链表具体案例按照id找某个学生链表的实质串联起来的对象名词解释链表头:第一个对象 链表尾;最后一个对象链表的作用一次性访问多个对象如何使用链表①创建结构体struct Student{int id;char name[12];Student* next;};②创建结构体变量Student ss[4]原创 2016-09-25 15:55:04 · 841 阅读 · 0 评论 -
C语言学习——指针与数组、空指针
指针与数组方法1方法2小案例指针与数组数组的元素在内存中是互连的,通过指针操作数组某个元素方法1int vals[4]={1,2,3,4};int* p=vals;/*p指向数组的内存地址,即第一个元素的地址*/printf(“%d”,*p);/*输出p地址的值*/p+=1;/* p向后移动一个内存地址*/printf(“%d”,*p);/*输出当前p地址的值*/printf原创 2016-09-20 09:39:57 · 2752 阅读 · 0 评论 -
C语言学习——指针的基本使用
万万没想到,C语言竟然可以直接操作内存,这是java无法相比的。指针和内存的理解指针的声明使用指针输出与赋值指针和内存的理解指针:可以直接对内存进行操作。 内存:例如声明变量就会产生内存,内存是唯一的,是用十六进制表示的整型表示的指针的声明即指向某数据类型的物理地址并获取其物理地址int a=0;int* p1=&a;//写法1int * p2=&a;//写法2int *p3=&a;/原创 2016-09-19 20:15:35 · 476 阅读 · 0 评论 -
C语言学习——数组与字符串
今天在敲C语言代码的时候还总是用java的习惯去敲~~普通数组一维数组初始化数组辅助理解冒泡排序二维数组示例代码字符数组也可以当做字符串特殊的初始化方式输出字符串结束符的使用转义字符的含义普通数组一维数组初始化可以不初始化int i[5];可以初始化:int i[5]={1,2,3,4,5};可以部分初始化:int i[5]={1,2};全部为零:int i[5]={0};不写[原创 2016-09-03 16:52:39 · 480 阅读 · 0 评论 -
C语言学习——运算符与表达式
算数运算符需要特别注意的是赋值运算的简写关系表达式条件表达式逻辑表达式逗号表达式算数运算符,*, /, -, %需要特别注意的是1、%,左右操作数都必须是整型 2、/,左右操作数都是整型的话,得到的也是整型,有小数的话被忽略;左右操作数都是浮点型,得到的也是小数。赋值运算的简写例如a+=b a=a+a;注:a*=b+3 a=a*(b+3)关系表达式0代表false,1代原创 2016-09-05 22:19:48 · 1533 阅读 · 0 评论 -
C语言学习——输入输出与变量
占位符输出printf占位符在printf的使用替换对齐显示几位小数输入scanf整数输入的写法小数输入的写法多个输入值特殊字符n 回车 取后面跟着变量的物理地址变量需要注意的问题变量范围占位符输出输入都必须使用占位符%a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数原创 2016-09-02 17:04:01 · 4895 阅读 · 0 评论 -
C语言学习——方法简单总结
由于学习JAVA语言的时间已经很长了,所以学习C语言中的方法比较简单方法标准基本写法[返回值类型] 方法名(方法参数){方法体}无返回值方法举例void fun1(){ printf(“无返回方法示例”);}有返回值方法举例,求两个整数的和int fun2(int a,int b){return a+b;}C语言的方法与java上的比较:没有方法重写;而且C语言中的方法可以没有返回值,原创 2016-09-12 15:45:15 · 572 阅读 · 0 评论 -
C语言—char*和字符数组的区别
近期做了一道C语言的题,里面用到了字符指针来使用字符串,以前也遇到过这种问题,今天也是好不容易了解了其中的道道声明字符指针并赋值字符串:char *s1 = "abc"其实实际物理存储模式和字符数组是一样的,一个地址存一个字符,但是有两个和字符数组完全不同的地方。1、赋值后不可修改数据2、移动指针输出字符时,是从当前指针位置开始输出,到‘\0’停止 char *s1 = "abc";//...原创 2018-11-30 18:08:21 · 2459 阅读 · 0 评论