首页
动态
归档
Github
留言
工具箱
更多
邻居
壁纸
音乐
Search
1
欢迎访问我的日志空间
8,244 阅读
2
C语言读写程序文件-学习三十二
742 阅读
3
WEB音乐播放器源码
712 阅读
4
Typecho - Joe主题魔改版(持续更新)
660 阅读
5
Typecho-1.1/17.10.30-定制版源码
639 阅读
学习笔记
源码库
BUG
第九艺术
登录
Search
标签搜索
学习笔记
C语言
typecho
Java
扫雷
源码
PHP
插件
网站源码
音乐播放器
模板
git
github
bug
XG.孤梦
累计撰写
50
篇文章
累计收到
44
条评论
首页
栏目
学习笔记
源码库
BUG
第九艺术
页面
动态
归档
Github
留言
工具箱
邻居
壁纸
音乐
搜索到
50
篇与
的结果
2022-01-24
C语言常量与变量-学习三
C语言的数据类型基本数据类型最主要的特点是:其值不可在分解为其它类型。构造类型的值可以分解成为若干个“成员”或“元素”。每个成员都是一个基本数据类型或又是一个构造类型。常量与变量定义:在程序执行过程中,其值不发生改变的量称为常量,其值可改变的量称为变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义后使用。常量在程序执行过程中,其值不发生改变的量直接常量(字面常量):可以直接从字面值看出来。整型常量:1、5、0、-1实型常量:4.5、-1.28字符型常量:‘a’、‘b’、‘c’符号常量:用标识符代表一个常量,称之为符号常量。一般格式:#define 标识符 常量例如:#define PI 3.1415926符号常量在使用前必须先定义习惯上,约定符号常量名用大写,变量名用小写例子求圆的周长和面积。#include <stdio.h> #define PI 3.1415926 void main() { int r; float circum,area; r = 5; circum = 2 * r * PI; area = r * r * PI; printf("circum=%f,area=%f\n",circum,area); } 变量代表内存中具有特定属性的一个的存储单元,用来存放数据,也就是该变量的值。程序编译链接执行时由系统给每个变量名分配内存地址。变量必须先定义后使用int a; //定义 a=10; //使用标识符在C语言中用来对变量、符号常量、函数、数组等数据对象命名的有效符号序列统称为标识符。命名规则:只能由字母、数字、下划线三种字符组成且第一个字符必须为字母或下划线,不能为数字!不能使用关键字来命名标识符例子:area PI _da adw_1_0注意:编译系统将大写字母和小写字母认为是两个不同的字符。建议变量名的长度最好不要超过8个字符。在选择变量名和其它标识符时,应注意做到“见名知意”,即选择有含意的英文单词(或其缩写)作标识符。要求对所有用到的变量作强制定义,也就是“先定义,后使用”。根据定义的数据类型,编译系统为变量分配存储空间。整型数据整型常量二进制整数:逢二进一(0,1)。如1010(换算十进制:0*2º + 1*2¹ + 0*2² + 1*2³ = 10 )八进制整数:以“0”开头(0-7)。如:0123 (换算十进制:3*8º + 2*8¹ + 1*8² = 83 )十进制整数。如:123、60、0、-123十六进制整数:以“0x”开头(0-9,A-F可小写(a-f))。如:0x123 (换算十进制:3*16º + 2*16¹ + 1*16²= 291 )整型变量数据在内存中是以二进制形式存放的。如果定义了一个整型变量: int i; //定义为整型变量 i = 10; //给 i 赋值整数10十进制10的二进制为1010;八进制为012;十六进制为0xA在内存中,数值是以补码的形式表示的。正数的补码、反码和其原码形式相同。求负数的补码方法:将该负数的绝对值的二进制形式(原码),按位取反(反码)再加1(补码)例子-10的绝对值的原码:反码反码再加1,得到补码在存放整数的存储单元中,最左面的一位是符号位,该位为0表示该整数位正数,该位为1表示为负数。整型变量的分类类型类型说明符数的范围字节数基本型int (16位)-32768~32767 即-2^15 ~ (2^15-1)2无符号基本型unsigned[int] (16位)0~65535 即0 ~ (2^16-1)2基本型int (32位)-2147483648 ~ 2147483647 即-2^31 ~ (2^31-1)4无符号基本型unsigned[int] (32位)0~4294967295 即0 ~ (2^32-1)4短整型short[int] (16位)-32768~32767 即-2^15 ~ (2^15-1)2无符号短整型unsigned short [int] (16位)0~65535 即0 ~ (2^16-1)2长整型long [int] (32位)-2147483648~2147483647 即-2^31 ~ (2^31-1)4无符号长整型unsigned long [int] (32位)0~4294967295 即0 ~ (2^32-1)4整型变量的定义类型说明符 变量名标识符,变量名标识符,...;int a,b,c; // a、b、c为整型变量 long x,y; // x、y为长整型变量 unsigned q; // q为无符号整型变量➢注意:允许在一个类型说明符后,定义多个相同类型的变量。各变量名之间用逗号间隔。 类型说明符与变量名之间至少用一个空格间隔。最后一个变量名之后必须以“;”分号结尾。变量定义必须放在变量使用之前。 一般放在函数体的开头部分。整型变量的溢出#include <stdio.h> void main() { int a,b; a = 32767; b = a + 1; printf("%d\n",b); }a: 01111111 11111111 + 1 = 10000000 00000000 即-32768 ,正确答案应该是 32768,这就是溢出注意现在的VS编译器默认int为32位,溢出效果看下图浮点型数据实型常量实数(real number) ,又称浮点数(floating-point number) 。十进制小数形式由数字和小数点组成(必须有小数点) 如:.123、123. 、23.01 、0.0指数形式数字 + e (E) + 整数,字母e (或E)之前必须有数字,且e后面的指数必须为整数。如: 123e3=123*10³、 0.122e0内存中存放形式一个浮点型数据一 般在内存中占4个字节。在内存中按照指数形式存储。不少C语言编译系统用24位表示小数部分(包括符号),8位表示指数部分。计算机中,二进制表示小数部分,2的幂次表示指数部分。小数部分占的位数越多,数的有效数字越多,精度越高。指数部分占的位数越多,则能表示的数值范围越大。浮点型变量的分类类型类型说明符数的范围字节有效位单精度float1.2E-38 ~ 3.4E+3847位有效位双精度double2.3E-308 ~ 1.7E+308815位有效位长双精度型long double3.4E-4932 ~ 1.1E+49321619位有效位浮点型变量的定义float a,b,c; // a、b、c为单精度实数 double x,y; // x、y为双精度实数 long double q; // q为长双精度实数浮点型数据的舍入误差由于实型变量是用有限的存储空间存储的,因此能提供的有效数字总是有限的,在有效位以外的数字将被舍去,因此会产生舍入误差。例子#include <stdio.h> void main() { float a,b; a = 123456.789e5; b = a + 20; printf("a = %f\n,b = %f\n",a,b); } 理论值:a=12345678900b=12345678920实际值:原因:一个单精度实型变量只能保证的有效数字是7位,7位后面的数字是无意义的,并不准确地表示该数。7位是指整数部分 和 小数部分一共7位。注意:在C程序中,应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数。字符型数据字符型常量用单引号包含的一个字符只能包含一个字符 如:‘a’、‘#’、‘6’、‘’‘a’和‘A’ 是不同的字符常量。字符常量只能用单引号括起来,不能用双引号或其它括号。字符常量只能是单个字符,不能是字符串。字符‘1’和整数1是不同的概念:字符‘1’只是代表一个形状为‘1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储占1个字节。整数1是以整数存储方式(二进制补码方式)存储的,占2个字节。转义字符以“\”开头的特殊字符字符形式含义\n换行,将当前位置移到下一行开头\t水平制表(跳到下一个tab位置,8位为一个tab位置)\b退格,将当前位置移到前一列\r回车,将当前位置移到本行开头\f换页,将当前位置移到下页开头\\反斜杠字符\‘单撇号字符\“双撇号字符\ddd1到3位8进制数所代表的字符\xhh1到2位16进制数所代表的字符[alt type="warning"]除了“\r”外,其余转义字符的跳格会取代原来屏幕上该位置显示的字符[/alt]字符型变量字符型变量用来存放字符常量,但只能存放一个字符。字符变量的定义形式如下: char c1,c2;c1和c2为字符型变量,各可以放一个字符。对c1,c2赋值: c1 = 'a'; c2 = 'b';字符数据在内存中的存储形式及其使用方法将一个字符放到一个字符变量中,在内存单元中,是将该字符的相应的ASCII代码放到存储单元中。如'a'的ASCI代码为97,'b'为98,内存变量c1、 c2的值如下图效果:字符数据以ASC1I码存储,与整数的存储形式类似,这样使字符数据和整型数据之间可以通用。因此,一个字符数据既可以以字符形式输出,也可以以整数形式输出,例子向字符变量赋以整数。#include <stdio.h> void main() { char c1, c2; c1 = 'a'; c2 = 'b'; printf("c1 = %c c2 = %c\n", c1, c2); printf("c1 = %d c2 = %d\n", c1, c2); }字符串常量定义:字符串常量是一对双引号括起来的字符序列。如: “how are you?” 、 “CH I NA” 、“%#8ad72”C语言规定:在每一个字符串的结尾加一个“字符串结束标志“\0”,以便系统据此判断字符串是否结束。在内存中:字符串存储为:字符串+‘\0’;书写时:不必加‘\0’, 系统会自动加上‘\0’练习{card-default width="100%" label="练习"]1、___是合法的用户自定义标识符。(A)b-b(B)float(C)3sd(D)_isw2、以下所列的C语言常量中,错误的是___。(A)0xFF(B)1.2e0.5(C)“asd”(D)‘a’3、下面四个选项中,均是不合法的浮点数的选项是___。(A)160. 0.12 e3(B)123 2e4.2 .e5(C)-.18 123e4 0.0(D)-.e3 .234 1e34、若有说明语句: char c='\729';则变量c___。(A)包含1个字符(B)包含2个字符(C)包含3个字符(D)说明不合法{collapse} {collapse-item label="答案"]1、D 2、B 3、B 4、D[/collapse-item]{/collapse}{/card-default}
2022年01月24日
290 阅读
0 评论
0 点赞
2022-01-23
C语言算法-学习二
一个 程序 主要包括两个方面的信息:对 数据的描述,在程序中要指定要到了哪些数据以及这些数据的类型和数据的组织形式。这就是 数据结构(data structure)对 操作的描述,即要求计算机进行 操作的步骤。也就是 算法(algorithm)一个程序除了 算法 和 数据结构 这两个要素外,还应当采用 结构化程序设计方法 进行程序设计,并用某一种 计算机语言 表示。什么是算法算法是为了解决问题而执行的一系列步骤。计算机的算法可以分为两大类别:数值运算算法数值运算的目的是求数值解。非数值运算算法非数值运算用于事务管理领域(图书检索,人事管理等等)。例子:求1X2X3X4X5的值可以用最原始的方法进行:步骤1:先求1*2,得到结果2。步骤2:将步骤1得到的乘积2再乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。改进算法设变量 a 为被乘数;变量 i 为乘数;用循环算法求结果;算法步骤:S1:使a=1,或写成1→a;S2:使i=2,或写成2→i;S3:使a与i相乘,乘积仍放在变量a中,可表示为:a*i→a;S4:使i的值加1,即i+1→i;S5:如果i不大于5,返回重新执行S3;否则,算法结束;最后a的值就是要求的结果 ;算法的特性有穷性。一个算法应该包含有限的操作步骤,而不能是无限的确定性。算法的每一个步骤都应当是确定的,而不是含糊的、模棱两可的有零个或多个输入。输入是指在执行算法时需要从外界取得的必要信息有一个或多个输出。算法的目的是为了求解,“解”就是输出有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果怎么表示一个算法常用的方法有:自然语言流程图NS图伪代码......流程图表示算法流程图是用一些图框来表示各种操作,用图形表示算法,直观形象,易于理解。三种基础结构和改进的流程图一、顺序结构二、选择结构三、循环结构当型循环结构直到型循环结构三种基本结构的共同特点:只有一个入口只有一个出口结构内的每一部分都有机会被执行到结构内不存在“死循环”以上面的例子做流程图NS图表示算法以上面的例子做N-S图用C语言表示算法while循环#include <stdio.h> int main() { int a,i; a = 1; i = 2; while(i <= 5) { a = a * i; i = i + 1; } printf("%d\n",a); return 0; }do while循环#include <stdio.h> int main() { int a,i; a = 1; i = 2; do { a = a * i; i = i + 1; }while(i <= 5); printf("%d\n",a); return 0; }for循环#include <stdio.h> int main() { int a; a = 1; for (int i = 2; i <= 5; i++) { a = a * i; } printf("%d\n",a); return 0; }[alt type="warning"]注意:上面的代码是计算到5的阶乘,因为受数据类型的限制对于 int 型,13! 会溢出; 对于 long 型,21! 会溢出100、1000的阶乘结果较大,int,long表示的数据范围有限,所以在表示大数运算的时候,应该采用数组存储。[/alt]结构化程序设计方法结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行每个阶段处理的问题都控制在人们容易理解和处理的范围内采取以下方法保证得到结构化的程序:1.自顶向下2.逐步细化3.模块化设计4.结构化编码练习{card-default width="100%" label="练习"]1、用流程图或N-S图表示以下算法。输入x的值,按下列函数计算y的值并输出y的值。{collapse} {collapse-item label="答案"][/collapse-item]{/collapse}2、画出打印以下图案的算法流程图或N-S图* * * * * * * * * *{collapse} {collapse-item label="答案"]流程图N-S图[/collapse-item]{/collapse}{/card-default}
2022年01月23日
258 阅读
0 评论
1 点赞
2022-01-21
C语言概述-学习一
程序设计语言发展过程 机器语言:0 / 1汇编语言:符号语言(操作指令)高级语言:面向过程(C语言) / 面向对象(Java/C++)C语言特点语言 简洁紧凑 ,使用 灵活方便 (一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写)。丰富的 运算符 和 数据类型(共有34种运算符,整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等)。具有 结构化 的控制语句,是 完全模块 和 结构化 语言(主要为设计结构、选择结构、循环结构)。允许直接访问 物理地址,可以 直接对硬件进行操作(能够对位(bit)、字节和地址进行操作,对 操作系统 以及需要对 硬件 操作的场合有优越性)。程序 可移植性好(与汇编语言相比,基本不需要修改就能用于各种型号计算机与操作系统)。C语言程序结构C程序主要包括以下部分:预处理器指令函数变量语句 & 表达式注释#include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("This is a C program.\n"); return 0; } /* include为指令,作用是将头文件(stdio.h)添加到源文件。 stdio .h 头文件定义了 三个变量类型、一些 宏 和各种函数来执行 输入 和 输出。详情见附录。 main()表示主函数,程序的执行从主函数开始,一个C语言程序有且只能有一个主函数。 其中int代表函数的返回类型是整型。 {代码}括号里的内容称为函数体。 printf(...)是通过include添加的头文件里的另一个的函数,作用是打印输出。 return 0 因为main函数类型为整型,所以要返回一个整型 0 结束程序。 */总结:程序的第一行 #include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。第二行 int main() 是主函数,程序从这里开始执行。{}括号将函数体包括起来。第四行 /.../ 将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。第五行 printf(...) 是 C语言 中另一个可用的函数,会在屏幕上显示消息 "This is a C program."。第六行 return 0; 终止 main() 函数,并返回值 0。C语言运行机制函数库: 是文件,文件里存放了多个函数供你调用。函数库对应的头文件: 扩展名多为 .h ,即head 头。在C语言的源程序中使用 #include <函数库的头文件> 语句引入 函数库,再调用库中的函数。示例:1.求两个整数之和解题思路:设置3个变量:a、b、sum;a和b用来存放两个整数;sum用来存放之和的数;用赋值运算符 “=” 把结果传递给sum;#include <stdio.h> int main() { int a,b,sum; //定义整数变量 a,b,sum a=1; //对变量a,b赋值 b=2; sum = a + b; // 把变量a,b的和赋值给sum printf("两个整数之和是 %d\n",sum); //将和输出 return 0; }2.求两数之间的较大的数解题思路:使用一个函数实现求出两数的较大者;在主函数中调用此函数并输出结果;#include <stdio.h> #pragma warning(disable:4996) //4996这个警告是VC2005以后的版本为了提高程序安全性而用的。 //去掉这个警告可以编译非安全函数,包括scanf,printf,strcpy等。 int main() { int max(int x, int y); //因为max函数定义在在main之后,需要声明。 int a,b,c; scanf("%d,%d",&a,&b); //新版本使用scanf_s函数输入。 c = max(a,b); //a,b为实参。 printf("较大的数是:%d\n",c); return 0; } //求两个整数中的较大者的max函数。 int max(int x, int y) //定义max函数,函数值为整型,形参x和y为整型。 { int z; //max函数中的声明部分,定义本函数中用到的变量z为整型。 if(x>y) z=x; //若x>y成立,将x的值赋给变量z 。 else z=y; //否则(即x>y不成立),将y的值赋给变量z。 return(z); //将z的值作为max函数值,返回到调用max函数的位置。 }★C语言程序结构的特点:一个源程序文件包括:预处理指令:#include <stdio.h>等;函数定义;函数是C语言程序的主要组成部分一个C程序由一个或多个函数组成;必须包含一个main函数(只能有一个);程序总是从main函数开始执行;一个函数包括两个部分:函数首部函数体C程序对计算机的操作由C语句完成C程序书写格式是比较自由的;为了清晰可见,习惯上每行只写一个语句;数据声明和语句的末尾必须有分号;C语言本身不提供输入输出语句;程序应当包含注释,增加可读性。C程序的执行步骤练习{card-default width="100%" label="练习"]1、以下叙述正确的是___。(A)在C程序中main函数必须位于程序的最前面。(B)C程序的每行中只能写一条语句。(C)C语言本身没有输入输出语句。(D)在对个C程序进行编译的过程中可发现注释中的拼写错误。2、C语言规定:在一个源程序中,main函数的位置___。(A)必须在最开始。(B)必须在系统调用库函数的后面。(C)可以任意。(D)必须在最后。3、一个C程序的执行是从___。(A)本程序的main函数开始,到main函数结束。(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。(C)本程序的main函数开始,到本程序文件的最后一个函数结束。(D)本程序文件的第一个函数开始,到本程序main函数结束。4、以下叙述不正确的是___。(A)一个C源程序可由一个或多个函数组成。(B)一个C源程序必须包含一个main函数。(C)C程序的基本组成单位是函数。(D)在C程序中,注释说明只能位于一条语句后面。{collapse} {collapse-item label="答案"]1、C 2、C 3、A 4、D [/collapse-item]{/collapse}{/card-default}附录:\#include <stdio.h> 函数库 (包括printf()输出函数、scanf()输入函数等函数)。 \#include <math.h> 数学计算(包括abs()求绝对值的函数、sqrt()求开方的函数等等数学计算需要用到的函数)。 \#include <sting.h> 字符串处理 (包括strlen()计算字符串长度函数、strcpy()字符串复制函数等等字符串处理函数)。[btn href="https://www.runoob.com/cprogramming/c-standard-library.html" type="primary"]更多详细内容[/btn]
2022年01月21日
294 阅读
0 评论
1 点赞
2022-01-19
XG云转码-视频在线转码系统
服务器环境:Linux + php7.1 + mysql5.6 + Nginx/Apache上传源码到你的网站目录访问你的域名,按操作提示进行安装配置后台地址:http://你的域名/admin.phpphp开启函数exec跟shell_exec(宝塔面板在php禁用函数里删除即可)在系统后台根据提示设置好你的域名和转码配置提示: 打开PHP配置,将 post_max_size , upload_max_filesize 它们的值改为你自己需要的大小!(根据实际情况修改,例如你的视频最大是100MB,那么你就改为100MB就可以了){card-default width="100%" label="下载地址"}[btn href="https://xggzs.lanzouo.com/iCNLbzhlwbg" type="primary"]点击下载[/btn] 复制密码: [copy]xggm[/copy] {/card-default}[music id="1850840765"/]
2022年01月19日
345 阅读
0 评论
1 点赞
2020-01-01
欢迎访问我的日志空间
关于我[line]一条还在努力挣扎的咸鱼......[/line] dPlayerOptions.push({"id":"32a5964a29fc846c84895e5da18ea23f","autoplay":false,"theme":"var(--theme);","video":{"url":"https:\/\/xggm.top\/video\/cd3bdaa3\/index.m3u8","pic":""},"danmaku":{"id":"597080af26c1a712219a6d64aad59ffd","token":"1ea04dba96ad60b465385191b9620225","api":"https:\/\/dplayer.alone88.cn\/v3\/"}});[line]XG.孤梦[/line][line]A lonely Tool man[/line]座右铭:随风而动,随遇而安......联系方式:邮箱:[tag type="success"] [copy]tencenot@vip.qq.com [/copy] [/tag]Github:https://github.com/XG2020我的博客即将同步至腾讯云+社区,邀请大家一同入驻:[btn href="https://cloud.tencent.com/developer/support-plan?invite_code=15pjzd5xkm7sy" type="primary"]腾讯云+社区[/btn]
2020年01月01日
8,244 阅读
0 评论
14 点赞
1
...
9
10