【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://xiahunao.cn/news/2659867.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

centos下docker安装Rocketmq总结,以及如何更换mq端口

默认你已经装好了docker哈 安装docker-compose sudo curl -L https://github.com/docker/compose/releases/download/1.25.1-rc1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-composechmod x /usr/local/bin/docker-composedocker-compose --version成功打印…

一招搞定找不到vcruntime140_1.dll无法继续执行此代码

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中最常见的就是“找不到指定的模块”或“无法加载某某.dll文件”。而其中一个常见的问题就是vcruntime140_1.dll丢失。那么&#xff0c;vcruntime140_1.dll到底是什么&#xff1f;为什么会出现丢失的情…

MEMS热式气体流量传感器及其应用选型

热式气体流量传感器简介 热式气体流量传感器是基于流体传热学原理的一类传感器&#xff0c;利用 MEMS 热式原理对管路气体介质进行流量监测。 流量芯片由两个热偶堆和一个加热电阻组成&#xff0c;热偶堆对称分布在加热电阻的上、下游&#xff0c;加热电阻和热偶堆的热结处于一…

如何使用凹凸贴图和位移贴图制作逼真的模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 本教程将解释如何应用这些效应背后的理论。在以后的教程中&#xff0…

腾讯云服务器怎么选?腾讯云服务器最新优惠价格表来了!

腾讯云服务器租用价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月&#xff0c;云服务器CVM S5实例2核2G配置280.8元一年…

Java中实现百度浏览器搜索功能(windows/linux)

要在Java中实现百度浏览器搜索功能&#xff0c;你可以使用Selenium WebDriver。Selenium是一个用于自动化浏览器的工具&#xff0c;WebDriver是Selenium的一个子项目&#xff0c;它提供了一套API&#xff0c;可以直接与浏览器交互。 依赖: <dependencies><dependency…

前端图片适配不同屏幕方案

预备知识&#xff1a; 设备独立像素,以下图的iphone12 Pro为例&#xff0c;390*844表示的就是设备独立像素&#xff08;DIP&#xff09;,也可以理解为CSS像素 物理像素&#xff08;设备像素&#xff09;&#xff0c;就是屏幕的分辨率&#xff0c;显示屏就是由一个个物理像素…

django之drf框架(排序、过滤、分页、异常处理)

排序 排序的快速使用 1.必须是继承GenericAPIView及其子类才能是用排序 导入OrderingFilter类&#xff0c;from rest_framework.filters import OrderingFilter 2.在类中配置类属性 filter_backends[OrderingFilter] 3.类中写属性 ordering_fields [price,id] # 必须是表的…

springboot整合minio做文件存储

一,minio介绍 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等&#xff0c;而一个对象文件可以是任意大小&…

Android ImageView如何使用.svg格式图片

我们知道imageview常用的图片格式是.jpg/.png或者drawable里的部分.xml文件。但有时UI会给过来.svg格式的文件&#xff0c;下面讲解如何使用.svg格式图片文件 step1:AS点击File -> New -> Vector Asset step2:选中要使用的.svg文件&#xff0c;按需要命名和调整&#x…

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

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

axios配置请求头content-type 和 get/post请求方式

axios配置请求头content-type https://blog.csdn.net/wojiushiwo945you/article/details/107653962 axios 是Ajax的一个插件&#xff0c;axios虽然是一个插件&#xff0c;但是我们不需要通过Vue.use(axios)来使用&#xff0c;下载完成后&#xff0c;只需在项目中引入即可。(一…

Yapi接口管理平台Centos7部署

文章目录 1.环境准备1.1 关闭透明大页THP1.2 设置最大文件打开数最大进程数 2.Nodejs安装3.安装Mongodb3.1 下载安装3.2 配置3.3 配置环境变量3.4 启动3.5 关闭 4.安装YAPI4.1 离线安装4.2 页面安装&#xff08;本次采用&#xff09;4.3 访问 1.环境准备 1.1 关闭透明大页THP …

OpenEular23.09(欧拉)操作系统为企业搭建独立的K8S集群环境,详细流程+截图

1.环境&#xff1b; win10&#xff0c;vmware16 pro&#xff0c;openeular23.09 集群模式&#xff1a;一主二从 主机硬件配置 主机名IP角色CPU内存硬盘k8s-master01192.168.91.100master4C4G40Gk8s-worker02192.168.91.101worker(node)4C4G40Gk8s-worker03192.168.91.102work…

代码随想录算法训练营day2|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

第一章 数组part02 977.有序数组的平方 &#xff0c;209.长度最小的子数组 &#xff0c;59.螺旋矩阵II &#xff0c;总结 977.有序数组的平方 题目建议&#xff1a; 本题关键在于理解双指针思想 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客…

w7数据库基础之mysql函数

系统函数 1.version() --mysql版本 2.user() --当前登录的数据库用户名system_user() 3.database() --当前使用的数据库名。schema() 4.datadir --数据库路径 5.version_compile_os 操作系统版本&#xff0c;like 后面可以使用%%进行模糊查询。 6.hostname 当前机器…

出现频率高达70%软件测试面试题及答案!——看完面试官:是你面试我还是我面试你啊!

【纯干货&#xff01;&#xff01;&#xff01;】花费了整整3天&#xff0c;整理出来的全网最实用软件测试面试大全&#xff0c;一共30道题目答案的纯干货&#xff0c;希望大家多多支持&#xff0c;建议 点赞&#xff01;&#xff01;收藏&#xff01;&#xff01;长文警告&…

QuestMobile:网易有道词典、美团、知乎等一同入榜2023年“00后喜爱APP”

近期&#xff0c;国内第三方数据机构QuestMobile发布《2023中国互联网核心趋势年度报告》&#xff0c;网易有道词典荣获“2023中国互联网APP TOP50赛道用户规模NO.1”及“00后用户喜爱App”两项殊荣。 据悉&#xff0c;QuestMobile年度“行业用户规模”奖项是以2022年10月-2023…

代码随想录-刷题第三十九天

动态规划理论基础 动态规划的题目由重叠子问题构成&#xff0c;每一个状态一定是由上一个状态推导出来的。这一点就区分于贪心&#xff0c;贪心没有状态推导&#xff0c;而是从局部直接选最优的。 动态规划五步曲 确定dp数组&#xff08;dp table&#xff09;以及下标的含义…