安徽大学软件工程专业大一第二学期C语言程序设计包含指针考试.docx
《安徽大学软件工程专业大一第二学期C语言程序设计包含指针考试.docx》由会员分享,可在线阅读,更多相关《安徽大学软件工程专业大一第二学期C语言程序设计包含指针考试.docx(10页珍藏版)》请在冰豆网上搜索。
![安徽大学软件工程专业大一第二学期C语言程序设计包含指针考试.docx](https://file1.bdocx.com/fileroot1/2023-1/26/e5ca6d17-93c4-44d8-89eb-d2d12953442f/e5ca6d17-93c4-44d8-89eb-d2d12953442f1.gif)
安徽大学软件工程专业大一第二学期C语言程序设计包含指针考试
安徽大学软件工程专业大一2020-2021第二学期C语言程序设计(包含指针)考试
1.int*p=&n;那么*p的值是()?
[单选题]*
p的值
p的地址
n的值(正确答案)
n的地址
2.有如下定义语句:
intarr[][3]={{1,2},{3,4,5},{6,7,8},{9}};那么arr[1][3]的值为()?
[单选题]*
0
5
6(正确答案)
7
3.定义int**arr[3][4];则变量占用的内存空间为()?
[单选题]*
4
8
24
48(正确答案)
4.下面代码编译或者运行时会发生错误的有()?
*
charbuf[4]="hell";printf("%s",buf);(正确答案)
charbuf[4];strcpy(buf,"hell");printf("%s",buf);(正确答案)
charbuf[4]={0};memcpy(buf,"hell",strlen("hel"));printf("%s",buf);
charbuf[]="hell";printf("%s",buf);
5.intmain()
{
inta;
intb[2]={0,1};
printf("0x%x,0x%x,0x%x\n",&a,&b[0],&b[1]);
}[单选题]*
0x3ffff7a00x3ffff7980x3ffff79c(正确答案)
0x3ffff7a00x3ffff79c0x3ffff798
0x3ffff7980x3ffff79c0x3ffff7a0
0x3ffff79c0x3ffff7980x3ffff7a0
6.有如下代码
#include
char*myString()
{
charbuffer[6]={0};
char*s="HelloWorld!
";
for(inti=0;i {
buffer[i]=*(s+i);
}
returnbuffer;
}
intmain()
{
printf("%s\n",myString());
return0;
}[单选题]*
Hello
HelloWorld!
Well
以上结果都不正确(正确答案)
7.不能把字符串“HELLO!
”赋给数组b的语句是()?
[单选题]*
charb[10]={'H','E','L','L','O','!
','\0'};
charb[10];b="HELLO!
";(正确答案)
charb[10];strcpy(b,"HELLO!
");
charb[10]="HELLO!
";
8.有如下程序片断,以下描述正确的是()?
char*p="hello";
*(p+1)='w';[单选题]*
语法错误,编译通不过
链接通不过
执行错误(正确答案)
以上都不对
9.structDate
{
chara;
intb;
int64_tc;
chard;
};
Datedata[2][10];
如果data的地址是x,那么data[1][5].c的地址是()?
[单选题]*
x+195
x+365
x+368(正确答案)
x+215
10.下面程序运行结果是()?
#defineFUNC(x,y)(x>y)?
'a':
'b'
intmain()
{
unsignedinta=10;
charb=1;
unsignedcharc=-1;
printf(”%c,%c\n“,FUNC(a,b),FUNC(a,c));
return0;
}[单选题]*
a,a
a,b(正确答案)
b,a
b,b
11.下面程序运行结果是()?
#defineMAX(x)(10>x>2)?
(x+2):
(x+4)
intmain()
{
inta=10;
intb=0;
b=MAX(a);
printf("%d,",b);
a=5;
b=MAX(a)+4;
printf("%d\n",b);
return0;
}[单选题]*
14,7
14,13(正确答案)
14,11
7,11
12.下面程序的运行结果是()?
intmain()
{
inta[]={23,5,87,11,5};
int*p=a;
printf("%d,",p[2]);
p=(int*)(&a+1);
printf("%d\n",p[-2]);
return0
}[单选题]*
程序崩溃
87,随机值
87,87
87,11(正确答案)
13.下面程序运行的结果是()?
intmain()
{
inta[4]={2,3,2,3};
int*ptr1=(int*)&a+1;
int*ptr2=(int*)((int)a+1);
printf("%x,%x\n",*(ptr1-1),*ptr2);
return0;
}[单选题]*
2,3000000(正确答案)
2,3
3,2
3,3
14.下面程序运行的结果是:
()
typedefint(*FUNC1)(int);
typedefint(*FUNC2)(int*,int*,int*);
intInc(inta)
{
return(++a);
}
intMulti(int*a,int*b,int*c)
{
return(*c=*a**b);
}
voidShow(FUNC2fun,intarg1,int*arg2)
{
FUNC1p=Inc;
inttmp=p(arg1);
fun(&tmp,&arg1,arg2);
printf("%dIn",*arg2);
}
intmain()
{
inta;
Show(Multi,10,&a);
return0;
}[单选题]*
100
110(正确答案)
121
编译错误
15.voidmain()
{
unsignedchar*p1=(unsignedchar*)0x801000;
unsignedlong*p2=(unsignedlong*)0x810000;
printf("%x,%x\n",p1+5,p2+5);
}[单选题]*
801005,810020
801020,810020
801005,810014(正确答案)
801014,810020
16.定义一个int类型的指针数组,数组元素个数为10个,以下定义方式中,正确的是()?
[单选题]*
inta[10];
int(*a)[10];
int*a[10];(正确答案)
int(*a[10])(int);
17.在某32位系统下,程序如下:
charstr[]="http:
//www.tulun1";//图论科技官网
char*p=str;
sizeof(str)=?
//1
sizeof(p)=?
//2
voidfoo(charstr[100])
{
sizeof(str)=?
//3
}
void*p=malloc(100);
sizeof(p)=?
//4
则,1,2,3,4处的值分别是为()?
[单选题]*
25,4,100,100
25,4,100,4
4,4,4,4
25,4,4,4(正确答案)
18.32位机器上定义如下结构体:
structxx
{
longlong_x1;
char_x2;
int_x3;
char_x4[2];
//staticint_x5;
}
请问sizeof(xx)的大小是()?
[单选题]*
19
20
15
24(正确答案)
19.有如下代码:
intfoo(intn)
{
if(n<=1)return1;
returnn*foo(n-1);
}
以上代码的时间复杂度为()?
[单选题]*
O(log2n)
O(n)(正确答案)
O(nlog2n)
O
(1)
20.程序如下:
intfun(intn)
{
staticinta=2;
a++;
returna*n;
}
intmain()
{
intk=5;
inti=2;
k+=fun(i++);
k*=fun(i-1);
printf("%d,%d\n",i,k);
return0;
}[单选题]*
3,88(正确答案)
3,66
2,88
2,66