
C
C语言学习
zhangvalue
在奋进的路上,大家都是独行者!
展开
-
腾讯云-Centos7安装配置cmake
安装说明安装环境:CentOS7安装方式:源码编译安装软件:cmake-3.20.1.tar.gz下载地址:http://www.cmake.org/cmake/resources/software.html安装前提系统中已经安装了g++和ncurses-develyum install gcc-c++yum install ncurses-devel安装cmake将cmake-3.20.1.tar.gz文件上传到/root/opt再mv到/usr/local中执行以下操作:cd原创 2021-04-26 10:17:04 · 395 阅读 · 0 评论 -
腾讯云-Linux服务器安装安装C/C++环境(gcc)
linux下安装c/c++环境(gcc)第一步:yum install gcc第二步:yum install gcc-c++ libstdc++-devel第三步:验证 gcc -v原创 2021-04-18 19:33:02 · 1545 阅读 · 0 评论 -
C语言-删除原数组中0值并连续存储
对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。下面分别用函数CompactArr_vl和CompactArr_v2来实现上述处理要求,函数的返回值为非零元素的个数。函数CompactArr_vl(int a[], intn)的处理思路是:首先申请一个与数组a的大小相同的动态数组空间,然后顺序扫描数组.a的每一个元素,将遇到的非0元素依次复制到动态数组空间中,最后再将动态数组中的元素传回数组a中。函数CompaetA原创 2021-04-18 18:03:09 · 833 阅读 · 0 评论 -
算法笔记和上机实战训练指南(附下载)
算法笔记和上机实战训练指南-两本完整版(胡凡、曾磊著)本书内容包括: C/C++快速入门、入门模拟、算法初步、数学问题、C+ +标准模板库(STL)、数据结构专题(二章)、搜索专题、图算法专题、动态规划专题、字符串专题、专题扩展。本书可作为计算机专业研究生入学考试复试上机、各类算法等级考试(如PAT、CSP等)的辅导书,也可作为“数据结构”科目的考研教材及辅导书内容的补充。本书还是学...原创 2020-02-29 21:21:20 · 5588 阅读 · 87 评论 -
C语言-计算π的近似值
需要先了解一下abs()是对整数取绝对值, 而fabs()是对浮点数取绝对值,保证绝对值小于0.000011e-5就是 1*(10的-5次方)即0.00001第一个数可以看做1/1,所以分母都是以2为公差的等差数列使用while-do循环的时候,先需要sum的值为1#include <stdio.h>#include <math.h>int ma...原创 2019-11-30 21:57:30 · 34659 阅读 · 3 评论 -
C语言-stdlib.h库
C语言-stdlib.h库定义 :即standard library标准库头文件。stdlib.h里面定义了五种类型、一些宏和通用工具函数。使用: #include <stdlib.h>内部函数:malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等...原创 2019-11-30 21:52:41 · 996 阅读 · 0 评论 -
C语言-输入一行英文字符串统计单词个数
C语言-输入一行英文字符串统计单词个数,单词之间以空格隔开判断是否为单词的依据,通过一个flag标识,flag为0表示字符为空格,接下来出现不是空格,会将flag置为1只有当flag为1且当前字符不为空格,才会算作一个单独单词,保证连续多个字符为一个单词。#include<stdio.h>int main() { //定义一个string字符数组来接收输入的...原创 2019-11-30 21:37:37 · 35236 阅读 · 1 评论 -
C语言-求级数前n项列级数之和
C语言-求级数前n项之和,直到满足前n列级数之和大于输入指定值在需要注意的是在在先进行sn的初值进行计算的时候,再进行while循环判断sn和q的大小关系#include <stdio.h>int main(void){ float q,sn=0.0,n=1.0; printf("输入q的值"); scanf("%f",&q); ...原创 2019-11-30 21:10:10 · 7284 阅读 · 0 评论 -
C语言-1到10阶乘之和
C语言-1到10阶乘之和#include <stdio.h>void main(){ int sum=0,tmp=1,i; for (i = 1; i<=10; i++) { tmp*=i; sum+=tmp; } printf("1!+、、、、+10!=%d",sum);}...原创 2019-11-30 20:49:46 · 11620 阅读 · 0 评论 -
Clion-输入切换问题
问题:在Clion输入一段代码换到浏览器界面搜一个东西,再切回到clion就回出现输入有问题,这个时候鼠标所在的位置出现的是insert那样的替换型光标,必须先按下字母i,类似于vim里面的输入那种,按下i才进入insert模式,才可以输入代码,这样就导致了每次输入一段代码就回出现这种输入困难的问题原因:因为在安装Clion的时候,安装了vim插件,使用的习惯都是vim的模式解决方...原创 2019-11-30 19:52:18 · 2789 阅读 · 0 评论 -
C语言-判断输入字符串是否为回文串
C语言-判断输入字符串是否为回文串通过定义一个s字符数组,gets函数控制输入i、j双指针来回判断字符数组的位置,和对应位置的值的比较,while循环的条件 i<=j&&s[i]==s[j]最终判断i、j的关系,如果i<=j说明存在对应位置不等的情况就是不是回文串#include <stdio.h>#include <stri...原创 2019-11-28 20:51:24 · 64603 阅读 · 7 评论 -
C语言-字符数组中数字0和'\0'
C语言中并不强制规定字符数组中的字符个数一定小于字符的长度,等于字符数组的长度也可以。C语言-数字0和'\0'在字符串中都是表示字符串结束的意思。以下面的5个字符数组为例:#include <stdio.h>#include <string.h>int main(){ char str1[7]="FORTRAN"; char str2[]=...原创 2019-11-28 20:22:04 · 7416 阅读 · 1 评论 -
warning: this program uses gets(), which is unsafe.
问题:使用gets()函数的时候出现warning: this program uses gets(), which is unsafe.原因:gets()这个函数只有一个参数,那就是字符缓冲区的指针,并没有指定该缓冲区的长度也就是大小。当你输入一个很长很长的字符串的时候,gets ()函数会把每一个字符都存入到栈(statck)中,因此当字符串很大的时候就会导致程序异常终止。...原创 2019-11-24 20:51:44 · 1569 阅读 · 0 评论 -
C语言-统计文本文件中字母出现次数
C语言-统计文本文件中字母出现次数具体情况去下:①从键盘读入一行英文字母组成的文本②统计每一字母出现的次数③按照”字母:出现次数"的格式,依次输出每个字母及其出现的次数④对于出现次数相同的字母,必须输出在同一行...原创 2019-11-24 20:31:26 · 9503 阅读 · 1 评论 -
C语言-按规则读取指定文件(2016.七)
题目如下图所示:原创 2019-11-24 20:27:24 · 290 阅读 · 0 评论 -
Mac上配置SublimeText运行C语言
前言:之前因为安装使用了Clion 具体博客链接https://blog.youkuaiyun.com/zhangvalue/article/details/103151506在使用Clion的过程中出现了问题:在Clion输入一段代码换到浏览器界面搜一个东西,再切回到clion就回出现输入有问题,这个时候鼠标所在的位置出现的是insert那样的替换型光标,必须先按下字母i,类似于vim里面的输入...原创 2019-11-24 20:14:03 · 4951 阅读 · 5 评论 -
C语言-定义一个字符串
C语言可以使用字符数组来处理字符串。几种常用方式:1.char str[] = { “zhang” }; char str[] = “zhang” ;2.char str[] = { ‘z’, ‘h’, ‘a’, ‘n’,'g' }; //自己加入’\0‘,应为str[] = { ‘z’, ‘h’, ‘a’, ‘n’ ,'g',’\0’};3.char str[5];scanf(“%s...原创 2019-11-24 12:08:27 · 89362 阅读 · 4 评论 -
C语言%d%c%f
C语言中的格式字符%d是用来输出十进制整型数据的实际长度输出;%c是以字符形式输出,只输出一个字符;%f是以小数形式输出单、双精度度数,隐含输出6位小数。%c 单个字符%d 十进制整数(int)%ld 十进制整数(long)%f 十进制浮点数(float)%lf 十进制浮点数(double)%o八进制数%s 字符串(char)%u 无符号十进制数(D...原创 2019-11-24 11:58:14 · 54620 阅读 · 7 评论 -
C语言-注释符
1、单行注释:语法://注释的内容功能://符号右边的一行内容被编译器忽略(按了回车才算换行)快捷键:Command + / 再次执行取消注释2、多行注释:语法:/*需要注释的内容 */或者使用如下:/*注释的内容*/输入方法数据了/*回车就回出现注释格式/* *待注释的内容 */功能:/* */符号里面的所有内容都被编译器忽略解释某一条语句...原创 2019-11-24 11:46:36 · 1576 阅读 · 0 评论 -
c语言中二维数据的存储方式
C语言中二维数据的存储方式是:行式存储二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中, 而不是象一维数组只是一个向量。二维数组在c语言中的定义为:int a[x][y]。具体理解为二维数组a,有x行数据,每行数据有y个。...原创 2019-11-23 23:40:45 · 5209 阅读 · 0 评论 -
C语言数组引用
一维数组的定义方式为:类型说明符 数组名 [常量表达式]int arr[] = {1,2,3,4,5};数组元素的一般形式为:数组名[下标](下标从0开始)printf("%d\n",arr[5])数组名arr通常情况下代表数组元素的首地址printf("%d\n",arr);//输出为1数组名arr在两种情况表示整个数组(即不表示元素首地址)1、在定义数组的同...原创 2019-11-23 23:20:08 · 2237 阅读 · 0 评论 -
C语言-字符串连续出现字母进行压缩
字符串连续出现的字母进行压缩举例:输入为xxxyyyyyyz压缩后为 3x6yz解题思路:将输入的数组的话,主要是要解决两个问题,一是统计重复的字符,二是确定数组压缩后每个元素在数组中所处的位置。可以用一个指针遍历数组,另一个指针标记存储位置。#include <stdio.h>#include <string.h>#include <...原创 2019-11-22 23:27:41 · 2897 阅读 · 2 评论 -
C语言-快速排序
C语言-快速排序#include <stdio.h>int a[11], i, j;void qsort(int s[],int start,int end){ i=start; j=end; s[0]=a[start]; while(i<j) { while(i<j&&s[0]<s[...原创 2019-11-21 18:40:38 · 178 阅读 · 0 评论 -
C语言里指针和引用的区别
在C语言中指针,全称为指针变变量,是用来存储内存地址的一种变量。在程序中,一般通过指针来访问其指向的内存地址中的内容(数据)。引用,是C++中提出来的一种新的使用变量的方式,即,给实际变量起个别名,通过这个别名来引用实际的变量。标准C中不支持变量的引用。指针和引用这两个概念没有任何相关性。指针是实实在在的变量,有自己的内存存储空间,它可以指向任何有效的变量。引用是一种形式、...原创 2019-11-21 09:40:46 · 3851 阅读 · 0 评论 -
C语言-比较字符串是否相等
C语言-比较字符串是否相等,如下图所示:①:p++,q++②:*p<*q原创 2019-11-20 23:41:35 · 1854 阅读 · 0 评论 -
C语言比Java、Python高效
首先:语言最终都是在机器上执行,需要编译成机器可以识别的二进制可执行文件。C语言能和汇编指令几乎能直接翻译,而机器语言和汇编又能直接翻译。C是最快的语言因为它是最靠近及其底层的语言。在写C语言的时候,代码的效率几乎是用机器语言的效率。不过具体还要取决于具体的编译器,不同的编译器对代码的翻译是不一样的,有的编译器会理解代码中无用的语句进行删除。C语言在开发之初就是为弥补汇编语言不能跨平台和模...原创 2019-11-20 23:39:21 · 526 阅读 · 0 评论 -
C语言-2018年第九题1
C语言-2018年第九题1//2018年九1void f1(int*,int);void(*p[2])(int*,int);main(){int a;int b;p[0]=f1;p[1]=f1;a=3;b=5;p[0](&a,b);printf("%d\t%d\t",a,b);p[1](&a,b);printf("%d\t%d\t",a,b);}...原创 2019-11-20 22:04:08 · 185 阅读 · 0 评论 -
C语言-2019年九题2
C语言-2019年九题2#include<stdio.h>int main(void){ int a=5,b=4,x,y; x=a++*a++*a++; printf("a=%d,x=%d\n",a,x); y=--b*--b*--b; printf("b=%d,y=%d\n",b,y) return 0;}输出的 a=8,x=210 ...原创 2019-11-20 21:55:44 · 442 阅读 · 0 评论 -
C语言-2019年九1
2019年九 1//2019年九 1void foo(int [][3]);main(){ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; foo(a); printf("%d",a[2][1]);}void foo(int b[][3]){ ++b; b[1][1]=9;}输出为 9因为在将a数组作为参...原创 2019-11-20 21:47:52 · 392 阅读 · 0 评论 -
C语言-static的作用
2017年第八题第一问://2017年 第八题 1#include <stdio.h>int fun(){ int x =1; static int y=1; x++; y++; return x+y;}main(){ int a,b; a=fun(); b=fun(); printf("%d,%d\...原创 2019-11-20 21:38:27 · 438 阅读 · 0 评论 -
c语言中getchar()
c语言getchar()的用法:1.从缓冲区读走一个字符,相当于清除缓冲区2.前面的scanf()在读取输入时会在缓冲区中留下一个字符’\n’(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误3.getchar()是在输入缓冲区顺序读入一个字符(包括...原创 2019-11-20 21:04:42 · 673 阅读 · 0 评论 -
C语言中输入函数(scanf()、fgets()和gets())的区别详解
在c语言中,有三种主要的输入函数:scanf(),fgets()以及gets()scanf:以 space enter tab 作为结束, 且不接收 space, 回车符会残留在缓存区它是一种格式化的输入方式,可一次性按照规定的格式输入多个数据域。scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。与printf函数相同,C语言也允许在使用scanf函数之前不...原创 2019-11-20 21:02:19 · 4348 阅读 · 0 评论 -
C语言:判断A+B和C的关系
判断A+B和C的关系#include<stdio.h>int main(){ int n; int i=0,j; long long arr[10][3],num,ii; scanf("%d",&n); for(i=0; i<n; i++) { for(j=0;j<3;j++) ...原创 2019-11-19 23:30:51 · 1193 阅读 · 0 评论 -
C语言-判断字符串b的所有字符是否都在字符串a中出现过
题目描述:判断字符串b的所有字符是否都在字符串a中出现过,a、b都是可能包含汉字的字符串。b中重复出现的汉字,那么a中也要至少重复相同的次数。(两个字节表示一个汉字,高字节最高位为1的代表汉字,低字节最高位可以不为1)。返回0表示没有都出现过,返回1表示都出现过。例如:输入为aaaabbbcccdddss 和abc 输出为:1#include <std...原创 2019-11-19 23:26:23 · 1964 阅读 · 1 评论 -
C语言输入一串数据到数组中,用空格隔开回车结束
C语言输入一串数据到数组中,用空格隔开回车结束#include <stdio.h>int main(){ int num; int i=0; int arr[10]; while(1){ scanf("%d",&num); char c=getchar(); arr[i++]=num; ...原创 2019-11-19 23:19:30 · 10329 阅读 · 3 评论 -
Clion编写第一个C程序
之前Mac安装了Clion的hello world 是自带的,并不是我们想要创建的,需要的是自己可以随意的创建C程序第一步new一个Directory,然后取名随意,比如取名为test2第二步,创建你的.c文件,取名随意,比如我取名为test2.c第三步,在这个目录里,new一个CMake的配置文件,CMakeLists.txt编写第五步,来到根目录进行配...原创 2019-11-19 23:18:20 · 4847 阅读 · 2 评论 -
C语言编译过程详解
以Linux下C语言的编译过程为例https://zhangvalue.blog.youkuaiyun.com/article/details/84983836编译过程:gccgcc命令其实依次执行了四步操作:1.预处理(Preprocessing), 2.编译(Compilation), 3.汇编(Assemble), 4.链接(Linking)gcc helloword.c通过g...原创 2019-11-19 23:04:30 · 759 阅读 · 0 评论 -
Mac安装使用Clion运行C
CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以IntelliJ为基础设计的,同时还包含了许多智能功能来提高开发人员的生产力。下载网址:https://www.jetbrains.com/clion/安装完成之后,打开发现Clion的整个软件的使用风格和,pycharm和idea都是很类似对比与vscode使用起来更加方便一些...原创 2019-11-19 21:24:28 · 5775 阅读 · 0 评论 -
Mac安装VScode运行C语言
在Mac上安装vscodehttps://code.visualstudio.com/docs/?dv=osxStable,稳定版,适合刚接触VS Code的人安装。下载这个版本Insiders,专业版,很多VS Code新添的功能都能第一时间在这个版本使用,更新比较频繁。解压安装后,打开VSCode 按快捷键shift+command+X,并在搜索框输入c/c++ 安装插件...原创 2019-11-18 23:23:10 · 7645 阅读 · 1 评论