编程杂谈

if判断语句单条件判断inti=10;if(i<18){printf("你还小呢!!!\n");}else{printf("还行满18岁了\n");};多条件判断inti=10;if(i<18){printf("你还小呢!!!\n");}elseif(i==18){printf("才刚刚18岁\n");}else{printf("嗯已经大于18岁了\n");};if嵌套inti=10;if(i<18){printf("你还小呢!!!\n");}elseif(i>=18){//嵌套ifif(i==18){printf("刚刚18岁\n");}else{printf("不错已经成年了\n");};};swich匹配语句break;表示跳出该语句+,不然会继续执行后面的匹配块的语句。charsing='A';switch(sign){//语句块case'A':{printf("%c级不错\n",sign);};break;//单行语句case'B':printf("%c级还行\n",sign);break;//没有匹配到的默认语句default:printf("没有这个评级\n");break;};while语句统计用户输入字符的个数#include<stdio.h>intmain(){printf("输入一串字符:");//第一次调用getchar()会等待用户输入内容,存入缓冲区getchar();intcount=1;/*再次调用,这不会等待用户输入内容而是从缓冲区读取内容,一次读取一个字符*/while(getchar()!='\n'){count=count+1;};printf("你输入了%d个字符\n",count);//当缓冲区读取完成时,再一次调用,又会等待用户输入getchar();return0;}dowhile语句先执行,再判断do{循环体;}while(判断语句);for循环intcount;for(count=0;count<0;count++){printf("循环体")}//c99标准可以在表达式定义变量//gcc-std=c99for(intcount=0;count<0;count++){printf("循环体")}灵活的for循环for循环的表达式可以按照需要进行省略,但是分号不能省略for(表达式1;表达式2;表达式3){}for(;表达式2;表达式3){}for(表达式1;;表达式3){}for(表达式1;表达式2;){}for(;;){}//这个相当于死循环break结束循环,相当于跳到循环尾continue跳过本次循环

编程杂谈

算数运算符双目:1+2这样操作两个数的运算符单目:-1这样表示的是负一,只操作一个数运算符名称+加法运算符(双目)-减法运算符(双目)*乘法运算符(双目)/除法运算符(双目)%求余运算符(双目)+正号运算符(单目)-负号运算符(单目)类型转换写法:(int)3.9这是强制转换#include<stdio.h>intmain(){//类型转换printf("转换类型%d\n",(int)3.9);}关系运算符关系运算符都是双目运算符在C语言中的关系运算符的优先级大小关系表达式#include<stdio.h>intmain(){inta=1<2;printf("%d\n",a);return0;}逻辑运算符运算符含义优先级举例说明!非高!a如果a为真,!a就为假;反之&&与中a&&ba,b同为真才为真;a,b有一个假就为假;ll或低allba,b同为假才为假;a,b有一个真就为真;逻辑表达式#include<stdio.h>intmain(){printf("结果%d\n",3>1&&1<2);printf("结果%d\n",3+1||2==0);printf("结果%d\n",!('a'+'b'));printf("结果%d\n",!0+1<1||!(3+4));return0;}短路运算(典型逻辑运算)#include<stdio.h>intmain(){inta=3,b=5;(a=0)&&(b=3);printf("a=%d,b=%d\n",a,b);(a=1)||(b=4);printf("a=%d,b=%d\n",a,b);return0;}运行结果a=0,b=5a=1,b=5解释#include<stdio.h>intmain(){inta=3,b=5;//与运算,(a=0)为假,不管后面是什么结果都是假,所以就不会向后执行了(a=0)&&(b=3);printf("a=%d,b=%d\n",a,b);//非运算,(a=1)为真,后面是什么都不影响结果的真,所以也不会往后运算了(a=1)||(b=4);printf("a=%d,b=%d\n",a,b);return0;}

2020-8-7 688 0
2020-7-27 699 1
编程杂谈

数据类型基本类型整数类型:int浮点数类型:float字符类型:char布尔类型:_Bool枚举类型:enum构造类型数组类型结构类型联合类型指针类型空类型类型的长度在C语言中,并没有固定int的长度,如:16位编译器说明:int占16位,内存2字节,最大值:32767;32位和64位编译器:int占32位,内存4字节,最大值:21474836473位数的增加,那么自然位数也在倍增。整数类型长度大小:longlongint>=longint>=int>=shortint,C语言虽没有规定具体长度,但大小的一定是这样shortintintlongintlonglongint检测长度方法sizeof()sizeof(object);//对象sizeof(type_name);//类型sizeofobject;//对象#include<stdio.h>intmain(){printf("shortint的长度:%d\n",sizeof(shortint));printf("int的长度:%d\n",sizeof(int));printf("longint的长度:%d\n",sizeof(longint));printf("longlongint的长度:%d\n",sizeof(longlongint));return0;}浮点数类型&字符类型&布尔类型浮点数类型floatdoublelongdouble字符类型char布尔类型_Bool#include<stdio.h>intmain(){//整数类型printf("float的长度:%d\n",sizeof(float));printf("double的长度:%d\n",sizeof(double));printf("longdouble的长度:%d\n",sizeof(longdouble));//字符类型printf("char的长度:%d\n",sizeof(char));//布尔类型printf("_Bool的长度:%d\n",sizeof(_Bool));return0;}signed&unsigned有符号:能表示正负数;无符号:只能表示正数//定义例子-[singed]short[int]-unsignedshort[int]-[signed]int-unsignedint-[signed]long[int]-unsignedlong[int]-[signed]longlong[int]-unsignedlonglong[int]#include<stdio.h>intmain(){//有符号inti;//无符号unsignedintj;i=-520;j=520;printf("有符号%d\n",i);printf("无符号%u\n",j);//打印无符号的需要%u}