
c语言
c语言练习题
仁兰蓝
努力成为一名程序员
展开
-
C++中的STL(超详细的操作)
vectorvector构造函数原创 2021-12-14 17:32:26 · 1029 阅读 · 0 评论 -
会动的心心心
#include<stdio.h> #include<windows.h> int main() { float x,y,a; for (y = 1.5f; y > -1.5f; y -= 0.1f) { for (x=-1.5f; x < 1.5f; x+=0.05f) { a = x * x + y * y - 1; putchar(a * a * a - x * x * y * y * y < 0.0f ..原创 2021-11-20 17:31:33 · 338 阅读 · 0 评论 -
顺序栈操作的实现(最详细)
# define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<iostream> using namespace std;# define MAXSIZE 100 typedef struct SqStack{ int* base; int* top; int stacksize; } SqStack; //初始化栈 void StackInit(SqStack* ps..原创 2021-10-31 22:11:04 · 152 阅读 · 0 评论 -
数据结构链表操作的实现(超详细)
#include<iostream> using namespace std; typedef struct Node { int date; struct Node* next; }Node; //初始化 void ListInit(Node *ps) { ps = (Node*)malloc(sizeof(Node)); ps->next = NULL; if (ps == NULL) { cout << "失败..原创 2021-10-31 13:04:13 · 202 阅读 · 0 评论 -
线性表代码的实现(最详细)
顺序表的存储结构typedef struct List { int *date; int size; int length; }L;构造线性表void ListInit(L* ps) { ps->date = (int*)malloc(sizeof(L) * 4); if (ps == NULL) { cout << "创建失败" << endl; } else { cout << "创建成功"原创 2021-10-30 09:44:55 · 340 阅读 · 0 评论 -
字符串函数使用和剖析
strcpy函数的实现# include<stdio.h># include<string.h>char* my_strcpy(char *dest,const char *src) { assert(dest != NULL); assert(src != NULL); char* ret = dest;//拷贝src指向的字符串到dest指向的空间,包含'\0' while (*dest++ = *src++) { ; } return ret;}in原创 2021-07-07 14:29:36 · 90 阅读 · 0 评论 -
指针详解(1)(2)
指针数组的用法# include<stdio.h>int main() { int arr1[] = { 1,2,3,4,5 }; int arr2[] = { 1,1,1,4,5 }; int arr3[] = { 3,4,5,6,7 }; int* paa[] = { arr1,arr2,arr3 }; int i = 0; for (i = 0; i < 3; i++) { int j = 0; for (j = 0; j < 5; j++) {原创 2021-07-06 16:59:09 · 97 阅读 · 0 评论 -
初始结构体
结构体的声明# include<stdio.h>//描述一个学生的方法//名字//年龄//电话//性别//struct 结构体关键字 Stu-结构体标签//struct Stu结构体类型struct Stu { //成员变量 char name[20]; short age; char tele[12]; char sex[5];}s1, s2, s3;//定义一个结构体类型,创建结构体变量//创建不需要内存//s1,s2,s3为全局变量int main(原创 2021-07-05 20:36:06 · 95 阅读 · 0 评论 -
作业讲解(1)
创建一个整型数组,完成对数组的操作1.实现函数inti,初始化数组全为02.实现函数printf,打印数组的每一个元素3.实现reverse()函数。完成数组元素的逆置void Init(int arr[], int sz) { int i = 0; for (i = 0; i < sz; i++) { arr[i] = 0; }}void Print(int arr[], int sz) { int i = 0; for (i = 0; i < sz; i++) {原创 2021-07-05 19:07:47 · 96 阅读 · 0 评论 -
初始指针(1)(2)
指针类型指针类型决定了指针解引用时,能访问空间的大小int *p *p能够访问四个字节char *p *p能够访问一个字节double *p 访问八个字节指针类型决定了指针走多远int *p *p+1->走了四个字double 八个字节char 一个字节野指针指针指向的位置不可知指针不初始化就是野指针指针未初始化#include <stdio.h>int main(){int *p;//局部变量指针未初始化,默认为随机值 *p = 2原创 2021-07-04 22:52:27 · 74 阅读 · 0 评论 -
c语言操作符详解(2)
逻辑操作符# include<stdio.h>int main() { int i = 0, a = 0, b = 2, c = 3, d = 4; i = a++ && ++b && d++; printf("a=%d\n b=%d\n c=%d\n d=%d\n", a, b, c, d);}输出为 1 2 3 4因为当a++为假时,便不再计算&&后面的元素了当为真时,||后面的不必再算。# include<std.原创 2021-07-04 20:24:22 · 126 阅读 · 0 评论 -
c语言操作符详解(1)
算术操作符+,—,* / %除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。% 操作符的两个操作数必须为整数。返回的是整除之后的余数。移位操作符右移操作符 >>1.算数右移右边丢弃,左边补原符号位2.逻辑右移右边丢弃,左边补0通常都是算数右移,负数移位后还是负数就是将一个数除于2关于-1的右移 一位还是-1int main() { int a原创 2021-07-04 17:47:04 · 114 阅读 · 0 评论 -
c语言实现扫雷小游戏
源.cpp# include<stdio.h># include"game.h"#include <time.h>void menu() { printf("*************\n"); printf("***1.paly****\n"); printf("***0.exit****\n"); printf("*************\n");}void game() { //布置雷的信息 char mine[ROWS][COLS] = {0};//原创 2021-07-04 14:07:32 · 118 阅读 · 0 评论 -
数组的基本知识及练习题
sizeof 和strlen的区别1.sizeof 和strlen没有关系2.strlen是求字符串长度–只能针对字符串求长度-库函数,需要头文件3.sizeof 计算数组,变量,类型的大小–单位是字节-操作符# include<stdio.h># include<string.h>int main() { char arr1[] = "abc"; char arr2[] = { 'a','b','c'}; printf("%d\n", sizeof(arr1));原创 2021-06-13 10:46:14 · 920 阅读 · 1 评论 -
函数和递归3
求n的阶乘# include<stdio.h>int facl(int n) { if (n < 1) { return 1; } else { return n * facl(n - 1); }}int main() { //求n的阶乘 int n = 0; int ret = 0; scanf("%d", &n); ret = facl(n);//循环的方式 printf("%d\n", ret); return 0;}斐波那契数列原创 2021-06-12 12:33:39 · 83 阅读 · 0 评论 -
函数和递归(2)
什么是递归一个简单的递归# include<stdio.h>int main() { printf("hehe\n"); main(); return 0;}原创 2021-06-05 23:53:20 · 89 阅读 · 0 评论 -
函数(1)
两个数求大小,函数# include<stdio.h># include<string.h>//定义函数 int getmax(int x, int y) { if (x > y) return x; else return y;}int main() { int a = 0, b = 1; //应用函数 int max = getmax(a, b); printf("%d\n", max);}两个数字交换# include<stdi原创 2021-06-05 16:16:53 · 135 阅读 · 0 评论 -
分支和循环练习
三个数从小到大输出# include<stdio.h>int main() { int a, b, c; scanf("%d%d%d", &a, &b, &c); if (a < b) { int temp = a; a = b; b = temp; } if (a < c) { int temp = a; a = c; c = temp; } if (b < c) { int temp = b; b =原创 2021-06-05 00:06:32 · 272 阅读 · 1 评论 -
分支和循环2
getchar 与putchar第一个getchar 读取回车键# include<stdio.h>int main() { int ret = 0; char password[20] = { 0 }; printf("请输进去密码\n"); scanf("%s", password);//输进去密码,并存放在password数组中 //缓存区还剩下一个| 回车 //读取一个‘\n’ getchar(); 重点,这个是读取回车键 printf("请确认(Y/N):&原创 2021-06-01 15:07:58 · 158 阅读 · 1 评论 -
分支和循环1
选择语句if elseEOF=end of file (-1)if和最近的else匹配这个不打印 hahaint main() { int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hehe\n"); else printf("haha\n"); return 0;}下面的跟上面的一样,不打印haha 只是else位置换了,但是还是跟上面的if匹配`# include<stdio.h>int原创 2021-06-01 11:38:32 · 95 阅读 · 0 评论 -
初识c语言(4)
```指针*p解引用操作符(间接访问操作符int 的指针代码在这里插入代码片int a = 10;int p;p = &a;//p指针变量*p = 20; //*p//解引用操作符(间接访问操作符)printf("%p\n", &a);printf("%d\n", a);在这里插入代码片```double d = 3.14; double* pd = &d; *pd = 5.5; printf("%lf\n", d);...原创 2021-05-31 23:36:20 · 72 阅读 · 0 评论 -
2021-05-30笔记(初始c语言3)
static 在c语言用法静态局部变量 static 修饰局部变量,生命周期延长,作用域减少。原本在一个文件用 extern 可以使用的,现在不可以了static 改变了函数的链接属性,没有外部的链接属性。typedef的用法:就是改了一个名字,重定义了类型,新给一个名字,改小名。三目运算符。。。?。。:。。x>y?x:y宏定义定义函数define MAX(X,Y) (X>Y?X:Y)定义指针表示地址int* p=&a;、...原创 2021-05-31 21:47:04 · 168 阅读 · 4 评论