C语言笔试题100道(6)

C语言笔试题100道(6),第1张

c)函数定义可以在主函数前面也可以出现在主函数后面

d)每一个函数必须有一个return语句

 祥颂 e)函数总是返回一个整型数据

93) 下面C语言代码的输出结果是()。(选择一项)

printf(“[%8.4s]”,”Hello world!”)

a)[Hello world!]

b)[Hell ]

c)[ Hell]

d)[Hello wo]

94) 研究如下C语言程序:

#include

void main()

{

int n=9

while(n>6)

{

n–

printf(“%d”,n)

}

}

输出结果是()。(选择一项)

a)987

b)8765

c)876

d)9876

95) 在C语言中,下面不能对指罩字符串正确赋初值的语句是()。(选择一项)

a)char str[5]=”good!”

b)char str[]=”good!”

c)char *str=”good!”

d)char str[5]={‘g’,’o’,’o’,’d’}

96) C语言中,可以用以下()退出循环,继续执行循环之后的语句。(选择一项)

a)break

b)loop

c)exit(0)

d)continue

97) 在C语言中,为一个特定的数据分配内存时,我们必须做()。(选择一项)

a)定义一个特定数据类型的变量

b)定义一个值

c)定义一个特定数据类型的指针

d)以上都不是

100) 在C语言中,下列对唯宴闹数组的声明中,非法的是()。(选择三项)

a)int score(100)

b)float values[10][15]

c)float average[ROW],[COLUMN]

d)char name[15]

e)int sum[]

基础知识部分见其它回答。

1 假定您的编程平台为32位,则如下。(16位类推)

union

{

int i[2] /* 2*sizeof(int) = 2*4 = 8 byte*/

long k/* sizeof(long) = 4 byte 我用VC++6.0 */

char c[4] /* 4*sizeof(char) = 4*1 = 4 byte */

}r,*s=&r

所以上述变量r所占空间大小为8字节(肢返编程平台为32位时)。

2 假定您的编程平台也为“小尾端”(参见 百度 小尾端 http://baike.baidu.com/view/2404079.htm)

如下,对r(s所指)赋值后。

s->i[0]=0x39s->i[1]=0x38

r 的值与地址值如下:(仅写地址的最低两凳毕位)

地址:0x07 0x06 0x05 0x04 0x03 0x02 0x01 0x00

值 :0x00 0x00 0x00 0x38 0x00 0x00 0x00 0x39

成员i的起始地址为:0x00 -> 0x07

成员k的起始地址为:0x00 -> 0x03

成员c的起始地址为:0x00 ->历粗饥 0x03

所以:

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

s->c[3]=0, s->c[2]=0,

s->c[1]=0, s->c[0]=0x39,(0x39即为字符‘9’)

故输出为 9。

一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)

1、有数组定义inta={{1},{2,3}}则a[0]的值为0。()

2、int(*ptr)(),则ptr是一维数组的名字。()

3、指针在任何情况下都可进行>,<,>=,<=,==运算。()

4、switch(c)语句中c可以是int,long,char,float,unsignedint类型。()

5、#defineprint(x)printf("theno,"#x",is")

二、填空题(共30分)

1、在windows下,写出运行结果,每空2分,共10分。

charstr[]="Hello"

char*p=str

intn=10

sizeof(str)=()

sizeof(p)=()

sizeof(n)=()

voidfunc(charstr[100])

{}

sizeof(str)=()

2、voidsetmemory(char**p,intnum)

{*p=(char*)malloc(num)}

voidtest(void)

{char*str=NULL

getmemory(&str,100)

strcpy(str,"hello")

printf(str)

}

运行

test函数有什么结果?()

10分

3、设

intarr[]={6,7,8,9,10}

int*ptr=arr

(ptr++)+=123

printf("%d,%d",*ptr,*(++ptr))

()10分

三、携颂编程题(第一小题20,第二小题30分)

1、不使用库函数,编写函数

intstrcmp(char*source,char*dest)

相等返回

0,不等返回

-1

2、写一函数

intfun(char*p)判断一字符串是否为回文,是返回

1,不是返回

0,出错返回

-1

阅读了本文,本站还为你提供以下物隐毁可能你会感兴趣的相关文章:罩备

厦新笔试真题

安信证券笔试题

日立环球存储笔试题目


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12411426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存