C语言
C语言相关的内容,包括语言讲解,算法实例,数据结构等等。
信知阁
终身学习的科技分享者。
展开
-
C语言-小数点保留位-详解
实例:计算8/5。#include<stdio.h>int main(){ printf("%d\n", 8/5); return 0;}计算之后,为什么不是1.6??实例:计算8/5,保留小数点后1位。#include<stdio.h>int main(){ printf("%.1lf\n", 8.0/5.0); return ...原创 2019-11-25 17:27:54 · 8068 阅读 · 0 评论 -
函数
1.用户自定义的函数 2.库函数 -字符类型分类函数:对子粗按ASCII码进行分类 -详细见字符函数,ctype.h -转换函数:对字符或字符串的转换 -目录路径函数:对文件目录和路径操作 -dir.h dos.h -诊断函数:用于内部错误检测 -图形函数:用于屏幕管理和各种图形功能 -输入/输出函数:用于完成输入/输出功能 -接口原创 2013-11-30 23:55:18 · 436 阅读 · 0 评论 -
指针函数与函数指针
1.指针函数 类型 * 函数名(参数) 返回一个地址给调用对象。 int* Merisc();2.函数指针 类型 (*函数名)(参数) 指向函数的指针包含了函数的地址,可以通过他来调用函数。#include//函数指针void hello();void world();void (*function)();int main ()原创 2013-12-02 15:24:03 · 503 阅读 · 0 评论 -
unknown type name 'bool'
unknown type name 'bool'因为gcc暂时不支持bool,所以用不了。。。改为int就好了原创 2013-12-02 18:45:05 · 16839 阅读 · 1 评论 -
conflicting types for ...
conflicting types for....错误原因:自己另外写的函数没有在main()函数之前先声明!原创 2013-12-02 19:27:21 · 1095 阅读 · 0 评论 -
浮点数的比较
C语言中浮点数是有精度的!!也就造成了浮点数的比较会产生误差,因为精度有限,精度外的数是不确定的。#includevoid cmp_float(float a, float b);void cmp_float_e(float a, float b);int main() { float a; float b; a = 1.123456789; b = 1.1234568原创 2013-12-02 19:38:27 · 773 阅读 · 0 评论 -
阶乘的精确值!
1000! 约等于 4*10e2567所以说,是无法用甚至double long来存储。这里可以用一个长度为3000的数组来存储,一个存一位,轻松存储。数组的[0]存最低位,大数的存开头,因为这样可以避免进位时出错(如果[0]存高位就无法进位了)。#include#includeint main() { int i,j,n; int maxn = 3000; int f原创 2013-12-02 21:57:28 · 827 阅读 · 0 评论 -
指针
因为数据保存在存储器中,所以可以根据一个内存单元的编号,准确的找到该内存单元。内存的编号称为地址或者指针。int *a = 4;&a的内容为内存地址,*a是4 注意:(1)指针类型可以强制转换 int m, *p = &m; char *p1 = (char*)&m, *p2 = (char*)p;(2)同类型的指针可以相互赋值(原创 2013-12-02 14:50:48 · 605 阅读 · 0 评论 -
哥德巴赫猜想
哥德巴赫猜想:2000以内的正偶数都能够分解为两个素数之和。#include#includeint main() { int i,n; FILE *fp; fp = fopen("GDBHCX.txt", "w"); if (fp == NULL) { printf("Cannot write into the file.\n"); getch(); return原创 2013-12-02 18:56:11 · 732 阅读 · 0 评论 -
6个变态的helloworld
纯属娱乐,转来看看就好hello1.c #define _________ } #define ________ putchar #define _______ main #define _(a) ________(a); #define ______ _______(){ #define __ ______ _(0x48)_(0x转载 2013-12-02 20:08:53 · 723 阅读 · 0 评论 -
阶乘和数
阶乘和数:一个正整数等于组成它的各位数字的阶乘之和eg,145 = 1! + 4! + 5!#include#includelong factorial(int x);int main() { int num1,num2,num3; int choose; int flag; flag = 0; printf("选择输入的数的位数(3,2,1): ", choose)原创 2013-12-02 18:55:06 · 1100 阅读 · 0 评论 -
比较分数的大小
比较分数的大小至少两种方法:(1)通分后比较(2)用浮点数来比较,是我用的方法。#includeint main() { int i,j; int x,y; double a,b; double e = 0.000001; printf("Input two fractions(a/b):\n"); scanf("%d/%d %d/%d", &i, &j, &x,原创 2013-12-02 19:42:16 · 923 阅读 · 0 评论 -
6174问题
输入一个n位数,用大序减去小序,然后继续对结果这样操作,输出操作序列,知道出现循环。样例输入:1234样例输出:1234 -> 3087 -> 8532 -> 6147 -> 6147解释:输入1234得4321-1234=3087、8730-378=8352、8532-2358=6174、7164-1467=6174这里变成了无限循环,结束。#include原创 2013-12-06 10:37:01 · 632 阅读 · 0 评论 -
字符函数
字符检测函数isdigit(c) 如果c是数字,返回true,否则返回falseisalpha(c) 如果c是字母,返回true,否则返回falseisalnum(c) 如果c是字母或数字,返回true,否原创 2013-11-30 22:40:16 · 575 阅读 · 0 评论 -
运算符的优先级
优先级 运算符 解释 结合方式1 ()[]-> 括号,数组,两种结构成员原创 2013-11-30 21:19:12 · 526 阅读 · 0 评论 -
puts()
向标准输出设备写字符串并自动换行,直至接受换行符或EOF时才停止。puts(字符串参数); -只能输出字符串 -puts可以无限读取,不会判断上限,所以应该保证数组或其他存储结构空间足够大,以防溢出。 -puts()输出的末尾自带换行原创 2013-11-30 21:10:01 · 860 阅读 · 0 评论 -
实型常量
实型常量 -十进制小数 1,1 -十进制指数 2.2E5实行变量 -类型 字节数 (比特数) 有效数字 数的范围(10的次方) -float 4字节 (32bits) 6 ~ 7 E-37 ~ E38 -double 8字原创 2013-11-30 21:12:46 · 2050 阅读 · 0 评论 -
整型、实型、字符型数据间的运算
自动转换 double ^ | long ^ | unsigned ^ | int 自动由低向高转换原创 2013-11-30 21:19:35 · 3411 阅读 · 0 评论 -
字符型数据
字符常量 -只能用单引号引起来 -只能是单个字符 -任意字符,但数字不能参与运算 常用转义字符 \n 回车换行 \t 横向跳到下一制表位置 \b 退格 \r 回车 \f原创 2013-11-30 21:22:26 · 655 阅读 · 0 评论 -
循环结构
-for for(循环变量初始化; 循环条件; 循环变量增量) 语句; eg, for (int i = 0; i printf("%d ", i); } -while 当表达式为真的时候,循环循环体 while(表达式){ 循环体; }原创 2013-11-30 21:51:54 · 508 阅读 · 0 评论 -
scanf()
格式输入函数 -scanf("格式控制字符串", &地址列表);格式字符串 %[*][输入数据宽度][长度]格式字符 d 输入 十进制整数 o 输入 八进制整数 x 输入 十六进制整数 u 输入 无符号十进制整数 f或e 输入 实型数(小数或指数) c 输入 单个字符 s 输入 字符串 -原创 2013-11-30 21:11:00 · 749 阅读 · 0 评论 -
常量和变量
1.常量 -直接常量 int a = 10; -字符常量 -#define a 10 -const float pi = 3.1415926; -常量不可被赋值2.变量 -基本知识 -数据类型 char、int、float ... ... -全局变量 -局部变量 -静态变量 static -静态全局变量原创 2013-11-30 21:11:40 · 474 阅读 · 0 评论 -
数据的输入与输出
standaed input & output常用输入输出函数 -putchar(字符参数) 等同于printf("%c“,字符参数); -getchar() 从键盘上输入一个字符并读取 char c; c = getchar(); 只接受一个字符,若输入多个字符,只存第一个字符。 读取ASCII码,错误返回-原创 2013-11-30 21:16:13 · 510 阅读 · 0 评论 -
整型数据
标示形式 -八进制 前缀:数字0,通常是无符号数 015(十进制13) -十进制 无前缀 100 -十六进制 前缀:0X或0x 0X2A(十进制42)整型数据的类型 -int -32768~32767 2字节 -long int原创 2013-11-30 21:20:32 · 802 阅读 · 0 评论 -
程序流程控制
-顺序结构 自上而下设计,逐句运行-选择结构 -原创 2013-11-30 21:33:40 · 483 阅读 · 0 评论 -
字符串数组初始化、处理函数
三种初始化方法 -char c[] = {'C', 'p','g',}; -char c[] = {"C program"}; -char c[] = "C program"; 处理函数 -strlen(字符串) 测试字符串长度 -strupr原创 2013-11-30 22:29:55 · 915 阅读 · 0 评论 -
字符串常量
"C program" -双引号 - >=1个字符 -字符占一个字节的内存空间 -字符串占字节数+1个字节内存空间 字符变量 -char 变量; char a; a = 'x'; -主要操作 -向字符变量以整数赋值原创 2013-11-30 21:21:32 · 601 阅读 · 0 评论 -
C语言数据类型概述
1.基本数据类型 特点:值不可再分解为其他类型。 -整型 -字符型 -实型 -单精度型 -双精度型 -枚举型2.构造数据类型 基本类型基础上产生的复合数据类型 -数组类型 -结构体类型 -共用体(联合)类型3.指针类型 表示某个变量在内存器中的地址 4.空类型 -void原创 2013-11-30 21:08:51 · 607 阅读 · 0 评论 -
gets()
gets(字符数组);向标准输入设备键盘上,读取一个字符串(可以包含空格),并将其存储到字符数组中,并用空字符(\0)代替s的换行符。 #include void main() { char str[24]; printf("What's your name?\n"); gets(str); puts(str); }原创 2013-11-30 21:09:29 · 562 阅读 · 0 评论