好文档 - 专业文书写作范文服务资料分享网站

面试题目C语言(答案1)

天下 分享 时间: 加入收藏 我要投稿 点赞

1、 编写一段程序实现以下功能:

输入一个整数n ;

A、 如果n是一位整数,则输出n,否则将各个位上的数加起来得到结果n, B、 继续步骤A

例子:输入n=45699

1、 各位之和为4+5+6+9+9=33 不是一位数,则n=33

2、 继续各位之和为:3+3=9;结果为一位数,得到最后结果为9

2、输入一个整数N,和一个整数M,则由1到N的各个整数围成一个圆,现要求你从1开始数到M并将第M个数从此列中去掉,并存入已给出的数组,继续从你取出的数的后一位从1开始数,再次数到M为止,从此列中去掉,并存入已给出的数组,一直这样数,直到剩余一个数,最后把你存入数组的数和最后一个数分别打印出来。 例子: N=10,M=3;

A、1 2 3 4 5 6 7 8 9 10

3、从1开始数数到M(3)则将3取出,并存入数组,剩余数为 B、1 2 4 5 6 7 8 9 10

4、从下一位(4)作为1开始数,数到M(3)即6,则将6取出,并存入数组,剩余数为 C、1 2 4 5 7 8 9 10

(依此规律继续,直到剩余最后一个数为止)……………………

最后打印结果为:

从圆中一次取出的数据为:3 6 9 2 7 1 8 5 10 最后剩余的数位:4

funA(int *x,int a,int b){ return a*b; }

funB(int*x,int a,int b){ return a%b; }

funC(int (*t)(), , int x ,int y){ return (*t)(y,x); }

Main(){ Int x,a,b; A = 9; B = 3; X = funa(b,a); X += funC(funB,a,b); Printf(“%d”,x); }

求输出结果

下列哪种定义方式是错误的 Char w[2][40]; w[1]=”string1”; Char *w[2]; w[1] = “string2”; Char w[][40] = “string3”; Char w[] = “string4”;

Java 求结果 Public Test{ Public void do(){ Static int I; ++I; }

Public static void main(String[] args){ Test test = new Test(); test.do(); system.out.println(i);

} }

数据库的题目也有一些,比如某个数据库,三个值 A B score

要查找score的平均成绩,按B分组,如果分数相同,按B的降序显示,还要按平均Score的升序显示

5、内存和指针使用的理解 Linux系统(核心技术点) 1、进程有独立的地址空间 2、进程间通信的机制 3、描述OSI分层结构

———————————————————————————————————————

1、存储区有哪些,static int a存在哪个区

2、二维数组指针定义,int指针定义,行指针定义,返回int型方法的指针带char型参数

3、合法的ip地址选择

4、在局部变量是否可以和全局变量同名

5、strcpy的实现

6、const char * p ,char const *p,char * const p的区别

7、堆和栈的区别

8、heap和stack的区别

9、判断程序错误有一条程序 printf(str);(str是char型)

10、写出程序运行结果里有一条程序 x &=....(不知道&=是什么)

11、写出你接触过最复杂的数据处理

12、写了一个链表插入节点的方法

13、比较注重线程的操作

——————————————————————————————————————

单选题

1. 以下程序的输出结果是_____a

Main( ) {

Int n=4; While (n- -)

Printf(“%d”,- -n);

}

a.) 2 0 b.) 3 1 c.) 3 2 1 d.) 2 1 0

2. 设有以下宏定义: #define N 4

#define Y(n) ((N+1)*n) /*这种定义在编程规范中是严格禁止的*/ 则执行语句:Y(5+1)为_____c a.) 30 b.) 28 c.) 26 d.) 24

3. enum ENUM_A {

X1 Y1 Z1=5 A1 B1 };

enum ENUM_A enumA=Y1; enum ENUM_A enumB=B1; 请问 enumA=( ); enumB=( ); b a.) 1,4 b.) 1,7 c.) 2,4 d.) 1,5

4.若有函数max(a,b),并且函数指针变量p已指向函数,当调用该函数时正确的调用方法:______c

a.) (*p)max(a,b); b.) *pmax(a,b); c.) (*p)(a,b); d.) *p(a,b);

5. 对栈S进行下列操作:push(1),push(5),pop(),push(2),pop(),pop()。则此时栈顶元素是______ d

a.) 1 b.) 2 c.) 0 d.) 不确定

6.在一个32位的操作系统中,设void *p=malloc(100)。请问sizeof(p)的结果是___b_ a.) 100 b.) 4 c.) 2 d.) 6

7. 若已定义:int a[9],*p=a,并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是_____c

a.) p+1 b.) a+1 c.) a++ d.) ++p

8.设有如下定义:

Unsigned long pulArray[]={6,7,8,9,10} Unsigned long *pulPtr;

则下列程序段的输出结果为______d {

pulPtr=pulArray; *(pulPtr+2)+=2;

Printf(“%d,%d\\n”,*pulPtr,*(pulPtr+2)); }

a.) 8,10 b.) 6,8 c.) 7,9 d.) 6,10

9.以下程序运行后,输出结果是 d(c) Void main( ) {

Char *szStr=”abcde”;

szStr

printf(“%lu\\n”,szStr);//printf(“%d\\n”, *szStr); return;

}

a.) cde b.) 字符c的ASCLL码值 c.) 字符c的地址 d.) 出错

10. 给出以下定义: C Char X[ ]=”hello”;

Char Y[ ]={?h?,?e?,?l?,?l?,?o?}; 则正确的叙述为______

a.) 数组X和数组y等价 b.) 数组X和数组Y的长度相同

c.) 数组X的长度大于数组Y的长度 d.) 数组X的长度小于数组Y的长度

11. 在32位X86下,有下列程序 #include {

Union {

Int k; Char i[2]; }*s,a; S=&a;

s->i[0]=0x39; s->i[1]=0x38;

printf(“%x\\n”,a.k); }

输出结果是______a(d)

a.) 3839 b.) 3938 c.) 380039 d.) 不可预知

12.有如下函数定义:

Unsigned long MyFunc(unsigned long ulKey) {

return ( ((ulKey &0x000000ffUL)<<24) |((ulKey &0x00000ff00UL)<<8) |((ulKey &0x00ff0000UL)>>8) |((ulKey &0xff000000UL)>>24) }

MyFunc(0x12345678)的返回值_____c

a.) 0x12345678 b.) 0x87654321 c.) 0x78563412 d.) 0x12563478

13. ((a>b)?a:b)代表什么含义______b

a.) 代表a,b之中较小的那个值 b.) 代表a,b之中较大的那个值 c.) 代表a是否比b大 d.) 语法错误

14.某系统总线的一个总线周期包含3个时钟周期,每个总线周期可以传送32位数据。若总线的时钟频率为33MHz,则总线带宽为_____MB/s。d(33*32)/3= 44 a.) 11 b.) 22 c.) 33 d.) 44

15.如下定义,则s在内存中占多大空间______a #pragma pack (1)

+=2

Union {

Struct {

Unsigned char aa:4; Unsigned char ab:4; } a;

Unsigned char c; Unsigned char d; } s;

a.) 1byte b.) 2byte c.) 3byte d.) 4byte

16. 如下定义: Union tagAAAA {

Struct {

Char ucFirst; Short usSecond; Char ucThird; }half_a; Long li }number;

在按1字节对齐情况下:sizeof(union tagAAAA)大小是____a 在按4字节对齐情况下:sizeof(union tagAAAA)大小是_____c a.) 4byte b.) 6byte c.) 8byte d.) 12byte

17. 0x12345678在采用BigEndian中内存的排列顺序是__a___,在采用LittleEndian内存中的排列顺序是_c____(答案从左到右内存地址依次增加)

a.) 12 34 56 78 b.) 34 12 78 56 c.) 78 56 34 12 d.) 56 78 12 34

18.关于静态变量,下面说法“不正确”的有_______a a.) 静态变量在堆栈中分配;

b.) 静态变量的作用域一定是局部的,例如在一个文件内或一个函数内; c.) 静态变量可分为静态局部变量和静态全局变量; d.) 静态变量存在于数据段中;

19. 下面正确的有_____a

a.) 在中断中,不能同步获取信号量,但可以释放信号量; b.) 在中断中,可以使用系统调用sleep函数来等待一会儿;

c.) 每一个进程有自己的独立地址空间,每一个线程也有自己的独立地址空间;

d.) CPU占有率为60%,意思是CPU有60%时间在运行指令;40%时间没有运行指令;

20.设有如下定义:int(*ptr)( );则以下叙述中正确的是_____c a.) ptr是指向一维组数的指针变量; b.) ptr是指向int型数据的指针变量;

c.) ptr是指向函数的指针,该函数返回一个int型数据;

d.) ptr是一个函数名,该函数的返回值是指向int型数据的指针;

21.在Windows95环境下,定义数组:int **a[2][4];则数组a所占用的内存单位为_____b a.) 8字节 b.) 32字节 c.) 64字节 d.) 不能确定

22.由国际标准化组织(ISO)和国际电信联盟(ITU-T)共同提出的开放系统互连(OSI)参考模型中共有__b_层,参考模型的最高层则为___c__层。

面试题目C语言(答案1)

1、编写一段程序实现以下功能:输入一个整数n;A、如果n是一位整数,则输出n,否则将各个位上的数加起来得到结果n,B、继续步骤A例子:输入n=456991、各位之和为4+5+6+9+9=33不是一位数,则n=332、继续各位之和为:3+3=9;结果为一位数,得到最后结果为92
推荐度:
点击下载文档文档为doc格式
95yf13vikz5136q5shrs
领取福利

微信扫码领取福利

微信扫码分享