- 博客(20)
- 收藏
- 关注
原创 指针_23 动态内存分配举例
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include <malloc.h>int main(void){ //int a[5];//如果int占4个字节,则本数组共包含20个字节,每4个字节被当作了int变量使用 int *pArr; int len; int i; //动态的构造一维数组 printf("请输入您要存放的元素个数:"); scanf("%d", &len); pArr.
2021-06-28 22:20:29
130
原创 指针学习_7经典指针程序
#include <stdio.h> //不能完成互换功能void huhuan1(int a, int b){ int t; t = a; a = b; b = t;}int main(void){ int a = 3; int b = 5; huhuan1(a, b); printf("a = %d,b = %d\n", a, b);}子函数中的a和b与主函数的a和b无关互换的仅仅是子函数中的a,b值void huhuan2(in.
2021-06-25 18:39:52
178
原创 指针学习_6基本类型指针常见错误
#include <stdio.h>int main(void){ int i = 5; int* p; int* q; p = &i; //*q = p;//int*类型的值无法分配到int类型 //*q = *p;//q没有赋值,为初始化变量 //p = q;//q时垃圾值,q赋给p,p也变成垃圾值 q = p; printf("%d\n", *q); //q的空间是属于本程序的,所以本程序可以读写q的内容, //但是如果q内部是垃圾值,则本程序不能读.
2021-06-25 18:12:15
158
原创 指针学习_1
指针就是地址,地址就是指针地址就是内存单元的编号指针变量是存放地址的变量指针和指针变量是两个不同的概念但是要注意:通常我们叙述时会把指针变量简称为指针,实际含义并不一样#include <stdio.h> //指针热身1int main(void){ int* p;//p是变量的名字,int*表示p变量存放的是int类型变量的地址 int i = 3; p = &i; //ok //p = i; //error,因为类型不一致,p只能存放int类型变量
2021-06-24 18:35:48
84
原创 数组的使用
初始化 完全初始化 int [5] = {1,2,3,4,5}; 不完全初始化,未被初始化的元素自动为0 int [5] = {1,2,3}; 不初始化,所有元素是垃圾值 int a[5]; 清零 int a[5] = {0};...
2021-06-10 18:21:52
161
原创 continue用法
continue用于跳过本次循环余下的语句,转去判断是否需要执行下次循环例子1 for (1; 2; 3) { A; B; continue; //如果执行该语句,则执行完该语句后,会执行语句3,C和D跳过,不会被执行 C; D; }...
2021-06-08 17:57:24
690
原创 break的用法
1.break如果用于循环则终止循环2.break用于switch则终止switch3.break不能直接用于if,除非if属于循环内部的语句
2021-06-08 17:18:46
21154
4
原创 switch用法
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(){ int val; printf("请选择关卡:"); scanf("%d", &val); switch (val) { case 1: printf("第一关\n"); break; case 2: printf("第二关\n"); break; case 3: printf("第三关\n"); break; .
2021-06-08 16:38:23
272
原创 用do..while 实现一元二次方程
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <math.h>int main(){ double a, b, c; double delta; double x1, x2; char ch; do { printf("请输入一元二次方程的三个系数\n"); printf("a = "); scanf("%lf", &a); printf("b = "); sca.
2021-06-08 15:52:45
260
原创 自增【或者自减】
自增【或者自减】 分类: 前自增-- ++i 后自增 -- i++ 前自增和后自增的异同; 相同: 最终都使i的值加1 不同: 前自增整体表达式的值是i加1之后的值 后自增整体表达式的值是i加1之前的值 为什么会出现自增 代码更精炼 自增速度更快 学习自增要明白的几个问题 1.编程时尽量屏蔽前自增和后自增的区别 2.自增表达式最好不要作为一个更大的表达式的一部分来使用 ...
2021-06-07 18:57:57
158
原创 for的使用(2)
强制类型转化#include <stdio.h>int main(){ int i; float sum = 0; for (i = 1; i <= 100; ++i) { sum = sum + 1 / (float)(i); //把 i 改成 (float)(i) 这是强制类型转换 //sum = sum + (float)(1 / i); //错误用法 //sum = sum + 1.0 / i; //更简单的写法 } .
2021-06-06 17:26:43
124
原创 for的使用 (1)
1.for循环最简单的用法#include <stdio.h>int main() //1到5之间的和{ int i; int sum = 0; for (i = 1; i <= 5; ++i) //++i 等于 i + 1 sum = sum + i; printf("sum = %d\n", sum);}
2021-06-06 14:54:50
173
原创 if的使用
三个例子#define _CRT_SECURE_NO_WARNINGS#include <iostream>/*/*int main(){ float score; //score分数 printf("请输入成绩:"); scanf("%f", &score); if (score >= 100) printf("这是做梦!\n"); else if (score >= 90 && score < 100) //不能写
2021-06-05 16:40:43
119
原创 c语言逻辑运算符
/*时间:2021年6月3日14点35分目的:理解运算符中的逻辑运算符*/#define _CRT_SECURE_NO_WARNINGS#include <iostream>int main(){ int i = 3; int m; int k; scanf("%d", &k); m = (k > 4) && (i = 5); //只有当k > 4为真时,i = 5才会被执行 p.
2021-06-03 14:40:56
123
原创 基本的输入和输出函数的用法scanf()
/*2021年06月03日1点1分目的:学习scanf使用功能:*//* scanf() 两种用法: 用法一:scanf("输入控制符",输入参数); 功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入 参数的值为地址的变量中 用法二:scanf("非输入控制符",输入参数); 功能:同上。 .
2021-06-03 01:08:22
350
原创 基本的输入和输出函数的用法(printf)
/*2021年06月01日17点34分目的:测试printf中的%X及其相关的用法功能:*/#include <stdio.h>int main(void){ int x = 46; printf("%x\n", x);//输出结果是:2e ----x是以十六进制输出 printf("%X\n", x);//输出结果是:2E printf("%#X\n", x);//输出结果是:0x2E printf("%#x\n", x);//输出结果是:0x2e pr..
2021-06-01 17:48:04
267
原创 一元二次方程解
#include <iostream>#include <math.h>int main(){ int a = 1; int b = 5; int c = 6; double delta;//判定是否存在解 double x1;//存放第一个解 double x2;//存放第二个解 delta = b * b - 4 * a * c; if (delta > 0) { x1 = ..
2021-05-29 19:12:36
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人