栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

1.输出结果为>

2.输出结果为10,C在编译时被替换为了A+B,而A被替换为了2+2,B被替换为了3+3,结果正好是10.

宏定义是在编译时直接将程序中的内容替换为宏定义指定的内容,故在代码实际运行时便不再耗费额外的时间,这也是宏函数相比于不同函数的优点之一。

3.输出结果为26 27

int main(void)
{
    char str[]="Welcome to XiyouLinuxGroup";
    printf("%zu %zun",strlen(str),sizeof(str));
    return 0;
}

sizeof()表示字符串str所占的字节数,strlen()表示到第一个从第一个字符算起到第一个终止符之前的长度。

4.输出结果为x=5 num=5

在停一程序中多次调用该函数时,x的输出值仍为5,num的值会不断按照5的倍数递增,即5,10,15......

5.这段代码的做用是将一个10进制的数子转化为二进制。

int main(void)
{
    int number;
    unsigned mask;
    mask=1u<<31;
    scanf("%d",&number);
    while(mask)
    {
        printf("%d",(number&mask)?1:0);
        mask>>=1;
    }
    return 0;
}

6.该程序运行结果为Y

int main(void)
{
    char* str="Xiyou Linux Group";
    printf("%cn",*str+1);
    return 0;
}

str表示该字符串的首地址,*str表示X。,但是*比+的优先级高,这样其实就是给X的Ascil进行+1,结果就是Y.

7.该程序运行结果为XiyouLinuxGroup

int main(void)
{
    double a=3.14;
    float b=a;
    if((float)a==b)
    {
        printf("Xiyou");
    }
    if(a!=b)
    {
        printf("LinuxGroupn");
    }
    return 0;
}

3.14在计算机中用二进制表示出来难免会有一些误差,而float和double的精度不同,故表示出来的结果也会有不同,但是用强制转换将不同类型的浮点数转为相同的类型,这样就可以进行正确的比较了。

8.该程序输出为Xiyou Linux Group 2020

int main(void)
{
    int a[6]={0x6f796958,0x694c2075,0x2078756e,0x756f7247,0x30322070,0};
    printf("%dn",printf("%s",(char*)a));
    return 0;
}

其中第二个printf输出的是Xiyou Linux Group 20,因为这个字符串的大小刚好为20,于是该printf产生了一个返回值20,被第一个printf输出。(其中a数组中的0,以Ascil码的身份被读取为NULL,使该字符串的输出停止。

9.输出为2 0

              2 0

数组赋值时,如果赋值的个数小于数组分配的个数,会给该数组未赋值的部分自动赋值为0.

10.输出结果为1.

&a得到了a的地址,并用(char*)强制转换为指针类型,之后又对其进行解引用,得到该地址上的对象的值,即a的值1.

11.如果取消第3行的注释,a会被声明为提个常量,程序不能正常运行。

如果取消第6,8行的注释,程序不能正常运行,体内为b指向一个字符串常量的指针,对自古传常量不能进行修改。

12.

(1)预处理阶段。预处理器(cpp)根据字符#开头的命令,修改原始的C程序。

(2)编译阶段。将c语言文件从高级语言转为汇编语言。

(3)汇编阶段。将汇编语言转化为二进制语言。

(4)链接阶段。将使用的头文件与本文件链接起来。

GNU 计划。GNU 全称 GNU's Not UNIX,又被称为“革奴计划”,由理查德·斯托曼于 1983 年发起。GNU 计划的最终目标是打造出一套完全自由(即自由使用、自由更改、自由发布)、开源的操作系统,并初步将其命名为 GNU 操作系统。在 Linux 内核的基础上,GNU 计划开发了很多系统部件,GCC 就是其中之一

GCC 的全拼为 GNU C Compiler,即 GUN 计划诞生的 C 语言编译器,最初 GCC 的定位确实只用于编译 C 语言。但经过这些年不断的迭代,GCC 的功能得到了很大的扩展,它不仅可以用来编译 C 语言程序,还可以处理 C++、Go...等多种编译语言编写的程序。

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

(冒泡)

初步优化后的代码如下:

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

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

14.

(1)打开终端后如何知道当前目录的地址         pwd 文件名

(2)如何知道当前目录下都有什么文件        ls

(3)想在该目录下创建一个文件        mkdir 想创建的文件名

(4)最后你发现了相同的文件        rmdir

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号