二级C语言笔试2
(总分100,考试时间90分钟)
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1. 下列叙述中正确的是( )。
A) 算法的效率只与问题的规模有关,而与数据的存储结构无关
B) 算法的时间复杂度是指执行算法所需要的计算工作量
C) 数据的逻辑结构与存储结构是一一对应的
D) 算法的时间复杂度与空间复杂度一定相关
2. 栈和队列的共同点是( )。
A) 都是先进后出 B) 都是先进先出
C) 只允许在端点处插入和删除元素 D) 没有共同点
3. 下列关于队列的叙述中正确的是( )。
A) 在队列中只能插入数据 B) 在队列中只能删除数据
C) 队列是先进先出的线性表 D) 队列是先进后出的线性表
4. 下面概念中,不属于面向对象方法的是( )。
A) 对象 B) 继承 C) 类 D) 过程调用
5. 软件是指( )。
A) 程序 B) 程序和文档
C) 算法加数据结构 D) 程序、数据与相关文档的完整集合
6. 信息隐蔽的概念与下述哪一种概念直接相关( )。
A) 软件结构定义 B) 模块独立性 C) 模块类型划分 D) 模块耦合度
7. 下列选项中,不属于模块间耦合的是( )。
A) 数据耦合 B) 标记耦合 C) 异构耦合 D) 公共耦合
8. 对于现实世界中事物的特征,在实体—联系模型中使用( )。
A) 属性描述 B) 关键字描述 C) 二维表格描述 D) 实体描述
9. 下列数据模型中,具有坚实理论基础的是( )。
A) 层次模型 B) 网状模型 C) 关系模型 D) 以上三个都是
10. 关系表中的每一横行称为一个( )。
A) 元组 B) 字段 C) 属性 D) 码
11. 用C语言编写的代码程序( )。
A) 可立即执行 B) 是一个源程序
C) 经过编译即可执行 D) 经过编译解释即可执行
12. 以下叙述中正确的是( )。
A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数
C) main()函数必须放在其他函数之前 D) 函数定义的格式是K&R格式
13. 以下叙述中正确的是( )。
A) C程序中的注释只能出现在程序的开始位置和语句的后面
B) C程序书写格式严格,要求一行内只能写一个语句
C) C程序书写格式自由,一个语句可以写在多行上
D) 用C语言编写的程序只能放在一个程序文件中
14. 有以下程序:
#include <stdio.h>
main()
int x=1, y=2, z=3;
if (x>y)
if (y<z) printf("%d", ++z);
else printf("%d", ++y);
printf("%d\n", x++);
程序的运行结果是( )。
A) 331 B) 41 C) 2 D) 1
15. 下列程序的运行结果是( )。
#include <stdio.h>
main()
int x=-9, y=5, z=8;
if(x<y)
if(y<0) z=0;
else z+=1;
printf("%d\n", z);
A) 6 B) 7 C) 8 D) 9
16. 在嵌套使用if语句时,C语言规定else总是( )。
A) 和之前与其具有相同缩进位置的if配对
B) 和之前与其最近的if配对
C) 和之前与其最近的且不带else的if配对
D) 和之前的第一个if配对
17. 有以下程序:
#include <stdio.h>
main()
char k; int i;
for(i=1; i<3; i++)
scanf("%c",&k);
switch(k)
case '0': printf("another\n");
case '1': printf("number\n");
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是( )。
A) another
number
B) another
number
another
C) another
number
number
D) number
number
18. 有以下程序:
#include <stdio.h>
main()
int i;
for(i=0; i<3; i++)
switch(i)
case 0: printf("%d", i);
case 2:printf("%d", i);
default: printf("%d", i);
程序运行后的输出结果是( )。
A) 022111 B) 021021 C) 000122 D) 012
19. 以下选项中不属于字符常量的是( )。
A) 'C' B) "C" C) '\xCC' D) '\072'
20. 有以下程序:
#include <stdio.h>
main()
char c1, c2, c3, c4, c5, c6;
scanf("%c%c%e%c", &c 1, &c2, &c3, &c4);
c5=getchar(); c6=getchar();
putchar(c1); putchar(c2);
printf("%c%c\n", c5, c6);
程序运行后,若从键盘输入(从第1列开始) :
123<回车>
45678<回车>
则输出结果是( )。
A) 1267 B) 1256 C) 1278 D) 1245
21. 在C语言中,函数返回值的类型最终取决于( )。
A) 函数定义时在函数首部所说明的函数类型
B) return语句中表达式值的类型
C) 调用函数时主调函数所传递的实参类型
D) 函数定义时形参的类型
22. 下面的函数调用语句中func函数的实参个数是( )。
func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8) ) );
A) 3 B) 4 C) 5 D) 8
23. 有以下程序:
#include <stdio.h>
void f(intv, intw)
int t;
t=v; v=w; w=t;
main()
int x=1, y=3, z=2;
if(x>y) f(x, y);
else if(y>z) f(y, z);
else f(x, z);
printf("%d, %d, %d\n", x, y, z);
执行后输出结果是( )。
A) 1, 2, 3 B) 3, 1, 2 C) 1, 3, 2 D) 2, 3, 1
24. 设有以下定义和语句:
int a[3][2]=1, 2, 3, 4, 5, 6, *p[3];
p[0]=a[1];
则*(p[0]+1) 所代表的数组元素是()。
A) a[0][1] B) a[1][0] C) a[1][1] D) a[1][2]
25. 若有定义:int a[2][3]; ,以下选项中对a数组元素正确引用的是( )。
A) a[2][1] B) a[2][3] C) a[0][3] D) a[1>2][!1]
26. 下列程序的输出结果是( )。
#include<stdio. h>
#define N 3
#define M 3
void fun(int a[M][N])
printf("%d\n", *(a[1]+2) );
main()
int a[M][N];
int i, j,
for(i=0; i<M; i++)
for(j=0; j<N; j++)
a[i][j]=i+j-(i-j);
fun(a);
A) 3 B) 4 C) 5 D) 6
27. 若有定义:int w[3][5];,则以下不能正确表示该数组元素的表达式是( )。
A) *(*w+3) B) *(w+1) [4] C) *(*(w+1) ) D) *(&w[0][0]+1)
28. 下列程序执行后的输出结果是( )。
#include <stdio. h>
main()
int a[3][3],*p, i;
p=&a[0][0];
for(i=1; i<9; i++) p[i]=i+1;
printf("%d\n", a[1][2]);
A) 3 B) 6 C) 9 D) 随机数
29. 有以下程序:
#include <stdio.h>
int fun(int(*s) [4], int n, int k)
int m, i;
m=s[0][k];
for(i=1; i<n; i++) if(s[i][k]>m) m=s[i][k];
return m;
main()
int a[4][4]=1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34;
printf("%d\n", fun(a, 4, 0) );
程序的运行结果是( )。
A) 4 B) 34 C) 31 D) 32
30. 下面程序段的运行结果是( )。
char *p=" 123defgh";
p+=3;
printf("%d\n", strlen(strcpy(p, " ABCD") ) );
A) 8 B) 12 C) 4 D) 7
31. 对下述程序的判断中,正确的是( )。
#include<stdio.h>
void main()
char*p, s[128];
p=s;
while(strcmp(s, "End") )
printf("Input a string:"); gets(s); p=s;
while(*p)
putchar(*p++);
A) 此程序循环接收字符串并输出,直到接收字符串“End”为止
B) 此程序循环接收字符串,接收到字符串“End”则输出,否则程序终止
C) 此程序循环接收字符串并输出,直到接收字符串“End”为止,但因代码有错误,程序不能正常工作
D) 此程序循环接收字符串并将其连接在一起,直到接收字符串“End”为止,输出连接在一起的字符串
32. 阅读下列程序,当运行函数时,输入asd af aa z67,则输出为( )。
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int fun (char *str)
inti, j=0;
for(i=0; str[i]!='\0'; i++)
if(str[i]!=' ') str[j++]=str[i];
str[j]='\0';
main()
char str[81];
int n;
printf("Input a string:");
gets(str);
puts(str);
fun(str);
printf("%s\n", str);
A) asdafaaz67 B) asd af aa z67 C) asd D) z67
33. 在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则( )。
A) 称为函数的直接递归调用 B) 称为函数的间接递归调用
C) 称为函数的循环调用 D) C语言中不允许这样的递归调用
34. 有以下程序:
#include <stdio.h>
int fun(int x[], int n)
static int sum=0, i;
for(i=0; i<n; i++) sum+=x[i];
return sum;
main()
int a[]=1, 2, 3, 4, 5, b[]=6, 7, 8, 9, s=0;
s=fun(a, 5) +fun(b, 4); printf("%d\n", s);
程序执行后的输出结果是( )。
A) 45 B) 50 C) 60 D) 55
35. 以下程序的输出结果是( )。
#include<stdio.h>
int a[3][3]=(1, 2, 3, 4, 5, 6, 7, 8, 9), *p;
main()
p=(int*) malloc(sizeof(int) );
f(p, A);
printf(; % d\n", *p);
free(p);
f(int *s, int p[][3])
*s=p[1][1];
A) 1 B) 4 C) 7 D) 5
36. 有以下程序:
struct STU
char name[10];
int num;
;
void f1(struct STU c)
struct STU b="LiSiGuo", 2042;
c=b;
void f2(struct STU *c)
structSTU b="SunDan", 2044;
*c=b;
main()
struct STU a="YangSan", 2041, b="WangYin", 2043;
f1(a); f2(&b); printf("%d, %d\n", a.num, b.num);
程序执行后的输出结果是( )。
A) 2041 2044 B) 2041 2043 C) 2042 2044 D) 2042 2043
37. 设有如下说明:
typedef struct ST
long a; int b; char c[2]; NEW;
则下面叙述中正确的是( )
A) 以上的说明形式非法 B) ST是一个结构体类型
C) NEW是一个结构体类型 D) NEW是一个结构体变量
38. 设有以下语句:
char x=3, y=6, z;
z=x^y<<2;
则z的二进制值是( )。
A) 00010100 B) 00011011 C) 00011100 D) 00011000
39. 表达式0x13&0x17的值是( )。
A) 0x17 B) 0x13 C) 0xf8 D) 0xec
40. 以下叙述中错误的是( )。
A) gets函数用于从终端读入字符串
B) getchar函数用于从磁盘文件读入字符
C) fputs函数用于把字符串输出到文件
D) fwrite函数用于以二进制形式输出数据到文件
二、程序填空题
给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
#include <stdlib.h<
#include <ctype.h<
char *fun(char *s)
inti, j, k, n; char *p, *t;
n=strlen(s)+1;
t=(c har*)malloc (n*sizeof(char));
p=(char*)malloc(n*sizeof(char));
j=0; k=0;
for(i=0; i<n; i++)
if(isdigit(s[i]))
/******************found*******************/
p[ (1) ]=s[i]; j++;
else
t[k]=s[i]; k++;
/******************found*******************/
for(i=0; i< (2) ; i++)p[j+i]=t[i];
p[j+k]=0;
/******************found*******************/
return (3) ;
main()
char s[80];
printf("Please input:");
scanf("%s", s);
printf("\nThe result is: %s\n", fun(s));
1.
2.
3.
三、程序改错题
1. 给定程序中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指的数组的尾部。例如,当a所指字符串中的内容为“abcdefg”,b所指字符串中的内容为“1234”时,c所指数组中的内容应“a4b3c2dlefg”;而当a所指字符串中的内容为“1234”,b所指字符串的内容为“abcdefg”时,c所指数组中的内容应该为“lg2f3e4dcba”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
void fun (char*a, char*, char *c)
inti, j; char ch;
i=0; j=strlen(b)-1;
/******************found*******************/
while(i>j)
ch=b[i]; b[i]=b[j]; b[j]=ch;
i++; j--;
while (*a|| *b)
/******************found*******************/
If(*a)
*c=*a; c++; a++;
if(*b)
*c=*b; c++; b++;
*c=0;
main()
char s1[100], s2[100], t[200];
printf("\nEnter s1 string:"); scanf("%s", s1);
printf("\nEnter s2 string:"); scanf("%s", s2);
fun(s1, s2, t);
printf("\nThe result is: %s\n", t);
四、程序设计题
1. 函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。
注意:部分源程序给出如下。
请勿改动mam函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include <stdio.h>
#include <string.h>
void fun(char *s, char t[])
main()
char s[100], t[100];
printf("\nPlease enter string S:");
scanf("%s", s);
fun(s, t);
printf("\nThe result is:%s\n", t);
相关文章:
二级C语言笔试2
(总分100,考试时间90分钟) 一、选择题 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。 1. 下列叙述中正确的是( )。 A) 算法的效率只与问题的规模有关,而与数据的存储结构无关 B) 算法的时间复杂度是指执行算法所需要的计算工作量 …...
如何计算两个指定日期相差几年几月几日
一、题目要求 假定给出两个日期,让你计算两个日期之间相差多少年,多少月,多少天,应该如何操作呢? 本文提供网页、ChatGPT法、VBA法和Python法等四种不同的解法。 二、解决办法 1. 网页计算法 这种方法是利用网站给…...
再识C语言 DAY13 【递归函数(超详细)】
文章目录 前言一、函数递归什么是递归递归的两个重要条件练习一练习二 递归与迭代练习三练习四在练习三、四中出现的问题 如果您发现文章有错误请与我留言,感谢 前言 本文总结于此文章 一、函数递归 什么是递归 函数调用自身的编程技巧称为递归 (函数自…...
【Linux】权限管理
🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一 、Linux中的用户1.1 Linux用户分类1.2 用户转换1.3 指令提权 二、Linux权限管…...
地理坐标系、空间坐标系、epsg查询网站
坐标系可用范围和详细信息的查询网站 简介 epsg.ruiduobao.com是一个可以查询gdal中所有坐标系信息的网站,可查询到坐标系的基准面、椭球体、中央子午线等相关信息,并对每个坐标系的可用范围在地图中进行了显示。详细信息可以看操作视频: e…...
docker 容器指定主机网段
docker 容器指定主机网段。 使用macvlan网络模式可以让Docker容器直接连接到物理网络,而不需要通过NAT或端口映射的方式来访问它们。可以提高网络性能和稳定性,同时也可以使容器更易于管理。 1、查询网卡的名称:使用ifconfig命令查看网卡名…...
零基础Vue框架上手;git,node,yarn安装
项目搭建环境: git安装:Git - 安装 Git (git-scm.com)(官网) 下载路径:Git - Downloading Package (git-scm.com);根据自己电脑下载相对应的安装包 点next 点next,点到最后安装就行。…...
十分钟学会用springboot制作微信小程序富文本编辑器
1.1 富文本模型设计 在构建富文本编辑器系统时,首先需要设计一个合适的富文本模型。 CREATE TABLE IF NOT EXISTS rich_texts (id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(255),content TEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );这个表包括…...
【BBF系列协议】TR181-1 TR069的设备数据模型
TR-069的TR-181设备数据模型 执行摘要 TR-181定义了TR-069 [2]设备数据模型的版本1(设备:1)。设备:1数据模型仅适用于启用TR-069的终端设备,不适用于互联网网关设备或其他网络基础设施设备。启用TR-069的基础设施设备改为使用TR-098 [4]互联网网关设备数据模型或未来设备…...
Elasticsearch(简称ES)性能优化 实践
Elasticsearch(简称ES)性能优化主要包括以下几个方面: 索引优化: 选择合适的分片数:根据业务需求和数据量合理设置分片数,避免过多或过少分片造成性能问题。分片数过多会导致创建分片速度变慢、集群易崩溃…...
《跨越阶层,小白选专业的逻辑:揭秘家庭背景与个人发展的秘密联系》
文章目录 底层最好的专业 小康最好的专业 中产最好的专业 巨富最好的专业 总结 一个人选专业选的好不好,不在于专业本身,而在于你的出身,你的起点,你的家庭;你需要读懂你的原生家庭的文化才能改变自己。换句话说就是&a…...
Python调用pyspark报错整理
前言 Pycharm配置了SSH服务器和Anaconda的python解释器,如果没有配置可参考 大数据单机学习环境搭建(8)Linux单节点Anaconda安装和Pycharm连接 Pycharm执行的脚本 执行如下 pyspark_model.py 的python脚本,构建SparkSession来执行sparksql "&qu…...
快递员的烦恼 - 华为OD统一考试
OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 快递公司每日早晨,给每位快递员推送需要淡到客户手中的快递以及路线信息,快递员自己又查找了一些客户与客户之间的路线距离信息࿰…...
css1基础选择器
大纲 一.标签选择器 比较简单,前面直接写目标标签 二.类选择器 应用 例子 三.多类名选择器(调用时中间用空格隔开) 四.id选择器 应用 五.通配符选择器 应用 六.总结...
【C语言】内联函数总结
内联函数定义 inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。这样调用函数的过程就可以直接执行函数代码,而不发生跳转、压栈等一般性函数操作。可以节省时间,也会提高程序的执行速度。 …...
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之MenuItemGroup组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之MenuItemGroup组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、MenuItemGroup组件 该组件用来展示菜单MenuItem的分组。 子组件 无 接…...
【Linux多线程编程】互斥锁及其使用
1、互斥锁 用于解决竞争问题的一种机制。 什么是竞争,竞争就是多个实体同时获取一个资源,例如多个线程写一个全局变量。 2、Linux如何使用互斥锁 以pthread为例,锁的创建和使用如下: /* 创建锁 */ pthread_mutex_t lock PTHR…...
RabbitMQ_00000
MQ的相关概念 RabbitMQ官网地址:https://www.rabbitmq.com RabbitMQ API地址:https://rabbitmq.github.io/rabbitmq-java-client/api/current/ 什么是MQ? MQ(message queue)本质是个队列,FIFO先入先出,只不过队列中…...
【linux】docker下homeassistant和nodered安装及配置
1、homeassistant安装 从 Docker Hub 上拉取 Home Assistant 的镜像文件 docker pull homeassistant/home-assistant 是运行 Home Assistant 容器 docker run -id --name"homeassistant" --privileged --restart always -p 8123:8123 -e TZAisa/Shanghai --nethost…...
Qt扩展-muParser数学公式解析
muParser数学公式解析 一、概述1. 针对速度进行了优化2. 支持的运算符3. 支持的函数4. 用户定义的常量5. 用户定义的变量6. 自定义值识别回调7. 其他功能 二、内置函数三、内置二元运算符四、三元运算符五、内置常量六、源码引入1. 源码文件2. 编译器开关1. MUP_BASETYPE2.MUP_…...
OpenClaw从入门到应用——频道:IRC
通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》 Quick start 在 ~/.openclaw/openclaw.json 中启用 IRC 配置。至少设置以下内容: theme{"theme":{"light":"min-light"…...
告别鼠标手!用Python的keyboard库打造你的专属游戏/办公热键助手(附完整源码)
告别鼠标手!用Python的keyboard库打造你的专属游戏/办公热键助手(附完整源码) 长时间盯着电脑屏幕,手腕因为频繁点击鼠标而酸痛不已?这种"鼠标手"的困扰几乎成了现代办公族和游戏玩家的标配。但你可能没意识…...
容器编排:Docker Compose与Kubernetes的适用场景
容器编排:Docker Compose与Kubernetes的适用场景 在容器化技术蓬勃发展的今天,容器编排工具的选择直接影响着应用的部署效率、运维复杂度和系统稳定性。Docker Compose与Kubernetes作为两大主流工具,分别在单机环境与分布式集群领域展现出独特优势。本文将结合真实项目经验…...
计算机毕业设计:Python出行数据智能分析与预测平台 Django框架 可视化 数据分析 PyEcharts 交通 深度学习(建议收藏)✅
博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...
Node-RED 4.0.2连接Oracle数据库避坑指南:从模组选择到环境变量配置全流程
Node-RED 4.0.2连接Oracle数据库全流程实战:从环境搭建到高效查询 在物联网和自动化流程开发领域,Node-RED因其可视化编程特性而广受欢迎。当需要将Node-RED与Oracle数据库集成时,许多开发者会遇到各种环境配置和连接问题。本文将详细介绍如何…...
别再手动画码了!C#搭配ZXing.Net库,5分钟搞定商品标签一维码与会员卡二维码生成
企业级条码生成实战:用C#和ZXing.Net实现高效标签与会员卡管理 在仓储物流和会员管理的数字化浪潮中,条码技术早已从简单的商品标识进化为企业数据流转的核心枢纽。想象一下这样的场景:当仓库管理系统(WMS)收到订单时,系统自动生成…...
【软考高级】系统架构设计师核心考点精讲与实战应用
1. 系统架构设计师考试概述 系统架构设计师是软考高级资格认证中的一项重要考试,主要面向从事系统架构设计、技术选型和项目管理的专业人员。这个认证不仅考察理论知识,更注重实际架构设计能力的评估。考试分为综合知识、案例分析和论文三个部分…...
LLaMA-Factory SFT训练中断排查与恢复:从‘僵尸进程’到成功续训的全记录
LLaMA-Factory SFT训练中断排查与恢复实战指南 当你正在全神贯注地进行LLaMA模型的SFT微调时,突然发现训练进程停滞不前,GPU显存依然占用但数据不再流动——这种"僵尸状态"令人抓狂。本文将带你深入排查这类问题,并提供一套完整的恢…...
终极PrismLauncher架构解析:从源码到实践的Minecraft启动器构建指南
终极PrismLauncher架构解析:从源码到实践的Minecraft启动器构建指南 【免费下载链接】PrismLauncher A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC) 项目地址: https://gitc…...
让 AI Agent “睡觉”整理记忆(非常详细),OpenClaw Auto-Dream 实战从入门到精通,收藏这一篇就够了!
你有没有遇到过这样的情况:辛辛苦苦教会了 AI Agent 你的工作习惯和项目背景,关掉窗口、重启会话后,它又变回了一张白纸?这是当前所有基于 LLM(大语言模型)的 Agent 面临的核心痛点——“聊完就忘”。2026 …...
