【C语言】程序练习(二)

 

大家好,这里是争做图书馆扫地僧的小白。

个人主页:争做图书馆扫地僧的小白_-CSDN博客

目标:希望通过学习技术,期待着改变世界。

目录

前言

一、运算符练习

1  算术运算符

1.1 练习题:

2 自加自减运算符

3 关系运算符

4 逻辑运算符

        4.1 逻辑与

         4.2 逻辑或

        4.3 逻辑非

5 位运算符

6 条件运算符

7 练习题

二、常用的输入输出的函数练习

1.putchar/getchar

        1.1putchar

        1.2getchar

2.puts/gets

        2.1puts

        2.2gets

二、分支控制语句的练习

1.练习题

2.练习题

3.练习题


前言

         本系列的程序练习,是对应本人C语言专栏里面的学习笔记的相关程序,本篇将包含运算符的练习,含有算数运算符、自加自减运算符、关系运算符、逻辑运算符和位运算符、输入输出的函数练习以及分支控制语句的练习。具体的知识点请看C语言学习笔记(上)-CSDN博客,对应知识点使用本篇练习效果更好。


提示:以下是本篇文章正文内容,下面案例可供参考

一、运算符练习

1  算术运算符

        注意:  %(模除要求左右操作必须为整数)

#include <stdio.h>int main()
{int m = 5;int n = 2;printf("m + n = %d\n", m + n);printf("m - n = %d\n", m - n);printf("m * n = %d\n", m * n);printf("m / n = %lf\n", (double)m / (double)n);printf("m %% n = %d\n", m % n);				double a = 5.11double b = 3.45;printf("a + b = %lf\n", a + b);printf("a - b = %lf\n", a - b);printf("a * b = %lf\n", a * b);printf("a / b = %lf\n", a / b);return 0;
}

1.1 练习题:

从终端输入1个三位数 [100,999]

输出 个位+十位+百位 求和的结果,

如:输入:135

则输出:1 + 3 + 5 = 9

代码如下,仅供参考:

#include <stdio.h>
int main(){int num = 0;printf("请输入一个三位数:");scanf("%d", &num);int g = num % 10;//个位int s = num % 100 / 10;//十位int b = num / 100;//百位printf("%d + %d + %d = %d\n", b, s, g, b+s+g);return 0;
}

2 自加自减运算符

        注意:自增自减运算符,++在前和在后,结果是不一样的。

#include <stdio.h>int main()
{int a = 10;int b = ++a;printf("a = %d  b = %d\n", a, b);//11 11int m = 10;int n = m++;printf("m = %d  n = %d\n", m, n);//11 10return 0;
}

3 关系运算符

#include <stdio.h>int main()
{int a = 0;int b = 0;scanf("%d%d", &a, &b);if(a > b){printf("a>b\n");}else{printf("a<=b\n");}return 0;
}

4 逻辑运算符

        4.1 逻辑与

#include <stdio.h>int main()
{int a = 0;int b = 0;scanf("%d%d", &a, &b);//逻辑与if(a >= 0 && b >= 0){printf("yes\n");}else{printf("no\n");}return 0;
}

         4.2 逻辑或

#include <stdio.h>int main(int argc, const char *argv[])
{int a = 0;int b = 0;scanf("%d%d", &a, &b);//逻辑或if(a >= 0 || b >= 0){printf("yes\n");}else{printf("no\n");}return 0;
}

        4.3 逻辑非

#include <stdio.h>int main()
{int a = 0;int b = 0;scanf("%d%d", &a, &b);//逻辑非if( !(a>b) ){printf("yes\n");}else{printf("no\n");}return 0;
}

5 位运算符

运算符的符号与运算逻辑:

&          按位与 按位运算

|            按位或 按位运算

^           按位异或 按位运算 

~           按位取反 按位运算

>>         按位右移 整个数据向右移动 高位补0 舍弃低位

#include <stdio.h>int main()
{unsigned char a = 0xb5;unsigned char b = 0xa3;unsigned char c = 0;//按位与c = a & b;printf("a & b = %#x\n", c);//按位或c = a | b;printf("a | b = %#x\n", c);//按位异或c = a ^ b;printf("a ^ b = %#x\n", c);//按位取反c = ~a;printf("~a = %#x\n", c);//按位左移c = a<<3;printf("a<<3 = %#x\n", c);//按位右移c = a>>3;printf("a>>3 = %#x\n", c);return 0;
}

6 条件运算符

        C语言中唯一一个三目运算符

#include <stdio.h>int main()
{int a = 10;int b = 20;int c = 0;c = (a<b ? ++a : ++b);printf("c = %d  a = %d  b = %d\n", c, a, b);return 0;
}

7 练习题

        如何交换两个变量的值

#include <stdio.h>int main()
{int a = 1;int b = 2;#if 0//方法1:int temp = a;a = b;b = temp;
#endif#if 0//方法2: 通过加减的方式实现a = a+b;b = a-b;a = a-b;
#endif//方法3:三次异或实现两个数的交换 没有溢出的风险,a = a ^ b;b = a ^ b;a = a ^ b;printf("a = %d, b = %d\n", a, b);return 0;
}

二、常用的输入输出的函数练习

1.putchar/getchar

        1.1putchar

#include <stdio.h>int main()
{putchar(65);//Aputchar('B');putchar('\n');//可以传一个表达式putchar('A'+3);//Dreturn 0;
}

        1.2getchar

        注意:垃圾字符就是我们不想从终端获取的回车、空格等

#include <stdio.h>int main()
{//当多个getchar连续使用时 要注意清理垃圾字符char a1=0, v2=0, a3=0;a1 = getchar();getchar();a2 = getchar();getchar();a3 = getchar();getchar();printf("a1 = [%d] [%c]\n", a1, a1);printf("a2 = [%d] [%c]\n", a2, a2);printf("a3 = [%d] [%c]\n", a3, a3);return 0;
}

2.puts/gets

        2.1puts

#include <stdio.h>int main()
{//直接输出字符串常量puts("hello");//输出保存字符串的数组char str[32] = "beijing";puts(str);//输出指向字符串的指针char *p = "nihao";puts(p);//puts遇到 '\0' 就停止了后面的字符 不再继续输出puts("abcd\0efg");return 0;
}

        2.2gets

        注意:使用gets要保证用来保存字符串的数组足够大,否则会出现越界访问

#include <stdio.h>
int main()
{char s1[32] = {0};gets(s1);puts(s1);return 0;
}

二、分支控制语句的练习

1.练习题

从终端输入一个字符        

        ①如果输入的是小写字母则转换成大写输出

        ②如果输入的是大写字母则转换成小写输出

        ③如果输入'0'--'9'则都输出数字0

        ④其他字符 都输出 #

#include <stdio.h>int main()
{int a = 0;a = getchar();if(a >= 65 && a <= 90){a = a+32;printf("%c\n", a);}else if(a >= 'a' && a <= 'z'){a = a+'A'-'a';printf("%c\n", a);}else if(a >= '0' && a <= '9'){a -= '0';printf("%d\n", a);}else{printf("#\n");}return 0;
}

2.练习题

在终端输入一个成绩 [0,100]

        输出成绩对应的等级

        [90, 100] A

        [80, 90) B

        [70, 80) C

        [60, 70) D

        [0, 60) 不及格

#include <stdio.h>int main(){int score = 0;scanf("%d", &score);if(score>=90 && score<=100){printf("A\n");}else if(score>=80 && score<90){printf("B\n");}else if(score>=70 && score<80){printf("C\n");}else if(score>=60 && score<70){printf("D\n");}else{printf("不及格\n");}return 0;
}

3.练习题

输入一个年份,输出这一年是平年还是闰年

        闰年:能被4整除且不能被100整除 或者 能被400整除

#include <stdio.h>int main(){int year = 0;scanf("%d", &year);if((year%4==0 && year%100 != 0) || year%400==0){printf("闰年\n");}else{printf("平年\n");}return 0;
}

总结

        这些就是C语言学习笔记(上)-CSDN博客笔记中剩余知识点所对应的程序练习,包含运算符的练习,含有算数运算符、自加自减运算符、关系运算符、逻辑运算符和位运算符、输入输出的函数练习以及分支控制语句的练习,本程序练习建议对应博主对应的学习笔记知识点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/226209.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios环境搭建_xcode安装及运行源码

目录 1 xcode 介绍 2 xcode 下载 3 xocde 运行ios源码 1 xcode 介绍 Xcode 是运行在操作系统Mac OS X上的集成开发工具&#xff08;IDE&#xff09;&#xff0c;由Apple Inc开发。Xcode是开发 macOS 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计&#xff0…

深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第一节 理解堆与栈

深入浅出图解C#堆与栈 C# HeapingVS Stacking第一节 理解堆与栈 [深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第一节 理解堆与栈](https://mp.csdn.net/mdeditor/101021023)[深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第二节 栈基本工作原理](https://mp.csdn.n…

如何使用mac电脑,1、使用快捷命令打开访达,2、使用终端命令创建文件,3、使用命令打开创建的文件,并且在vscode中打开

如何使用mac电脑 1、使用快捷命令打开访达 optioncommand空格键 快速进入访达 shiftcmmandn 创建一个空目录 2、使用终端命令创建文件 2.1进入文件夹 在终端页面输入“cd /Users/yunf/Desktop/”并按回车键&#xff08;此时进入到桌面文件夹&#xff0c;如果需要进入到其它…

Zabbix6 使用Agent2实现证书监控的详细步骤

目标 我们的目标是通过获取网站的证书信息来实现网站证书监控。 使用agent2的key 只需使用其中的key&#xff0c;就能实现我们的目标功能。然而&#xff0c;由于它返回的是json格式的数据&#xff0c;我们需要根据数据来配置监控项目&#xff08;item&#xff09;和触发器&am…

git 使用方法自用(勿进)本地开发分支推上线上开发分支

一、//查看状态 1.git status 二、//查看改了哪个文件夹 1.git diff 2.//会出现改了哪个文件夹src/components/partials/Slider.js 三、//查看改了的文件夹里面具体改了啥内容 1.git diff src/components/partials/Slider.js 四、提交所有 1. git add . 五、写备注…

RabbitMQ如何做到不丢不重

目录 MQTT协议 如何保证消息100%不丢失 生产端可靠性投递 ​编辑 RabbitMQ的Broker端投 &#xff08;1&#xff09;消息持久化 &#xff08;2&#xff09;设置集群镜像模式 &#xff08;3&#xff09;消息补偿机制 消费端 ACK机制改为手动 总结 MQTT协议 先来说下MQTT…

java设计模式学习之【备忘录模式】

文章目录 引言备忘录模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用备忘录示例代码地址 引言 想象一下&#xff0c;你正在编辑一篇重要的文档&#xff0c;突然你意识到最近的一些更改实际上破坏了文档的结构。幸运的是&#xff0c;你的文本编辑器允许你撤…

每周一算法:区间覆盖

问题描述 给定 N N N个闭区间 [ a i , b i ] [a_i,b_i] [ai​,bi​]&#xff0c;以及一个线段区间 [ s , t ] [s,t] [s,t]&#xff0c;请你选择尽量少的区间&#xff0c;将指定线段区间完全覆盖。 输出最少区间数&#xff0c;如果无法完全覆盖则输出 − 1 -1 −1。 输入格式…

基于遗传算法的航线规划

MATLAB2016b可以正常运行 基于遗传算法的无人机航线规划资源-CSDN文库

搭建FTP服务器详细介绍

一.FTP简介 &#xff11;.&#xff11;什么是FTP &#xff11;.&#xff12;FTP服务器介绍 &#xff11;.&#xff13;FTP服务器优缺点 二.FTP服务器的搭建与配置 2.1 开启防火墙 2.2创建组 2.3创建用户 2.4安装FTP服务器 2.5配置FTP服务器 &#xff12;.&#xff…

java itext5 生成PDF并填充数据导出

java itext5 生成PDF并填充数据导出 依赖**文本勾选框****页眉**&#xff0c;**页脚****图片**实际图 主要功能有文本勾选框&#xff0c;页眉&#xff0c;页脚&#xff0c;图片等功能。肯定没有专业软件画的好看&#xff0c;只是一点儿方法。仅供参考。 依赖 <!--pdf-->&…

[Redis实战]优惠券秒杀

三、优惠券秒杀 3.1 全局唯一ID 每个店铺都可以发布优惠券&#xff1a; 当用户抢购时&#xff0c;就会生成订单并保存到tb_voucher_order这种表中&#xff0c;而订单表如果使用数据库自增ID就存在一些问题&#xff1a; id的规律性太明显受单表数据量的限制 场景分析一&…

R503S指纹识别模块的指令系统(一)

1.采集指纹图像 GetImage&#xff08;0x01&#xff09; 功能说明&#xff1a;探测手指&#xff0c;探测到后录入指纹图像存于 ImageBuffer&#xff0c;并返回录入成功确认码&#xff1b;若探测不到手指&#xff0c;直接返回无手指确认码(模块对于每一条指令都快速反应&#xf…

C++ DAY2作业

1.课堂struct练习&#xff0c;用class&#xff1b; #include <iostream>using namespace std;class Stu { private:int age;char sex;int high; public:double score;void set_values(int a,char b,int c,double d);int get_age();char get_sex();int get_high(); }; vo…

SpringBoot 3.2.0 结合Redisson接入Redis

依赖版本 JDK 17 Spring Boot 3.2.0 Redisson 3.25.0 工程源码&#xff1a;Gitee 集成Redis步骤 导入依赖 <properties><redisson.version>3.25.0</redisson.version> </properties> <dependencies><dependency><groupId>org.pr…

echart地图的小demo12.27

图形&#xff1a; DataV.GeoAtlas地理小工具系列 点击以上链接进入--》 再点击箭头---》复制坐标到文件&#xff1a; 取名为 china.json中 &#xff08;文件名自定义&#xff09; <template><div class"map" ref"chartMap">地图</div>…

案例232:基于微信小程序的学生实习与就业管理系统设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder …

java旅游攻略管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web旅游攻略管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql…

ASUS华硕ROG幻16笔记本电脑2023款GU604VI VZ VY原装出厂Windows11系统22H2

华硕玩家国度幻16笔记本原厂W11系统&#xff0c;适用型号&#xff1a;GU604VI、GU604VZ、GU604VY 链接&#xff1a;https://pan.baidu.com/s/166x6FNUFEpA3Qbzeory3Hg?pwdlwau 提取码&#xff1a;lwau 系统自带所有驱动、出厂主题壁纸、Office办公软件、MyASUS华硕电脑管…

『JavaScript』全面解析JavaScript中的防抖与节流技术及其应用场景

&#x1f4e3;读完这篇文章里你能收获到 理解防抖&#xff08;Debouncing&#xff09;和节流&#xff08;Throttling&#xff09;的概念&#xff1a;了解这两种性能优化技术如何帮助我们更有效地处理频繁触发的事件掌握防抖与节流的实现方法&#xff1a;学习如何在JavaScript中…