C语言刷题——“C”
各位CSDN的uu们你们好呀,今天,小雅兰要巩固一下之前学过的知识,那么,最好的复习方式就是刷题啦,现在,我们就进入C语言的世界吧
从最简单的开始噢 完完全全零基础都能看懂 题目来源于牛客网
编程语言初学训练营_在线编程+题解_牛客题霸_牛客网
BC1-实践出真知
BC2-我是大V
BC3-有容乃大
BC6-小飞机
BC7-缩短二进制
BC8-十六进制转十进制
BC9-printf的返回值
BC10-成绩输入输出
BC11-学生基本信息输入输出
BC12-字符圣诞树
BC13-ASCII码
BC14-出生日期输入输出
BC15-按照格式输入并交换输出
BC16-字符转ASCII码
BC17-计算表达式的值
BC18-计算带余除法
BC19-反向输出一个四位数
BC28-大小写转换
BC29-2的n次方计算
BC35-判断字母
#include <stdio.h>int main()
{printf("Practice makes perfect!\n");return 0;
}
本题是一个没有输入要求的题目,只考察输入,所以只需要准确无误的输出结果就行了。
在C语言中,以.c为后缀的文件名就是我们的源文件,以.h为后缀的文件名就是头文件
printf是一个库函数,是为输出操作,必须得引入头文件stdio.h
写主函数,main函数是程序的入口,代码是从main函数的第一行开始执行的!
一个工程中,有且仅有一个main函数
运行:[Fn]+Ctrl+F5 VS
如果执行的结果一闪而过了,那么就要设置项目属性,让执行结果停留在屏幕上
#include <stdio.h>int main()
{printf("v v\n");printf(" v v\n");printf(" v\n");return 0;
}
这道题目还有另外一种写法
#include <stdio.h>int main()
{//一行输出的效果printf("v v\n v v\n v\n");return 0;
}
这个题也是没有输入要求的题目,所以相对比较简单。
题目中只要能够找到输出的规律和掌握 \n的使用就没问题。
这里简单提及:转义字符,可以做一个拓展。
#include <stdio.h>int main()
{printf("The size of short is %d bytes.\n", sizeof(short));printf("The size of int is %d bytes.\n", sizeof(int));printf("The size of long is %d bytes.\n", sizeof(long));printf("The size of long long is %d bytes.\n", sizeof(long));return 0;
}
计算机中的单位:
这类入门的题目基本都是没有输入操作的。
本题的关键是要掌握C语言的 sizeof 这个操作符。
sizeof 是C语言的一个单目操作符,用来计算不同类型数据所占内存空间的大小,单位是字节。
#include <stdio.h>int main()
{printf(" ** \n");printf(" ** \n");printf("************\n");printf("************\n");printf(" * * \n");printf(" * * \n");return 0;
}
严格按照合适的图案去打印就行了
#include <stdio.h>int main()
{printf("0%o 0X%X", 1234, 1234);return 0;
}
根据这道题目的备注可知,这个题目还有一种表现形式
#include <stdio.h>int main()
{int a=1234;printf("%#o %#X",a,a);return 0;
}
这里需要我们掌握对个各种数据的格式控制
注意:还是严格按照题目要求的格式输出,才能保证正确性。
本题考查的就是%d的格式控制域宽指定。
#include <stdio.h>int main()
{int a=0xABCDEF;printf("%15d",a);return 0;
}
printf函数返回的是:打印在屏幕上的字符的个数
#include <stdio.h>int main()
{int a=printf("Hello world!");printf("\n");printf("%d\n",a);return 0;}
在这里,不能随便在Hello world!后面加\n,因为:\n也算一个字符,最后结果就不准确
这个题目还有更简洁的写法
#include <stdio.h>int main()
{printf("\n%d\n", printf("Hello world!"));return 0;
}
更详细地请看我的博客
函数——“C”_认真学习的小雅兰.的博客-CSDN博客
函数递归+青蛙跳台阶——“C”_认真学习的小雅兰.的博客-CSDN博客
#include <stdio.h>int main()
{int score1=60;int score2=80;int score3=90;scanf("%d %d %d",&score1,&score2,&score3);printf("score1=%d,score2=%d,score3=%d",score1,score2,score3);return 0;
}
#include <stdio.h>int main()
{int id=0;float C=0.0;float math=0.0;float English=0.0;scanf("%d;%f,%f,%f",&id,&C,&math,&English);printf("The each subject score of No. %d is %.2f, %.2f, %.2f.\n",id,C,math,English);return 0;
}
这个题的最大坑,也是格式的指定,还有空格的控制,必须和题目要求的输出结果一致,比如:of的后边有2个空格。
浮点数打印要指定小数点后边的位数为2位。
小数在内存中有可能不能精确保存!
小雅兰就吃了这个题目的亏
#include <stdio.h>int main()
{char ch='0';scanf("%c",&ch);int i=1;int j=0;int m=0;for(i=1;i<=5;i++){for(j=5-i;j>0;j--){printf(" ");}for(m=0;m<i;m++){printf("%c ",ch);}printf("\n");}return 0;
}
每一行的输出是前边空格,后边 1
本题的难点就是精确的控制空格的个数和 1的个数。
#include <stdio.h>int main()
{int arr[]={73,32,99,97,110,32,100,111,32,105,116,33};//arr是数组,数组是用下标来访问的!//计算数组元素的个数int sz=sizeof(arr)/sizeof(arr[0]);int i=0;for(i=0;i<sz;i++){printf("%c",arr[i]);}return 0;
}
这里得了解清楚ASCII编码,如果采用ASCII编码,每个字符都有一个对应的数字,这个数字被称为这个字符的ASCII码,如果把这个数字按照%c打印,打印的就是字符。
#include <stdio.h>int main()
{int year=0;int month=0;int date=0;scanf("%4d%2d%2d",&year,&month,&date);//%4d就是读取4位整数//输出不够2位时,左边拿0填充printf("year=%d\nmonth=%02d\ndate=%02d\n",year,month,date);return 0;}
本题的难点在于如何按照指定域宽读取数据,如何按照指定格式打印数据。
#include <stdio.h>int main()
{int a = 0;int b = 0;scanf("a=%d,b=%d", &a, &b);int c = a;a = b;b = c;printf("a=%d,b=%d\n",a, b);
}
输入和输出格式的控制,如果格式控制串中有非格式字符则输入时也要输入该非格式字符。
#include <stdio.h>int main()
{char ch = 0;scanf("%c", &ch);printf("%d\n",ch);return 0;
}
直接按照%d打印,就是字符对应的ASCII码值
#include <stdio.h>int main()
{int a = 40;int c = 212;int ret = (-8+22)*a-10+c/2;printf("%d\n", ret);return 0;
}
按照操作符的优先级直接设计表达式,计算输出就行。
#include<stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);int m = a/b;int n = a%b;printf("%d %d\n", m, n);return 0;
}
掌握 % 和 / 两个操作符的使用,按照格式输出就行。
#include <stdio.h>int main()
{int n = 0;//输入数据scanf("%d", &n);//获取每一位while(n){printf("%d", n%10);n /=10;}return 0;
}
这里得掌握操作符 % 和 / 的基本使用和特点。其次是循环的使用。
在这道题目中,我们要知道两个函数——getchar、putchar
getchar——获取一个字符、输入一个字符
putchar——打印一个字符、输出一个字符
多组输入——一般使用while循环,本题就是while((ch=getchar())!=EOF)
EOF——end of file——文件结束标志——通常是为文件的末尾
然后,这道题目与ASCII码值也有密切的关系,大写字母的ASCII码值加上32就是小写字母的ASCII码值
#include <stdio.h>
int main()
{int ch=0;while((ch=getchar())!=EOF){putchar(ch+32);printf("\n");getchar();//读取\n}return 0;
}
getchar 清理缓冲区的问题,这里得理解输入缓冲区的问题。getchar拓展_认真学习的小雅兰.的博客-CSDN博客
#include <stdio.h>int main()
{int n = 0;while(scanf("%d", &n) != EOF){printf("%d\n", 1<<n);}return 0;
}
<< 左移操作符 移动的是二进制位 向左移动多少位 就表示2的几次方
int a=1;
a<<1;
//00000000000000000000000000000001
//00000000000000000000000000000010——左移一位 2^1
a<<2;
//00000000000000000000000000000001
//00000000000000000000000000000100——左移两位 2^2
#include <stdio.h>int main()
{char ch=0;while((ch=getchar())!=EOF){if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')){printf("YES\n");}else {printf("NO\n");}getchar();//处理\n}return 0;
}
这个题目还有另外一种写法,使用我们的库函数
isalpha——是专门用来判断一个字符是不是字母的
是字目就返回非0的值,不是字母就返回0
#include<stdio.h>
#include<ctype.h>
int main()
{int ch = 0;while((ch=getchar()) != EOF){//使用库函数if(isalpha(ch))printf("YES\n");elseprintf("NO\n");getchar();} return 0;
}
1. 本地是多组输入,一定要注意循环输入的问题
2. 字符的判断可以自己写,也可以借助于库函数,要熟悉库函数都有哪些。
好啦,小雅兰今天的复习就到这里啦,后续还会继续复习噢
相关文章:
C语言刷题——“C”
各位CSDN的uu们你们好呀,今天,小雅兰要巩固一下之前学过的知识,那么,最好的复习方式就是刷题啦,现在,我们就进入C语言的世界吧 从最简单的开始噢 完完全全零基础都能看懂 题目来源于牛客网 编程语言初学训…...
【刷题】搜索——BFS:城堡问题(The Castle)
目录题目代码(Flood Fill)代码(并查集)题目 题目链接 找出房间个数——>求连通块个数 最大房间——>求最大连通块 直接用flood fill算法 注意题目的输入,例如118211182111821,则代表有西、北、南墙…...
深度学习——torch相关函数用法解析
1. torch.ones() torch.ones(*sizes, outNone) → Tensor函数功能:返回一个全为1 的张量,形状由可变参数sizes定义。 参数: sizes (int…) – 整数序列,定义了输出形状 out (Tensor, optional) – 结果张量 例子: >>> …...
ubuntu 20使用kubeadm安装k8s 1.26
步骤 机器:4核8G,root账号,可访问互联网 1、更新apt apt-get update 2、安装一些基本工具 apt-get install ca-certificates curl gnupg lsb-release net-tools apt-transport-https 3、ifconfig 获取ip,hostname获取主机名&…...
低代码开发平台|制造管理-生产过程管理搭建指南
1、简介1.1、案例简介本文将介绍,如何搭建制造管理-生产过程。1.2、应用场景先填充工序信息,再设置工艺路线对应的工序;工序信息及工艺路线列表报表展示的是所有工序、工艺路线信息,可进行新增对应数据的操作。2、设置方法2.1、表…...
python对多个csv文件进行合并(表头需一致)
之前写过python对【多个Excel文件】中的【单个sheet】进行合并,参考:点我 之前也写过python对【多个Excel文件】中的【多个sheet】进行合并,参考:点我 今天再写一个python对多个csv格式的文件进行合并的小工具 但是大家切记&am…...
Salesforce Apex调用邮件模板
正常调用无模板:mail.setToAddresses(new List<String>{user.Email});//mail.setReplyTo(444298824qq.com);//mail.setCcAddresses(null);mail.setSenderDisplayName(EOP系统);mail.setSubject(EOP通知(待审批):您有未处理的…...
windows本地开发Spark[不开虚拟机]
1. windows本地安装hadoop hadoop 官网下载 hadoop2.9.1版本 1.1 解压缩至C:\XX\XX\hadoop-2.9.1 1.2 下载动态链接库和工具库 1.3 将文件winutils.exe放在目录C:\XX\XX\hadoop-2.9.1\bin下 1.4 将文件hadoop.dll放在目录C:\XX\XX\hadoop-2.9.1\bin下 1.5 将文件hadoop.dl…...
一文教你快速估计个股交易成本
交易本身对市场会产生影响,尤其是短时间内大量交易,会影响金融资产的价格。一个订单到来时的市场价格和订单的执行价格通常会有差异,这个差异通常被称为交易成本。在量化交易的策略回测部分,不考虑交易成本或者交易成本估计不合理…...
Leetcode—移除元素、删除有序数组中的重复项、合并两个有序数组
移除元素 此题简单,用双指针方法即可, 如果右指针指向的元素不等于val,它一定是输出数组的一个元素,我们就将右指针指向的元素复制到左指针位置,然后将左右指针同时右移; 如果右指针指向的元素等于 val&…...
面试(十)大疆 安全开发 C++1面
1. 在C++开发中定义一个变量,若不做初始化直接使用会怎样? 如果该变量是一个普通变量,则如果对其进行访问,会返回一个随机值,int类型不一定为0,bool类型也不一定为false 如果该变量为一个静态变量,则初始值都是一个0; 如果该变量是一个指针,那么在后续程序运行中很…...
短信链接跳转微信小程序
短信链接跳转微信小程序1 实现方案1.1 通过URL Scheme实现1.2 通过URL Link实现1.3 通过云开发静态网站实现2 实现方案对比3 实践 URL Schema 方案3.1 获取微信access_token3.2 获取openlink3.3 H5页面(模拟短信跳转,验证ok)4 问题小节4.1 io…...
吉林电视台启用乾元通多卡聚合系统广电视频传输解决方案
随着广播电视数字化、IP化、智能化的逐步深入,吉林电视台对技术改造、数字设备升级提出了更高要求,通过对系统性能、设计理念的综合评估,正式启用乾元通多卡聚合系统广电视频传输解决方案,将用于大型集会、大型演出、基层直播活动…...
Linux常用命令1
目录1、远程登陆服务器2、文件相关(1)文件和目录属性(2)创建目录mkdir(3)删除目录rmdir(4)创建文件touch(5)删除文件或目录rm(6)ls命令…...
【C++进阶】一、继承(总)
目录 一、继承的概念及定义 1.1 继承概念 1.2 继承定义 1.3 继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、菱形继承及菱形虚拟继承 7.1 继承的分类 7.2 菱形虚拟…...
AttributeError: module ‘lib‘ has no attribute ‘OpenSSL_add_all_algorithms
pip安装crackmapexec后,运行crackmapexec 遇到报错 AttributeError: module lib has no attribute OpenSSL_add_all_algorithms 直接安装 pip3 install crackmapexec 解决 通过 python3 -m pip install --upgrade openssl 或者 python3 -m pip install openssl>22.1.…...
Python实现视频自动打码功能,避免看到羞羞的画面
前言 嗨呀嗨呀,最近重温了一档综艺节目 至于叫什么 这里就不细说了 老是看着看着就会看到一堆马赛克,由于太好奇了就找了一下原因,结果是因为某艺人塌房了…虽然但是 看综艺的时候满影响美观的 咳咳,这里我可不是来教你们如何解…...
说说Knife4j
Knife4j是一款基于Swagger2的在线API文档框架使用Knife4j, 需要 添加Knife4j的依赖当前建议使用的Knife4j版本, 只适用于Spring Boot2.6以下版本, 不含Spring Boot2.6 在主配置文件(application.yml)中开启Knife4j的增强模式必须在主配置文件中进行配置, 不要配置在个性化配置文…...
Java学习笔记-03(API阶段-2)集合
集合 我们接下来要学习的内容是Java基础中一个很重要的部分:集合 1. Collection接口 1.1 前言 Java语言的java.util包中提供了一些集合类,这些集合类又称之为容器 提到容器不难想到数组,集合类与数组最主要的不同之处是,数组的长度是固定的,集合的长度是可变的&a…...
「3」线性代数(期末复习)
🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 矩阵的秩 定义4:在mxn矩阵A中,任取k行与k列(k<m,k<n),位…...
【CSDN竞赛】27期题解(Javascript)
前言 本来排名是20的,不过第一题有点输出bug,最后实际测出来又重新排名,刚好卡在第10。但是考试报告好像过了12小时就下载不到了,所以就只写题目求解的JS函数吧。 1. 幸运数字 小艺定义一个幸运数字的标准包含3条: 仅包含4或7幸…...
高压放大器在骨的逆力电研究中的应用
实验名称:高压放大器在骨的逆力电研究中的应用研究方向:生物医学测试目的:骨中的胶原和羟基磷灰石沿厚度分布不均匀,骨试样在直流电压作用下,内部出现传导电流引起试样内部温度升高,不同组分热变形不一致&a…...
思科网络部署,(0基础)入门实验,超详细
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...
private static final Long serialVersionUID= 1L详解
我们知道在对数据进行传输时,需要将其进行序列化,在Java中实现序列化的方式也很简单,可以直接通过实现Serializable接口。但是我们经常也会看到下面接这一行代码,private static final Long serialVersionUID 1L;这段代…...
若依前后端分离版集成nacos
根据公司要求,需要将项目集成到nacos中,当前项目是基于若依前后端分离版开发的,若依的版本为3.8.3,若依框架中整合的springBoot版本为2.5.14。Nacos核心提供两个功能:服务注册与发现,动态配置管理。 一、服…...
JAVA面试八股文一(mysql)
B-Tree和BTree区别共同点;一个节点可以有多个元素, 排好序的不同点:BTree叶子节点之间有指针,非叶子节点之间的数据都冗余了一份在叶子节点BTree是B-Tree 的升级mysql什么情况设置了索引,但无法使用a.没符合最左原则b.…...
动静态库概念及创建
注意在库中不能写main()函数。 复习gcc指令 预处理-E-> xx.i 编译 -S-> xx.s 汇编 -c-> xx.o 汇编得到的 xx.o称为目标可重定向二进制文件,此时的文件需要把第三方库链接进来才变成可执行程序。 gcc -o mymath main.c myadd.c mysub.c得到的mymath可以执…...
【H.264】码流解析 annexb vs avcc
H264码流解析及NALUAVCC和ANNEXB 前者是FLV容器、mp4 常用的。后者 是实时传输使用,所以是TS 一类的标准。VLC显示AVC1就是AVCC AVCC格式 也叫AVC1格式,MPEG-4格式,字节对齐,因此也叫Byte-Stream Format。用于mp4/flv/mkv, VideoToolbox。 – Annex-B格式 也叫MPEG-2 trans…...
【最优化方法】1-最优化方法介绍
文章目录1 最优化起源2 最优化发展3 运筹学在国外4 运筹学在国内5 什么是最优化?6 为什么要研究最优化问题?7 最优化问题8 最优化问题分类9 最优化研究内容理论算法应用1 最优化起源 中国古代优化思想–田忌赛马(公元前340年) 18世纪L.Euler࿰…...
数据结构 | 树 | 二叉树
🔥Go for it!🔥 📝个人主页:按键难防 📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀 📖系列专栏:数据结构与算法 ὒ…...
wordpress 在裁剪您的图像时发生了错误./购物网站哪个最好
起因: codeigniter的activeRecord链式操作非常的方便,目前手头的项目用的不是CI,但是又想使用CI的数据库操作。1. 新建文件夹 activeDB,内部目录如下最终直接拷贝 CI /system/database 到 activeDB下面config 文件夹下面放 databa…...
网站怎样做快照/起飞页自助建站平台
AlterNET Studio2022Crack,alternet模式 AlterNET Studio2022Crack使用代码编辑、脚本和用户界面设计功能扩展您的 WinForms 和 WPF .NET 应用程序。 AlterNET Studio2022Crack提供了一组组件库,使您的应用程序用户能够使用 C#、Visual Basic、TypeScript、JavaScri…...
wordpress 多说评论系统 安装/seo网络推广排名
8月7日上午十点,百度诉360违反Robots协议案将在北京市第一中级人民法院一审宣判,虽然目前尚无法知道判决结果,但有互联网行业人士分析,由于 Robots协议直接关系到中国6亿多网民的隐私安全,更与互联网企业的前途发展息息…...
wordpress修改后台登陆地址/5188关键词挖掘
神经网络曾经很火,有过一段低迷期,现在因为深度学习的原因继续火起来了。神经网络有很多种:前向传输网络、反向传输网络、递归神经网络、卷积神经网络等。本文介绍基本的反向传输神经网络(Backpropagation 简称BP)&…...
北京外语网站开发公司/北京做百度推广的公司
来源 | https://zhuanlan.zhihu.com/p/42968117作者 | catcat999提醒 | 本文已获得作者授权发布,如需转载请与作者联系。人脸关键点人脸关键点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其它人脸…...
怎么添加字体到电脑wordpress/长沙网络推广外包
首先,要理解变量名存储在内存栈中,它是指向堆中具体内存的地址,通过变量名查找堆中的内存; 普通传值,传值以后,是不同的地址名称,指向不同的内存实体;引用传值,传引用后,是不同的地址名称,但都指向同一个内存实体;改变其中一个,另外一个就也被改变;以下我将通过三个列子来详细讲…...