C语言基础练习——Day12

目录

选择题

编程题

数字颠倒

单词倒排


选择题

1、请阅读以下程序,其运行结果是

int main()
{ char c='A';if('0'<=c<='9') printf("YES");else printf("NO");return 0;
}
  • A YES
  • B NO
  • C YESNO
  • D 语句错误
答案:A
💡

解析:

'0'<=c<='9'并非判断x大于等于字符0,小于等于字符9,而是先执行'0'<=c,使用这个表达式的结果再和'9'比较,'0'的ASCII码值是48,'A'的ASCII码值是'65',故'0'<c是真值1,1无疑是小于字符'9'的,最终是真

2、假设编译器规定intshort类型长度分别为32位和16位,若有下列C语言语句,则y的机器数为

unsigned short x = 65530;
unsigned int y = x;
  • A 0000 7FFA
  • B 0000 FFFA
  • C FFFF 7FFA
  • D FFFF FFFA
答案:B
💡

解析:

unsigned short类型的x变量2个字节保存了65530,十六进制形式为0xFFFAxy赋值时会整型提升,而无符号数在提升时高位补0,其实就相当于把x的值放在了y的低2个字节的空间中,故选B

3、下列程序的输出结果是什么

#include<stdio.h>
int main()
{int n = 1001;int ans = 0;for(int i = 1; i <= n; ++i){ans ^= i % 3;}printf("%d",ans);return 0;
}
  • A -2
  • B 0
  • C 1
  • D 2
答案:B
💡

解析:

i % 3 的值按1、2、0循环,可推算出ans按1、3、3、2、0、0循环,循环进行1001次,而1001%6=5,也就是ans按规律得到的第5个数为最终结果,故ans=0

4、C 语言中,下列运算符优先级最高的是

  • A !
  • B %
  • C >>
  • D ==
答案:A
💡

解析:

单目运算符的优先级通常都比较高,具体情况可查阅运算符优先级表格

5、要使a的低四位翻转,需要进行操作是

  • A a|0xF
  • B a&0xF
  • C a^0xF
  • D ~a
答案:C
💡

解析:

十六进制数0xF(十进制为15)是4位1即,参与运算时整型提升,高位都是0。低四位和1异或,0^1是1,1^1是0;高位和0异或,0^0是0,1^0是1。故而可以通过异或F使得a的低四位翻转,并保持高位不变

编程题

数字颠倒

题目链接:数字颠倒_牛客题霸_牛客网 (nowcoder.com)

描述
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001

数据范围:0≤ n
输入描述:
输入一个int整数
输出描述:
将这个整数以字符串的形式逆序输出

思路解析:

本题可以考虑使用字符串逆序输出的思路对本题进行解决,需要注意的是strlen函数计算的是字符个数,此时遍历数组的最后一个元素的下标为长度减1

参考代码:

#include <stdio.h>
#include <string.h>int main() {int num = 0;scanf("%d", &num);char str[100] = {0};sprintf(str, "%d", num);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;
}

单词倒排

题目链接:单词倒排_牛客题霸_牛客网 (nowcoder.com)

描述
对字符串中的所有单词进行倒排。
说明:
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;

数据范围:字符串长度满足 1≤ n≤10000
输入描述:
输入一行,表示用来倒排的句子
输出描述:
输出句子的倒排结果

思路解析:

本题可以考虑使用二维数组进行求解,每一行用于存一个单词,每一列放一个字母

首先是输入,可以考虑用死循环持续读取输入知道遇到'\n'为止,在C语言中,根据scanf的特点,在读取字符串时会跳过空白字符,而本题中题目说明了构成单词的字符只有大小写字母,所以在输入时需要限制输入的字符集合在a-z以及A-Z,即scanf("%[a-z|A-Z]", str[i]),而因为scanf的返回值是实际成功读取到的字符的个数,故当其返回值非0时,说明此时输入了单词,输入完一个单词后换到二维数组的下一行即可

接着是输出,因为当前二维数组每一行存储的是一个单词,只要是有字母的位置就不会停止读取,那么对初始化全部为0的数组来说,只需要反向输出即可,但是输出时需要注意是使用%c还是%s,如果用%s就不需要考虑列,%s在输出一行单词时会一直读到遇到'\0'为止

参考代码:

#include <stdio.h>int main() {char str[128][21] = {0};int i = 0;int ret = 0;    while (1) {ret = scanf("%[a-z|A-Z]", str[i]);if(getchar() == '\n'){break;}if (ret) {i++;}}for (int j = i; j >= 0; j--) {printf("%s ", str[j]);}return 0;
}

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

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

相关文章

Java复习06 Spring 代码概念

Java复习06 Spring 代码概念 1.基本代码 Component public class CommunityApplicationTests implements ApplicationContextAware {private ApplicationContext applicationContext;Overridepublic void setApplicationContext(ApplicationContext applicationContext) thr…

QT 异常处理

在 Qt 中&#xff0c;异常处理主要是通过 C 的异常处理机制来实现的&#xff0c;你可以在 Qt 应用程序中使用 try-catch 块来捕获和处理异常。在使用 Qt 的过程中&#xff0c;你可能会遇到以下情况可以使用异常处理&#xff1a; Qt 中的文件操作&#xff1a;类似于上一个例子中…

C语言经典面试题目(二十三)

1、解释一下C语言中的内存管理函数malloc和free的作用。 malloc&#xff1a;malloc函数用于动态分配内存空间&#xff0c;它接受一个参数&#xff0c;即所需内存的字节数&#xff0c;并返回一个指向分配内存的指针。如果内存分配成功&#xff0c;则返回指向分配内存的指针&…

vue3与Electron构建跨平台应用(webpack)

一、创建vue3项目 vue create vue3_webpack_electron 二、安装Electron npm install --save-dev electron Electron 三、vue add electron-builder vue add electron-builder

04 JDBCUtil

静态代码块加载properties配置文件&#xff0c;注册驱动 静态方法创建连接 静态方法关闭&#xff0c;一个方法关connection,statement&#xff0c;另一个方法多关一个resultSet package com.aistart.tech.until;import java.io.IOException; import java.sql.*; import java.ut…

Git和本地仓库托管到gitee

Git作用&#xff1a;记录代码内容&#xff0c;切换代码版本&#xff0c;实现多人开发 Git安装&#xff1a; 打开bash端 命令&#xff1a;git-v(查看版本&#xff09; 配置用户信息 git config --global user.name “用户名” git config --global user.email "邮箱名…

Spring Boot + Vue 实现文件导入导出功能

文章目录 1、概述2、后端实现&#xff08;Spring Boot&#xff09;3、前端实现&#xff08;Vue&#xff09;4、总结 1、概述 ​ 在现代Web应用开发中&#xff0c;文件的导入导出是一个常见的需求。Spring Boot作为后端开发的强大框架&#xff0c;搭配前端框架Vue&#xff0c;可…

颠覆传统:Web3如何塑造未来的数字经济

引言 近年来&#xff0c;随着数字化时代的到来&#xff0c;互联网已经成为人们生活中不可或缺的一部分。然而&#xff0c;随着技术的不断发展和社会的不断变迁&#xff0c;传统的Web2模式逐渐显露出一些弊端&#xff0c;如数据垄断、隐私泄露等问题&#xff0c;这促使人们寻求…

【数据结构】——线性表(顺序表加链表),万字解读(加链表oj详解)

前言 由于之前存在过对两者的区别考虑&#xff0c;所以把他们放在一起来说&#xff0c;更加容易区别和理解 对于有关线性表的概念这里就不展示了&#xff0c;这里主要是介绍线性表里面的这两个结构的知识点 一.顺序表 1.顺序表介绍 顺序表的存储结构和逻辑结构都是相邻的&a…

阿里云轻量应用服务器和ECS服务器有啥区别?2024年整理对比表

阿里云服务器ECS和轻量应用服务器有什么区别&#xff1f;轻量和ECS优缺点对比&#xff0c;云服务器ECS是明星级云产品&#xff0c;适合企业专业级的使用场景&#xff0c;轻量应用服务器是在ECS的基础上推出的轻量级云服务器&#xff0c;适合个人开发者单机应用访问量不高的网站…

02分布式搜索引擎ES

elasticsearch查询 1.DSL查询文档1.1.DSL查询分类1.2.全文检索查询1.3.精准查询1.4.地理坐标查询1.5.复合查询 2.搜索结果处理2.1.排序2.2.分页2.3.高亮2.4.总结 3.RestClient查询文档3.1.快速入门3.2.match查询3.3.精确查询3.4.布尔查询3.5.排序、分页3.6.高亮 1.DSL查询文档 …

JetPack之LiveData

目录 一、LiveData简介1.1 LiveData是什么&#xff1f; 二、LiveData使用2.1 LiveData基础使用2.2 LiveData搭配Service模拟后台消息2.3 LiveData在组件中的数据传递 三、LiveData应用场景 一、LiveData简介 1.1 LiveData是什么&#xff1f; LiveData是一种可观察的数据存储器…

L2-048 寻宝图 (DFS做法)

目录 1. 题目描述 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 2. 思路分析 3. 代码实现 原题链接&#xff1a;https://pintia.cn/problem-sets/994805046380707840/exam/problems/1649748772841508875?type7&page1 1.…

Golang 异步(bsd/linux)io

Golang 异步(bsd/linux)io 在日常开发中&#xff0c;读写文件的底层调用函数是syscall.Read/Write。一切都是围绕这两个函数展开的&#xff0c;不过有时候需要或者就是单纯想异步执行。liburing是linux上一个很好的原生异步io库&#xff0c;这里需要适配bsd派系的系统&#xf…

vue 中 清除form 校验状态

1 resetFields()&#xff1b;清除全部校验状态数据 this.$refs.form.resetFields(); 2 resetFields() &#xff1b;清除form的全部校验状态 this.$refs.form.clearValidate(); 3&#xff0c;清除固定的字段的校验 const field supplierName; // 要清除校验的字段名 cons…

iostream、fstream、sstream、string、vector、unordered_map、stack

iostream 用于输入输出操作&#xff0c;包含了处理标准输入输出流的功能&#xff08;例如&#xff0c;cin, cout, cerr等&#xff09;。 #include <iostream>int main() {int number;std::cout << "Enter a number: ";std::cin >> number;std::…

像uniapp image标签一样对图片进行缩放和裁剪

像uniapp image标签一样对图片进行缩放和裁剪 0 前言提示1 实现1.1 不保持纵横比缩放图片&#xff0c;使图片的宽高完全拉伸至填满 image 元素1.2 保持纵横比缩放图片&#xff0c;使图片的长边能完全显示出来。也就是说&#xff0c;可以完整地将图片显示出来。1.3 保持纵横比缩…

【DevOps实战篇】使用Portainer启动WordPress CMS堆栈应用

【DevOps实战篇】使用Portainer启动WordPress CMS堆栈应用 目录 【DevOps实战篇】使用Portainer启动WordPress CMS堆栈应用使用 Portainer 安装 WordPress 的要求什么是 Portainer使用 Portainer 安装 WordPress 的理由步骤1: 如何为 WordPress 设置 Portainer步骤2: 如何访问 …

Amuse .NET application for stable diffusion

Amuse github地址&#xff1a;https://github.com/tianleiwu/Amuse .NET application for stable diffusion, Leveraging OnnxStack, Amuse seamlessly integrates many StableDiffusion capabilities all within the .NET eco-system Welcome to Amuse! Amuse is a profes…

uni-app 中两个系统各自显示不同的tabBar

最近在一个uni-app项目中遇到一个需求,在登录页面成功登录以后需要判断身份,不同的身份的进入不同的tabBar页面,但是在uni-app项目中pages.json中的tabBar的list数组只有一个&#xff0c;且不能写成动态的,那如何实现这个需求呢?答案是需要我们自定义tabBar。 目录 1、我们确…