C语言实例上手深入理解操作符的使用

 更新时间:2022年05月06日 09:40:09   作者:龟π气功  
C 语言提供了丰富的操作符,有:算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符等。接下了让我们在实例中练一下

1.闰年练习

编写逻辑表达式判断用户给定的年份是否是闰年,年份可以被4整除但不能被100整除;年份可以被400整除。

#include <stdio.h>
int main(){
		int year = 0 ,res = 0;
		printf("请输入年份数字:");
		scanf("%d",&year);
		res = (!(year % 400)) || (!(year % 4) && (year % 100));
		printf("计算结果是%d\n",res);  // 1是闰年  0不是
		return 0;
}

2.绝对值练习

利用三目表达式,输入一个数字,输出其绝对值

#include <stdio.h>
int main(){
		int num = 0;
		printf("请输入一个数字:");
		scanf("%d",&num);
		num = num < 0 ? 0 -num : num;  // 三目表达式
		printf("绝对值是:%d\n",num);
		return 0;
}

3.字符转换练习

从键盘获取一个字母,如果是小写,则输出转换为大写

#include <stdio.h>
int main(){
		char ch = 0;
		printf("请输入一个字母:");
		scanf("%c",&ch);
		ch = 'a' <= ch && ch <= 'z' ? ch - 'a' + 'A' : ch;
		printf("转换结果为%c\n",ch);
		return 0;
}

4.四则表达式练习

用户输入一个表达式,输出结果。(三目表达式的嵌套)

只考虑 加法,减法,乘法

#include <stdio.h>
int main(){
		char ch = 0;
		int num = 0,num1 = 0;
		printf("请输入一个表达式:");
		scanf("%d%c%d" ,&num, &ch, &num1);
   	num = ch == '+' ? num + num1 : ch == '-' ? num - num1: num * num1;
		printf("计算结果是%d\n",num);
		return 0;
}

5.隐式类型转换

如果一个表达式中包含多个不同类型的数据,则必须首先把他们转换为同一类型然后才能计算。这个转换过程由计算机自动完成,叫做隐式类型转换。

隐式类型转换中把占地小的数据转换成占地大的类型。 当多个数据所占大小一样的时候把整数转换成浮点数,把有符号数转换成无符号数。

#include <stdio.h>
int main(){
		printf ("大小是%d\n",sizeof(1 ? 1 : 0.9)); // 这个1已经变为double类型
		printf("-7 + 3 > 0 是 %d\n", -7 + 3 > 0);   //  -4
		printf("-7 + 3u > 0 是 %d\n", -7 + 3u > 0); // -7 转换为无符号整型
		return 0;
}

到此这篇关于C语言实例上手深入理解操作符的使用的文章就介绍到这了,更多相关C语言操作符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Qt GUI图形图像开发之QT表格控件QTableView详细使用方法与实例

    Qt GUI图形图像开发之QT表格控件QTableView详细使用方法与实例

    这篇文章主要介绍了Qt GUI图形图像开发之QT表格控件QTableView详细使用方法与实例,需要的朋友可以参考下
    2020-03-03
  • C语言#define拼接宏定义实现方式

    C语言#define拼接宏定义实现方式

    今天小编就为大家分享一篇C语言#define拼接宏定义实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • C语言大厂面试技巧及strcpy()函数示例详解

    C语言大厂面试技巧及strcpy()函数示例详解

    这篇文章主要为大家介绍了C语言面试技巧,以strcpy()函数为示例进行分析详解,有需要冲刺大厂的朋友们可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • C++中关于互斥量的全面认知

    C++中关于互斥量的全面认知

    线程的主要优势在于,能够通过全局变量来共享信息。不过,这种便捷的共享是有代价的:必须确保多个线程不会同时修改同一变量,或者某一线程不会读取正由其他线程修改的变量。为了防止出现线程某甲试图访 问一共享变量时,线程某乙正在对其进行修改。引入了互斥量
    2022-05-05
  • C++ 类的静态成员深入解析

    C++ 类的静态成员深入解析

    在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静态成员变量和成员函数使用规则,再给出一个实例来加深印象
    2013-09-09
  • 深入理解c/c++ 内存对齐

    深入理解c/c++ 内存对齐

    这篇文章主要介绍了c/c++ 内存对齐,有需要的朋友可以参考一下
    2014-01-01
  • Qt实现小功能之圆形进度条的方法详解

    Qt实现小功能之圆形进度条的方法详解

    在Qt自带的控件中,只有垂直进度条、水平进度条两种。在平时做页面开发时,有些时候会用到圆形进度条,比如说:下载某个文件的下载进度。本文就来实现一个圆形进度条,需要的可以参考一下
    2022-10-10
  • C++实现一个线程安全的单例工厂实现代码

    C++实现一个线程安全的单例工厂实现代码

    这篇文章主要介绍了 C++实现一个线程安全的单例工厂实现代码的相关资料,需要的朋友可以参考下
    2017-05-05
  • 详谈C++ socket网络编程实例

    详谈C++ socket网络编程实例

    这篇文章主要为大家介绍了C++ socket网络编程实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • visual studio 2013中配置opencv图文教程 Opencv2.4.9安装配置教程

    visual studio 2013中配置opencv图文教程 Opencv2.4.9安装配置教程

    这篇文章主要为大家详细介绍了Opencv2.4.9安装教程,以及在visualstudio 2013中opencv的配置步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04

最新评论