当前位置: 首页 > news >正文

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们你们好呀&#xff0c;今天&#xff0c;小雅兰要巩固一下之前学过的知识&#xff0c;那么&#xff0c;最好的复习方式就是刷题啦&#xff0c;现在&#xff0c;我们就进入C语言的世界吧 从最简单的开始噢 完完全全零基础都能看懂 题目来源于牛客网 编程语言初学训…...

【刷题】搜索——BFS:城堡问题(The Castle)

目录题目代码&#xff08;Flood Fill&#xff09;代码&#xff08;并查集&#xff09;题目 题目链接 找出房间个数——>求连通块个数 最大房间——>求最大连通块 直接用flood fill算法 注意题目的输入&#xff0c;例如118211182111821&#xff0c;则代表有西、北、南墙…...

深度学习——torch相关函数用法解析

1. torch.ones() torch.ones(*sizes, outNone) → Tensor函数功能&#xff1a;返回一个全为1 的张量&#xff0c;形状由可变参数sizes定义。 参数: sizes (int…) – 整数序列&#xff0c;定义了输出形状 out (Tensor, optional) – 结果张量 例子&#xff1a; >>> …...

ubuntu 20使用kubeadm安装k8s 1.26

步骤 机器&#xff1a;4核8G&#xff0c;root账号&#xff0c;可访问互联网 1、更新apt apt-get update 2、安装一些基本工具 apt-get install ca-certificates curl gnupg lsb-release net-tools apt-transport-https 3、ifconfig 获取ip&#xff0c;hostname获取主机名&…...

低代码开发平台|制造管理-生产过程管理搭建指南

1、简介1.1、案例简介本文将介绍&#xff0c;如何搭建制造管理-生产过程。1.2、应用场景先填充工序信息&#xff0c;再设置工艺路线对应的工序&#xff1b;工序信息及工艺路线列表报表展示的是所有工序、工艺路线信息&#xff0c;可进行新增对应数据的操作。2、设置方法2.1、表…...

python对多个csv文件进行合并(表头需一致)

之前写过python对【多个Excel文件】中的【单个sheet】进行合并&#xff0c;参考&#xff1a;点我 之前也写过python对【多个Excel文件】中的【多个sheet】进行合并&#xff0c;参考&#xff1a;点我 今天再写一个python对多个csv格式的文件进行合并的小工具 但是大家切记&am…...

Salesforce Apex调用邮件模板

正常调用无模板&#xff1a;mail.setToAddresses(new List<String>{user.Email});//mail.setReplyTo(444298824qq.com);//mail.setCcAddresses(null);mail.setSenderDisplayName(EOP系统);mail.setSubject(EOP通知&#xff08;待审批&#xff09;&#xff1a;您有未处理的…...

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…...

一文教你快速估计个股交易成本

交易本身对市场会产生影响&#xff0c;尤其是短时间内大量交易&#xff0c;会影响金融资产的价格。一个订单到来时的市场价格和订单的执行价格通常会有差异&#xff0c;这个差异通常被称为交易成本。在量化交易的策略回测部分&#xff0c;不考虑交易成本或者交易成本估计不合理…...

Leetcode—移除元素、删除有序数组中的重复项、合并两个有序数组

移除元素 此题简单&#xff0c;用双指针方法即可&#xff0c; 如果右指针指向的元素不等于val&#xff0c;它一定是输出数组的一个元素&#xff0c;我们就将右指针指向的元素复制到左指针位置&#xff0c;然后将左右指针同时右移&#xff1b; 如果右指针指向的元素等于 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页面&#xff08;模拟短信跳转&#xff0c;验证ok&#xff09;4 问题小节4.1 io…...

吉林电视台启用乾元通多卡聚合系统广电视频传输解决方案

随着广播电视数字化、IP化、智能化的逐步深入&#xff0c;吉林电视台对技术改造、数字设备升级提出了更高要求&#xff0c;通过对系统性能、设计理念的综合评估&#xff0c;正式启用乾元通多卡聚合系统广电视频传输解决方案&#xff0c;将用于大型集会、大型演出、基层直播活动…...

Linux常用命令1

目录1、远程登陆服务器2、文件相关&#xff08;1&#xff09;文件和目录属性&#xff08;2&#xff09;创建目录mkdir&#xff08;3&#xff09;删除目录rmdir&#xff08;4&#xff09;创建文件touch&#xff08;5&#xff09;删除文件或目录rm&#xff08;6&#xff09;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实现视频自动打码功能,避免看到羞羞的画面

前言 嗨呀嗨呀&#xff0c;最近重温了一档综艺节目 至于叫什么 这里就不细说了 老是看着看着就会看到一堆马赛克&#xff0c;由于太好奇了就找了一下原因&#xff0c;结果是因为某艺人塌房了…虽然但是 看综艺的时候满影响美观的 咳咳&#xff0c;这里我可不是来教你们如何解…...

说说Knife4j

Knife4j是一款基于Swagger2的在线API文档框架使用Knife4j, 需要 添加Knife4j的依赖当前建议使用的Knife4j版本, 只适用于Spring Boot2.6以下版本, 不含Spring Boot2.6 在主配置文件(application.yml)中开启Knife4j的增强模式必须在主配置文件中进行配置, 不要配置在个性化配置文…...

Java学习笔记-03(API阶段-2)集合

集合 我们接下来要学习的内容是Java基础中一个很重要的部分&#xff1a;集合 1. Collection接口 1.1 前言 Java语言的java.util包中提供了一些集合类,这些集合类又称之为容器 提到容器不难想到数组,集合类与数组最主要的不同之处是,数组的长度是固定的,集合的长度是可变的&a…...

「3」线性代数(期末复习)

&#x1f680;&#x1f680;&#x1f680;大家觉不错的话&#xff0c;就恳求大家点点关注&#xff0c;点点小爱心&#xff0c;指点指点&#x1f680;&#x1f680;&#x1f680; 矩阵的秩 定义4:在mxn矩阵A中&#xff0c;任取k行与k列&#xff08;k<m,k<n&#xff09;,位…...

【CSDN竞赛】27期题解(Javascript)

前言 本来排名是20的&#xff0c;不过第一题有点输出bug&#xff0c;最后实际测出来又重新排名&#xff0c;刚好卡在第10。但是考试报告好像过了12小时就下载不到了&#xff0c;所以就只写题目求解的JS函数吧。 1. 幸运数字 小艺定义一个幸运数字的标准包含3条: 仅包含4或7幸…...

高压放大器在骨的逆力电研究中的应用

实验名称&#xff1a;高压放大器在骨的逆力电研究中的应用研究方向&#xff1a;生物医学测试目的&#xff1a;骨中的胶原和羟基磷灰石沿厚度分布不均匀&#xff0c;骨试样在直流电压作用下&#xff0c;内部出现传导电流引起试样内部温度升高&#xff0c;不同组分热变形不一致&a…...

思科网络部署,(0基础)入门实验,超详细

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…...

private static final Long serialVersionUID= 1L详解

我们知道在对数据进行传输时&#xff0c;需要将其进行序列化&#xff0c;在Java中实现序列化的方式也很简单&#xff0c;可以直接通过实现Serializable接口。但是我们经常也会看到下面接这一行代码&#xff0c;private static final Long serialVersionUID 1L&#xff1b;这段代…...

若依前后端分离版集成nacos

根据公司要求&#xff0c;需要将项目集成到nacos中&#xff0c;当前项目是基于若依前后端分离版开发的&#xff0c;若依的版本为3.8.3&#xff0c;若依框架中整合的springBoot版本为2.5.14。Nacos核心提供两个功能&#xff1a;服务注册与发现&#xff0c;动态配置管理。 一、服…...

JAVA面试八股文一(mysql)

B-Tree和BTree区别共同点&#xff1b;一个节点可以有多个元素&#xff0c; 排好序的不同点&#xff1a;BTree叶子节点之间有指针&#xff0c;非叶子节点之间的数据都冗余了一份在叶子节点BTree是B-Tree 的升级mysql什么情况设置了索引&#xff0c;但无法使用a.没符合最左原则b.…...

动静态库概念及创建

注意在库中不能写main()函数。 复习gcc指令 预处理-E-> xx.i 编译 -S-> xx.s 汇编 -c-> xx.o 汇编得到的 xx.o称为目标可重定向二进制文件&#xff0c;此时的文件需要把第三方库链接进来才变成可执行程序。 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 什么是最优化&#xff1f;6 为什么要研究最优化问题&#xff1f;7 最优化问题8 最优化问题分类9 最优化研究内容理论算法应用1 最优化起源 中国古代优化思想–田忌赛马(公元前340年) 18世纪L.Euler&#xff0…...

数据结构 | 树 | 二叉树

&#x1f525;Go for it!&#x1f525; &#x1f4dd;个人主页&#xff1a;按键难防 &#x1f4eb; 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f4d6;系列专栏&#xff1a;数据结构与算法 &#x1f52…...

wordpress 在裁剪您的图像时发生了错误./购物网站哪个最好

起因&#xff1a; codeigniter的activeRecord链式操作非常的方便&#xff0c;目前手头的项目用的不是CI&#xff0c;但是又想使用CI的数据库操作。1. 新建文件夹 activeDB&#xff0c;内部目录如下最终直接拷贝 CI /system/database 到 activeDB下面config 文件夹下面放 databa…...

网站怎样做快照/起飞页自助建站平台

AlterNET Studio2022Crack,alternet模式 AlterNET Studio2022Crack使用代码编辑、脚本和用户界面设计功能扩展您的 WinForms 和 WPF .NET 应用程序。 AlterNET Studio2022Crack提供了一组组件库&#xff0c;使您的应用程序用户能够使用 C#、Visual Basic、TypeScript、JavaScri…...

wordpress 多说评论系统 安装/seo网络推广排名

8月7日上午十点&#xff0c;百度诉360违反Robots协议案将在北京市第一中级人民法院一审宣判&#xff0c;虽然目前尚无法知道判决结果&#xff0c;但有互联网行业人士分析&#xff0c;由于 Robots协议直接关系到中国6亿多网民的隐私安全&#xff0c;更与互联网企业的前途发展息息…...

wordpress修改后台登陆地址/5188关键词挖掘

神经网络曾经很火&#xff0c;有过一段低迷期&#xff0c;现在因为深度学习的原因继续火起来了。神经网络有很多种&#xff1a;前向传输网络、反向传输网络、递归神经网络、卷积神经网络等。本文介绍基本的反向传输神经网络&#xff08;Backpropagation 简称BP&#xff09;&…...

北京外语网站开发公司/北京做百度推广的公司

来源 | https://zhuanlan.zhihu.com/p/42968117作者 | catcat999提醒 | 本文已获得作者授权发布&#xff0c;如需转载请与作者联系。人脸关键点人脸关键点检测是人脸识别和分析领域中的关键一步&#xff0c;它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其它人脸…...

怎么添加字体到电脑wordpress/长沙网络推广外包

首先,要理解变量名存储在内存栈中,它是指向堆中具体内存的地址,通过变量名查找堆中的内存; 普通传值,传值以后,是不同的地址名称,指向不同的内存实体;引用传值,传引用后,是不同的地址名称,但都指向同一个内存实体;改变其中一个,另外一个就也被改变;以下我将通过三个列子来详细讲…...