学习历程
_陶笛
-
循环辅助continue、break
c语言中的循环中常常会遇到break、continue这种循环辅助,今天我来梳理一下这两者作用1.break:退出当前循环!且break只用于循环在嵌套循环中,break会让程序跳出包括它的当前的循环;如果break在外层循环中时,则会让程序终止这个循环,执行循环下一条的语句while(statement 1) { ...... while(statement 2) { ......原创 2022-01-24 22:13:03 · 246 阅读 · 0 评论 -
三元运算符?:
寒假在家开始复习c语言,看到三元运算符的时候有感而发,毕竟当时自学的时候这一块有点模糊,所以我特意写个博文来总结一下三元运算符,意味着有3个量要处理,对于?:有这样的一个格式:statemen 1 ? statement 2:statement 3简而言之,statement1要是成立及正确,那么这一项的数值便等于statement 2的数值,反之,则等于statement 3的数值x=(3>2)?12:2;这个例子可以看到,3>2显然成立,那么x的数值等于12,如果条原创 2022-01-24 21:42:21 · 445 阅读 · 0 评论 -
printf、scanf中的*修饰符
最近寒假在家复习c语言的时候,看到了一个小细节,就是printf中有的时候有*的存在,例如printf("%*.*d",a,b,i);此时,printf中有两个*符号,而且有三个参数,这时你不难看出前两个参数a、b的数值对应着*!也就是说如果a=2,b=3那么原printf应该为printf("%2.3d",i);此时的※用于确定保留变量保留几位小数或者变量所占多少字宽的现象另外,在scanf中也有时出现※的现象scanf("%d,%*d,%*d",&c);原创 2022-01-20 17:13:23 · 648 阅读 · 0 评论 -
逗号运算符的使用
在c语言的学习中,我们往往会遇到一些有关“,”的情况比如在for循环中所遇到的for(int i=0,int j=2;i<len;i++,j++){......}这种情况是属于一次性定义多个变量或者给出多个条件,同时也往往遇到一些小问题比如int a;a=12,23;printf("%d",a):此时,有伙伴难免纠结a的数值是多少,其实这样的写法等同于int a=12;13;因此a的值为12另外,还会遇到这种情况int a=(12,23);原创 2022-01-20 17:03:18 · 579 阅读 · 0 评论 -
浮点数的舍入错误
由于浮点数是有位数的限制,而且在计算机储存浮点数的时候,是存在浮点数精度缺失的现象,因此人们常常在浮点数后面加上f来避免精度的确实,下面给大家看一下浮点数舍入错误的一个例子#include <stdio.h>//浮点数舍入错误 //计算机缺少足够小的小数位来完成正确的运算!! int main(){ float a,b; b=2.0e20+1.0; a=b-2.0e20; printf("%f\n",a); return 0;}4008175468544.原创 2022-01-19 18:13:59 · 304 阅读 · 0 评论 -
输入输出控制符
c语言中存在多种数据类型,比如整型、浮点型等,对于这些数据的输入输出往往对于不同的控制符下面是常用的数据类型对应的输入输出控制符float-----%fdouble-----%lfint-----%dshort(int)-----%hdlong(int)-----%ldlong long(int)-----%lldunsigned(int)-----%u此外,对于不同进制的输入输出控制符也有所不同八进制:%o十进制:%d十六进制:%0x %0X(数字0!!原创 2022-01-19 18:11:25 · 2092 阅读 · 0 评论 -
浮点数溢出现象
浮点数,在计算机中,其存储的小数是有限制的,常用的float是最多7位小数,double则是16位小数,当要存储的数据的小数位数超过最大存储容量时,往往会出现溢出的现象#include <stdio.h>//浮点数溢出现象 int main(){ float toobig=3.4e38*100.0f; float toosmall=(0.1234e-10)/10; printf("%e\n",toosmall); printf("%f",toobig); return 0;原创 2022-01-19 18:02:09 · 2895 阅读 · 0 评论 -
指针 数组取反
#include <stdio.h>void reverse(int * pArr,int len);int main(){ int i; int a[10]={1,2,3,4,5,6,7,8,9,10}; reverse(a,10); for(i=0;i<10;i++) { printf("%d\n",a[i]); } return 0;}void reverse(int * pArr,int len){ int i,j,m,t; m=(len-1).原创 2022-01-06 17:33:13 · 386 阅读 · 0 评论 -
指针 比较三个数字大小,并且排序
#include <stdio.h>void swap(int *p,int *q);void exchange(int *p1,int *p2,int *p3);int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); exchange(&a,&b,&c); printf("The sorted numbers:\n"); printf("%d>%d>%d",a,b,c).原创 2022-01-02 18:49:23 · 855 阅读 · 0 评论 -
指针 交换两个数字的问题的求解以及问题的分析
#include <stdio.h>void swap_1(int a,int b)//error_1{ int t; t=a; a=b; b=t; return;}void swap_2(int * a,int * b)//error_2{ int * t;//*t表示int类型 t=a; a=b; b=t; return;}void swap_3(int * a,int * b)//right!{ int t;//交换*a与*b的位置,因此要用到整.原创 2022-01-01 23:35:57 · 353 阅读 · 0 评论 -
关于pow函数的一点看法(升级版)
#include <stdio.h>#include <math.h>int main(){ long long a,n; scanf("%lld %lld",&a,&n); long long c=pow(a,n); printf("%lld",c); return 0;}2 38--------------------------------Process exited after 1.842 seconds with return .原创 2022-01-01 13:30:47 · 381 阅读 · 0 评论 -
冒泡排序问题
#include <stdio.h>int main(){ int i,j,a[10],t;//t的作用是交换两个大小不同的数字,摆放他们的合适的位置 for(i=0;i<10;i++)//动态赋值 { scanf("%d",&a[i]); } for(j=0;j<10;j++)//开始两两数字相互间比较 { for(i=0;i<10-j-1;i++) { if(a[i]>a[i+1]) { t=.原创 2021-12-28 22:40:40 · 403 阅读 · 0 评论 -
斐波那契数列
//斐波那契#include <stdio.h>int main(){ int i,a[10]={1,1}; for(i=2;i<10;i++) { a[i]=a[i-1]+a[i-2]; } for(i=0;i<10;i++) { printf("a[%d]=%-4d\n",i,a[i]); } return 0; } 应用一维数组可以简单求解此外,由于斐波那契数列是从第三个数字开始,其是前2个数字之和,我们可以应用一维数组来求解。...原创 2021-12-28 22:17:12 · 290 阅读 · 0 评论 -
关于math函数调用pow函数的见解
pow适用于计算一个数字的幂,非常方便,但是实际操作中,往往会出现一些小问题#include <stdio.h>#include <math.h>int main(){ int n; scanf("%d",&n); printf("%d",pow(2,n)); return 0;}输出值为2 0上面的代码生成的结果是0那么不妨在看看下面的代码#include <stdio.h>#include <math.h>原创 2021-12-21 23:24:48 · 738 阅读 · 0 评论 -
前自增与后自增的区别
学习过程中,我们往往会使用到++a、a++这些代码,平时我们不会在意这两者的区别,但是看到了书本对此专门做了一定的强调,因此我也来强调一下(doge)、#include <stdio.h>int main(){ int a=1; int b=1; int a_post,pre_b; a_post=++a;//a_post为a+1之后的数值 pre_b=b++; //pre_b为b+1之前的数值 printf("%d %d %d %d",a,a_post,b,pre_b);原创 2021-12-10 23:26:29 · 1212 阅读 · 0 评论 -
将秒数转化成分与秒
最近在看书本,看到一道题目,让我们将给定的秒数换算成其对应的分与秒,觉得挺有意思,便写一写//秒数转化成分钟与秒数#include<stdio.h>#define pre_min 60int main(){ int sec,min,left; printf("convert the second:"); scanf("%d",&sec); while(sec>0) { min=sec/pre_min; left=sec%pre_min; prin原创 2021-12-10 22:52:11 · 960 阅读 · 0 评论 -
字符常量与初始化
看了会C primer plus,看到了字符串,以此来发个blog来复习一下#include <stdio.h>int main(){ char i='A';//ASCII中A对应数字65,因次用10进制输出A时时65 printf("%d",i); return 0; } 65--------------------------------Process exited after 0.00588 seconds with return value 0请按任意键原创 2021-12-06 12:23:03 · 73 阅读 · 0 评论 -
不同进制对应的输入输出控制符
进制的输入输出控制符原创 2021-12-05 23:54:18 · 1767 阅读 · 0 评论 -
C语言中define的用法
define顾名思义,就是下定义,那么在C中它也发挥着下定义的作用。1.提前定义变量#include<stdio.h>#define N 100int main(){ int a=10; printf("%d",N+a); return 0;}这个过程中N是100。这个意思是提前定义N=100,且这个值伴随整个过程,即N的值始终是100,。2.define可以定义函数#include<stdio.h>#define pi 3.14#def原创 2021-12-05 16:54:49 · 19452 阅读 · 1 评论 -
水仙花数字
水仙花数的定义是:一个3位数字,其百、十、个位数字的立方之和相加等于原先的数字时,该数字为水仙花数字。那么我们就用C语言来写一写如何判断用户输入的数字是否为水仙花素的程序!#include<stdio.h>#include<math.h>//本题为了简化下运算过程,我选择用了个数学函数公式来简化int main(){ int i; scanf("%d",&i); int a,b,c; a=i/100;//取原数字的百位数 c原创 2021-12-03 23:28:23 · 864 阅读 · 0 评论 -
九九乘法表
九九乘法表原创 2021-12-02 22:45:19 · 182 阅读 · 0 评论 -
判断数字是否为素数以及布尔函数的初步使用
素数的判断C语言原创 2021-11-29 11:03:53 · 857 阅读 · 0 评论 -
分解正整数 正序分解
#include <stdio.h>int main(){ int a;//定义要分解的正整数 int b=1;//表示除数 printf("请输入要分解的正整数:"); scanf("%d",&a); int d=a;//暂存a的值 int e; while(a>1){ a/=10; b*=10; }/*通过该循环来判断第一次相除的除数是多少*/ while(d&g...原创 2021-11-28 18:09:49 · 448 阅读 · 0 评论 -
对于字母在C中对应的数字以及字符串与数值的关系
/*1*/#include <stdio.h>int main(){ char c; char d; c=1; d='1';//对d赋值一个字符1,在后面来看看1与‘1’在C中输出的大小有何不同 if(c==d){ printf("same\n"); }else{ printf("different\n"); } printf("c=%d\n",c); printf("d=%d\n",...原创 2021-11-28 10:27:15 · 1291 阅读 · 0 评论 -
C语言求解log2^x的近似值
#include <stdio.h>int main(){ int x; int set=0; scanf("%d",&x); int t=x; while(x>1){ x/=2; set++; } printf("log2 of %d is %d",t,set); return 0;} 思路:对于log2的对象进行除2,以此做个循环, 然后根据循环数来...原创 2021-11-27 23:31:09 · 374 阅读 · 0 评论 -
关于做循环时现在外面做一次循环与不做循环的区别
关于写循环时一些特殊值的验证以及先做循环还是先对数进行处理的案例分析。原创 2021-11-27 23:16:21 · 212 阅读 · 0 评论 -
判断用户输入的字母大小写C语言+if语句的初级学习
#include <stdio.h>int main(){ //1.用户的输入 char ch;//保存用户输入的字符; printf("输入一个字符");//提示用户输入一个字母; scanf("%c",&ch);//用户任意输入一个字母; //2.计算,对用户输入的字母进行判断 if(ch>='a'&&ch<='z') //通过逻辑关系以及利用大小写字母在程序中的对应数字的大小不同来进行判断 ...原创 2021-11-27 15:12:23 · 3041 阅读 · 0 评论