已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux_C(复习).txt心态决定状态,心胸决定格局,眼界决定境界。当你的眼泪忍不住要流出来的时候,睁大眼睛,千万别眨眼,你会看到世界由清晰到模糊的全过程。1,C语言概述:编译类的语言gcc 默认加载的库/lib/libc.so.6gcc a.c -o abc -lc2,hello.c#include /usr/include/stdio.h int main(void) lsint main(int argc, char *argv) ls -l printf (hello world!n); return 0;3,变量,常量,运算符修饰符存储类型 数据类型 变量名修饰符:const(常量),volatile(易变的)存储类型:auto,register,static,extern数据类型:有符号:signed 无符号:unsignedint char short long float double4 1 2 4 4 8变量名:下划线或者字母开头,由下划线,字母,数字!为什么要定义变量:用来存储数据!变量的初始化:int num = 10;常量:不能被改变!9,a,“abcde”,int arr10;int fun(void);const int a;常见的运算符:1,赋值运算符:变量=值,变量= 变量int a; 数据表现形式:10进制,8进制,16进制。a = 23;a = 027;a=0x17; 计算机存储数据2进制char ch;ch = a;a-ascii码-2进制2,算术运算符:+-*/%int main() int a = 10; a += 1; a=a+1 11 a *=4-2; a=a*(4-2) 22 a -= 5; a= a-5 17 printf (a=%dn,a); 3,sizeof():字节大小!sizeof(类型),sizeof(变量),sizeof(指针),sizeof(数组名)字符的输入,输出:getchar();char ch;ch = getchar();putchar();char ch = a;putchar(ch);int num;scanf(“%d”,&num);%d(10进制整数) %o(8进制整数) %x(16进制整数) %c(字符)printf(“%d”,num);%d(10进制整数) %o(8进制整数) %x(16进制整数) %c(字符)n(回车) t(tab键)程序的结构:1,顺序结构:2,分支结构:if,switch.case条件:1,关系运算符:= != = =2,逻辑运算符:&() |() !条件1 & 条件2真 & 假(假) 假 & 真(假) 假 & 假(假) 真 & 真(真)条件1 | 条件2 真 | 假(真) 假 | 真(真) 假 | 假(假) 真 | 真(真)注意:条件1 | 条件2 | 条件3 | 条件4.条件1 & 条件2if语句:形式:单分支:双分支:多分支:if(条件)if(条件)if(条件1)语句;语句1;语句1;elseelse if (条件2)语句2;语句2;else语句3;if语句的嵌套:if(条件)if (条件)语句;条件运算符:表达式1?表达式2:表达式3;switch (表达式)case 常量:语句;语句;case 9:语句;语句;case a:语句;语句;default:语句;常量:数值常量,字符常量!如何选择if和switch?if:描述一定的范围switch:分支明确。(菜单)循环结构:while do.while(); for()while (条件)循环体;do循环体;while(条件);for(表达式1;表达式2;表达式3)循环体;break与continue?break:结束整个循环continue:结束本次循环while(n 100)if (n % 2 = 0)continue;n+;for (n = 0; n 100; n+)if (n % 2 = 0)continue;数组:为什么要使用数组?数组:相同数据的有限的集合!数据类型 数组名成员个数;数据类型:每一个成员的类型数组名:标示符的命名规则常量(数值):成员的个数数组的初始化:int arr5;int arr5 = 1,2,3,4,5;int arr5 = 1,2,3;int arr=1,2,3,4;成员的引用:数组名下标;例如:int arr5;arr0 arr1 arr2 arr3 arr4arr0 = 存数据= arr0取数据数组的操作:1,数组的遍历:取值,存值!2,数据交换:数据的移动!排序算法(冒泡)二维数组:定义,初始化:数据类型 数组名常量常量;例如:int arr23 = 1,2,3,4,5,6;arr00 arr01 arr02 arr10 arr11 arr12线性存储!二维数组的操作:字符数组:char buf256;字符串:字符+0abcde字符串初始化:char buf5 = a,b,c,d,0;char buf5 = abcd;char buf5 = abcd;char buf = abcdef;sizeof(buf) = 7;字符串的输入:char buf100;gets(buf);字符串的输出:puts(buf);printf(%sn,buf);指针:定义:数据类型 *指针变量;数据类型:存取数据的大小!*指针,指针+1指针变量:保存地址!&取地址:&变量*存取数据:*指针 = = *指针操作:1,p+12,p+3,p-q4,p q指针的作用:提供另外一种存取数据的方式!指针与数组char buf100;char *p;p = buf;指针与字符串:char *p = “abcd”;指针与函数:void fun(char *buf,int n);char * fun(char *p);指针数组:char *buf100;指针与结构体:struct nodeint num;struct node * next;函数指针:void (*p)(int a);函数:数据类型 函数名(形参列表);函数声明int main()函数名(实参);函数调用数据类型 函数名(形参列表)函数的实现c语句;数据类型:返回值的类型,没有返回值void函数名:地址常量(类似数组名)形参列表:参数1,参数2函数的作用:提高代码的利用率函数的声明int main()函数调用功能1;功能1;函数的执行过程int fun(int a);int main()int a;a = 10;a = fun(a+1-4);int fun(int a)printf (%dn, a+1);return a+3;变量的作用域:局部变量,全局变量,static,字符串常量编写函数:函数传值:1,传int,charvoid fun (int a, int b);char fun(char ch);2,传数组void fun(int arr12,int len);void fun(int *arr, int len);int fun(int arr,int len);传字符串:void fun(char *buf);void fun(char buf);char *fun(char *buf, char ch);int main()int arr9 = 7;fun(arr, 9)void fun (int arr1077, int len)int abc8;printf (%dn, sizeof(arr);函数传二维数组:void fun(int a3,int len);int main()int arr23 = 1,2,3,4,5,6;fun(arr,2);void fun(int a3,int len)int i,j;for (i = 0; i len; i+)for (j = 0; j 3; j+)printf (%d , aij);函数指针:void (*p)(int a);man signalman pthread_create自定义函数:自己写库函数:别人写的!1,内存分配:malloc:申请内存malloc(大小),返回地址free:free(地址)2,字符串处理函数:bzero,strlen,strcmp,strcpy,strcat,strchr,strstr,atoi联想:mem开头,带n的,strncpy十几个字符串函数库函数:多,少!./a.out -l -c -dargc = 4argv0argv1argv2argv3int main(int argc, char *argv) int i;for (i = 0; i 成员 = ;1,计算结构体大小!2,结构体初始化:struct abc tt = 10,abcdef;tt.a = 10;strcpy(tt.b,abcdef);学生管理系统:1,添加2,查找3,删除(按照id删除,按照年龄删除,按照姓名删除)4,打印(按照id排序,按照年龄排序,按照姓名排序)执行过程:while(1)add student1search student2delete student3print student4quit0enter:线性结构:结构体数组:链表:struct node数据区;结构体指针;;共用体:枚举:Linux中文件操作:标准库:打开文件:fopen文件操作:读写字节fgetcfputc字符串(行)fgetsfputs块(段)freadfwrite关闭文件:fclose字节流:od -c 文件(ascii)od -x 文件(16进制)文件:普通文本文件,二进制文件fopen(地址1,地址2)输入:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第一单元导读 教案 2022-2023学年高二语文统编版选择性必修中册
- 2026年宁德市蕉城区医疗系统事业编人员招聘笔试参考试题及答案详解
- 2026年抚顺市顺城区政务服务中心(窗口人员)招聘笔试参考题库及答案详解
- 2026年太原市尖草坪区政务服务中心(窗口人员)招聘笔试备考试题及答案详解
- 股权质押贷款合同
- 2026年兰州市城关区工会人员招聘考试模拟试题及答案详解
- 技术成果转化合同
- 2026年天津市宝坻区政务服务中心(窗口人员)招聘笔试参考题库及答案详解
- 2026年河北省邢台市政务服务中心(窗口人员)招聘考试备考题库及答案详解
- 2026年内蒙古自治区巴彦淖尔市工会人员招聘考试参考试题及答案详解
- 气象行业公共服务技能竞赛理论知识试题及答案
- 夏季四防培训试题及答案
- GB/T 36699-2026锅炉用液体和气体燃料燃烧器技术规范
- 各部门、岗位人员及施工现场总分包安全生产责任制
- 平江2026年事业编招聘考试真题及答案解析
- (2026年)中小学阳光招生专项行动课件
- 2026四川安信科创科技有限公司第一批招聘12人笔试备考题库及答案解析
- 2026 年高考(江苏卷)地理试题及答案
- 2026年中国中铁招聘面试题库
- 质量保证体系及管理措施(完整的投标文件)
- 森林防火隔离带开设施工方案
评论
0/150
提交评论