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

【c语言测试】

1. C语言中,逻辑“真”等价于( )

题目分析:

“逻辑真”在C语言中通常指的是非零数。

  • A. 大于零的数
  • B. 大于零的整数
  • C. 非零的数 (正确答案)
  • D. 非零的整数
正确答案:C

2. 若定义了数组 int a[3][4];,则对a数组元素的非法引用是( )

题目分析:

题目考查的是二维数组的访问,定义的时候a[3][4] 表示有3行4列, 但是使用的时候是从数组坐标0开始的a[0][0]a[2][3]。任何超出这个范围的引用都是非法的。

  • A. a[0][2*1]
  • B. a[1][3]
  • C. a[4-2][0]
  • D. a[0][4] (正确答案)
正确答案:D

3. 执行C语言语句 “for(i=1; i++<4; );” 后,变量i的值是( )

题目分析:

这个for循环从 i=1 开始,条件是 i++<4,i先比较再自增,直到i变为5时,循环终止。

  • A. 2
  • B. 3
  • C. 4
  • D. 5 (正确答案)
正确答案:D

4. 执行下面的一段C程序后,变量x的值为( )。

char x = 200;
int a = 300;
BOOL flag;
int value1, value2;
value1 = 200;
value2 = 300;
if (flag && ((value1 = value2) == 200)) {x = x + a;
}
题目分析:
  • x 是char类型,初始值为200;

  • 分解这个表达式:(flag && ((value1 = value2) == 200))

  • ((value1 = value2) == 200)中,value1先被value2赋值为300,然后value再与200进行对比,如果等于为true(1),不等于为false(0).这里表达式结果为flase(0)

  • 然后flag 未被赋值,默认为0,flag与导致 if 条件不成立,不执行 x = x + a;

  • 所以 x 保持初始值。

  • A. 0

  • B. 200 (正确答案)

  • C. 300

  • D. 500

正确答案:B

5. 执行下列程序时从键盘上输入5,则输出结果是( )

#include <stdio.h>
main()
{int x;scanf("%d",&x);if(x++>=5) printf("%d\n", x);else printf("%d\n", x--);
}
题目分析:

输入为5时,x++先进行比较再自增,因此条件 x++ >= 5 为真,执行 printf("%d\n", x);,x–先输出6后自减。

  • A. 7
  • B. 6 (正确答案)
  • C. 5
  • D. 4
正确答案:B

6. 以下C语言程序的输出结果是( )。

struct s
{int x,y;
} data[2] = {10,100,20,200};
main()
{struct s *p=data;p++;printf("%d\n",++(p->x));
}
  • A. 10
  • B. 11
  • C. 20
  • D. 21 (正确答案)
题目分析:
  1. 初始化:

    • data[0] 初始化为 {10, 100}
    • data[1] 初始化为 {20, 200}
  2. 指针 p 初始状态:

    • p -> data[0] (10, 100)
  +--------------------+|      data          ||--------------------||  data[0]           |    ⬅p (指向 data[0])|  +---+---+         ||  | 10|100|         ||  +---+---+         ||                    ||--------------------||  data[1]           ||  +---+---+         ||  | 20|200|         ||  +---+---+         |+--------------------+
  1. 指针自增:
    • p++,现在 p 指向 data[1](20, 200)
 +--------------------+|      data          ||--------------------||  data[0]           |    |  +---+---+         ||  | 10|100|         ||  +---+---+         ||                    ||--------------------||  data[1]           |   ⬅p (指向 data[1])|  +---+---+         ||  | 20|200|         ||  +---+---+         |+--------------------+
  1. 访问和自增 ++(p->x),访问 p->x(data[1].x)并进行自增操作:
    • p 指向 data[1] 后,p->x 的值为20;
    • ++(p->x) 使其值变为21,最终输出21。
 +--------------------+|      data          ||--------------------||  data[0]           |    |  +---+---+         ||  | 10|100|         ||  +---+---+         ||                    ||--------------------||  data[1]           |   ⬅p (指向 data[1])|  +---+---+         |   // data[1].x 从 20 变为 21|  | 21|200|         ||  +---+---+         |+--------------------+
正确答案:D

7. 阅读下面程序,该程序运行后的输出结果是( )。

#include <stdio.h>
int a;
int f(int);
main()
{int a=0;printf("%d\n",f(5));printf("%d\n",f(10));
}
int f(int m)
{static int a=0;int b=0;a+=m; b+=5;return b;
}
题目分析:
  • 函数 f 中的静态变量 a 的值累加,函数结束不会被清零;

  • b 是局部变量,每次调用后都被初始化为0,最终返回5;

  • 输出为两次 5

  • A. 5, 15

  • B. 5, 10 (正确答案)

  • C. 0, 0

  • D. 0, 10

正确答案:B

第8题

阅读以下程序,并选择符合要求的输出结果。

char [] = " ";
* = ;
= ;
() = _____
() = _____
() = _____

选项:

  • (),,
  • (),,
  • (),,

根据题目描述,无法确定具体的输出结果,因为缺少关键信息。请提供完整的程序或更多的上下文信息以便准确回答。

第9题

阅读以下程序片段,并选择符合要求的输出结果。

void foo(void)
{unsigned int a = 6;int b = -20;(a+b > 6)? puts("> 6"): puts("<= 6");
}

选项:

  • (A) >6
  • (B) <=6
  • © 不确定

解答:

  • unsigned int a = 6; 定义了 a 为无符号整数,值为 6。
  • int b = -20; 定义了 b 为有符号整数,值为 -20。
  • 计算 a + b 得到 -14
  • 因为 a + b 是负数,所以 a + b < 6
  • 输出 "<= 6"

答案:(B) <=6

第10题

下面的程序(a)和程序(b)运行后,y 和 c 的值分别是。

程序(a):

#define f(x) x*x
main()
{int x=2; float y;y=x/f(x);
}

程序(b):

#define f(x) x/x
main()
{int x=2; float y;y=x/f(x);
}

解答:

  • 程序(a): #define f(x) x*x

    • y = x / f(x) 展开宏替换后为 y = 2 / (2*2),即 y = 2 / 4,结果为 0.5
  • 程序(b): #define f(x) x/x

    • y = x / f(x) 展开宏替换后为 y = 2 / (2/2),即 y = 2 / 1,结果为 2

答案:

  • 程序(a)运行后,y 的值为 0.5
  • 程序(b)运行后,y 的值为 2

请确认是否正确理解了题目内容,如有不同意见或补充,请告知。

好的,我来解答一下这张试卷上的题目。

选择题部分

  1. seldom
  2. by themselves
  3. alone

简答题部分

  1. 请问 #include <filename.h>#include "filename.h" 有什么区别?
  • #include <filename.h>: 表示只在标准库里面去查找这个头文件。
  • #include "filename.h": 表示先在用户所在的目录路径去查找,找不到的话再去标准库里面去查找。
  1. 请写出 char *p 与 “零值” 比较的 if 语句。
if (*p == '\0') {// do something
}
  1. 写一个“标准”宏 MIN,这个宏输入两个参数并返回较小的一个。
#define MIN(X,Y) ((X)<(Y)?(X):(Y))
  1. 请简述以下两个 for 循环的优点和缺点。
  • 第一个 for 循环:

    • 优点:当 condition 条件改变时,会改变 DoSomething 进行 DoOtherThing。
    • 缺点:需要额外的条件判断,代码可能更复杂。
  • 第二个 for 循环:

    • 优点:不需要额外的条件判断,代码简洁。
    • 缺点:如果 condition 改变,可能会导致 DoSomething 和 DoOtherThing 都被执行,效率较低。

希望这些解答对您有帮助!如果有其他问题,请随时告诉我。

好的,我来解答一下这张试卷上的题目。

第20题

请说明 Heap 与 stack 的区别。(5分)

  • Heap: 属于堆空间,需要通过手动申请和释放,如使用 malloc 或 calloc 分配一块空间后,没有释放,那么这块空间可以用动态存储结束。
  • Stack: 属于栈空间,用来存放局部变量、函数调用时所需的临时空间,它是由编译器自动分配和释放。

第21题

编写 strcpy 函数(15分)
已知 strcpy 函数的原型是 char *strcpy(char *strDest, const char *strSrc);
其中 strDest 是目的字符串,strSrc 是源字符串。

int def_copy(char *strDest, const char *strSrc)
{while(*strSrc != '\0'){*strDest = *strSrc;strDest++;strSrc++;}return 0;
}

第22题

请用 C 语言实现:将二维数组行列元素互换,存到另一个数组中。(15分)
数据结构,函数原型可自行定义。

void swap(int arr[][N], int line, int tmp[][N])
{for (int i = 0; i < line; i++){for (int j = 0; j < N; j++){tmp[i][j] = arr[j][i];}}
}

第23题

请编写一个 C 函数,该函数给出一个字节中(输入参数)被置 1 的位的个数。(15分)
函数原型是 unsigned short BitNum(const unsigned char input)

unsigned short BitNum(const unsigned char input)
{int cnt = 0;for (int i = 0; i < 8; i++){if (input & 1)cnt++;input >>= 1;}return cnt;
}

希望这些解答对你有所帮助!如果有任何疑问,请随时提问。

相关文章:

【c语言测试】

1. C语言中&#xff0c;逻辑“真”等价于&#xff08; &#xff09; 题目分析&#xff1a; “逻辑真”在C语言中通常指的是非零数。 A. 大于零的数B. 大于零的整数C. 非零的数 (正确答案)D. 非零的整数 正确答案&#xff1a;C 2. 若定义了数组 int a[3][4];&#xff0c;则对…...

一种将树莓派打造为游戏机的方法——Lakka

什么是Lakka&#xff1f; Lakka是一款Linux发行版&#xff0c;轻量级的&#xff0c;可将小型计算机转变为一台复古游戏机。 图1-Lakka官网&#xff0c;见参考链接[1] Lakka是RetroArch和libretro生态系统下的官方操作系统&#xff0c;前者RetroArch是模拟器、游戏引擎和媒体播…...

如何在 MySQL 中创建一个完整的数据库备份?

在MySQL数据库中创建一个完整的数据库备份通常不是通过编程语言直接实现的&#xff0c;而是借助MySQL提供的命令行工具mysqldump来完成。 作为Java开发者&#xff0c;我们可以编写脚本来调用这些工具&#xff0c;从而实现自动化备份。 下面我们将详细介绍如何使用Java来调度m…...

京准电钟HR-901GB双GPS北斗卫星时钟服务器

京准电钟HR-901GB双GPS北斗卫星时钟服务器 京准电钟HR-901GB双GPS北斗卫星时钟服务器 作为国家电力系统最重要的设备之一,卫星时间同步装置随着电力行业的发展不断有了新的要求,从单纯的具备时间数据输出能力,发展到装置状态信息上送、对用时设备的对时质量进行监测,确保站点内…...

uniapp使用websocket

后端java websoket中的 onOpen 中。依赖注入为null 引用&#xff1a;https://blog.csdn.net/qq_63431773/article/details/132389555 https://blog.csdn.net/weixin_43961117/article/details/123989515 https://cloud.tencent.com/developer/article/2107954 https://blog.c…...

基于Pycharm和Django模型技术的数据迁移

1.配置数据库 在trip_server/settings.py中修改配置&#xff1a; 其格式可访问官网&#xff1a;Settings | Django documentation | Django 1.1 配置数据库 文件地址&#xff1a;trip_server/settings.py 配置前需要创建&#xff08;NaviCat&#xff09;个人数据库 "…...

乐尚代驾-----Day10(订单三)

hi UU 们&#xff01;&#xff01;&#xff01;我又来跟辛辣&#xff01;感谢你们的观看&#xff0c;话不多说&#xff01;~ 司机到达代驾终点&#xff0c;代驾结束了。结束代驾之后&#xff0c; – 获取额外费用&#xff08;高速费、停车费等&#xff09; – 计算订单实际里程…...

105. 聚光源SpotLight

入门部分给大家介绍过平行光DirectionalLight、点光源PointLight、环境光AmbientLight,下面给大家介绍一个新的光源对象&#xff0c;也就是聚光源SpotLight。 创建聚光源SpotLight 聚光源可以认为是一个沿着特定方会逐渐发散的光源&#xff0c;照射范围在三维空间中构成一个圆…...

系统接口权限拦截器,获取用户信息存储

UserInfo 类 这是一个表示用户信息的 Java 类&#xff0c;使用了 Lombok 注解来简化代码编写。 import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString;import java.io.Serializable; import java.util.List;Data ToString EqualsAndHashCode public…...

Chromium HTML5 新的 Input 类型color 对应c++

一、Input 类型: color color 类型用在input字段主要用于选取颜色&#xff0c;如下所示&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body&…...

问:SQL中的通用函数及用法?

SQL函数是在SQL语句中使用的预定义的计算工具&#xff0c;可以对一列数据进行操作并返回一个单一的结果。这些函数大致可以分为两类&#xff1a;Aggregate函数和Scalar函数。Aggregate函数对一组值执行计算&#xff0c;并返回单个值&#xff0c;如求和、平均值、最大值和最小值…...

.NET Core WebApi第6讲:WebApi的前端怎么派人去拿数据?(区别MVC)

一、前端界面小基础 head&#xff1a;引入CSS, 引入JS是写在head里面。 body&#xff1a;眼睛肉眼能看到的用户展示的界面是写在body里面。 二、前端怎么派人去拿数据&#xff1f; 1、MVC&#xff1a;前后端不分离&#xff0c;MVC相比WebApi只是多了一个views的文件夹 &am…...

Chromium HTML5 新的 Input 类型date 对应c++

一、Input 类型: date date 类型允许你从一个日期选择器选择一个日期。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> </head> <body><form action"demo-form.php"…...

ZooKeeper的应用场景:深入探讨分布式系统中的多样化应用

Apache ZooKeeper 是一个开源的分布式协调服务&#xff0c;专为确保分布式系统中的高可用性和一致性而设计。在现代分布式应用程序中&#xff0c;协调、同步和管理是实现高效和可靠服务的关键部分&#xff0c;而 ZooKeeper 通过提供这些基础功能而成为许多分布式系统不可或缺的…...

【Vue3】第四篇

Vue3学习第四篇 01. 插槽Slots02. 插槽Slots&#xff08;续集&#xff09;03. 插槽Slots&#xff08;再续集&#xff09;04. 组件生命周期05. 生命周期应用06. 动态组件07. 组件保持存活08. 异步组件09. 依赖注入10. Vue应用 01. 插槽Slots 模板内容&#xff1a;html结构&#…...

Chromium HTML5 新的 Input 类型tel对应c++

一、Input 类型: tel <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> </head> <body><form action"demo-form.php">电话号码: <input type"tel" name…...

JVM—类加载器、双亲委派机制

目录 什么是类加载器 类加载器的分类 Bootstrap启动类加载器 通过启动类加载器加载用户jar包 Extension扩展类加载器和Application应用程序类加载器 通过扩展类加载器加载用户jar包 双亲委派机制 打破双亲委派机制 自定义类加载器 线程上下文类加载器 Osgi框架的类加…...

笔试题 求空格分割的英文句子中,最大单词长度。

求空格分割的英文句子中&#xff0c;最大单词长度。例如:“this is a word”&#xff0c;最大单词长度为4。要求:不能用 split 函数对字符串进行切分&#xff0c;算法复杂度为o(n) public class MaxWordLength { public static int maxWordLength(String sentence) { if (se…...

【笔记】大模型长度外推技术 NTK-Aware Scaled RoPE

NTK-Aware Scaled RoPE 正弦编码(Sinusoidal)旋转位置编码RoPE编码步骤&#xff1a;旋转位置编码的优势 NTK-Aware Scaled RoPE直接外推线性内插进制转换高频外推、低频内插的理解位置编码 总结参考&#xff1a; 长度外推技术是自然语言处理&#xff08;NLP&#xff09;领域中&…...

前端 eslint 配置,以及在git提交之前自动format

目录 1、配置eslint步骤 1、eslint安装配置步骤 2、配置scripts步骤 3、测试eslint 2、配置git-hook1、安装环境2、最终效果 众所周知&#xff0c;前端项目可以在报很多error的情况下运行。但是良好的代码规范仍然有利于项目的开发维护&#xff0c;这里提供我的规范&#xff0c…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...