LinuxC学习日常——语句

今天学习了C语言的一系列运算符表达式,语句中的顺序结构、选择结构和循环结构

一、运算符

1、基本算术运算符

+ (加)、 - (减) 、 * (乘) 、 / (除) 和 % (求余数)

这五个运算符的优先级为:*、/ 和%同级,但比+和-高。即先乘除后加减。

两个整数相除,结果为一整数;分子小于分母,结果为零。

这五个运算符的结合性为:自左至右。

对于取余运算符%结果的符号与%左边的数一致。

2、赋值运算符

赋值符号:=

将赋值符右边表达式的值赋给赋值符左边的一个变量。

赋值运算符的数据类型若不一致,则要进行类型转换。转换方式为:

将实型数据赋给整型变量时,舍弃实数的小数部分。

将整型数据赋给实型变量时,数值不变。

复合的赋值运算符:(共十个)

+= ,  -= ,  *= ,  /=  ,   %= , <<= ,  >>= ,  &= ,  ^= ,  |=

3、关系运算符

关系运算符用于两个数值之间的比较运算。C语言提供6种关系运算符:

<、<=、>、>=、  优先级相同

 ==、!=                    优先级相同

关系运算符的结合率为:“自左而右”。

4、条件运算符

条件运算符:  ? : 它是一个三目运算符。

条件表达式的一般格式为:

表达式1  ?  表达式2  :    表达式3       

运算过程:表达式1的结果为真(非0)时,表达式2的计算结果作为条件表达式的值;否则,取表达式3的计算结果为条件表达式的值。

如: a>b?a:b 

5、逗号运算符

逗号运算符:  ,

格式: 表达式1, 表达式2, 表达式3, LL, 表达式n

优先级: 最低

从左向右计算每个表达式的值,逗号表达式的值为表达式n的值。

例如:

y=(x=3,5+6,x+5) 逗号表达式的值为8。

6、自增自减运算符

自增、自减运算符:++ ,  --  (使变量的值增1或减1)

例如:  ++i  ,  --i     (先自增或自减,在整个表达式运算之前先自增或自减,适用于windows)

  i++  ,   i--    (后自增或自减,在整个表达式运算结束以后再进行自增或自减运算, 适用于windows)

对于sizeof关键字会将表达式改为最终的类型而不是表达式本身,sizeof内赋值操作无效。

main()

{

int x=8,y,z;

y=(++x)+(x++)+(++x);   

z=(--x)+(x--)+(++x);  

printf(“y=%d,z=%d,x=%d”,y,z,x);

}

在windows系统结果为 y = 30 , z =  33 , x = 10

在Linux系统结果为y = 28 , z = 31 , x = 10


二、语句

1、选择结构

(1)if语句

#if 0
if (表达式)   
{
	语句1;
}
表达式为真 执行语句1

if (表达式)   
{
	语句1;
}
else
{
	语句2;
}
表达式为真 执行语句1
为假,执行语句2


if (表达式1)   
{
	语句1;
}
else if(表达式2)
{
	语句2;
}
else
{
	语句3;
}
表达式1为真 执行语句1
为假,如果表达式2为真执行语句2
否则,执行语句3
#endif

// 输入三个实数a,b,c,按代数值由小到大次序输出这三个数。
int main()
{
	float a;
	float b;
	float c;
	scanf ("%f, %f, %f", &a, &b, &c);
	
	float tmp;
	if (a > b)
	{
		tmp = a;
		a = b;
		b = tmp;
	}
	
	if (a > c)
	{
		tmp = a;
		a   = c;
		c   = tmp;
	}
	
	if (b > c)
	{
		tmp = b;
		b   = c;
		c   = tmp;
	}
	
	printf ("%f, %f, %f\n", a, b, c);
	
	return 0;
}


(2)switch语句

#if 0

switch(表达式)
{
	case 表达式1:
		语句1;
		break;
	case 表达式N:
		语句2;
		break;
	default:
		语句N;
		break;
}
表达式的结果必须要是一个整数

#endif
/*
编写一个能进行两个操作数加减乘除四则运算的计数器模拟程序
输入:两个操作数和运算符
计算:根据运算符确定运算
输出:运算结果
*/
int main()
{
	int a,b;
	int result;
	char ch;
/*		
	scanf ("%d", &a);
	scanf ("%d", &b);
	scanf ("%c", &ch);
	scanf ("%c", &ch);
	*/
	scanf ("%d %c %d", &a, &ch, &b);
	switch (ch)
	{
		case '+':
			result = a + b;
			break;
		case '-':
			result = a - b;
			break;
		case '*':
			result = a * b;
			break;
		case '/':
			result = a / b;
			break;
		default:
			printf ("非法的操作符\n");
			break;
	}
	
	printf ("%d\n", result);
	
	return 0;
}

2、循环结构

(1)while语句

// 计算一条语句中的空格、字母、数字的个数。
int main()
{
	char ch = 0;
	int space_count  = 0;
	int letter_count = 0;
	int num_count    = 0;
	
	while(ch != '\n')
	{
		ch = getchar();
		
		if (ch == ' ')
			space_count++;

		if ((ch >= 'a' && ch <= 'z')  || (ch >= 'A' && ch <= 'Z'))
			letter_count++;
		
		if (ch >= '0' && ch <= '9')
			num_count++;
	}
	
	printf ("space_count  : %d\n", space_count);
	printf ("letter_count : %d\n", letter_count);
	printf ("num_count    : %d\n", num_count);
	
	return 0;
}

(2)do while语句

// 1  --  100
int main()
{
	int sum = 0;
	int i = 1;
	
	do 
	{
		sum += i;
		i++;
	}while(i <= 100);
	
	printf ("%d\n", sum);
	
	return 0;
}
(3)for语句

/*
求100到200之间的素数。
输入:无
计算: 求素数
输出: 输出素数 每4个一行 每个数占4位
*/
int main()
{
	int i;
	int j;
	int flag = 0;
	int count = 0;
	for (i = 100; i <= 200; i++)
	{
		int k = sqrt(i);
		flag = 0;
		for (j = 2; j <= k; j++)
		{
			if (i % j == 0)
			{
				flag = 1;
				break;  // 只会跳出一层循环
			}	
		}
		
		if(flag != 1)
		{
			if (count++ % 4 == 0)
				putchar ('\n');
			
			printf ("%4d", i);
		}
	}
	
	putchar ('\n');
	
	return 0;
}
break语句的功能是:

在switch语句中使流程跳出switch结构。

在循环语句中使流程跳出当前循环。

continue语句的功能是在循环语句中使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。





             



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值