【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 (正确答案)
题目分析:
-
初始化:
data[0]初始化为{10, 100}data[1]初始化为{20, 200}
-
指针
p初始状态:p -> data[0] (10, 100):
+--------------------+| data ||--------------------|| data[0] | ⬅p (指向 data[0])| +---+---+ || | 10|100| || +---+---+ || ||--------------------|| data[1] || +---+---+ || | 20|200| || +---+---+ |+--------------------+
- 指针自增:
p++,现在p指向data[1](20, 200):
+--------------------+| data ||--------------------|| data[0] | | +---+---+ || | 10|100| || +---+---+ || ||--------------------|| data[1] | ⬅p (指向 data[1])| +---+---+ || | 20|200| || +---+---+ |+--------------------+
- 访问和自增
++(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*xy = x / f(x)展开宏替换后为y = 2 / (2*2),即y = 2 / 4,结果为0.5。
-
程序(b):
#define f(x) x/xy = x / f(x)展开宏替换后为y = 2 / (2/2),即y = 2 / 1,结果为2。
答案:
- 程序(a)运行后,y 的值为
0.5。 - 程序(b)运行后,y 的值为
2。
请确认是否正确理解了题目内容,如有不同意见或补充,请告知。
好的,我来解答一下这张试卷上的题目。
选择题部分
- seldom
- by themselves
- alone
简答题部分
- 请问
#include <filename.h>和#include "filename.h"有什么区别?
#include <filename.h>: 表示只在标准库里面去查找这个头文件。#include "filename.h": 表示先在用户所在的目录路径去查找,找不到的话再去标准库里面去查找。
- 请写出 char *p 与 “零值” 比较的 if 语句。
if (*p == '\0') {// do something
}
- 写一个“标准”宏 MIN,这个宏输入两个参数并返回较小的一个。
#define MIN(X,Y) ((X)<(Y)?(X):(Y))
- 请简述以下两个 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语言中,逻辑“真”等价于( ) 题目分析: “逻辑真”在C语言中通常指的是非零数。 A. 大于零的数B. 大于零的整数C. 非零的数 (正确答案)D. 非零的整数 正确答案:C 2. 若定义了数组 int a[3][4];,则对…...
一种将树莓派打造为游戏机的方法——Lakka
什么是Lakka? Lakka是一款Linux发行版,轻量级的,可将小型计算机转变为一台复古游戏机。 图1-Lakka官网,见参考链接[1] Lakka是RetroArch和libretro生态系统下的官方操作系统,前者RetroArch是模拟器、游戏引擎和媒体播…...
如何在 MySQL 中创建一个完整的数据库备份?
在MySQL数据库中创建一个完整的数据库备份通常不是通过编程语言直接实现的,而是借助MySQL提供的命令行工具mysqldump来完成。 作为Java开发者,我们可以编写脚本来调用这些工具,从而实现自动化备份。 下面我们将详细介绍如何使用Java来调度m…...
京准电钟HR-901GB双GPS北斗卫星时钟服务器
京准电钟HR-901GB双GPS北斗卫星时钟服务器 京准电钟HR-901GB双GPS北斗卫星时钟服务器 作为国家电力系统最重要的设备之一,卫星时间同步装置随着电力行业的发展不断有了新的要求,从单纯的具备时间数据输出能力,发展到装置状态信息上送、对用时设备的对时质量进行监测,确保站点内…...
uniapp使用websocket
后端java websoket中的 onOpen 中。依赖注入为null 引用: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中修改配置: 其格式可访问官网:Settings | Django documentation | Django 1.1 配置数据库 文件地址:trip_server/settings.py 配置前需要创建(NaviCat)个人数据库 "…...
乐尚代驾-----Day10(订单三)
hi UU 们!!!我又来跟辛辣!感谢你们的观看,话不多说!~ 司机到达代驾终点,代驾结束了。结束代驾之后, – 获取额外费用(高速费、停车费等) – 计算订单实际里程…...
105. 聚光源SpotLight
入门部分给大家介绍过平行光DirectionalLight、点光源PointLight、环境光AmbientLight,下面给大家介绍一个新的光源对象,也就是聚光源SpotLight。 创建聚光源SpotLight 聚光源可以认为是一个沿着特定方会逐渐发散的光源,照射范围在三维空间中构成一个圆…...
系统接口权限拦截器,获取用户信息存储
UserInfo 类 这是一个表示用户信息的 Java 类,使用了 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字段主要用于选取颜色,如下所示: <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body&…...
问:SQL中的通用函数及用法?
SQL函数是在SQL语句中使用的预定义的计算工具,可以对一列数据进行操作并返回一个单一的结果。这些函数大致可以分为两类:Aggregate函数和Scalar函数。Aggregate函数对一组值执行计算,并返回单个值,如求和、平均值、最大值和最小值…...
.NET Core WebApi第6讲:WebApi的前端怎么派人去拿数据?(区别MVC)
一、前端界面小基础 head:引入CSS, 引入JS是写在head里面。 body:眼睛肉眼能看到的用户展示的界面是写在body里面。 二、前端怎么派人去拿数据? 1、MVC:前后端不分离,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 是一个开源的分布式协调服务,专为确保分布式系统中的高可用性和一致性而设计。在现代分布式应用程序中,协调、同步和管理是实现高效和可靠服务的关键部分,而 ZooKeeper 通过提供这些基础功能而成为许多分布式系统不可或缺的…...
【Vue3】第四篇
Vue3学习第四篇 01. 插槽Slots02. 插槽Slots(续集)03. 插槽Slots(再续集)04. 组件生命周期05. 生命周期应用06. 动态组件07. 组件保持存活08. 异步组件09. 依赖注入10. Vue应用 01. 插槽Slots 模板内容: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框架的类加…...
笔试题 求空格分割的英文句子中,最大单词长度。
求空格分割的英文句子中,最大单词长度。例如:“this is a word”,最大单词长度为4。要求:不能用 split 函数对字符串进行切分,算法复杂度为o(n) public class MaxWordLength { public static int maxWordLength(String sentence) { if (se…...
【笔记】大模型长度外推技术 NTK-Aware Scaled RoPE
NTK-Aware Scaled RoPE 正弦编码(Sinusoidal)旋转位置编码RoPE编码步骤:旋转位置编码的优势 NTK-Aware Scaled RoPE直接外推线性内插进制转换高频外推、低频内插的理解位置编码 总结参考: 长度外推技术是自然语言处理(NLP)领域中&…...
前端 eslint 配置,以及在git提交之前自动format
目录 1、配置eslint步骤 1、eslint安装配置步骤 2、配置scripts步骤 3、测试eslint 2、配置git-hook1、安装环境2、最终效果 众所周知,前端项目可以在报很多error的情况下运行。但是良好的代码规范仍然有利于项目的开发维护,这里提供我的规范,…...
DeepSeek-R1-Distill-Qwen-7B创意写作展示:从诗歌到短篇小说
嗯,用户需要一篇关于DeepSeek-R1-Distill-Qwen-7B在创意写作方面效果展示的技术博客。根据标题和场景判断,这属于效果展示类文章,重点是通过实际案例展示模型在文学创作上的能力。 需要突出模型的创意写作效果,包括诗歌、微型小说…...
OpenClaw+Qwen3.5-4B-Claude:5个提升效率的CLI增强技能
OpenClawQwen3.5-4B-Claude:5个提升效率的CLI增强技能 1. 为什么需要CLI增强技能 作为一个长期与终端打交道的开发者,我发现自己每天要重复输入大量相似命令。比如查看日志时要反复输入tail -f加路径,管理Docker时要不断敲docker ps -a。更…...
省token秘籍:OpenClaw+nanobot镜像长文本处理优化方案
省token秘籍:OpenClawnanobot镜像长文本处理优化方案 1. 当长文本遇上大模型:我的token焦虑症 第一次尝试用OpenClaw处理公司三年的技术文档归档时,我看着账单倒吸一口凉气——单次50万token的消耗让我的个人预算瞬间见底。这促使我开始探索…...
终极指南:如何在Foobar2000中安装和配置ESLyric逐字歌词源
终极指南:如何在Foobar2000中安装和配置ESLyric逐字歌词源 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 想要在Foobar2000中享受精准的逐字…...
个人开发者如何高效率APP上架安卓应用市场?软著、备案、资质、审核详解大全,一篇文章讲透流程规则!
一、上架前的资质准备 1. 软件著作权登记证书(软著) 软著是证明APP拥有自主知识产权的重要文件,多数应用商店要求上架时提供。申请周期通常为1-2个月,建议提前规划。 2. APP备案 根据工信部要求,APP主办者需要在接…...
Matlab 实现 DES 与 RSA 双重加密及可视化界面搭建
基于matlab上的DES和RSA两种算法的双重加密,附带显示界面,可更改DES密钥,明文消息(在显示界面中),可在代码中更改RSA对应的p,q,e等数据,代码可附加注释和对应要求修改。在…...
告别复杂配置:SDXL 1.0电影级绘图工坊开箱即用体验
告别复杂配置:SDXL 1.0电影级绘图工坊开箱即用体验 1. 为什么选择SDXL 1.0电影级绘图工坊 在AI绘图领域,Stable Diffusion XL(SDXL)1.0代表了当前最先进的文本到图像生成技术。然而,对于大多数非技术背景的创作者来说…...
如何用PPI网络community分析发现潜在药物靶点?微生信可视化保姆教程
从PPI网络到药物靶点:基于Community分析的生物标记物发现全流程 在生物医学研究的浩瀚海洋中,蛋白质-蛋白质相互作用(PPI)网络犹如一张精密的城市交通图,而community分析则帮助我们识别出其中的"功能街区"。想象一下,当…...
COMSOL数值模拟:N2和CO2混合气体在THM热流固三场耦合下增强瓦斯抽采
COMSOL数值模拟,实现N2和CO2混合气体在THM热流固三场耦合情况下增强瓦斯(煤层气抽采)煤层气抽采效率提升这事儿,最近在实验室搞了个骚操作——往煤层里怼氮气和二氧化碳的混合气。说人话就是拿这俩气体当开塞露,把卡在…...
优化实践:结合ResNet与CBAM注意力机制提升垃圾分类模型性能
1. ResNet与CBAM模块技术解析 1.1 ResNet的核心设计思想 ResNet(残差网络)之所以能成为深度学习领域的里程碑,关键在于它解决了传统深度神经网络的两大痛点:梯度消失问题和网络退化现象。想象一下教小朋友搭积木,当积木…...
