![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
超人琪
这个作者很懒,什么都没留下…
展开
-
指针学习二十四——文件读写函数2
1.fputs()函数用来向指定的文本文件写入一个字符串,调用格式为:fputs(s,fp);//S是要写入的字符串,可以是字符数组名,字符型指针变量或字符串常量//fp是文件指针//该函数把s写入文件,字符串s的结束符"\0"不写入文件,如函数执行成功,则函数返回所写的最后一个字符。//否则,则返回EOF2.fgets函数用来从文本文件中读取字符串,调用格式为:f...原创 2020-02-26 23:40:14 · 251 阅读 · 0 评论 -
指针学习二十三——文件读写函数
1.字符方式读写函数fgetc( )和fputc( )逐个字符读写函数,fgetc函数实现从fp所指式的磁盘文件读入一个字符待ch。函数调用格式:ch=fgetc(fp);//该函数的功能于getchar()函数功能相似,从键盘上读取一个字符;fgetc函数实现把一个字符ch写到fp所指示的磁盘文件上。函数调用格式:fputc(ch,fp);//函数返回值若写文件成...原创 2020-02-24 23:20:08 · 997 阅读 · 0 评论 -
指针学习二十二—文件操作学习
最近做摄影测量的课程设计,以文件的形式输入输出,让人觉得头疼。以前是照着别人的代码写,看来还是得自己从头来过啊,不然出了问题也不会解决。写程序还是得脚踏实地啊!打开文件文本文件 使用方式 含义 " r " 打开文本文件进行只读 " w " 建立新文本文件进行只写 " a " 打开文本文件进行追加 " r+ " 打开...原创 2020-02-23 16:43:42 · 95 阅读 · 0 评论 -
指针学习二十——二级指针定义
指针复习:"*"的作用:1)定义指针变量 int *p;2)访问指针所指向的变量 *p=a;3)int *p;p=&a;x=*p++;将p指针的变量a的值赋给变量x,然后修改了指针的值,指针的值不再指向a。指针变量的初始化1)int a;int *p1=&a;int *p2=p1;//在定义指针p1的同时给其赋值,使得p1指向变量a。2)初始...原创 2020-02-02 22:29:09 · 1771 阅读 · 0 评论 -
指针学习十九——练习练习
//字符串排序#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ int i,j; char m[5][10]; char k[10]; printf("enter 5 strings: \n"); //注意,输入的5个字符串,数据形式应该是二维字符数组 f...原创 2020-01-29 22:58:27 · 152 阅读 · 0 评论 -
指针学习十八——删除特定字符和特定字符串
删除特定字符#include<stdio.h>#include<string.h>void delchar(char s[],char ch);int main(){ char s[10]; printf("enter a string: "); gets(s); char ch='h'; //删除特定字符h delchar(s,ch); ...原创 2020-01-27 22:59:02 · 1115 阅读 · 0 评论 -
指针学习十七——指针函数实现字符串复制
不用指针实现时#include<stdio.h>#include<stdlib.h>#include<string.h>void strmcpy(char *s,char *t,int m);int main(){ char t[10],s[10]; int m,n; printf("enter a string: "); gets(...原创 2020-01-26 22:02:42 · 1754 阅读 · 0 评论 -
指针学习十六——求实数的整数部分和小数部分
#include<stdio.h>#include<math.h>int splitfloat(float x,int *inpart,float *fracpat);int main(){ float x; int intx; int *pi=&intx; float floatx; float *pf=&floatx; ...原创 2020-01-25 22:12:18 · 1187 阅读 · 0 评论 -
指针学习十五——数组循坏后移
#include<stdio.h>#include<stdlib.h>int span(int a[],int m,int n);int main(){ int n,m,*p,i; printf("enter n: "); scanf("%d",&n); if((p=(int *)calloc(n,sizeof(int)))==NULL) { ...原创 2020-01-25 21:22:18 · 812 阅读 · 0 评论 -
指针学习十四——动态分配内存查找指定元素
#include<stdio.h>#include<stdlib.h>int search(int list[ ],int n,int x);int main(){ int n,x,i,a[10],*p,t; printf("enter n: "); scanf("%d",&n); //动态分配内存 if((p=(int *)calloc(n,...原创 2020-01-25 21:17:50 · 200 阅读 · 0 评论 -
指针学习十三——指针动态分配内存
动态内存分布函数定义在stdlib.h里1.动态存储分配函数malloc( )void *malloc(unsigned size)再内存的动态存储中分配一连续空间,长度为size。申请成功,返回指向所分配内存空间的的起始地址的指针;否则返回NULL;//动态分配n个整数类型大小的的空间,调用malloc时,利用sizeof计算存储块大小 if((p= (int *)mal...原创 2020-01-24 20:42:17 · 1939 阅读 · 0 评论 -
指针学习十二——字符串比较、排序
#include<stdio.h>#include<string.h>int main(){ int i; char sx[80],smin[80]; scanf("%s",sx); strcpy(smin,sx); //把sx的值赋给smin for(i=1;i<5;i++) { scanf("%s",sx); //再输入4个字符串放进...原创 2020-01-22 21:42:06 · 157 阅读 · 0 评论 -
指针学习十一——字符串处理函数
常用的字符串处理函数字符串的输入和输出输入字符串scanf("%s",s); //输入参数必须是字符型数组名gets( ); //参数s是字符数组名,输入的字符串允许带空格输出字符串printf("%s",s); //输出参数 可以是字符数组名或字符串常量puts( ); //参数s可以是字符数组名或字符串常量,成功执行后输出字符串,返回换行符...原创 2020-01-22 17:12:33 · 502 阅读 · 0 评论 -
指针学习十一——码文加密
#include<stdio.h>#include<string.h>#define MAXLINE 100void encrypt( char* );void encrypt1(char s[]);int main(){ char line [MAXLINE]; printf("input the string: "); gets(line); ...原创 2020-01-21 21:08:32 · 263 阅读 · 0 评论 -
指针学习十——字符串、指针
字符串常量: 是用双引号括起来的一串字符,看作特殊的一维字符数组。 字符串常量的所有字符在内存中连续存放。系统在存储字符串常量是先给一个起始地址, 该起始地址代表了存放字符串常量首字符的存储单元的地址,被称为字符串常量的值。字符串常量的实质:一个指向该字符串首字符的指针变量。char sa [ ]="array"; //看作特殊的一维字符数组char *s...原创 2020-01-21 21:06:39 · 221 阅读 · 0 评论 -
指针学习八——二分法查找
数组名作为函数的参数在主函数中,数组名a[ ]作为函数Bsearch的实参,在函数Bsearch中访问数组a的存储单元,既可以引用,又可以改变单元的内容,返回主函数后,数组元素的值就改变了。*p相当于a[ ];p[mid] 可改写为*[p+mid]。#include<stdio.h>//二分查找 int Bsearch(int *p,int n,int x);...原创 2020-01-20 16:03:45 · 765 阅读 · 2 评论 -
指针学习七——指针求和
#include<stdio.h>int main(){ double a[2],*p,*q; p=&a[0]; q=p+1; printf("%d\n",q-p);//q和p之间数组元素的个数 printf("%d\n",(int)q-(int)p);//q和p之间数组元素的存储单元数 //强制转换,给出两个double型数组元素所在的内存首地址 ...原创 2020-01-19 17:00:29 · 4101 阅读 · 0 评论 -
指针学习六——指针调用函数
float *psum;定义了一个浮点型的指针变量psumpsum保存的是地址;void sum_diff(float op1,float op2,float *psum,float *pdiff)*psum指向的是a的地址代表的值;float *pa=&a; 初始化pa的值 ,这样*pa指向的是a地址代表的值*psum,*pa,a这三个指向的都是a;改变*...原创 2020-01-18 21:26:28 · 399 阅读 · 0 评论 -
指针学习五——冒泡排序
复习选择排序法:https://blog.csdn.net/tq_1999/article/details/99437935参考:https://blog.csdn.net/chao_shine/article/details/88380597冒泡排序基本思想:两两交换,每次排序将最大值放后面,最小值放前面。当i=1时,要两两比较7次,即n-1次。才能8个数中取出最大值。数值...原创 2020-01-18 21:14:49 · 224 阅读 · 0 评论 -
指针学习四——指针、数组、地址
指针、数组、地址指针是以地址作为值的变量,数组名的值是一个特殊的固定地址,看作是指针常量。int a[100] , *p;系统把编号为3000,30002...的内存字节作为数组元素a[0],a[1]...的地址。基地址:内存位置3000是数组a的基地址,即a[0]的地址。地址常量:数组名a是一个地址常量。p=a;p=&a[0]; 语句等价,都把30...原创 2020-01-18 20:04:33 · 900 阅读 · 0 评论 -
指针学习三——指针变量的初始化
指针变量的初始化——必须先赋值后使用在指针变量定义或者初始化时,变量前的* 只能表示是个指针变量。 把一个变量的地址作为初始化值时,该变量必须在此前进行定义。 可以用初始化的指针变量给另一个指针变量作初始化值。 不能用数值作为指针变量的值,但可以将一个指针变量初始化为一个空指针。 指针变量定义是的存储单元和它所指向的目标变量的数据类型必须一致。例如:int *p=1000; ...原创 2019-12-19 21:57:36 · 3472 阅读 · 0 评论 -
指针学习二——指针、地址
//通过地址的调用来改变变量的值#include<stdio.h>void f(int *p);void g(int k);int main(){ int i = 6; printf("&i=%p\n", &i); f(&i); g(i); getchar(); return 0;}void f(int *p){ pr...原创 2019-12-15 17:54:17 · 294 阅读 · 0 评论 -
指针——地址的概念
//如何输出地址#include<stdio.h>int main(){ int i=0; printf("0x%x\n",&i); //取地址符&,以64位的形式输出i的地址 printf("%p\n",&i); // return 0;//取地址运算和电脑编译器的位数有关#include<stdio.h>in...原创 2019-12-14 21:56:32 · 225 阅读 · 0 评论 -
C语言学习系列之四十五——字符串再学习
//字符串中查找指定字符#include<stdio.h>#include<string.h>int main(){ int i, j, k,index; char a[10], b[10]; char ch; i = 0; printf("enter a string: "); while ((a[i] = getchar())!= '\n') i...原创 2019-11-14 22:12:18 · 90 阅读 · 0 评论 -
C语言学习系列之四十四——字符串再学习
参考该博客讲字符串输入输出 https://blog.csdn.net/zhao888789/article/details/79176924字符串输入函数scanf():通过格式控制符 %s 输入字符串。除了字符串,scanf() 还能输入其他类型的数据。 gets():直接输入字符串,并且只能输入字符串。博主经验总结的结论:如果希望读取的字符串中不包含空格,那...原创 2019-11-11 21:33:22 · 80 阅读 · 0 评论 -
C语言学习系列之四十三——字符串再学习
1.字符串定义字符串使用双引号括起来的字符序列,它的结束标志符为' \0 '。 例如“HAPPY”的有效长度是5。 数组长度至少是有效长度+1,因为还有结束标志符' \0 '。2.字符串初始化例如 static char s [6] = {'H','a','p','p','y','\0'}; 或者static char s [6] ={ “ Happy ” }; 或者s...原创 2019-11-10 22:09:12 · 255 阅读 · 0 评论 -
C语言学习系列三十八——数组再学习(1)
数组定义 例 : int a[10]; ——数组名后一定跟的数字; //输出所有大于平均值的数#include<stdio.h> int main(){ int a[10+2]; int i,j,k; double sum,ave; printf("enter 10 numbers: "); for(i=0; i<...原创 2019-09-07 21:09:45 · 146 阅读 · 0 评论 -
C语言学习系列三十九——数组再学习(2)
//选择排序法:从小到大排序后输出#include<stdio.h>int main(){ int n,i,j,k,index,m; int a[10+2]; printf("enter n: "); scanf("%d",&n); printf("enter %d numbers: ",n); for(i=0; i<n; i++) {...原创 2019-09-23 22:13:51 · 67 阅读 · 0 评论 -
C语言学习系列四十——数字再学习(3)
///求一维数组最小值及其坐标#include<stdio.h>int main(){ int n,i,index,max; int a[10]; printf("enter n: "); scanf("%d",&n); printf("ernter %d numbers: ",n); for(i=0; i<n; i++) { scanf("%...原创 2019-09-24 18:20:36 · 89 阅读 · 0 评论 -
C语言学习系列四十一——数组再学习(4)
https://blog.csdn.net/tq_1999/article/details/99572157以前写的有误,做以下改正//找出两个一维数组中不同的元素#include<stdio.h>int main(){ int n,m,i,j,k,flag; int a[10],b[10]; printf("enter n: "); scanf...原创 2019-09-25 21:54:52 · 94 阅读 · 0 评论 -
C语言学习系列四十二——数组再学习(5)
//计算日期对应该年的第几天#include<stdio.h>int day_of_year(int year,int month,int day);int main(){ int year,month,day; int i,j,k,n,m; int a[2][13]; scanf("%d%d%d",&year,&month,&day);...原创 2019-09-26 21:46:21 · 96 阅读 · 0 评论 -
C语言学习系列三十一——习题7(1)
//选择排序法//从大到小排列#include<stdio.h>int main(){ int i,index,k,n,temp; int a[10]; printf("Enter n: "); scanf("%d",&n); printf("Enter %d:",n); for(i=0; i<n; i++) { scanf("%d",...原创 2019-08-20 17:12:22 · 115 阅读 · 0 评论 -
C语言学习系列十三——习题四(1)
练习4-8#include<stdio.h>int main(){ int i,mark,max,n; printf("Enter n:" ); scanf("%d",&n); if(n>0){ //当n为0时,不输入数据 printf("Enter %d marks",n); scanf("%d" , &...原创 2019-08-04 18:29:38 · 180 阅读 · 0 评论 -
C语言学习系列三十六——字符串转换成十进制数
//习题7-8//将字符串转换成十进制数//输入一个以#结束的字符串,滤去所有的非十六制字符,如果过滤后字符串的首字符为“-”,代表该数是负数。#include<stdio.h>int main(){ int i,k,j,flag; int a[20],b[10]; long num; printf("enter a string: "); i=0; w...原创 2019-08-22 21:29:20 · 2335 阅读 · 0 评论 -
C语言学习系列三十四——求鞍点
鞍点鞍点的元素值在该行中最大,在该列中最小//习题7-5//求鞍点#include <stdio.h>int main(){ int n; int i, j, k, u, x, y,flag; int a[6][6]; printf("enter n: "); scanf("%d", &n ); printf("enter %d rows...原创 2019-08-22 20:46:09 · 237 阅读 · 0 评论 -
C语言学习系列二十四——数组练习
输出最大值及其下标#include<stdio.h>int main(){ int i,index,n; int a[10]; printf("Enter n: "); scanf("%d",&n); printf("Enter %d :",n); for(i=0; i<n; i++) scanf("%d",&a[i]); ...原创 2019-08-13 17:18:54 · 103 阅读 · 0 评论 -
C语言学习系列二十三——数组排序查下标
找出数组最小值及其下标例7-4#include<stdio.h>int main(){ int i,index,n; int a[10]; printf("Enter n: "); scanf("%d",&n); printf("Enter %d :",n); for(i=0; i<n; i++) scanf("%d",&a[i]...原创 2019-08-13 16:38:18 · 1049 阅读 · 0 评论 -
C语言学习系列十一——循环嵌套
例4-6#include<stdio.h>double fact(int n); //函数声明 int main(){ int i; double sum; sum=0; for(i=1; i<=100; i++) sum=sum+fact(i); printf("1!+2!+...+100!=%e\n",sum); return 0; }...原创 2019-08-01 21:30:56 · 327 阅读 · 0 评论 -
C语言学习系列十四——习题四(2)
习题4-3#include<stdio.h>int main(){ double x1,x2,x,t; int n,i; double sum; printf("Enter n: "); scanf("%d",&n); x1=2.0; x2=1.0; sum=0.0; for(i=1; i<=n; i++){ x=x1...原创 2019-08-05 21:19:07 · 172 阅读 · 0 评论 -
C语言学习系列八——循环结构while
例4-1#include<stdio.h>#include<math.h>int main(){ int deno,flag; double item,pi; flag=1; deno=1; item=1.0; pi=0; while( fabs (item) >=0.0001){ item=flag*1.0/deno;...原创 2019-07-27 21:07:36 · 450 阅读 · 0 评论