c语言
站在牛顿肩膀上等苹果
这个作者很懒,什么都没留下…
展开
-
c语言整理makefile
在linux中,有一个实用程序,叫make,可以用它来管理多模块程序的编译和链接,直至生成可执行文件。make程序的编译规则说明文件,称为makefile,makefile文件中描述了整个软件工程的编译规则和各个文件之间的依赖关系。makefile就像是一个shell脚本,可以执行操作系统的命令,它带来的好处就是能够实现“自动化编译”,写好程序,只要一个make命令,整个软件功能就完全自动编译,提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说大多原创 2020-05-21 13:22:40 · 805 阅读 · 0 评论 -
c语言整理目录和文件的操作扩展
access库函数包含于#include<unistd.h>中声明int access(const char *pathname,int mode)pathname文件名或目录名,可以是当前目录的文件或目录,也可以是全路径mode需要判断的存取权限。mode需要判断的存取权限。在头文件unistd.h中的预定义如下:#defineR_OK4//R_OK只判断是否有读权限#defineW_OK2//W_OK只判断是否有写权...原创 2020-05-20 11:18:52 · 183 阅读 · 0 评论 -
c语言整理系统错误
在C语言中,有一个全局变量errno,存放了函数调用过程中产生的错误码(整数值)。而errno中不同的数值代表的错误信息,定义在<errno>文件中,库函数调用失败可以读出errno的值来确定问题,进而推测程序出错的原因。strerror和perror两个库函数,可以很方便地查看出错的详细信息。strerror在 <string.h> 中声明,用于获取错误码对应的消息描述。strerror库函数声明:char*strerror(interrno);...原创 2020-05-19 21:36:56 · 156 阅读 · 0 评论 -
c语言整理编译预处理
c程序执行过程:源程序---->编译预处理-----> 编译------->优化程序----->汇编程序----->链接程序----->可执行文件。编译预处理时,先要读取源程序,对预处理指令(#开头指令)以及特殊的符号进行处理,比如define替换指令,也会进行删除注释,多余的空白字符,然后产生的预处理文件或者程序传给编译器,在程序中以#开头的编译指令称为预处理指令,预处理指令属于编译器,不是c语言中的内容,但是可以通过预处理指令可以扩展编译c程序的环境。.原创 2020-05-19 21:08:59 · 231 阅读 · 0 评论 -
c语言整理时间的操作
time_t表示时间类型数据,在头文件time.h中定义,而计算机表示一个日历时间是从1970年1月1日0时0分0秒到现在的秒数函数类型是 typedeflongtime_t; long类型时间库函数time_t time(time_t *t); 利用返回值,返回值是1970年1月1日0时0分0秒到现在的秒数调用方法1:time_t tt;tt=time(0);给time函数传递一个空地址,再把返回值给ii;#include...原创 2020-05-18 20:27:41 · 200 阅读 · 0 评论 -
c语言学习for循环语句
使用for语句 从0递增显示到输入的正整数为止。首先会执行预处理a,循环操作会在控制表达式b的值不为0时重复执行,循环体中的语句执行之后,再执行表达式cdo,while,for语句都是用来执行循环操作的语句,统称为循环语句。#include<stdio.h>int main(void){ int i,no; printf("请输入一个整数:"); scanf(...原创 2019-04-17 14:02:18 · 567 阅读 · 0 评论 -
c中的函数问题补充
1、编写示例程序,自定义一个根据体重判断参加比赛的函数,判断标准由你定,c语言中没有表示 0<x<100的表示符 只能向表示 0<x x>100 || 表示或者 &&表示并且函数的返回值表示 函数的计算结果 需要定义变量进行传递,但在自定义函数中变量仍然用自定义函数的变量#include<...原创 2020-02-15 22:03:37 · 154 阅读 · 0 评论 -
c语言整理目录的操作
1. getcwd库函数使用: 很少使用char * getcwd(char * buf,size_t size);#include<stdio.h>#include<stdlib.h>#include<string.h>int main( ){ char strpwd[301]; memset(strpwd,0,sizeof(strp...原创 2019-12-21 23:12:09 · 171 阅读 · 0 评论 -
文件的操作练习
编写示例程序,从界面上输入五名超女的数据,存放在struct st_girl结构体数组中,然后把结构体数组以二进制的方式写入文件。代码如下#include<stdio.h>#include<string.h>#include<stdlib.h>struct girl{ char name[50]; //姓名 int age;...原创 2019-12-18 21:41:01 · 180 阅读 · 0 评论 -
指针的补充
int num=50;//取变量的地址 用&//&num 代表标量num的起始地址printf("%p\n",&num)://定义一个指针变量 保存num的地址//在定义的时候: *说明p是指针变量 而不是普通变量int *p=null;printf("sizeof(p)=%d\n",sizeof(p));//num的地...原创 2019-12-07 11:49:07 · 119 阅读 · 0 评论 -
c语言学习文件的操作
文件是数据的集合,数据集的名称就是文件名称,根据文件中数据的组织形式的不同,可以把文件分为文本文件和二进制文件。文本文件数据以字符组成,把每个字符的ascll码值存入文件中,每个ascll码值占一个字节,每个字节表示一个字符。所以文本文件也称作ascll文件。二进制文件 把数据对应的二进制数值存储到文件中,是字节序列文件,eg:数据 1234 按照文本文件形式存...原创 2019-12-04 22:45:17 · 175 阅读 · 0 评论 -
c语言学习动态内存管理
库函数:malloc库函数 作用:内存的动态存储区中分配一个长度为size的连续空间。此函数的返回值是分配区域的起始地址。eg:malloc(123);//开辟123个字节的临时分配域, 返回值是第一个字节的地址 若失败 返回 空(NULL或者0)。需要定义一个指针定义指向动态内存分配的地址。eg int *p=malloc(sizeof(int)); //用指...原创 2019-12-03 16:12:21 · 144 阅读 · 0 评论 -
c语言学习main函数的参数
在实际开发中,main函数是有参数的 没有参数的情况很少在linux系统中的命令 ls -lbook.c 中 -l 和book.c就是两个参数main函数参数:int argc ,用于存放命令行参数的个数。char *argv[] 是字符指针的数组,数组中的每个元素都是一个字符指针,指向一个字符串,(命令行中的每个参数)char *envp[] 字符指针的数组...原创 2019-12-02 22:40:55 · 140 阅读 · 0 评论 -
c语言学习格式化输出
宽度#include<stdio.h>#include<string.h>int main ( ){ int a; a=2; double c=0; c=3; char b[10]; memset(b,0,sizeof(b)); strcpy(b,"gfd"); //输...原创 2019-12-01 14:14:53 · 367 阅读 · 0 评论 -
c中的整数
signed 表示有符号的正数或者负数;unsigned 表示 无符号的正数用sizeof判断数据在内存中占用的空间 ;#include<stdio.h>int main( ){ int ii; printf("int 占用的内存大小是%d\n",sizeof(ii)); return 0;}short 取值范围是-32768~32767u...原创 2019-11-30 23:19:03 · 489 阅读 · 0 评论 -
c语言学习结构体
格式:struct 结构体名称{ 结构体成员变量1; 结构体成员变量2; 结构体成员变量3; ……;};// 结构体是一种集合,它里面包含了多个变量或数组,类型可以相同也可以不相同。eg: struct st- +名称 一般这样命名struct st_people{ char name[50]; i...原创 2019-11-30 23:11:22 · 139 阅读 · 0 评论 -
c语言学习数据转换
整型类型级别从低到高依次为:signed char -> unsigned char -> short -> unsigned short -> int -> unsigned int -> long -> unsigned long赋值运算符两侧的类型不一致时double dd;dd=100;左值为双精度,右...原创 2019-11-30 15:10:20 · 90 阅读 · 0 评论 -
字符串(库函数重写)
1(1)size_t STRLEN( const char* str); 重写strlen库函数并测试#include<stdio.h>#include<string.h>#include<stdlib.h>char STRLEN(const char* str);int main ( ){ printf("STRLEN is%...原创 2019-11-27 21:59:38 · 215 阅读 · 0 评论 -
c语言学习浮点数
浮点数即 小数一般用 double型双精度浮点数 %lf float数据类型 单精度浮点数 表达的是一个近似的数,到小数点后8位时误差为 1 不能用 eg: 9.99999999 %f用float定义出来 为10.00000000#include<stdio.h>#include<s...原创 2019-11-24 10:40:38 · 497 阅读 · 0 评论 -
c语言字符
字符输出printf("%c",'a'); scanf("c",&a);字符串输出:printf("%s","a"); 注意:用scanf("%s",a);转义字符: \n 换行 \'单引号 \\"双 引号 \r 回车字符就是整数 在 (0~255)范围内 两者没有区...原创 2019-11-22 21:04:53 · 160 阅读 · 0 评论 -
c语言学习gdb调试
gcc -g -o book1 book1.c gdb book1进入gdb调试 b 13 在13 行设置断点 p 变量 查看变量的值 也可以查看指针的地址 p a+100 在a的基础上加上100 使用加减乘除 ...原创 2019-11-21 22:58:22 · 79 阅读 · 0 评论 -
c语言学习数组的一些问题
eg: char name[20] 定义字符串 若name[1]未被赋值可以默认为0 ; 如果输入的是"abc",显示的结果是:3#include<stdio.h>#include<string.h>int main( ){ int ii=0; char sz[20]; memset(sz,0,size...原创 2019-11-18 21:57:11 · 429 阅读 · 0 评论 -
if 循环和while循环简单区分
#include <stdio.h>int main ( ){ int ii=0; while(ii<100) { ii=ii+5; printf(" %d ",ii); }return 0;} 得到结果:5 10 15 20 25 30 35 40 45 50 55 60 ...原创 2019-11-17 14:19:03 · 915 阅读 · 0 评论 -
printf 部分转换说明
%5d-----显示至少5位的十进制整数。%5.1f------显示至少5位的浮点数。但是小数点后只显示1位,踩过的坑:跟着念:百分之五点一 f 不是字母l 和f!#include <stdio.h> int main(void) { int a,b,c; int sum; /*合计值*/ dou...原创 2018-11-29 22:13:07 · 364 阅读 · 0 评论 -
Continue !C!
注意double型对应的scanf要加英语输入法的逗号!此处易出错!#include <stdio.h> int main(void) { double x; printf("请输入一个整数:"); scanf("%lf",&x); printf("您输入的整数是%f\n",x); return(0); } 验证数据类型和运算...原创 2018-11-21 17:34:19 · 103 阅读 · 0 评论 -
let‘s go!C!
double(双精度浮点数)注意 使用double时定义 dx时用 double 转换说明要用 %f ,默认显示小数点后6位数字。#include <stdio.h> int main(void) { int nx; /*整数*/ double dx; /*浮点数*/ nx=9.99; dx=9.99; printf("int型变量nx的值:%d\n...原创 2018-11-14 23:14:08 · 186 阅读 · 0 评论 -
learning C,Follow me!
%% 说明:单个%是转换功能,eg:%d(十进制有符号整数) 因此,想要输出%时,必须写成”%%“puts函数不具有转换说明功能,用puts进行输出时不能写成%%#include<stdio.h> int main(void) { int x,y; puts("请输入两个整数:"); printf("整数x:");scanf("%d"...原创 2018-11-08 22:09:47 · 126 阅读 · 0 评论 -
今天你学c了吗
输出“您好”并响铃#include <stdio.h> int main(void) { printf("您好!\a\a\a\n"); return(0); } 为两个变量赋整数值并显示#include <stdio.h>int main(void){ int x,y; x=3; y=x+3; pri...原创 2018-11-06 21:35:32 · 129 阅读 · 0 评论 -
c语言学习switch语句
显示输入整数除以3的余数。#include<stdio.h>int main(void){ int a; printf("请输入一个整数:"); scanf("%d",&a); if(a%3==0) puts("该数能被3整除。"); else if(a%3==1) puts("该数除以3的余数是1"); else puts("该数除以3的原创 2018-12-26 13:24:57 · 2232 阅读 · 0 评论 -
判断季节——逻辑运算符
逻辑运算符判断季节:a && b可以简单理解为a并且b 。a||b 可以简单理解为 a或者b 表达的意思是至少有一个即可的意思!!!#include<stdio.h>int main(void){ int month; printf("请输入月份:");scanf("%d",&month); if(month>=3 &a...原创 2018-12-24 22:36:08 · 229 阅读 · 0 评论 -
c中数值的比较
调用两次printf函数 麻烦!#include <stdio.h>int main(void){ int a,b; printf("请输入一个整数:"); scanf("%d",&a); printf("请输入一个整数:"); scanf("%d",&b); if(a==b) puts("它们相等"); else if(a>=...原创 2018-12-23 22:12:07 · 876 阅读 · 0 评论 -
3-1if语句(2)
==运算符 a==b 如果a和b的值相等则为1,不等则为0(结果类型是int)!= a!=b 如果a和b的值不相等则为1,相等则为0 (结果类型是int)具体看应用对比,如下:#include <stdio.h> int main(void){ int a,b; puts("请输入两个整数:"); printf("整数a:"); s...原创 2018-12-05 22:06:22 · 121 阅读 · 0 评论 -
c语言学习3--1 if语句
if语句的引导举例:如果输入的整数不能被5整除。则会显示相应的信息。#include <stdio.h> int main(void) { int a; printf("请输入一个整数:"); scanf("%d",&a); if(a%5) puts("输入的整数不能被整除"); return(0); } if语句的应用...原创 2018-12-03 17:14:21 · 330 阅读 · 0 评论 -
do语句4——?
输入一个整数,显示出它是奇数还是偶数。然后询问是否重复同样的操作。#include<stdio.h>int main(void){ int a; do{ int b; /*要继续吗?*/ printf("请输入一个整数:"); scanf("%d",&b); if (b%2) puts("这个整数是奇数。"); e...原创 2019-03-31 10:57:27 · 298 阅读 · 0 评论 -
c语言学习while语句
从输入整数开始倒数到0代码4-7#include<stdio.h>int main( void){ int no; printf("请输入一个整数:"); scanf("%d",&no); while(no>=0){ printf("%d",no); no--; //no的值递减// } putchar('\n'); ...原创 2019-04-01 12:26:47 · 1315 阅读 · 0 评论 -
c语言学习你好,编程世界。
你好,世界!今天整理了学习的内容,收获很大,终于说出了那句“你好,编程世界" 十进制显示两个整数的和 2.十进制显示两个数的差3.人性化的显示两个整数的和4.向世界问好。5.问好的另一种方式。#include <stdio.h> int main(void) { printf(" 你好,\n "); prin...原创 2018-10-29 22:38:04 · 2168 阅读 · 0 评论