龙空技术网

C语言总结_语句、运算符

DS小龙哥 95

前言:

当前看官们对“c中有符号的数与无符号数比较原理”大概比较注重,同学们都想要剖析一些“c中有符号的数与无符号数比较原理”的相关内容。那么小编也在网摘上网罗了一些有关“c中有符号的数与无符号数比较原理””的相关内容,希望你们能喜欢,你们快快来了解一下吧!

当前文章复盘C语言的: 位运算运算符、基本运算符、数据类型、变量、for语句、while语句、goto语句、switch语句、运算符优先级强制转换等。

一、变量的命名

变量的命名:   (13个字符)1. A~Z  a~z2. 0-93. _4. 说明:  只能字母和数字开头。不能使用关键字。    //左值和右值    unsigned int a=123;  //4个字节    const int b=456;    char c='A';    float d=123.456; //123.456 浮点数常量    char *p="123456"; //"123456"字符串常量
二、常量数据格式
#include "stdio.h"//常量声明: U和L 表示无符号长整型#define ABC 123UL#define ABC 123ulint main(void){    //0b101010; //二进制表示形式    //0x123;    //表示十六进制    //123       //表示十进制    int a=0x123;    return 0;}
三、运算符3.1 逻辑非
#include "stdio.h"//常量声明: U和L 表示无符号长整型#define ABC 123ULint main(void){    int a=0;    if(!a)    {        printf("为真!\n");    }        int data=1234;    printf("%d\n",!!data);  //1    return 0;}
3.2 位运算
&  :全1为1,有0为0|   :全0为0,有1为1^  :相同为0,不同为1~  :1为0,0位1>> :右移运算,低位溢出高位补0<< :左移运算符,高位溢出,低位补0

位运算符使用较多的地方: (1) 单片机里寄存器操作

(2) 协议加密解密、压缩算法、各种算法。

(3) 当做标志位使用

#include "stdio.h"//系统里需要有8个状态位,需要存放8个状态位--------当做寄存器使用int main(void){    unsigned char a=0; //8个位  范围:0~7        //如何将a第7位,置1呢?    a|=1<<7;        //如何将a第2位,置1呢?    a|=1<<2;        //将2的第3位和第4位置1    a|=0x3<<3;        //如何判断第7位是0还是1呢?    if((a>>7)&0x1)    {        printf("第7位的值为真!\n");    }    else    {        printf("第7位的值为假!\n");    }        //bool sbit  位定义 。    //bool a; sbit LED1=P1^1;    return 0;}
3.3 sizeof运算符
Sizeof运算符#include "stdio.h"int main(void){    int a=1234;    printf("%d\n",sizeof(a)); //4        int b=1;    printf("%d\n",sizeof(b));  //4    return 0;}
3.4 三目运算符
#include "stdio.h"int main(void){    /*    int a;    scanf("%d",&a);  //取地址        int a,b;    a=a&b; //与        int a,b;    a=a*b;  //乘号        int *a; //指针类型    */        int a;    a=8>5?123:456;  //if(8>5){a=123;}else{a=456;}    printf("%d\n",a); //123    return 0;}
3.5 运算符的优先级和强制转换
#include "stdio.h"int main(void){    int a=123+456-12*5/78; //高优先级先结合,再依次....    //如果优先级同级,执行顺序是从左边到右边。    //优先级最高:()小括号        int b=123456789;    char a=(char)b; //强制转换,只是取低8位                    //欺骗编译器,告诉它,b是char类型。        char a='8';    int b=(int)a; //强制转换    printf("b=%d\n",b); //还是字符8    return 0;}
四、语句4.1 for循环语句
#include "stdio.h"//系统里需要有8个状态位,需要存放8个状态位--------当做寄存器使用int main(void){	int a=123,b=456;	int cnt=0;		for(a=0;a<5;a++)	{		for(b=0;b<5;b++)		{			if(a==2)			{				break; //跳出最近的一层循环			}			cnt++;		}	}	/*	for(;;)	{		//死循环	}		while(1)	{		//死循环	}		do	{		//死循环	}while(1);	*/	printf("cnt=%d\n",cnt);//20	return 0;}
4.2 while循环语句
while循环语句#include "stdio.h"//系统里需要有8个状态位,需要存放8个状态位--------当做寄存器使用int main(void){	int a=0,b=0;	int cnt=0;		while(a<5)	{		while(b<5)		{			if(a==2)break;			b++;			cnt++;		}		b=0;		a++;	}	printf("cnt=%d\n",cnt);//20	return 0;}
4.3 goto语句

在平常的逻辑代码里面,不推荐使用goto语句。 常用的地方: 错误处理,某某程序初始化失败,就释放资源等操作。

#include "stdio.h"//系统里需要有8个状态位,需要存放8个状态位--------当做寄存器使用int main(void){	int cnt=0;AA:	//标签的定义,可以放在函数范围内的任意位置。(不能超出函数范围)	printf("123\n");	if(cnt==5)goto DATA;	cnt++;	goto AA;DATA:		return 0;} Goto语句常用在错误处理:#include "stdio.h"//goto语句在错误处理里使用int main(void){	if(LED_Init()<0) //表示该函数返回值错误	{		goto ERROR;	}		if(KEY_Init()<0) //表示该函数返回值错误	{		goto ERROR;	}		/*....*/	/*....*/ERROR:	//释放资源,结束程序	return 0;}
4.4 Switch语句

Switch语句主要用在多分支选择结构----有很多种条件/情况。 实际代码里,常用于菜单选择:

#include "stdio.h"int main(void){	switch(cmd) //cmd的值传入之后,与case后面的比较,成功之后再执行语句	{		case 1: //case 后面值只能是常量,而且不能重复			break; //跳出最近的一层switch语句		case 2:			{				/*......*/				break;			}		case 3:			break;		/*......*/				default: //类似于else			printf("所有的条件都不成立!\n");	}	return 0;}

示例:

#include "stdio.h"//投票系统,有3个待选举的人,A,B,C ,有10张票int main(void){	int i;	int A=0,B=0,C=0;	int data;	for(i=0;i<10;i++)	{		printf("请投票(范围1~3):");		scanf("%d",&data);		switch(data) //data的值传入之后,与case后面的比较,成功之后再执行语句		{			case 1: //case 后面值只能是常量,而且不能重复				A++;				break; //跳出最近的一层switch语句			case 2:				B++;				break;			case 3:				C++;				break;		 //	default: //类似于else		}	}		printf("A=%d\n",A);	printf("B=%d\n",B);	printf("C=%d\n",C);	return 0;}

标签: #c中有符号的数与无符号数比较原理 #c中有符号的数与无符号数比较原理是什么 #c语言三目运算符 #c语言中0的含义 #新概念c语言答案解析大全