C语言学习
零散的学学,多多益善
雪酒呀
我很懒,不想添加简介
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二进制十进制互相转换
2到2的十幂次方分别为:1,2,4,8,16,32,64,128,256,512,1024它们对应的二进制分别为110100100010000100000100000010000000100000000100000000010000000000十进制转换二进制计算520如520=512+8即1000000000+1000=1000001000二进制转换十进制计算100100100如:100100100= 100000000 +100000 +100即:2原创 2021-10-25 13:17:18 · 4159 阅读 · 0 评论 -
C语言-结构体+文件操作+排序练习
运行程序打开终端输入一组员工数据,输入自定的文件名进行存储。读取该文件保存的内容,进行排序并输出相关定义宏定义指定长度,方便操作创建一个枚举,识别性别数据来一个char数组,用于存储用户输入的文件名定义一个结构体,用于保存员工数据#define N 2 //长度 enum sex{male,female}; //性别枚举char filename[20]; //存放文件名//定义一个员工结构体typedef struct employee{ char id[20]; c原创 2021-06-23 20:41:13 · 830 阅读 · 0 评论 -
C语言练习题
代码在最下方// 1、根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。/*该题注意事项,因为当x大于10的时候,要进行sin计算并且与0.5相加,故此才用float*/// one(-99);// one(5);// one(66);//2:题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END。(可选用switch语句编写)// two();//3: 题目:编写程序将用户输入的字母进行大小写转换。// three();//4: 编程判原创 2021-05-09 18:16:41 · 1080 阅读 · 0 评论 -
C语言-交换排序
#include <stdio.h>main(){ int arr[] = {1,5,4,7,3},i,j,t; printf("排序前\n"); for(i=0;i<5;i++){ printf("%d\t",arr[i]); } printf("\n\n"); for(i=0;i<5-1;i++){ for(j=i+1;j<5;j++){ if(arr[i]<arr[j]){ t = arr[i]; arr[i] =.原创 2021-04-25 23:13:51 · 668 阅读 · 0 评论 -
C语言-选择排序
#include <stdio.h>main(){ int arr[] = {1,5,4,7,3},i,j,t; printf("排序前\n"); for(i=0;i<5;i++){ printf("%d\t",arr[i]); } printf("\n\n"); //根据比较选择最大数的索引 for(i=0;i<5-1;i++){ int max = i; for(j=i+1;j<5;j++){ if(arr[max]<arr[j].原创 2021-04-25 23:07:21 · 184 阅读 · 0 评论 -
C语言-递归计算阶乘
#include <stdio.h>#include<string.h>//计算阶乘,递归方式// 0!=1;// n! = n*(n-1)int a(int n){ if (n > 0) { return n*a(n-1); } else { return 1; }}int main() { printf("%d\n",a(4)); return 0;}原创 2021-04-19 10:06:31 · 320 阅读 · 0 评论 -
C语言-结构体
文章目录一、简介结构体二、结构体的定义三、结构体定义变量(一)、定义单个变量在栈上创建变量在堆上创建变量(二)、定义数组变量在栈上创建变量在堆上创建变量一、简介结构体结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构例如一个学生的信息就需要学号(字符串),姓名(字符串),年龄(整形)等等。结构体:使用结构体,实现自定义类型结构体是一个复合类型定义结构体,用struct关键字,记得要在大括号后面写分号二、结构体的定义定义结构体,用struct关键字struc原创 2021-04-02 18:18:37 · 506 阅读 · 0 评论 -
C语言-字符串
基于string头文件1:字符串长度strlen字符串长度:不计算\0 . char s1[] = "hello"; int len = strlen(s1); //len = 5 printf("len=%d\n",len);sizeof();计算数组,变量占用的空间大小,包含\0 len = sizeof(s1); //len=6 printf("len=%d\n",len);2:字符串拷贝strcpy();将一个字符串完全拷贝到另一个字符串中第一个参数:目标空间第二原创 2021-03-30 15:08:18 · 893 阅读 · 0 评论 -
C语言-内存操作-memory.h头文件
文章目录memory 头文件memset //初始化内存memcpy //内存拷贝memmove //内存移动---处理内存重叠现象memcmp //内存比较memory 头文件#include <memory.h>memset //初始化内存第一个参数:初始化内存的首地址第二个参数:将内存初始化成什么值第三个参数:从首地址开始多少个值设置为0 int arr[10]; int x; memset(arr,0,sizeof(arr)); for(x=0;x<原创 2021-03-30 00:34:41 · 8550 阅读 · 0 评论 -
C语言-多级指针
二级指针,就是指向一个指针的地址int a =1;int * p1 = &a;int **p2 = &p1;int ***p3 = &p2;// p2就是二级指针printf("%d\n%d\n%d\n%d\n",a,*p1,**p2,***p3); 指针的直接修改与间接修改 int a=10; int b=20; int *pa = &a; printf("*pa=%d\n",*pa);// 指针直接修改 //pa = &b; //原创 2021-03-28 23:17:18 · 130 阅读 · 0 评论 -
C语言-指针-字符串/数组
指针指针和字符串指针数组指针数组与普通数组的优缺点普通数组定义语法,优缺点指针数组、优缺点指针数组的定义通过指针数据修改变量字符串数组的定义字符串数组的遍历const指针和字符串字符常量有内存,可以取地址C语言的字符串都是char * 类型无法通过指针改变字符常量的值,只能通过重定向位置进行不同数据的指向C语言中字符常量都是固定地址的char *s1 = "abc";char *s2 = "abc";printf("%d\n%d\n",s1,s2); 上面的指针s1、s2指向同一个地原创 2021-03-28 18:31:25 · 554 阅读 · 0 评论 -
C语言-指针-基本
文章目录指针的基本概念指针变量与普通变量指针的占用内存指针的赋值指针运算野指针空指针指针类型的转换指针和数组名指针方法遍历数组函数传参的区别指针的基本概念指针变量用于保存变量的地址声明指针时加一个 * ,表名该变量存储的是一个地址指针变量与普通变量指针变量与普通变量的区别 :从语法角度:指针变量多了个标识 星号,以此表示该变量存储的是地址从内存角度:两者无区别,都是一块内存,并且都有地址唯一的区别:普通变量存储数据,指针变量存储地址指针的占用内存无论指针是什么类型,都是4个字节(32位)原创 2021-03-28 16:35:04 · 223 阅读 · 0 评论 -
C语言-字符串及模块化编写
文章目录字符串的定义语法引入其他C文件的函数PS://导入自己的头文件,用双引号字符串的定义语法char s1[] = {'a','b','c','d','\0'};// 有\0就是字符串//上述定义方式较为麻烦,只要是双引号括起来的,系统会自动添加\0char s2[] = "abc";//占用4个字节空间上述定义方式较为麻烦,只要是双引号括起来的,系统会自动添加\0char s2[] = "abc";//占用4个字节空间字符串的输入和输出 占位符%s引入其他C文件的函数一原创 2021-03-28 01:37:07 · 337 阅读 · 0 评论 -
C语言-数组
文章目录基本的数组定义计算数组的元素个数自动推导数组的长度数组在编译阶段就分配好内存,在运行时,不能改变数组的大小二维数组二维数组定义全部初始化部分初始化二维数组的遍历基本的数组定义全部初始化int arr[5] = {1,2,3,4,5}部分初始化int arr[10] = {10}这个大括号中的数据优先赋值给数组的前N个值,其余元素默认初始化,一般是系统赋值为0计算数组的元素个数int arr[10];sizeof(arr)是整个数组的空间大小sizeof(arr[0]) 是数组原创 2021-03-28 00:24:54 · 521 阅读 · 0 评论 -
C语言-练题
打印输出所有的水仙花数字水仙花是三位数,所以是100-100之间#include "stdio.h"main(){ int m,x,y,z; for(m=100;m<1000;m++) { x=m/100; y=m%100/10; z=m%10; if(m==x*x*x+y*y*y+z*z*z) printf("%d是水仙花数\n",m); } getch(); }打印fibonacci数列#include "stdio.h"main(){原创 2021-03-26 21:03:47 · 144 阅读 · 0 评论 -
C语言-素数的判断
素数条件:因数个数只有两个,分别是1与本身(好家伙,为了求素数专门看了小学数学)1–n之间,2个因数就是素数,>=2便是合数(n>1)#include <stdio.h>int main(){ int n,s=0,i; scanf("%d",&n); for(i=1;i<=n;i++){ if(n%i==0) s++; } if(s==2) printf("素数"); else printf("合数原创 2021-03-22 20:15:28 · 793 阅读 · 0 评论 -
C语言-01
以下内容为个人笔记,无实际参考意义& : 取地址符int a = 9;int *pa = &9;定义了一个今天类型的变量a,给他的值为9,定义了一个int类型的指针pa,指向变量a的地址指定a输出的结果为9指定&a输出的结果为存放a变量的地址指定pa输出的结果为存放a变量的地址指定*pa输出的结果为9,也就是从a的地址取出值指定&pa输出的结果为存放指针pa的地址系统会在字符串的结尾自动加一个\0作为字符串的结尾标志数据类型的强制转换,同java:(原创 2021-03-21 21:43:53 · 464 阅读 · 0 评论 -
C-冒泡排序
#include <stdio.h>int main(){ int a[] = {0,22,32,21,21,212,323,343,323,2121,1222}; //计算出数组的长度 int count = sizeof(a) / sizeof(a[0]); //交换数据的变量 int t; //排序是数据间两两比较,所以运算次数比数组长度少一个 for (int i = 0; i < count-1; i++) { for (int j = 0; j <原创 2021-01-19 17:19:50 · 149 阅读 · 0 评论
分享