C语言网络编程面试题(C语言 面试题)

http://www.itjxue.com  2023-02-01 13:21  来源:未知  点击次数: 

二级C语言笔试题和面试题答案目及答案

(考试时间120分钟,满分100分)

一、选择题((1)-(40)每小题1分, (41)-(50)每小题2分, 共60分)

下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 下列设备中只能作为输入设备的是

A) 磁盘驱动器 B) 鼠标器 C) 存储器 D) 显示器

(2) 下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是

A) Ctrl+Break B) Ctrl+P C) Ctrl+C D) Ctrl+H

(3) 通常所说的386机是

A) 8位机 B) 16位机 C) 32位机 D) 64位机

(4) 二进制数01100100转换成十六进制数是

A) 64 B) 63 C) 100 D) 144

(5) 十六进制数100转换成十进制数是

A) 1024 B) 512 C) 256 D) 128

(6) 对于存有重要数据的5.25英寸软盘,防止计算机病毒感染的方法是

A) 不要与有病毒的软盘放在一起 B) 在写保护口贴上胶条

C) 保持软盘清洁 D) 定期对软盘格式化

(7) 在启动DOS系统时,启动盘的根录下必须包含的文件是

A) START.COM B) COMMAND.COM C) FORMAT.COM D) BOOT.COM

(8) DOS系统启动后,下列文件中常驻内存的是

A) DOS.COM B) COMMAND.COM C) DISKCOPY.COM D) SYS.COM

(9) 下列名字中,不能作为DOS磁盘文件名的是

A) JTU B) 93GZ.PRG C) CON D) ATTT.BAS

(10) 下列命令中属于内部命令的是

A) SYS B) COMP C) DIR D) DISKCOMP

(11) 下列文件名中,能与ABC?.?匹配的是

A) AB12.C B) ABCD.FOR C) ABC.TXT D) ABCD.C

(12) 要列出当前盘当前目录中第三个字符为"B"的所有文件的清单,可使用的命令为

A) DIR **B*.* B) DIR ??B*.? C) DIR ??B.* D) DIR ??B*.*

(13) 设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,可使用的命令为

A) CD D2 B) CD D2\ C) CD \D2 D) CD D1\D2

(14) 设当前盘为C盘,A盘当前目录为根目录。为了删除A盘目录\WS下扩展名为.TXT的所有文件,可用的命令为

A) DEL WS\*.TXT B) DEL \WS\*.TXT C) DEL A:\WS\?.TXT D) DEL A:WS\*.TXT

(15) 设当前盘为C盘,C盘当前目录为\AAA\BBB\A\B\X。下列命令中能正确执行的是

A) MD \AAA\BBB\A B) MD X C) MD \ D) MD \AAA\BBB\A\B\X

(16) 在下列各组的两个命令中,根据给定的条件,执行效果互相等价的是

A) DEL \DOS 与 RD \DOS(当前盘上有目录\DOS)

B) FORMAT A:与 DEL A:*.*(A盘为启动盘)

C) DISKCOPY A: B: 与 COPY A:*.* B:(A盘为启动盘)

D) COPY F1 F2 与 TYPE F1F2(当前盘当前目录下有文件F1)

(17) 为了在1.2MB的高密驱动器A中格式化一张360KB的启动盘,可用的命令为

A) FORMAT A: B) FORMAT A:/S/1 C) FORMAT A:/S/4 D) FORMAT A:/S

(18) 要在打印机上输出当前盘当前目录下扩展名为.TXT的所有文件内容,正确的命令为

A) COPY *.TXT PRN B) COPY *.TXTPRN C) TYPE *.TXT PRN D) TYPE *.TXTPRN

(19) 设B盘目录结构如下:

设B盘的当前目录为\F2,要将A盘当前目录下的文件P.BAS复制到B盘的F3子目录中,可用的命令为

A) COPY P.BAS B: B) COPY A:P.BAS B:\

C) COPY A:P.BAS B:\F3 D) COPY A:P.BAS B:F3\

(20) 设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT连接后以文件名Y.TXT存放到A盘的当前目录中,可用的命令为

A) COPY A.TXT+X.TXT A:Y.TXT B) COPY B:A.TXT+X.TXT A:Y.TXT

C) COPY B:A.TXT+B:X.TXT Y.TXT D) COPY B:A.TXT+B:X.TXT Y.TXT

(21) C语言中最简单的数据类型包括

A) 整型、实型、逻辑型 B) 整型、实型、字符型

C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型

(22) C语言中,运乍对象必须是整型数的运算符是

A) % B) \ C) %和\ D) * *

(23) 为表示关系x≥y≥z,应使用C语言表达式

A) (x=y)(y=z) B(x=y)AND(y=z) C)(x=y=z) D)(x=y)(y=z)

(24) 下述对C语言字符数组的描术中错误的是

A) 字符数组可以存放字符串

B) 字符数组中的字符串可以整体输入、输出

C) 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D) 不可以用关系运算符对字符数组中的字符串进行比较

(25) 设有如下定义: int x=10,y=3,z; 则语句

printf("%d\n",z=(x%y,x/y)); 的输出结果是

A) 1 B) 0 C) 4 D) 3

(26) 以下程序的输出结果是

main()

{ int x=10,y=10;

printf("%d %d\n",x--,--y); }

A) 10 10 B) 9 9 C) 9 10 D) 10 9

(27) 定义如下变题和数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是

for(i=0;i3;i++) printf("%d",x[i][2-1]);

A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9

(28) 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

A) a0 B) !a C) a=0 D) a

(29) 阅读程序:

#include

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%x\n",p);

printf("%x\n",p+9); }

该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是

A) 203 B) 204 C) 1a4 D) 1a6

(30) 设有如下函数定义:

int f(char *s)

{ char *p=s;

while(*p!='\0') p++;

return(p-s); }

如果在主程序中用下面的语句调用上述函数,则输出结果为

printf("%d\n",f("goodbey!"));

A) 3 B) 6 C) 8 D) 0

(31) 以下说法中正确的是

A) C语言程序总是从第一个的函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义

C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分 1 2 3 4

如何面试linux下C语言编程项目问题

首先需要将你的项目的整个设计目的给表述明确;

然后需要将你的项目内有体现你技术价值的部分给深入分析;

其次你需要把握好重点,表述明确自己做了哪些,哪些欠缺;

最后突出你对编程能力的和编程框架额掌握程度;

?当然,这只是其中的一种面试技巧。

计算机二级C语言笔试题和面试题答案目

如下这份计算机二级C语言笔试题目对于要考基计算机二级证书的朋友来说,应该会很有帮助,需要的朋友赶紧收藏吧!

一、选择题((1)-(10),(21)-(40)每题2分,(11)-(20)每题1分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

1. 下列叙述中正确的是

A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D 上述三种说法都不对 答案:B

2. 下列叙述中正确的是

A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

D 上述三种说法都不对 答案:C

3. 软件测试的目的是

A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误

D 发现程序中的错误 答案:B

4. 下面描述中,不属于软件危机表现的是

A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制

D 软件成本不断提高 答案:A

5. 软件生命周期是指

A 软件产品从提出、实现、使用维护到停止使用退役的过程

B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程

D 软件的运行维护过程 答案:A

6. 面向对象方法中,继承是指

A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和操作的机制 答案:D

7. 层次型、网状型和关系型数据库划分原则是

A 记录长度 B 文件的大小 C 联系的复杂程度

D 数据之间的联系方式 答案:D

8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是

A 一对一B 一对多C 多对多D 多对一 答案:C

9. 数据库设计中反映用户对数据要求的模式是

A 内模式B 概念模式C 外模式D 设计模式 答案:C

10. 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是

A 自然连接B 交C 投影D 并 答案:A

11. 以下关于结构化程序设计的叙述中正确的是

A 一个结构化程序必须同时由顺序、分支、循环三种结构组成

B 结构化程序使用goto语句会很便捷 C 在C语言中,程序的模块化是利用函数实现的

D 由三种基本结构构成的程序本文由论文联盟收集整理只能解决小规模的问题 答案:C

12. 以下关于简单程序设计的步骤和顺序的说法中正确的是

A 确定算法后,整理并写出文档,最后进行编码和上机调试

B 首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档

C 先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档

D 先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构 答案:D

13. 以下叙述中错误的是

A C程序在运行过程中所有计算都以二进制方式进行 B C程序在运行过程中所有计算都以十进制方式进行 C 所有C程序都需要编译链接无误后才能运行

D C程序中整型变量只能存放整数,实型变量只能存放浮点数 答案:B

14. 有以下定义:inta; longb; doublex,y;则以下选项中正确的表达式是

A a%(int)(x-y) B a=x!=y; C (a*y)%b D y=x+y=x 答案:C

15. 以下选项中能表示合法常量的是

A 整数:1,200 B 实数:1.5E2.0 C 字符斜杠:‘\’ D 字符串:"\007" 答案:C

16. 表达式a+=a-=a=9的值是

A 9 B _9 C 18 D 0 答案:D

17. 若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是

A ab+c B ch=getchar() C a==b+c D a++ 答案:A

18. 有以下程序

#include

main()

{inta=1,b=0;

if(!a) b++;

elsEif(a==0)if(a)b+=2;

elseb+=3;

printf(”%d\n”,b);

程序运行后的输出结果是

A 0 B 1 C 2 D 3 答案:C

20. 有以下程序

#include

main()

{int a=1,b=2;

while(a6){b+=a;a+=2;b%二10;}

printf(”%d,%d\n”,a,b);

程序运行后的输出结果是

A 5,11 B 7,1 C 7,11 D 6,1 答案:D

21. 有以下程序

#include

main()

{int y=10;

while(y--);

printf(”Y=%d\n”,Y);

程序执行后的输出结果是

A y=0 B y= -1 C y=1 D while构成无限循环 答案:B

22. 有以下程序

#include

main()

{char s[」=”rstuv";

printf(”%c\n”,*s+2);

程序运行后的输出结果是

A tuv B 字符t的ASCII码值 C t D 出错 答案:D

23. 有以下程序

#include

#include

main()

{char x[]=”STRING”;

x[0」=0;x=’\0’;x[2」=’0’;

printf(”%d%d\n”,sizeof(x),strlen(x));

程序运行后的输出结果是

A 61 B 70 C 63 D 71 答案:B

24. 有以下程序

#include

Int f(intx);

main()

{intn=1,m;

m=f(f(f(n)));printf(”%d\n”,m);

intf(intx)

{returnx*2;}

程序运行后的输出结果是

A 1 B 2 C 4 D 8 答案:D

25. 以下程序段完全正确的是

A int *p;scanf("%d",p); B int *p;scanf(“%d”,p);

C int k, *p=k;scanf("%d",p); D int k, *p:;*p= k; scanf(“%d”,p); 答案:D

26. 有定义语句:int *p[4];以下选项中与此语句等价的是

A intp[4]; B int**p; C int*(p「4」); D int (*p)「4」; 答案:D

27. 下列定义数组的语句中,正确的是

A B C intx[0..10]; D int x[]; 答案:B

28. 若要定义一个具有5个元素的整型数组,以下错误的定义语句是

A inta[5]=﹛0﹜; B intb[]={0,0,0,0,0}; C intc[2+3]; D inti=5,d[i]; 答案:A

29. 有以下程序

#include

voidf(int *p);

main()

{inta[5]={1,2,3,4,5},*r=a;

f(r);printf(”%d\n”;*r);

void f(int *p)

{p=p+3;printf(”%d,”,*p);}

程序运行后的输出结果是

A 1,4 B 4,4 C 3,1 D 4,1 答案:D

30. 有以下程序(函数fun只对下标为偶数的元素进行操作)

# include

void fun(int*a;int n)

{int i、j、k、t;

for (i=0;i

面试题:C语言用十种方法实现hello world程序,怎么做?

1 最经典的“Hello world!”,直接用 printf 输出 “Hello world!”

#include stdio.h

#include iostream

int main(){

printf("Hello world! "); // 教科书的写法

puts("Hello world!"); // 我最喜欢的

puts("Hello" " " "world!"); // 拼接字符串

std::cout "Hello world!" std::endl; // C++风格的教科书写法

return 0;}

2、用宏写的“Hello world!”

“#”可以“提取”参数的名 字,把它变成字符串。

#include stdio.h

#define Say(sth) puts (#sth)

int main(){

return Say(Hello world!);

}

3. 断章取义的“Hello world!”

#include stdio.h

int main(){

return puts ("Do not say: Hello world! "[12]);

}

4. 退出时运行的“Hello world!”

atexit()注册回调函数。这个函数可以调用多次,最后注册的函数最先执行。

#include stdio.h

#include stdlib.h

void say(){printf("world! ");}

void sth(){printf("Hello ");}

int main(){

return atexit(say), atexit (sth);

}

5. 读取自己的“Hello world!”

// Hello world!

#include iostream

#include fstream

#include string

int main(){

std::ifstream ifs(__FILE__);

std::string say, some, word;

ifs say some word;

std::cout some " " word;

return 0;

}

6. 话分两头的“Hello world!”

声明一个全局的类的实例,在 main 函数执行之前会调用这个类的构造函数,结束之后则会调用析构函数。

#include iostream

class say{

public:say(){std::cout "Hell";}

~say(){std::cout "world!";}

}hello;

int main(){

std::cout "o ";

return 0;

}

7. 传入模板的“Hello world!”

#include iostream

template char * words

class say{

public:

void operator () (){std::cout words;}

};

char hello[] = "Hello world!";

int main(){

return sayhello()(), 0;

}

8. 调用私有函数的“Hello world!”

#include iostream

#include cstddef

class secret{

private:

virtual void say(){std::cout "Hello world!";}

};

int main(){

secret word;

(reinterpret_castvoid (*)()(**(intptr_t**)(word)))();

return 0;

}

9. 直接修改函数的返回地址

#include stdio.h

#include stdlib.h

#include stddef.h

void say(){

puts("Hello world!");

exit(0);

}

int main()

{

volatile intptr_t a = 0;

volatile intptr_t * p = a;

*(p + 2) = (intptr_t)say;

*(p + 3) = (intptr_t)say;

return 0;

}

10. 外星人说的“Hello world!”

#include stdio.h

void alien_say (char * p){

while (putchar (*(p += *(p + 1) - *p)));

}

int main(){

return alien_say ("BETHO! Altec oh liryom(a loadjudas!) dowd."), 0;

}

c语言电话面试一般会问什么 本人应届毕业生

既然是面试,一定要提前准备,最好准备一套自我介绍,包括对IT行业的看法之类,面试官经常会问这些问题。

由于c语言是程序员工作语种的其中1个,所以对于程序员这个工种,还是有一些具体的注意事项:

第一、基础很重要,不要生疏了。

不管应聘什么开发岗位,基础永远是最重要的。IT业不停地在炒作新概念,昨天是SOA,今天是云计算。我们永远不知道明天流行什么,但是只要有踏实的基础,辅以较好的学习能力,要跟上步伐也不会太难。所以绝大多数公司都会特别看重应聘人员的基础能力,比如编程语言本身的特性、基本的算法和数据结构、进程间通信等等,毕竟这些具体技术问题有客观的答案,而且在各具体行业都是相通的。

工作三年以上的人,往往都习惯了“拷贝+修改”式的工作,用不到的基础知识基本上都忘掉了,一到应聘的时候就难免眼高手低,总是抓不住机会。

而事实上,技术基础即便是遗忘了,也是可以很快捡起来的。如果求职者确实忘了很多基础知识,那么参加面试的前夜,花点时间把大学里的课本再翻出来看看吧。似乎很土的方法,但确实是有效的。

第二、要关注技术前沿。

不管做任何工作,如果只顾着低头做事,而不晓得抬头看天。那么不管做多久,自身的水平总是停留在毕业时的水平;如果基础又忘记了太多,那还不如毕业生。

关注技术前沿,并不是要求跟进每一个新技术,而只需关注目前主流媒体经常宣传的一些新技术、新思想。关注这些技术前沿的动向,并能与自己从事的工作联系起来作一些深入思考,那么这是向面试官宣扬求职者的学习能力的一种好办法。

第三、小公司比较看重知识的广度,大公司更看重知识的深度。

如果求职业想去一些小公司工作,那么由于他们人少,分工没那么细,所以用人单位大多喜欢知识面广的应聘者——求职者会听到更多的“怎么做”。对于应聘这样的公司,求职者可以着重培养知识的广度,比如做网站后台开发,最好也能js、css、apache、mysql都懂一些,能独自搭建一套完整的网站,这样去很多小公司难度都不太大。但是由于个人的精力总是有限的,所以要注意不要铺得太开,重点还是在后台开发本身。

而大公司由于分工比较明细,所以往往更喜欢考量重点知识面的深度——求职者会听到更多的“为什么”。所以平常解决问题时,不要光搜索一把解决了就完了,还需要仔细研究各种问题的来龙去脉,并能分析总结,将这些收获系统化、理论化。

当然,广度和深度的需求不是绝对的,一个优秀的开发人员应该对至少一到两个专业领域有着深入的了解,并熟悉其他相关领域,也就是所谓的一专多能。

第四、良好的简历设计可以为你的应聘加分。

社会应聘的简历往往比校园应聘的简历写得随意,因为有工作经验的人往往认为面试官会更看重他的工作经验,而不是简历格式。其实不然。

大多数简历只会出现在面试官面前10秒到1分钟不等。这个短短的时间内,如何让求职者脱颖而出?这个方面有很多的攻略,我只说重点建议,不解释原因。

一是简历要突出优势,而不是描述经历。比如出身名校、就职过名企、参与过著名项目、拿过大奖,这些比较客观的优势要重点突出。如果求职者没有UI的功底,那么简单地放大加粗也可以达到效果。当然有些公司只接受文本型简历,那就设法加一些特殊符号吧。

二是技术简历减少模糊化的语句,最好能数字化。例如项目代码量,维护的数据量,网站的访问量,请求平均耗时等等。

三是简历要能结合应聘岗位做一些匹配的修改。撇开招聘网站通用的简历不谈,如果求职者明确对一个特定公司的特定岗位投出简历,那么求职者有必要把跟对应岗位无关的内容弱化,并强化跟其业务相关的内容。如果实在行业差别太大,那么表达几句对其行业的见解和兴趣也是可以的。

第五、要有积极的沟通意识。

优秀的面试官会激励应聘者讲他原先工作的内容,并从而评估出应聘者的能力水平。但隔行如隔山,绝大多数面试官会慢慢将问题引向自己熟悉的领域——这往往又是应聘者不太熟悉的领域。这就要求应聘者能积极分析面试官的兴趣点,并将自己相近的特长表现出来。

如果跟面试官有了意见冲突,也尽量不要再同一个问题上纠缠。那也许是故意制造的陷阱——看看求职者的团队意识。应聘者需要明白的是,在面试场合中不要妄图“战胜”面试官,即便是碰上一个期望“战胜”应聘者的面试官。

第六、要有良好的表达能力。

没有哪个面试官喜欢啰啰嗦嗦说了半天还是没说到点子上的应聘者,所以要尽量简明扼要地回答问题,除非面试官确实表现出对具体细节的兴趣。 回答问题时注意面试官的情绪变化,一旦他表现出任何想打断的意愿,立即一句话结束这个话题。有些比较复杂的问题,可以先思考十到二十秒钟,因为一旦开口就没有思考的时间,话多的人不容易收住话题。

跟学校考试不一样,大多数主观性问题并不要求应聘者一二三四说得滴水不漏,能说到大部分关键点就是可以的了。另外注意,各种技术术语不要搞混了。搞不清楚的理论概念,不如不说。免得面试官听到个术语就拉出来穷追猛打,把自己问挂。

第七、自信。

大多数做技术的,平时都信心满满,一到应聘的时候却总觉得自己不懂的东西还太多。回答问题时声音太小,或者畏畏缩缩用很多“可能”“也许”“大概”。这个不一定影响求职者的录用,但是不自信的表现无疑会影响在跟HR谈薪水时候的议价能力。所以,无论如何,应聘的时候表现得轻松镇定一些,还是很有好处的。

当然,自信和自大之间往往只有一线之差。千万小心,不要过度地表现自信搞成了自大,因为HR往往对这一点非常敏感。如果求职者只是要谨慎地表现自信的话,只要回答问题时面带微笑就够了。

最后需要特别提醒的是,以上种种其实只不过是应聘时的技巧和注意点而已。职业规划需要有长远的眼光和坚持不懈的学习。台上一分钟,台下十年功。真正的实力还是要在平时工作和学习中进行积累。

华为C语言面试题求解?

第一行,定义数组arr,元素共八个

第二行,定义指针p指向arr数组

此时的*p还是等于arr数组的第0个元素,也就是1

第三行,p++里的++是最后才运算,所以先执行*p+=123,也就是arr的第0个元素被赋值为123

此时arr变成{123,2,3,4,5,6,7,8} ,然后是p++,此时*p已经是等于arr的第1个元素了,也就是2

第四行,在执行printf时,括号里的参数是从右往左的顺序进行读取的,也就是说先执行 *(++p),也就是p先加一再指针,指向的是arr第2个元素3,然后在执行*p,还是3

最后显示的内容就是

3,3

press any key to continue

(责任编辑:IT教学网)

更多

推荐Flash actionscript文章