西邮linux兴趣小组2019纳新面试题

博客内容涉及C/C++编程基础知识,包括变量赋值、位运算、循环控制、函数调用、数组操作、指针使用、内存模式及文件权限等。还探讨了冒泡排序算法的优化以及斐波那契数列的实现。同时,提到了内存管理和程序运行时的数据存储。
摘要由CSDN通过智能技术生成

1.输出无数个“=”,因为unsigned int 值恒大于等于0,故一直满足循环条件。

2.第一种,将a的值通过c给b,把b的值直接给a

第二种,通过数学运算将a的值通过中间值赋给b

第三种,通过异或将b=b^a^b=a,a=a^b^a=b;

3.输出1,1

多次调用该函数时前者不断递增,后者不变

4.

 该程序输出为Xiyou Linux Group 2020

其中第三个printf不输出,但返回0.第二个printf输出的是Xiyou Linux Group 20,因为这个字符串的大小刚好为20,于是该printf产生了一个返回值20,被第一个printf输出。

5.255 0

ch是char类型,二进制表示为8位,最大可表示255,ch+1后二进制表示为0000 0000。

6.输出结果为x=-1 y=4 t=-1

                     x=0 y=5 t=1

第一行中t是由-1与3按位或运算的结果

第二行中t是由0和4逻辑或运算的结果

7.结果为4

X+X在程序编译时被替换成a+b+a+b结果为4

8.(1)将2018赋值给val变量

(2)将pi指针指向2019这个地址

(3)将pi指向存放val的那块地址

(4)将val的值改为0

9.输出为Linux Linux

scanf函数首先给指针p赋“Xiyou”字符串,之后给指针q赋“Linux”字符串,但q指向p,于是将p中原来的字符串覆盖。然后指针p和q,上存的都是字符串常量“Linux”。

10.输出结果为0x7fffffffe400,0x7fffffffe400
0x7fffffffe404,0x7fffffffe410

a就代表数组a的地址,所以a与&a的结果一样。

a中元素大小为4字节,故a+1实际上为a+4,&a的单位是a这个数组本身,故&a+1相当于a+16

11.实现斐波那契数列


int fb(int a)
{
    if(a<3)
    return 1;
    if(a>=3)
    return fb(a-1)+fb(a-2);
}
int main(void)
{
    int a;
    scanf("%d",&a);
    int b=fb(a);
    printf("第%d项为%d",a,b);
    return 0;
}

12.

 该函数的功能是对数组进行排序,他是不断地将数组中最大的元素放到排序部分的最后。

(冒泡)

初步优化后的代码如下:

void sort(int* arr,int size)
{
    int i,j,temp,flag1,flag=size-1;
    for(i=0;i<size-1;i++)
    {
        for(j=0;j<flag;j++)
        {
            if(arr[j]>arr[j+1])
            {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
                flag1=j;
            }
        }
        flag=flag1;
    }
}

用flag和flag1使得每次排序时对排好的部分不再遍历。

13.

大端模式

是指数据的低位保存在内存的高地址中,而数据的高位,保
存在内存的低地址中

小端模式

是指数据的低位保存在内存的低地址中,而数据的高位保存
在内存的高地址中

我的机器是小端模式。

14.

第一列表示文件类型

第二列表示所有者权限        组用户权限        其他用户权限

第三列 对目录表示第一级子目录数 对文件表示链接数

第四列 用户名

第五列 组名

第六列 文件大小(字节数)

第七 八 九列 最后修改时间

第十列 文件名 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倚风听雨.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值