c语言

c语言的typedef

浪尽此生 提交于 2020-04-04 22:33:43
一、typedef作用简介 1.作用:给已经存在的类型起一个新的名称 2.使用场合: 1> 基本数据类型 2> 指针 3> 结构体 4> 枚举 5> 指向函数的指针 * 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 1 #include <stdio.h> 2 3 typedef int MyInt; 4 typedef MyInt MyInt2; 5 int main() 6 { 7 // 定义结构体变量 8 int a; 9 MyInt i = 10; 10 MyInt2 c = 20; 11 12 13 printf("i is %d\n", i); 14 printf("c is %d\n", c); 15 16 return 0; 17 } 1 #include <stdio.h> 2 3 typedef int Integer; 4 typedef unsigned int UInterger; 5 6 typedef float Float; 7 8 int main(int argc, const char * argv[]) { 9 Integer i = -10; 10 UInterger ui = 11; 11 12 Float f = 12.39f; 13 14 printf("%d %d %.2f", i, ui, f); 15

【C语言】23-typedef

ぃ、小莉子 提交于 2020-04-04 21:11:51
本文目录 一、typedef作用简介 二、typedef与指针 三、typedef与结构体 三、typedef与指向结构体的指针 四、typedef与枚举类型 五、typedef与指向函数的指针 六、typedef与#define 说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 这讲介绍C语言中很常用的一个关键字---typedef。 回到顶部 一、typedef作用简介 * 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 1 #include <stdio.h> 2 3 typedef int Integer; 4 typedef unsigned int UInterger; 5 6 typedef float Float; 7 8 int main(int argc, const char * argv[]) { 9 Integer i = -10; 10 UInterger ui = 11; 11 12 Float f = 12.39f; 13 14 printf("%d %d %.2f", i, ui, f); 15 16 return 0; 17 } 在第3、第4、第6行分别给int、unsigned int

c语言中%s和%c的区别

[亡魂溺海] 提交于 2020-04-04 13:50:16
一.%s格式用于打印字符串,与之对应的参数应该是一个字符指针,待输出的字符始于该指针所指向的地址,直到出现一个空字符('\0')才终止。 %s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。 %ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。 %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。 %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。 %-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。 二.%c格式用于打印单个字符:例如: printf("%c",c); 等价于 putchar(c); 转载于: https://www.cnblogs.com/liuming1115/p/4426282.html 来源: https://www.cnblogs.com/yejiaxing-01/p/12631163.html

c语言文件读写操作

…衆ロ難τιáo~ 提交于 2020-04-04 01:25:06
c语言读写文件操作函数位于stdio.h头文件 读文件:fgetc(按字符)、fgets(按字符串)、fread(按数据块)、fscanf(按指定格式化); 写文件:fputc(按字符)、fputs(按字符串)、fwrite(按数据块)、fprintf(按指定格式化); 主要涉及操作函数:fopen、fclose; fopen: 解释: 函数原型:FILE * __cdecl fopen(_In_z_ const char * _Filename, _In_z_ const char * _Mode); 说明: 参数:_Filename--文件路径、_Mode--文件操作模式(读,写,追加) 返回值:文件顺利打开后,指向该流的 文件指针 就会被返回。如果文件打开失败则返回 NULL ,并把 错误代码 存在errno 中; (更详细的资料请移步: http://baike.baidu.com/view/656681.htm ) fgetc: 解释:意为从 文件指针 stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节; 函数原型:int __cdecl fgetc(_Inout_ FILE * _File); 说明: 参数:_File--指向FILE类型的指针 返回值:返回所读取的一个字节,如果读到文件末尾或者读取出错时返回EOF; 例程: void readc

C语言之位运算

二次信任 提交于 2020-04-03 22:17:03
位运算 1).定义. 指的是1个二进制数据的每一位来参与运算. 位运算的前提: 是这个数必须是1个二进制. 注意: a). 参与位运算的二进制数据必须是补码形式. b). 位运算的结果也是二进制的补码形式. 2).按位与: & 参与按位与的两个二进制数.如果都为1 那么结果就为1 只要有1位为0 那么结果就为0. 3 & 2; 第1步骤:先得到两个数的二进制补码形式. 3的补码: 00000000 00000000 00000000 00000011 2的补码: 00000000 00000000 00000000 00000010 ------------------------------------------------------- 00000000 00000000 00000000 00000010 2 -3 & 4; -3的原码:10000000 00000000 00000000 00000011 -3的反码:11111111 11111111 11111111 11111100 -3的补码:11111111 11111111 11111111 11111101 4的补码: 00000000 00000000 00000000 00000100 ------------------------------------------------------

数据类型、常量、变量、printf、scanf和运算符

随声附和 提交于 2020-04-03 10:32:55
数据类型 常量 变量 printf函数介绍 scanf函数介绍 运算符 数据类型 数据类型是指数据在内存中存储的方式。 C语言中有5大数据类型:基本类型、构造类型、指针类型、空类型、定义类型。 C语言中常见的数据类型: 各种数据类型在内存中占用的空间大小:(单位:字节)(1 Byte = 8 bit) 16位编译器 32位编译器 64位编译器 char 1 1 1 Int 2 4 4 Float 4 4 4 Double 8 8 8 Short 2 2 2 Long 4 4 8 Long long 8 8 8 Void *(指针变量) 2 4 8 各种数据的表示范围: 常量 常量就是在内存中固定的数据,不可改变其内容。 常见分类: 整型常量 a) 十进制常量,和自然界十进制表示法一致 b) 二进制常量,以0b(0B)开头,例如:0b1100 c) 八进制常量,以0开头,例如:045 d) 十六进制常量,以0x开头,例如:0x123 实型常量 a) 单精度常量,小数后面加f表示单精度常量。 例如:3.14f b) 双精度常量,和自然界小数表示方法一致。 例如:3.1415926 3.8e5(或3.8E5 相当于3.8 x 10 5 ) 字符型常量 用单引号括起来的单个字符表示。 a) 普通字符:例如: ‘A’ ‘b’ ‘$’等等 b) 转义字符:例如:’\n’ ‘\t’ ‘%%’

1.5 C之 函数部分

余生颓废 提交于 2020-04-02 16:16:17
当程序简单的时候,一个人可以用一个main函数搞定功能。当程序变成的时候,超出了人的大脑承受范围,这个时候就需要把一个大程序分许多小的模块来组织,于是乎出现了概念叫 函数。 函数是c语言代码基本组成部分,它是一个小的模块,整个程序是由很多个功能独立的模块(函数)组成。这就是程序设计的基本分化方法。 main:C语言中所谓的主函数,主函数就是一种特别的函数。特别之处在于,一个C语言程序只能有一个且必须有一个main函数。c语言有规定,一个c语言从主函数开始执行,到主函数执行完结束。 在c语言中写代码时可以引用库函数,但是必须使用 # include 引用这个库函数所在的头文件。 使用函数写程序时的关键步骤 * 函数定义* :函数定义是关键,是这个函数的实现。函数定义中包含了函数体,函数体中的代码段决定了这个函数的功能。函数定义后边没有;但是有{}和函数体。 函数声明**:函数声明后边必须有;函数声明实际上叫函数原型声明。什么叫原型?函数的原型包括三部分:函数名,函数返回值,函数参数列表。 函数声明的作用,在于告诉使用函数的人,这个函数使用时应该传递给他一个什么样的参数,他会返回什么样类型的返回值。这些东西都是些函数的人在函数定义中规定好的。如果使用函数的人不参照这个原型来使用,就会出错,结果就会跟你想的不一样。 * 函数调用 :函数调用就是使用函数名来调用函数完成功能

C语言运算符优先级说明

佐手、 提交于 2020-04-02 09:22:58
下面按优先级从高到低的顺序总结一下各种运算符,每一条所列的各运算符具有相同的优先 级,对于同一优先级的多个运算符按什么顺序计算也有说明,双目运算符就简单地用“左结 合”或“右结合”来说明了。和指针有关的运算符* & ->也在这里列出来了,以后再详细解释。 1 、标识符、常量、字符串和用()括号套起来的表达式是组成表达式的最基本单元,在运算中做 操作数,优先级最高。 2、后缀运算符,包括数组取下标[]、函数调用()、结构体取成员.、指向结构体的指针取成员- >、后缀自增++、后缀自减--。如果一个操作数后面有多个后缀,按照离操作数从近到远的顺序 (也就是从左到右)依次运算,比如a.name++,先算a.name,再++,这里的.name应该看成a的 一个后缀,而不是把. 看成双目运算符。 3、单目运算符,包括前缀自增++、前缀自减--、 sizeof、类型转换()、取地址运算&、指针间接 寻址*、正号+、负号-、按位取反~、逻辑非! 。如果一个操作数前面有多个前缀,按照离操作数 从近到远的顺序(也就是从右到左)依次运算,比如!~a,先算~a,再求!。 4、乘*、除/、模%运算符。这三个运算符是左结合的。 5、加+、减-运算符。左结合。 6、移位运算符<<和>>。左结合。 7、关系运算符< > <= >=。左结合。 8、相等性运算符==和!=。左结合。 9、按位与&。左结合。 10

1、【C++基础】bool数据类型

北城余情 提交于 2020-04-02 08:54:04
C++ 简介 C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。 C++ 被认为是一种 中级 语言,它综合了高级语言和低级语言的特点。 C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。 C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。 注意: 使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。 面向对象程序设计 C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性: 封装 抽象 继承 多态 标准库 标准的 C++ 由三个重要部分组成: 核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。 C++ 标准库,提供了大量的函数,用于操作文件、字符串等。 标准模板库(STL),提供了大量的方法,用于操作数据结构等。 C和C++的联系 C++ 是在 C 语言的基础上扩展的, C 语言的很多语法在 C++ 中依然广泛使用,例如: C++ 仍然使用 char 、 short 、 int 、 long 、 float 、 double 等基本数据类型; C++ 仍然使用 if...else 、 while

Java后台调用gcc编译C语言代码

老子叫甜甜 提交于 2020-04-01 01:01:18
想做一个能够在线编译代码运行的平台,Java和SQL已经支持了,因为是用Java写的后台,所以Java和SQL挺容易就实现了,做到支持C的时候就卡住了,网上搜了一下这种帖子好像很少。 我采取的办法是就是刚开始学C语言的教的调用GCC来编译.C文件的文件,首先将前端传过来的C代码写入到特定的路径下,然后利用Java的API调用CMD来执行gcc命令编译这个文件,这好像有点MakeFile文件的意思。。编译之后继续调用CMD执行生成的exe,同时获取CMD的输出,至此整个过程完成,但是最后需要做好一项善后工作,那就是继续调用CMD将这个exe的进程杀掉,否则会出现问题,因为exe还没停止,继续编译写入会报权限问题。 封装了整个编译运行的Servivce: package com.mine.ide.service.implement; import com.mine.ide.util.CLangUtil; import org.apache.log4j.Logger; import org.springframework.stereotype.Service; import java.io.*; import java.util.concurrent.*; /** * @author yintianhao * @createTime 20190625 11:14 *