c语言

C语言常量

﹥>﹥吖頭↗ 提交于 2020-03-12 22:32:24
常量 程序运行期间,不可改变的数据 12 78 12.34 's' 's' 单引号,避免编译器进行处理 1.表示 因为常量的数值不可改变,所以使用 数值去表示一个常量 2.类型 12 12.34 's' 通过外貌,可以知道常量的类型 常量的类型使用默认类型 整型常量默认:int 1234 --> int ------------------------------- 尾缀: 1234L --> long 1234l --> long ------------------------------- 前缀:进制 1234 --> 默认:十进制 0125 --> 0:八进制 0x34FB --> 0x:十六进制 实型常量默认:double 12.34 --> double 尾缀: 12.34f --> float 12.34F --> float 3.含义 核心:整型可表示一切特殊含义 核心:你想它是什么,它就表示什么 0 红 1 蓝 2 绿 0 高富帅 1 白富美 2 矮穷挫 0 随机播放 1 顺序播放 2 单曲循环 0 ------------------------------------------- 想让常量的含义被人识别,用名称替换数值 #define green 2 enum color{red, green, white}; 0 1 2 来源: 51CTO 作者:

C语言自学《二》中篇 ---- 变量、类型、运算

霸气de小男生 提交于 2020-03-12 19:02:06
##使用浮点数 浮点数包含的值带小数点,也可以表示分数和整数 下面是一些浮点数 1.6 、 0.00008 、 7655.899 、 100.0 用指数和C语言来表示 1.6 == 0.16E1 E 代表10, 1 代表1次方 ###定义浮点数变量 <!-- lang: cpp --> /* float类型占用4字节,精确到6至7位小数,小数后面加f double类型占用8字节,精确到15位小数 long double类型占用12字节,精确到18位小数,小数后面加L */ int main(){ float aa = 45.0f; float bb = 7.0f; printf("aa/b=%f\n",aa/bb); //6.428571 return 0; } ###控制输出中的小数位数 <!-- lang: cpp --> //%.2f中的.2说明控制小数位后面为2位,设置成.0f代表后面没有小数位数 printf("aa/bb=%.2f",aa/bb); //6.42 ###控制输出的字段宽度 <!-- lang: cpp --> //输出的字段宽度是输出值所使用的总字符数(包括空格) //指定宽度时,数值默认是右对齐,如果希望左对齐,只需要在%的后面添加一个负号 printf("aa/bb=%5.3f",aa/bb); ###运算的顺序 <!-- lang: cpp -->

C语言中float和double在计算机中的存储形式

时间秒杀一切 提交于 2020-03-12 17:25:33
    对于浮点类型在C语言中采用float和double类型来存储,float数据占用4字节,double占用8个字节,我们在声明一个float变量的时候,计算机是如何分配内存的呢?      首先无论是单精度还是双精度,在计算机的存储中分为如下的三个部分:       1、符号位:0代表是正,1代表是负       2、指数位:用于存储科学计数法中的指数数据,并且采用移位存储       3、尾数部分 单精度的存储方式: 双精度的存储方式 例如:         例如上图的结果表明,指数为-3,尾数为0.01,符号为0,所以可得,1 * 2 ^-3 * 1.01 也就等于1 * 0.00101 ,化为二进制位0.15625    问题: 为什么在float类型在计算机存储的时候要给指数加上127呢?         是为了更好的区分正负数,不然就需要判断标志位是0或者是1 来源: oschina 链接: https://my.oschina.net/u/3829768/blog/3192657

一个C/C++初学者的自我觉悟

老子叫甜甜 提交于 2020-03-12 17:13:48
一个C/C++初学者的自我觉悟 自我评价 有什么编程目标 / 打算如何学习编程 C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易 的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程 语言。 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的 C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及 超级电脑等作业平台。 能够掌握、乃至精通C语言,需要进行不断地学习、实践。本人也将作为一个C语言的学习者,在以后的博客中分享自己的学习、实践的经验,愿能够自我督促,同时和大家共同成长进步。 自我评价 自古有云:学无止境,活到老学到老。而对自身有用的东西更是再晚学习都是无害而有利的。本人研二,电子与通信工程专业,很惭愧,对于C/C++语言目前只停留在对基本的语法的认识和了解之上,想进行更深入的工程研发只能说是难度之大。主要原因还是在于缺乏一次对整个C/C++语言的深入地、系统地学习,缺乏实战经验。因此,在科研学习之余,还是决定着手开始对相关的语言进行时间学习,也希望能够通过博客记录、分享自己的学习经历,望互相交流、共同进步。 有什么编程目标 / 打算如何学习编程 梦想总是要有的,万一实现了呢。目标总是要制定的,不然你该往哪走呢。先给自己设立一个小目标

C语言 正则表达式邮箱验证(pcre库)

江枫思渺然 提交于 2020-03-12 13:14:39
本程序与2020.3.12在DEV-C++编译器运行成功,邮箱验证用下面两个函数即可。 PCRE接口介绍 (1). pcre_compile pcre *pcre_compile(const char *pattern, int options, const char **errptr, int *erroffset, const unsigned char *tableptr); 功能:编译指定的正则表达式 参数:pattern, 输入参数,将要被编译的字符串形式的正则表达式 options, 输入参数,用来指定编译时的一些选项 errptr, 输出参数,用来输出错误信息 erroffset, 输出参数,pattern中出错位置的偏移量 tableptr, 输入参数,用来指定字符表,一般情况用NULL, 使用缺省的字符表 返回值:被编译好的正则表达式的pcre内部表示结构 (2). pcre_exec int pcre_exec(const pcre *code, const pcre_extra *extra, const char *subject, int length, int startoffset, int options, int *ovector, int ovecsize); 功能:用来检查某个字符串是否与指定的正则表达式匹配 参数: code, 输入参数

c语言指针

限于喜欢 提交于 2020-03-12 10:02:56
1. 指针是一种数据类型 如:int * ,char * ,*单目运算符,表示指针上的变量; 2.取变量的地址用& 如int a = 1; int * p = &a 表示把指向a的内存地址赋给 指针变量 p; 3.指针变量可以做左值,也可以做右值 如 int a = 1; int * p = &a; int b = *p; ( 右值) *p = 2; ( 左值 ) 4.数组指针(指向数组中第一个元素的常量指针) 如 int k[] = {0,1,2,3}; (数组变量k本身表达地址) int * p = k; p = k[0] p = &k; 来源: https://www.cnblogs.com/wasoft/p/12467234.html

C语言中不同变量的访问方式

主宰稳场 提交于 2020-03-12 07:04:10
C语言中的变量大致可以分为全局变量,局部变量,堆变量和静态局部变量,这些不同的变量存储在不同的位置,有不同的生命周期。一般程序将内存分为数据段、代码段、栈段、堆段,这几类变量存储在不同的段中,造成了它们有不同的生命周期。 全局变量 全局变量的生命周期是整个程序的生命周期,随着程序的运行而存在,随着程序的结束而消亡,全局变量位于程序的数据段。每个应用程序有4GB的虚拟地址空间,在程序开始时系统将这个程序加载到内存中,为其分配内存,这个时候,会根据程序文件的内容,为全局变量分配内存,并为之进行初始化,当程序的生命周期结束时,系统回收进程所消耗的资源,这个时候,全局变量所占的内存被销毁。 下面来看一段具体的代码: int i= 0; int main(int argc, char* argv[]) { printf("%d\n", i); return 0; } 11: printf("%d\n", i); 00401268 mov eax,[i (00432e24)] 0040126D push eax 0040126E push offset string "%d\n" (0042e01c) 从上述的汇编代码中可以看到,i所对应的地址为0x00432e24,在调用全局变量时,使用的是一个具体的地址,但是并没有看对应初始化i变量的反汇编代码,这是因为在程序开始运行之前

#我的第一次软件作业#

冷暖自知 提交于 2020-03-12 06:45:55
(一) 我对软件专业了解: 软件技术专业的侧重点在开发和技术的实际应用,而对软件开发的理论要求没有那么高。可以说计算机软件在现代社会经济生活中占有极其重要的地位,在各个领域中发挥着越来越重要的作用。软件专业毕业的学生拥有庞大的就业市场,具有广阔的就业前景。该专业主要学习高数、线代、离散、概率论、汇编语言、c、c++、数据结构、计算机组成原理、操作系统、编译原理、java、算法设计与分析、软件管理等课程,学习强度较大,因此软件专业也要求学生要较强的逻辑思维能力,愿意在这方面钻研才能学有所成。 (二) 你了解C语言么?C语言主要应用有哪些? C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言精确简洁且是一种结构化的语言,提供的控制语句具有结构化特征。C语言还包括丰富的数据类型和运算符,可生成的高质量目标代码,高执行效率的程序,而且代码具有较好的可移植性。而代码质量与汇编语言相当,可以说是简单医学功能强大了。当前阶段,在编程领域中,C语言的运用非常之多,编写系统软件,制作游戏,制作二维,三维图形和动画及许多智能方面都能使用C语言。 (三)你希望在这个专业学到哪些内容: 我希望我能学会并熟练使用C语言,JAVA等编程语言。并且能知道各大软件是如何通过这些程序语言与运作的。 (四) 我对大一生活的规划: 第一、坚持早起早睡,形成良好的生物钟,坚持要运动以拥有健康的体魄

初识C语言(一)

喜欢而已 提交于 2020-03-12 04:50:12
C语言的结构体 一个C程序就是由多个头文件和函数组成 #include<stdio.h> /* 包含头文件*/ int main() { printf('"hello world\n"); /*主函数*/ return 0;/*返回值*/ } #include <stdio.h>就是一条预处理命令,它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。 函数就是实现代码逻辑的一个小的单元。 注释: 在最新的C标准中,main函数前面的类型为int而不是void。 主函数 C语言有且只有一个主函数,即main函数。 # include<stdio.h> int main() { printf(“这是C语言的唯一主函数\n”); return 0; } C程序就是执行主函数里面的代码,也就是说这个主函数是C语言中的唯一入口。 而main前面的int就是这个主函数的类型。 printf()是格式输出函数,它的功能就是在屏幕上输出指定的信息。 return是函数的返回值,根据函数类型的不同,返回的结果也就不同。 C语言格式书写的规范 一个说明或者一句占一行 函数体内的语句要有明显的缩进,通常是以按一下tab键为一个缩进; 括号要成对写,如果需要的话也要成对删除; 当一句语句执行结束时的结尾要有一个分号; 代码中的符号均为英文符号; 多行注释:/ 注释内容 /; 单行注释

错误票据(C语言)

房东的猫 提交于 2020-03-12 03:56:21
题目描述 某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务是通过编程,找出断号的ID和重号的ID。 假设断号不可能发生在最大和最小号。 输入 要求程序首先输入一个整数N(N< 100)表示后面数据行数。 接着读入N行数据。 每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000),请注意行内和行末可能有多余的空格,你的程序需要能处理这些空格。 每个整数代表一个ID号。 输出 要求程序输出1行,含两个整数m n,用空格分隔。 其中,m表示断号ID,n表示重号ID 样例输入 2 5 6 8 11 9 10 12 9 样例输出 7 9 解题思路 这道题主要求一段连续的数列中,排好序之后,找出断句的以及重复数字的 代码实现 # include <stdio.h> int main ( ) { int a [ 10005 ] ; int n , i = 0 , j , len = 0 , num1 = 0 , num2 = 0 ; scanf ( "%d" , & n ) ; while ( scanf ( "%d" , & a [ i ] ) != EOF ) { /