教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

c语言经典笔试题(非常全)(12)

来源:网络收集 时间:2026-07-11
导读: 156、 不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1; 答案:一、 int strcmp(char *source, char *dest) { assert((source!=NULL)(dest!=NULL)); int i,j; for(i=0; source

156、 不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1; 答案:一、

int strcmp(char *source, char *dest) {

assert((source!=NULL)&&(dest!=NULL)); int i,j;

for(i=0; source[i]==dest[i]; i++) {

if(source[i]=='\\0' && dest[i]=='\\0')

return 0; else

return -1;

} }

答案:二、

int strcmp(char *source, char *dest)

{ while ( (*source != '\\0') && (*source == *dest))

{

source++; dest++; }

return ( (*source) - (*dest) ) ? -1 : 0; }

157写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1 答案:一、 int fun(char *p) { if(p==NULL)

return -1; else

{ int length = 0; int i = 0; int judge = 1; length = strlen(p); for(i=0; i

judge = 0; break; }

if(judge == 0) return 0; else return 1; } }

答案:二、 int fun(char *p) {

int len = strlen(p) - 1; char *q = p + len; if (!p) return -1; while (p < q) {

if ((*p++) != (*q--)) return 0; }

return 1; } 158

1.在OSI 7 层模型中,网络层的功能有( B)

A.确保数据的传送正确无误 B.确定数据包如何转发与路由 C.在信道上传送比特流纠错与流控

2.FDDI 使用的是___局域网技术。(C )

D. A.以太网; B.快速以太网; C.令牌环; D.令牌总线。

注: (光纤分布数据接口(FDDI)是目前成熟的LAN技术中传输速率最高的一种) 3.下面那种LAN 是应用CSMA/CD协议的(C)

A.令牌环 B.FDDI C.ETHERNET D.NOVELL 4.TCP 和UDP 协议的相似之处是 (C )

A.面向连接的协议 B.面向非连接的协议 C.传输层协议 D.以上均不对 5.应用程序PING 发出的是___报文.(C )

A.TCP 请求报文。 B.TCP 应答报文。 C.ICMP 请求报文。 D.ICMP 应答报文。 6.以下说法错误的是(多) (BD )

A.中继器是工作在物理层的设备 B.集线器和以太网交换机工作在数据连路层 C.路由器是工作在网络层的设备 D.桥能隔离网络层广播

7.当桥接收的分组的目的MAC地址在桥的映射表中没有对应的表项时,采取的策略是( C) A.丢掉该分组 B.将该分组分片 C.向其他端口广播该分组 D.以上答案均不对 8.LAN Switch 在网络层次模型中的地位( B)

A.物理层 B.链路层 C.网络层 D.以上都不是

9.小于___的TCP/UDP端口号已保留与现有服务一一对应,此数字以上的端口号可自由分配。( C)

A.199 B.100 C.1024 D.2048

10.当一台主机从一个网络移到另一个网络时,以下说法正确的是 (B )

A.必须改变它的IP 地址和MAC 地址 B.必须改变它的IP 地址,但不需改动MAC 地址 C.必须改变它的MAC 地址,但不需改动IP 地址 D.MAC 地址.IP 地址都不需改动

159. 找错

#define MAX_SRM 256 DSNget_SRM_no() {

static int SRM_no; int I;

for(I=0;I

SRM_no %= MAX_SRM; if(MY_SRM.state==IDLE) { break; } }

if(I>=MAX_SRM) return (NULL_SRM); else

return SRM_no; }

答: 1,SRM_no没有赋初值

2,由于static的声明,使该函数成为不可重入(即不可预测结果)函数,因为SRM_no变量放在程序的全局存储区中,每次调用的时候还可以保持原来的赋值。这里应该去掉static声明。

160. 写出程序运行结果

int sum(int a)

{ auto int c=0; static int b=3; c+=1; b+=2; return(a+b+c); } void main()

{ int I; int a=2;

for(I=0;I <5;I++)

{ printf(\ }

} 答:8,10,12,14,16 该题比较简单。只要注意b声明为static静态全局变量,其值在下次调用时是可以保持住原来的赋值的就可以。 161 int func(int a) { int b;

switch(a) {

case 1: b=30; case 2: b=20; case 3: b=16; default: b=0; } return b;

} 则func(1)=? 答:func(1)=0,因为没有break语句,switch中会一直计算到b=0。这是提醒我们不要忘了break

162: int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p, *q; p=a; q=&a[2]; 则a[q-p]=? 答:a[q-p]=a[2]=2;这题是要告诉我们指针的运算特点

163. 定义 int **a[3][4], 则变量占有的内存空间为:_____

答:此处定义的是指向指针的指针数组,对于32位系统,指针占内存空间4字节,因此总空间为3×4×4=48。

164.设有int a=3;则执行语句a+=a-=a*a;后 变量a的值是? 答案:-12

165. Struct RegX { long bzy:1; long wrt:1; long rd:1; long cnt:4; long rsd:25; };

Sizeof(RegX)=? 答案:4 166

Char a[]=“hello\\0”; Char al[7]=“hello”; Char *ps=“hello”;

…… 此处隐藏:912字,全部文档内容请下载后查看。喜欢就下载吧 ……
c语言经典笔试题(非常全)(12).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/592983.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)