当前位置: 首页 > 工具软件 > ACAT > 使用案例 >

ACAT2021纳新题目(C语言)

聂涛
2023-12-01

说明:

本试题一共分为10道题,考核点全部以C语言为主,难度有层次划分,希望你尽最大努力完成,我
们不需要你每道题都能得到正确答案,但希望你能有良好的学习态度。我们期待在面试那天与你相
遇!
(本测试题目省略#include…,编程题只用写出核心代码,你也可以在面试时带上U盘或者电脑直接展
示你的结果!)

题目:

1. 下列选项正确的是( )

#include<stdio.h>
#include<stdlib.h>
int main(void){
    int i=3;
    int k=4;
	k += (k++) - (--i);
	printf("%d",k);
    return 0;
}

a)6		b)7		c)8		d)9

2.下列选项正确的是( )

#include <stdio.h>
int main() {
    int a = 2, b = 3;
    printf("%d\n", a <<= a < b ? a + b : a - b ); 
    return 0;
}


A)-32     b) 64     c)2*(2-5)     d)1*(2-5)

3.请分析下列代码的运行结果,并解释其原因。

int main(int argc, char const* argv[])
{
    int a = 0, b = 5;
    ++a || ++b, a - b;
    b = b--;
    printf("%d %d\n", a, b);
    return 0;
}

4.请分析下列代码的运行结果,并解释其原因。

int main() {
	int a = 0;
	int b = 0 == a;
	int c = -1;

	if (a = 1) {
		c = a && b;
	}

	printf("%d%d%d", a, b, c);
	return 0;

}

5. 分析下列代码,请计算 x,y,z的占内存的大小

int main(){
    struct x{
        int a;
        char b;
        double c;
    };
    struct y{
        float b;
        int a;
        double c;
    };
    struct z{
        int a;
        double c;
        char b;
    };
}

6.已知 int a[3] [4],请不用中括号使用数组索引值打印出a[1] [2]

​print("%d",___);

7.请分析以下代码的运行结果,并解释其原因。

int main() {
	int n;
	printf("%d", scanf("%d", &n));
	return 0;
}

8.你知道哪些排序算法?你知道它们是怎样实现的吗?(大致思路)


9.字符串翻转

设计一个程序实现字符串翻转,即将abcdefg反转成gfedcba,已经为你写好了部分代码,请在规定的区域添加代码来实现程序。
不允许在规定地方之外写代码,不允许删除写过的代码。
代码本来就定义了一个字符串和一个字符变量和一个整型数,不允许声明新的任何类型的变量。
int main() {
	
	char s[32];
	scanf("%s", s);
	int n = strlen(s);
	int i;
	char ch;

	/* 规定区域开始 */



	/* 规定区域结束 */

	printf("%s", s);
	return 0;

}

10. 单链表逆置,要求在原有空间进行逆置。


参考

ACAT2021纳新题解(C语言)

 类似资料: