2024年湖北专升本C语言模拟试卷(1)

2024年湖北专升本C语言模拟试卷(1)

一、填空(10道,在____处填答案,一处2分)
1、如果想要释放通过 malloc 分配的动态内存,应该使用的函数是 _____。
2、在C语言中,使用 strcat 函数连接两个字符串时,需要确保目标字符串有足够的空间来存储连接后的字符串。strcat 函数的原型在 string.h 头文件中,它的原型是 _____。
3、在C语言中,union 允许在同一内存位置存储不同的数据类型。union 的大小至少是其最大成员的大小。假设有一个 union 如下定义:
union Data {
    int i;
    float f;
    char str[20];
};
这个 union 的大小至少是 _____ 字节。
4、在C语言中,宏定义可以通过 #define 指令实现。如果有一个宏定义如下:
#define PI 3.14159
那么在代码中使用这个宏,可以通过 _____ 来替换其定义的值。
5、若已知 a=10, b=15, c=1。 则表达式 a*b&&c 的运算结果为________。
6、若有以下定义和语句:int a[5]={9,8,7,6,5}; *p; p=&a[3];则*--p 的值是_________。
7、#include<stdio.h>
main()
{char a[10]=”123456789”,*p; p=&a[4]; puts(p); }
以上程序的输出结果为___________。
8、C 语言的数组名是一个________常量, 不能对它进行加减和赋值等运算。
9、判断字符型变量 ch 是否为大写字母的表达式是________。
10、说明 char s1[]=“china” ,s2[10]; 要将 s1 的值复制到 s2 中的正确语句是________。
二、程序改错(10道,一处4分)
1、
#include<stdio.h>
int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    printf("%d", arr[5]); 
}
2、
#include<stdio.h>
int main() {
    int a = 10, b = 20;
    if (a = b) {
        printf("a等于b\n");
    } else {
        printf("a不等于b\n");
    }
    return 0;
}
3、
#include<stdio.h>
#include <malloc.h>

int main() {
    int *p = malloc(sizeof(int));
    *p = 100;
    printf("p = %d\n", *p);
    return 0;
}
4、
#include<stdio.h>
int main() {
int num = 5;
printf("The number is %s\n", num); 
return 0;
}
5、
#include<stdio.h>

int main() {
    int a = 5;
    int *p = NULL;
    printf("%d", *p); 
    return 0;
}
6、
#include <stdio.h>

int main() {
    struct Point {
        int x;
        int y;
    };

    struct Point *ptr;
    ptr->x = 5;
    ptr->y = 10;

    printf("Coordinates: (%d, %d)", ptr->x, ptr->y);
    return 0;
}
7、
#include <stdio.h>

struct Person {
    char name[20];
    int age;
};

int main() {
    struct Person person1;
    person1.name = "John";
    person1.age = 30;

    printf("Name: %s, Age: %d", person1.name, person1.age);
    return 0;
}
8、
#include <stdio.h>

int main() {
    int a = 5, b = 10;
    int *ptr = &a;
    *ptr = &b;

    printf("a: %d, b: %d", a, b);
    return 0;
}
9、
#include <stdio.h>

int main() {
    struct Student {
        char name[20];
        int age;
    };

    struct Student *ptr;
    ptr->name = "Alice";
    ptr->age = 25;

    printf("Student: %s, Age: %d", ptr->name, ptr->age);
    return 0;
}

10、
#include <stdio.h>

int main() {
    struct Date {
        int day;
        int month;
        int year;
    };

    struct Date *ptr;
    ptr->day = 10;
    ptr->month = 4;
    ptr->year = 2024;

    printf("Date: %d/%d/%d", ptr->day, ptr->month, ptr->year);
    return 0;
}
三、程序阅读(8道,一处5分)
1.有下列程序
void main()
{  
int n=0,m=1,x=0;
if (!n)  x=1;
if (m)  x=2;
if (x)  x=3; 
printf(“%d\n”,x);
}
执行后的结果是________。
2. 有以下程序
void main()
{
    char v2[] = "0010110101000001", * p;
    unsigned int v10, t;
    v10 = 0;                    
    p = v2;                     
    while (*p != '\0')
    {
        t = *p - '0';
        v10 = v10 * 2 + t;
        p++;                    
    }
    printf("\n%s 转换为整数: %u\n", v2, v10);
}
执行后的结果是________。
3. 以下程序
int main() {
    char s[] = "6789";
    s[1] = '\0'; 
    printf("%s\n", s); 
    return 0; 
}
执行后的结果是________。
4. 有以下程序
int main() {
    int a = 4, b = 3, c = 2, t = 0;
    if (b > a && a < c) {
        t = a;
        a = c;
        c = t;
    }
    printf("%d ", c);
    return 0; 
}
执行后的结果是________。
5. 有以下程序
#include <stdio.h>
void main()
{
    int i, j, flag, n;
    n = 0;
    i = 2016;
    while (n < 1 && i--)
    {
        flag = 0;
        for (j = 2; j < i; j++)
            if (i % j == 0)
            {
                flag = 1;
                break;
            }
        if (flag == 0)
        {
            n = n + 1;
            printf("%d\n", i);
        }
        i = i + 2;
    }
}
 执行后的结果是________。
6. 有以下程序
void main()
{  int a=1,b=3,c=5;
   int *p1=&a,*p2=&b,*p=&c;
   *p=*p1*(*p2);
   printf("%d\n",c);
}
执行后的结果是________。
7. 有以下程序
#include <stdio.h>

void main()
{
    char a[6] = "54321", temp;
    int i, k;
    for (i = 1; i <= 5; i++)
    {
        printf("%s\n", a);
        temp = a[0];
        for (k = 0; k < 4; k++)
            a[k] = a[k + 1];
        a[4] = temp; 
    }
}
执行后的结果是________。
8. 有以下程序
#include <stdio.h>
void main()
{
    int i, g, s, b, count;
    count = 0;                      
    for (i = 100; i <= 999; i++)
    {
        g = i % 10;
        s = i / 10 % 10;
        b = i / 100;               
        if ((g + s) * b == 28)
        {
            count++;
        }
    }
    printf("%d\n", count);
}
执行后的结果是________。
四、大题(5道,一处10分)
1、
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
2、
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
3、
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
4、
有形如:ax3+bx2+cx+d=0这样的一个一元三次方程。
给出该方程中各项的系数(a,b,c,d均为实数),并约定该方程存在三个不同实根(根的范围在 −100至 100 之间),且根与根之差的绝对值 ≥1。
要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后 2 位。
提示:记方程 f(x)=0,若存在 2个数 x1和 x2,且 x1<x2,f(x1)×f(x2)<0,则在 (x1,x2)之间一定有一个根。
输入格式:共一行,包含四个实数 a,b,c,d。
输出格式:由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后 2 位。
数据范围:−20≤a,b,c,d≤20
输入样例:1 -5 -4 20
输出样例:-2.00 2.00 5.00
5、
某班有 n个学生,学习能力分别为 a1,a2,…,an。
为了保证全班学生都能跟得上讲课,该班的讲课速度恰好等于班级内学习能力最低的学生的学习能力。

请你计算并输出,该班的讲课速度。

输入格式:第一行包含整数 n。
        第二行包含 n个整数 a1,a2,…,an。
输出格式:一个整数,表示该班的讲课速度。
数据范围
前 3个测试点满足 1≤n≤10。
所有测试点满足 1≤n≤100,1≤ai≤100。
输入样例:
3
4 5 6
输出样例:
4

参考答案

一、填空(10道,在____处填答案,一处2分)
1、free
2、char *strcat(char *dest, const char *src);
3、20
4、PI
5、1
6、7
7、56789
8、指针
9、ch >= 'A' && ch <= 'Z'
10、strcpy(s2, s1);
二、程序改错(10道,一处4分)
1、
#include<stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    printf("%d", arr[4]);
    return 0;
}
2、
#include<stdio.h>

int main() {
    int a = 10, b = 20;
    if (a == b) {
        printf("a等于b\n");
    } else {
        printf("a不等于b\n");
    }
    return 0;
}
3、
#include<stdio.h>
#include <malloc.h>

int main() {
    int *p = malloc(sizeof(int));
    *p = 100;
    printf("p = %d\n", *p);
    free(p); 
    return 0;
}
4、
#include<stdio.h>

int main() {
    int num = 5;
    printf("The number is %d\n", num);
    return 0;
}
5、
#include<stdio.h>

int main() {
    int a = 5;
    int *p = &a;
    printf("%d", *p); 
    return 0;
}
6、
#include <stdio.h>

struct Point {
    int x;
    int y;
};

int main() {
    struct Point point = {5, 10}; 
    struct Point *ptr = &point; 
    printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y);
    return 0;
}
7、
#include <stdio.h>
#include <string.h>

struct Person {
    char name[20];
    int age;
};

int main() {
    struct Person person1;
    
    strcpy(person1.name, "John");

    person1.age = 30; 

    printf("Name: %s, Age: %d\n", person1.name, person1.age);
    return 0;
}
8、
#include <stdio.h>

int main() {
    int a = 5, b = 10;
    int *ptr = &a;
    ptr = &b;      

    printf("a: %d, b: %d", a, b);
    return 0;
}
9、
#include <stdio.h>

struct Student {
    char name[20];
    int age;
};

int main() {
    struct Student student = {"Alice", 25}; // 初始化一个Student结构体实例
    struct Student *ptr = &student; // 将指针指向这个实例

    printf("Student: %s, Age: %d\n", ptr->name, ptr->age);
    return 0;
}
10、
#include <stdio.h>

struct Date {
    int day;
    int month;
    int year;
};

int main() {
    struct Date date = {10, 4, 2024}; 
    struct Date *ptr = &date; 

    printf("Date: %d/%d/%d\n", ptr->day, ptr->month, ptr->year);
    return 0;
}
三、程序阅读(8道,一处5分)
1、3
2、11585
3、6
4、2
5、2017
6、3
7、54321,43215,32154,21543,15432
8、18
四、大题(5道,一处10分)
1、
#include <stdio.h>

int fibonacci(int n) {
    if (n <= 1)
        return n;
    else
        return fibonacci(n - 1) + fibonacci(n - 2);
}

int main() {
    int months;
    printf("请输入月份:");
    scanf("%d", &months);

    int i, rabbits = 0, prev_rabbits = 1, temp;
    for (i = 0; i < months; i++) {
        temp = rabbits;
        rabbits += prev_rabbits;
        prev_rabbits = temp;
    }

    printf("第 %d 个月的兔子总数为 %d 对。\n", months, rabbits);

    return 0;
}
2、
#include <stdio.h>

int main() {
    int a, n;
    printf("请输入数字 a 和相加的个数 n:");
    scanf("%d %d", &a, &n);

    int i;
    long long int sum = 0, term = 0;
    for (i = 1; i <= n; i++) {
        term = term * 10 + a;
        sum += term;
    }

    printf("表达式的值为:%lld\n", sum);

    return 0;
}
3、
#include <stdio.h>

int main() {
    int i, j, sum;

    printf("1000以内的完数有:\n");
    for (i = 2; i <= 1000; i++) {
        sum = 1; // 初始化为1,因为1是所有数的因子

        // 找出因子并求和
        for (j = 2; j <= i / 2; j++) {
            if (i % j == 0) {
                sum += j;
            }
        }

        // 如果因子和等于数本身,则打印该数
        if (sum == i) {
            printf("%d ", i);
        }
    }

    printf("\n");

    return 0;
}
4、
#include <stdio.h>
#include <math.h>

double a, b, c, d, A, B, T, h, x1, x2, x3;

int main()
{
    scanf("%lf %lf %lf %lf", &a, &b, &c, &d);
    A = b * b - 3 * a * c;
    B = b * c - 9 * a * d;
    T = (2 * A * b - 3 * a * B) / (2 * pow(A * A * A, 0.5));
    h = acos(T);
    x1 = (-b - pow(A, 0.5) * cos(h / 3) * 2) / 3 / a;
    x2 = (-b + pow(A, 0.5) * (cos(h / 3) - sqrt(3) * sin(h / 3))) / (3 * a);
    x3 = (-b + pow(A, 0.5) * (cos(h / 3) + sqrt(3) * sin(h / 3))) / (3 * a);
    printf("%.2lf %.2lf %.2lf", x1, x2, x3);

    return 0;
}

5、
#include <stdio.h>

int main() {
    int n;
    printf("请输入学生数量:");
    scanf("%d", &n);

    int abilities[n];

    printf("请输入学生的学习能力:");
    for(int i = 0; i < n; i++) {
        scanf("%d", &abilities[i]);
    }

    // 找到最小的学习能力
    int min_ability = abilities[0];
    for(int i = 1; i < n; i++) {
        if(abilities[i] < min_ability) {
            min_ability = abilities[i];
        }
    }

    printf("该班的讲课速度为:%d\n", min_ability);

    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LLVM】在Windows中配置LLVM开发环境

本文内容 0.动机1. 安装Visual Studio 20192 安装Python3已安装Python未安装Python 3. 配置Visual Studio4.安装LLVM获取源码将LLVM切换到我们的目标版本编译LLVM 0.动机 想着ubuntu用着别手&#xff0c;看看能不能在Windows中进行开发。于是就动手实践了下 Getting Started w…

Android Studio实现内容丰富的安卓养老平台

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 158安卓养老 1.开发环境 后端用springboot框架&#xff0c;安卓的用android studio开发android stuido3.6 jak1.8 idea mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登…

Mockaroo - 在线生成测试用例利器

简介&#xff1a;Mockaroo 是一个无需安装的在线工具&#xff0c;用于生成大量的自定义测试数据。它支持多种数据格式&#xff0c;如JSON、CSV、SQL和Excel&#xff0c;并能模拟复杂的数据结构。 历史攻略&#xff1a; 测试用例&#xff1a;多条件下编写&#xff0c;懒人妙用…

How to solve matplotlib Chinese garbled characters in Ubuntu 22.04

conda create -n huizhou python3.8conda activate huizhouconda install numpy matplotlibpip install mplfontsmplfonts init# 导入必要的库 import numpy as np import matplotlib.pyplot as plt# 创建角度数组&#xff0c;从0到2π x np.linspace(0, 2 * np.pi, 100)# 计算…

微信小程序-------模板与配置

能够使用 WXML 模板语法渲染页面结构能够使用 WXSS 样式美化页面结构能够使用 app.json 对小程序进行全局性配置能够使用 page.json 对小程序页面进行个性化配置能够知道如何发起网络数据请求 一.WXML 模板语法 数据绑定 1. 数据绑定的基本原则 ① 在 data 中定义数据 ② 在…

架构师系列-消息中间件(11)- RocketMQ 进阶(5)-深入分析(2)

3. 文件刷盘机制 RocketMQ 的消息是存储在磁盘上的&#xff0c;这样做有两个优点&#xff1a; 保证断电后恢复 让存储的消息量超出内存的限制 RocketMQ 存储与读写是基于 JDK NIO 的内存映射机制&#xff0c;具体使用 MappedByteBuffer&#xff08;基于 MappedByteBuffer 操…

通配符HTTPS安全证书

众多类型的SSL证书&#xff0c;要说适用或者说省钱肯定是通配符了&#xff0c;因为谁都想一本SSL证书包括了整条域名&#xff0c;而且也不用一条一条单独管理。 通配符HTTPS安全证书&#xff0c;其实就是通配符SSL证书&#xff0c;SSL证书主流CA的参数都一样&#xff0c;通配符…

python中如何用matplotlib写雷达图

#代码 import numpy as np # import matplotlib as plt # from matplotlib import pyplot as plt import matplotlib.pyplot as pltplt.rcParams[font.sans-serif].insert(0, SimHei) plt.rcParams[axes.unicode_minus] Falselabels np.array([速度, 力量, 经验, 防守, 发球…

迅雷不限速破解方法

背景&#xff1a;现在迅雷和百度云的下载速度真的太恶心了&#xff0c;所以总有大佬可以采用厉害的方法进行破解&#xff0c;在网上看了一圈&#xff0c;很多都是骗人或者是无效的&#xff0c;找了一个靠谱的方法&#xff0c;亲测速度能达到10M以上&#xff0c;非常给力。 以下…

数据库工程师的工作职责(合集)

数据库工程师的工作职责1 职责&#xff1a; 1. 日常数据库的基本安装&#xff0c;维护&#xff0c;升级&#xff0c;监控的; 2. 配合研发部门进行数据库设计支持&#xff0c;协助开发、设计和进行SQL语言优化; 3. 配合相关部门数据库相关的任务&#xff0c;比如数据导入导出&am…

怎么使用下载视频号视频?详细视频下载使用教程

越来越多的人开始使用视频号等平台来分享和观看视频内容。然而&#xff0c;有时候我们可能会遇到需要将视频保存到本地设备以便离线观看或进一步编辑的情况。 本文将为您详细介绍如何使用视频下载plus&#xff0c;来下载视频号的视频内容。 一、了解视频号下载功能 首先&…

SublimeText - 汉化插件安装教程

第一步&#xff1a;快捷键CTRLShiftp&#xff0c;&#xff08;如果是Mac&#xff0c;则是command Shiftp&#xff09; 弹出查找栏—找到 install Package&#xff0c;并点击选择。 如下图&#xff1a; 第二步&#xff1a;再次弹出的框中&#xff0c;选择 ChineseLocalizations…

飞鹤与满趣健达成战略合作 加速深化国际化布局

继获得加拿大地区首张婴幼儿配方奶粉生产执照后&#xff0c;中国飞鹤的海外征途再添新动作。4月25日&#xff0c;中国飞鹤加拿大皇家妙克与美国婴童用品巨头满趣健&#xff08;Munchkin&#xff09;在北京正式达成战略合作。此次合作彰显了中国乳企的硬核实力&#xff0c;也是飞…

前后缀分离,CF1209 C. Maximal Intersection

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1029C - Codeforces 二、解题报告 1、思路分析 线段相交具有可…

亚马逊风控有哪些?如何在账号风控种避免封号?

如今商业竞争愈发激烈的时代&#xff0c;数据的准确性和可靠性已经成为商家和消费者共同追求的目标。为了达到这一目标&#xff0c;亚马逊采取了一系列风险管控措施&#xff0c;旨在杜绝恶意行为、虚假交易等违规情况&#xff0c;从而确保交易在平台上的安全与诚信。许多亚马逊…

汇隆晶片授权世强硬创,代理产品工作温度范围覆盖工业/车规/航天级

凭借独特的线上线下技术分销以及团队优异的推新能力&#xff0c;世强先进&#xff08;深圳&#xff09;科技股份有限公司&#xff08;下称“世强先进”&#xff09;获得浙江汇隆晶片技术有限公司&#xff08;下称“汇隆晶片”&#xff0c;英文名&#xff1a;HLC&#xff09;授权…

【JAVA】一文掌握Java并发编程

Java 开发中&#xff0c;并发编程属于相当重要的一个知识点&#xff0c;可以说&#xff0c;Java 的并发能力&#xff0c;是成就今日 Java 地位的因素之一。Java 的并发编程由浅入深实质上是包含 Java&#xff08;API&#xff09;层、JVM&#xff08;虚拟机&#xff09;层、内核…

网络攻击近在咫尺:数据加密与SSL成为信息安全之盾

随着互联网的日益普及和科技的迅猛发展&#xff0c;网络攻击已经成为信息安全领域面临的一大难题。近期&#xff0c;一场网络安全实验让我们对网络攻击有了更为深刻的认识。在实验中&#xff0c;网络安全工程师通过模拟攻击&#xff0c;展示了木马植入、文件浏览、键盘监听、病…

激活IDM下载器并配置百度网盘

前言&#xff1a; 最近想下载一些软件&#xff0c;奈何不充钱的百度网盘的速度实在太慢了&#xff0c;不到一个G的文件夹奈何下了一晚上&#xff0c;只能重新找一下idm的下载了。 但是idm的正版是需要收费的&#xff0c;所以有白嫖党的破解版就横空出世了。 正文&#xff1a…

JavaEE——Spring Boot + jwt

目录 什么是Spring Boot jwt&#xff1f; 如何实现Spring Boot jwt&#xff1a; 1. 添加依赖 2、创建JWT工具类 3. 定义认证逻辑 4. 添加过滤器 5、 http请求测试 什么是Spring Boot jwt&#xff1f; Spring Boot和JWT&#xff08;JSON Web Token&#xff09;是一对常…