C语言笔试训练【第12天】

news2025/1/20 1:50:55

文章目录

  • 1、请阅读以下程序,其运行结果是( )
  • 2、假设编译器规定 int 和 short 类型长度分别为32位和16位,若有下列C语言语句,则 y 的机器数为( )
  • 3、下列程序的输出结果是什么( )
  • 4、C 语言中,下列运算符优先级最高的是 ( )
  • 5、要使 a 的低四位翻转,需要进行操作是( )
  • 数字颠倒
  • 单词倒排

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

#include<stdio.h>
int main()
{
	char c = 'A';
	if ('0' <= c <= '9') 
		printf("YES");
	else 
		printf("NO");
	return 0;
}

A: YES B: NO C: YESNO D: 语句错误

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

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

unsigned short x = 65530;
unsigned int y = x;

A: 0000 7FFA B: 0000 FFFA C: FFFF 7FFA D: FFFF FFFA

unsigned short类型的x变量2个字节保存了65530,十六进制形式为0xFFFA,x给y赋值时会整型提升,而无符号数在提升时高位补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

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

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

数字颠倒

输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
数据范围:0 < n < 2^30-1

输入描述:输入一个int整数
输出描述:将这个整数以字符串的形式逆序输出
在这里插入图片描述

因为要输出字符数字,数字字符的ASCII码加48即可转化为字符数字,然后逆序输出即可。当然,如果使用除法的话,0要单独考虑。

#include <stdio.h>
int main() {
    int n=0;
    scanf("%d",&n);
    //数字ASCII加48即可到达字符数字
    int i=0;
    for(i=n;i>0;i/=10){
        int ret=i%10;
        printf("%c",ret+48);
    }
    if(n==0){
        printf("%c",n+48);
    } 
    return 0;
}

单词倒排

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

输入描述:输入一行,表示用来倒排的句子
输出描述:输出句子的倒排结果
在这里插入图片描述

函数 isalpha ,用来判断一个字符是不是字母。
在这里插入图片描述
这道解采用了双指针的思路,从后开始,一个指针指向单词的开头,一个指针指向单词的末尾,如果遇到非字母字符,就将头指针减减,知道找到字母字符,再将头指针赋值给尾指针,然后再控制头指针找到单词的开头(非字母字符的下一个)

#include <stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main() {
    char*str=(char*)malloc(sizeof(char)*10000);
    char*str2=(char*)malloc(sizeof(char)*10000);
    gets(str);
    int len=strlen(str);
    int p1=len-1,p2=0,count=0;
    while(p1>=0)
    {
        while(p1>=0&&!isalpha(str[p1]))
            p1--;
        p2=p1;
        while(p1>=0&&isalpha(str[p1]))
        {
            p1--;
        } 
        for(int i=p1+1;i<=p2;i++)
        {
            str2[count]=str[i];
            count++;
        }
        str2[count]=' ';
        count++;
    }
    puts(str2);
}

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

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

相关文章

LC-链表的中间节点(遍历)

LC-链表的中间节点&#xff08;遍历&#xff09; 链接&#xff1a;https://leetcode.cn/problems/middle-of-the-linked-list/description/ 描述&#xff1a;给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个…

OpenCV-Python中的图像处理-图像直方图

OpenCV-Python中的图像处理-图像直方图 图像直方图统计直方图绘制直方图Matplotlib绘制灰度直方图Matplotlib绘制RGB直方图 使用掩膜统计直方图直方图均衡化Numpy图像直方图均衡化OpenCV中的直方图均衡化CLAHE 有限对比适应性直方图均衡化 2D直方图OpenCV中的2D直方图Numpy中2D…

基于Python科研论文绘制学习 - task1

绘制原则 必要性&#xff08;避免图多字少&#xff09; 易读性&#xff08;完整准确的标题、标签&#xff09; 一致性&#xff08;配图需要和上下文一致&#xff09; 尝试运行代码的时候出现了很多bug&#xff0c;基本都是围绕Scienceplots库的&#xff0c;在更新pip、pandas…

Gin安装解决国内go 与 热加载

get 方式安装超时问题&#xff0c;国内直接用官网推荐的下面这个命令大概率是安装不成功的 go get -u github.com/gin-gonic/gin 可以在你的项目目录下执行下面几个命令&#xff1a; 比如我的项目在E:\Oproject\zl cmd E:\Oproject\zl>就在目录下执行 go env -w GO111…

HCIP学习--MPLS

MPLS-多协议标签交换 标签交换 基于2.5层的标签号进行路由行为,开始传输数据包的时候需要查询两张表&#xff0c;一个路由表一个ARP表然后人们就想可不可以少查点表&#xff0c;然后MPLS就出现了&#xff0c;MPLS就是是在数据包的2.5层压入一个标签号&#xff0c;路由器基于2…

人大进仓数据库ksql命令基础

测试环境信息: 系统为银河麒麟V10 数据库为Kingbase ES V8 数据库安装目录为/opt/Kingbase/ES/V8 ksql命令位于/opt/Kingbase/ES/V8/Server/bin下 使用--help获取帮助 续上图 1.查看数据库列表 ./ksql -U system -l 2.查看数据库版本 ./ksql -V 3.连接指定的数据库tes…

计算机技术综合布线实训室建设方案

一、计算机技术综合布线系统概述 综合布线是指在建筑物或办公室内部&#xff0c;将各种通信设备&#xff08;如计算机、电话、视频监控、音频设备等&#xff09;通过统一的电缆系统连接起来的一种网络布线方式。它是构建局域网&#xff08;LAN&#xff09;和数据中心基础设施的…

Revit SDK 介绍:PanelSchedule 配电盘明细表

前言 这个例子介绍 Revit 的配电盘明细表&#xff0c;PanelSchedule。Revit 的电器专业在国内用的并不是十分广泛&#xff0c;但从功能上来说还是比较完整的。 内容 这个例子里有三个命令&#xff1a; PanelScheduleExport - 导出配电盘明细表InstanceViewCreation - 创建配…

HTML5的介绍和基本框架

目录 HTML5 HTML5介绍 HTML5的DOCTYPE声明 HTML5基本骨架 html标签 head标签 body标签 title标签 meta标签 在vscode中写出第一个小框架 HTML5 HTML5介绍 HTML5是用来描述网页的一种语言&#xff0c;被称为超文本标记语言。用HTML5编写的文件&#xff0c;后缀以.ht…

JVM编译优化

即时编译器 HotSpot虚拟机中内置了两个即时编译器,分别称为Client Compiler和Server Compiler,或者简称为C1编译器和C2编译器。Java8默认开启Server模式。用户可以使用“-client”或“-server”参数去指定编译模式。 C1编译器启动速度快,关注局部简单可靠的优化,比如方法…

【八大排序】-- 计数排序(动图演示)

计数排序介绍 计数排序是一个非基于比较的排序算法。它的优势在于在对一定范围内的整数排序时&#xff0c;它的复杂度为Ο(nk)&#xff08;其中k是整数的范围&#xff09;&#xff0c;快于任何比较排序算法。 当然这是一种牺牲空间换取时间的做法&#xff0c;而且当O(k)>O(n…

Java反序列化漏洞笔记

前言 作为Java安全方面的盲对Java反序列化各种链方面了解的并不多&#xff0c;但是这些链条又极为重要&#xff0c;有助于更好的理解各种漏洞的产出和原理&#xff0c;因此以下笔记开始从底慢慢学起。 为什么会产生安全问题&#xff1f; 服务器反序列化数据时&#xff0c;客…

OpenCV-Python中的图像处理-模板匹配

OpenCV-Python中的图像处理-模板匹配 模板匹配单对象的模板匹配多对象的模板匹配 模板匹配 使用模板匹配可以在一幅图像中查找目标函数&#xff1a; cv2.matchTemplate()&#xff0c; cv2.minMaxLoc()模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。 OpenCV 为我们提…

行业追踪,2023-08-15

自动复盘 2023-08-15 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

3. 爬取自己CSDN博客列表(自动方式)(分页查询)(网站反爬虫策略,需要在代码中添加合适的请求头User-Agent,否则response返回空)

文章目录 步骤打开谷歌浏览器输入网址按F12进入调试界面点击网络&#xff0c;清除历史消息按F5刷新页面找到接口&#xff08;community/home-api/v1/get-business-list&#xff09;接口解读 撰写代码获取博客列表先明确返回信息格式json字段解读 Apipost测试接口编写python代码…

浅谈 EMP-SSL + 代码解读:自监督对比学习的一种极简主义风

论文链接&#xff1a;https://arxiv.org/pdf/2304.03977.pdf 代码&#xff1a;https://github.com/tsb0601/EMP-SSL 其他学习链接&#xff1a;突破自监督学习效率极限&#xff01;马毅、LeCun联合发布EMP-SSL&#xff1a;无需花哨trick&#xff0c;30个epoch即可实现SOTA 主要…

从0到1:通用后台管理系统 Vue3使用wangEditor

那么这一节我们在编辑公司信息的弹窗中使用富文本插件wangEditor官网 Vue3使用wangEditor 安装wangEditor在弹窗中引入wangEditor结构api接口部分editor组件script部分怎么去修改富文本的编辑器&#xff1f; 案例内效果&#xff1a; 安装wangEditor npm install wangeditor/…

【D3.js 01】

D3.js 01 说在前面1 概述2 配置Web环境3 HTML4 SVG5 DOM6 JS7 常用接口8 D3语法基础9 使用D3查询SVG10 使用D3设置SVG中属性11 修改整组属性12 使用D3添加与删除SVG元素13 数据读取 —— CSV数据14 D3.js的数值计算15 比例尺Scale - LinearScale - Band 16 引入坐标轴17 DATA-J…

通过网络和SD卡连接开发板

SD卡 有时候相关代码改动以后想验证能否正常工作&#xff0c;如果编译代码又需要好久&#xff0c;所以可以通过SD卡拷贝到板子里验证&#xff1a; 将SD卡插入读卡器&#xff0c;将读卡器插入ubuntu主机上&#xff0c;将相关带动的代码文件拷贝到SD卡中。假设你的板子已经具备…

LLMs大模型plugin开发实战

一、概述 ChatGPT是通用语言大模型&#xff0c;如果用户想要在与大模型进行交互时能够使用到企业私有的数据&#xff0c;那么可以通过开发plugin&#xff08;插件&#xff09;的方式来实现&#xff0c;另外GPT3.5模型的训练数据是截止到2021年9月&#xff0c;如果想让模型能够…