珠海网站系统建设,wordpress分类主题模板下载,如何在百度搜到自己的网站,wordpress 手动升级【声明】本篇博客只用于对与刚学习C语言的同学的一个初始了解#xff0c;具体内容请继续关注本专栏后续内容。什么是C语言C语言是一门通用计算机编程语言#xff0c;广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及…【声明】本篇博客只用于对与刚学习C语言的同学的一个初始了解具体内容请继续关注本专栏后续内容。什么是C语言C语言是一门通用计算机编程语言广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能但仍然保持着良好跨平台的特性以一个标准规格写出的C语言程序可在许多电脑平台上进行编译甚至包含一些嵌入式处理器单片机或称MCU以及超级电脑等作业平台。二十世纪八十年代为了避免各开发厂商用的C语言语法产生差异由美国国家标准局为C语言制定了一套完整的美国国家标准语法称为ANSI C作为C语言最初的标准。 [1] 目前2011年12月8日国际标准化组织ISO和国际电工委员会IEC发布的C11标准是C语言的第三个官方标准也是C语言的最新标准该标准更好的支持了汉字函数名和汉字标识符一定程度上实现了汉字编程。C语言是一门面向过程的计算机编程语言与CJava等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。第一个C语言程序#include stdio.h
int main()
{printf(hello bit\n);printf(he he\n);return 0;
}
//解释
//main函数是程序的入口
//一个工程中main函数有且仅有一个数据类型char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
//C语言有没有字符串类型为什么出现这么的类型每种类型的大小是多少#include stdio.h
int main()
{printf(%d\n, sizeof(char)); //1printf(%d\n, sizeof(short)); //2printf(%d\n, sizeof(int)); //4printf(%d\n, sizeof(long)); //4printf(%d\n, sizeof(long long)); //8printf(%d\n, sizeof(float)); //4printf(%d\n, sizeof(double)); //8printf(%d\n, sizeof(long double));//8return 0;
}类型的使用char ch w;
int weight 120;
int salary 20000;变量、常量生活中的有些值是不变的比如圆周率性别身份证号码血型等等有些值是可变的比如年龄体重薪资。不变的值C语言中用常量的概念来表示变得值C语言中用变量来表示。 定义变量的方法:int age 150;
float weight 45.5f;
char ch w;变量的分类局部变量全局变量#include stdio.h
int global 2019;//全局变量
int main()
{int local 2018;//局部变量//下面定义的global会不会有问题int global 2020;//局部变量printf(global %d\n, global);return 0;
}总结上面的局部变量global变量的定义其实没有什么问题的当局部变量和全局变量同名的时候局部变量优先使用。变量的使用#include stdio.h
int main()
{int num1 0;int num2 0;int sum 0;printf(输入两个操作数:);scanf(%d %d, a, b);sum num1 num2;printf(sum %d\n, sum);return 0;
}
//这里介绍一下输入输出语句
//scanf
//printf变量的作用域和生命周期作用域作用域scope程序设计概念通常来说一段程序代码中所用到的名字并不总是有效/可用 的而限定这个名字的可用性的代码范围就是这个名字的作用域。局部变量的作用域是变量所在的局部范围全局变量的作用域是整个工程。生命周期变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段局部变量的生命周期是进入作用域生命周期开始出作用域生命周期结束。全局变量的生命周期是整个程序的生命周期。常量C语言中的常量和变量的定义的形式有所差异。C语言中的常量分为以下以下几种字面常量const 修饰的常变量#define 定义的标识符常量枚举常量#include stdio.h
//举例
enum Sex
{MALE,FEMALE,SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{3.14;//字面常量1000;//字面常量const float pai 3.14f; //const 修饰的常量pai 5.14;//ok?#define MAX 100 //#define的标识符常量 return 0;
}
字符串转义字符注释字符串hello world.\n这种由双引号Double Quote引起来的一串字符称为字符串字面值String Literal或者简称字 符串。注字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志不算作字符串 内容。#include stdio.h
//下面代码打印结果是什么为什么突出\0的重要性
int main()
{char arr1[] bit;char arr2[] {b, i, t};char arr3[] {b, i, t \0};printf(%s\n, arr1);printf(%s\n, arr2);printf(%s\n, arr3);return 0;
}转义字符加入我们要在屏幕上打印一个目录 c:\code\test.c我们该如何写代码#include stdio.h
int main()
{printf(c:\code\test.c\n);return 0;
}实际上程序运行的结果是这样的这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。下面看一些转义字符:转义字符释义\?在书写连续多个问号时使用防止他们被解析成三字母词\用于表示字符常量\用于表示一个字符串内部的双引号\\用于表示一个反斜杠防止它被解释为一个转义序列符。\a警告字符蜂鸣\b退格符 \f进纸符\n换行\r回车\t水平制表符\v垂直制表符\dddddd表示1~3个八进制的数字。 如 \130 X\xdddd表示2个十六进制数字。 如 \x30 0#include stdio.h
int main()
{//问题1在屏幕上打印一个单引号怎么做//问题2在屏幕上打印一个字符串字符串的内容是一个双引号“怎么做printf(%c\n, \);printf(%s\n, \);return 0;
}选择语句#include stdio.h
int main()
{int coding 0;printf(你会去敲代码吗选择1 or 0:);scanf(%d, coding);if(coding 1){prinf(坚持你会有好offer\n);}else{printf(放弃回家卖红薯\n);}return 0;
}
循环语句whiledo...whilefor//while循环的实例
#include stdio.h
int main()
{printf(加入比特\n);int line 0;while(line20000){line;printf(我要继续努力敲代码\n);}if(line20000)printf(赢取白富美\n);return 0;
}函数#include stdio.h
int main()
{int num1 0;int num2 0;int sum 0;printf(输入两个操作数:);scanf(%d %d, a, b);sum num1 num2;printf(sum %d\n, sum);return 0;
}
上述代码写成函数如下
#include stdio.h
int Add(int x, int y)
{int z xy;return z;
}
int main()
{int num1 0;int num2 0;int sum 0;printf(输入两个操作数:);scanf(%d %d, num1, num2);sum Add(num1, num2);printf(sum %d\n, sum);return 0;
}函数的特点就是简化代码代码复用。数组要存储1-10的数字怎么存储C语言中给了数组的定义一组相同类型元素的集合数组定义:int ar[10]{0,1,2,3,4,5,6,7,8,9};数组的使用#include stdio.h
int main()
{int i 0;int arr[10] {1,2,3,4,5,6,7,8,9,10};for(i0; i10; i){printf(%d , arr[i]);}printf(\n);return 0;
}操作符算术操作符 - * / %移位操作符 位操作符 ^ |赋值操作符 - * / ^ | 单目操作符! 逻辑反操作- 负值 正值 取地址sizeof 操作数的类型长度以字节为单位~ 对一个数的二进制按位取反-- 前置、后置-- 前置、后置* 间接访问操作符(解引用操作符)(类型) 强制类型转换关系操作符!逻辑操作符||条件操作符exp1 ? exp2 : exp3逗号表达式exp1, exp2, exp3, …expN下标引用、函数调用和结构成员[] () . -常见关键字auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while#define 定义常量和宏//define定义标识符常量
#define MAX 1000
//define定义宏
#define ADD(x, y) ((x)(y))
#include stdio.h
int main()
{int sum ADD(2, 3);printf(sum %d\n, sum);sum 10*ADD(2, 3);printf(sum %d\n, sum);return 0;
}指针内存内存是电脑上特别重要的存储器计算机中所有程序的运行都是在内存中进行的 。所以为了有效的使用内存就把内存划分成一个个小的内存单元每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元就给内存单元进行了编号这些编号被称为该内存单元的地址。取地址int main()
{int num 10;num;//取出num的地址printf(%p\n, num);//打印地址%p--以地址的形式打印return 0;
}指针变量定义int num 10;
int *p;//p为一个整形指针变量
p num;使用:#include stdio.h
int main()
{int num 10;int *p num;*p 20;return 0;
}指针变量大小#include stdio.h
int main()
{printf(%d\n, sizeof(char *));printf(%d\n, sizeof(short *));printf(%d\n, sizeof(int *));printf(%d\n, sizeof(double *));return 0;
}//32位平台4字节64位平台8字节结构体结构体是C语言中特别重要的知识点结构体使得C语言有能力描述复杂类型。比如描述学生学生包含 名字年龄性别学号 这几项信息。这里只能使用结构体来描述了。例如struct Stu
{char name[20];//名字int age; //年龄char sex[5]; //性别char id[15] //学号
};结构体的初始化struct Stu s {张三 20 男 20180101};
//.为结构成员访问操作符
printf(name %s age %d sex %s id %s\n, s.name, s.age, s.sex, s.id);
//-操作符
struct Stu *ps s;
printf(name %s age %d sex %s id %s\n, ps-name, ps-age, ps-sex, ps-
id);