安徽大学软件工程专业大一2020-2021第二学期C语言程序设计(包含指针)考试
1. int *p = &n; 那么*p的值是()? [单选题] *
p的值 |
p的地址 |
n的值(正确答案) |
n的地址 |
2. 有如下定义语句:int arr[][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. 下面代码编译或者运行时会发生错误的有()? *
char buf[4] = "hell"; printf("%s", buf);(正确答案) |
char buf[4]; strcpy(buf, "hell"); printf("%s", buf);(正确答案) |
char buf[4] = {0}; memcpy(buf, "hell", strlen("hel")); printf("%s", buf); |
char buf[] = "hell"; printf("%s", buf); |
5. int main()
{
int a;
int b[2] = {0,1};
printf("0x%x, 0x%x, 0x%x\n", &a, &b[0], &b[1]);
} [单选题] *
{
int a;
int b[2] = {0,1};
printf("0x%x, 0x%x, 0x%x\n", &a, &b[0], &b[1]);
} [单选题] *
0x3ffff7a0 0x3ffff798 0x3ffff79c(正确答案) |
0x3ffff7a0 0x3ffff79c 0x3ffff798 |
0x3ffff798 0x3ffff79c 0x3ffff7a0 |
0x3ffff79c 0x3ffff798 0x3ffff7a0 |
6. 有如下代码
#include <stdio.h>
char *myString()
{
char buffer[6] = {0};
char *s = "Hello World!";
for(int i=0; i<sizeof(buffer)-1; i++)
{
buffer[i] = *(s+i);
}
return buffer;
}
int main()
{
printf("%s\n", myString());
#include <stdio.h>
char *myString()
{
char buffer[6] = {0};
char *s = "Hello World!";
for(int i=0; i<sizeof(buffer)-1; i++)
{
buffer[i] = *(s+i);
}
return buffer;
}
int main()
{
printf("%s\n", myString());
return 0;
} [单选题] *
} [单选题] *
Hello |
Hello World! |
Well |
以上结果都不正确(正确答案) |
7. 不能把字符串“HELLO!” 赋给数组b的语句是()? [单选题] *
char b[10] = {'H', 'E', 'L', 'L', 'O', '!', '\0'}; |
char b[10]; b = "HELLO!";(正确答案) |
char b[10]; strcpy(b, "HELLO!"); |
char b[10] = "HELLO!"; |
8. 有如下程序片断, 以下描述正确的是()?
char *p = "hello";
*(p+1) = 'w'; [单选题] *
char *p = "hello";
*(p+1) = 'w'; [单选题] *
语法错误,编译通不过 |
链接通不过 |
执行错误(正确答案) |
以上都不对 |
9. struct Date
{
char a;
int b;
int64_t c;
char d;
};
Date data[2][10];
如果data的地址是x,那么data[1][5].c的地址是()? [单选题] *
{
char a;
int b;
int64_t c;
char d;
};
Date data[2][10];
如果data的地址是x,那么data[1][5].c的地址是()? [单选题] *
x+195 |
x+365 |
x+368(正确答案) |
x+215 |
10. 下面程序运行结果是()?
#define FUNC(x,y) (x>y)? 'a': 'b'
int main()
{
unsigned int a = 10;
char b = 1;
unsigned char c = -1;
printf(”%c, %c\n“, FUNC(a,b), FUNC(a, c));
return 0;
} [单选题] *
int main()
{
unsigned int a = 10;
char b = 1;
unsigned char c = -1;
printf(”%c, %c\n“, FUNC(a,b), FUNC(a, c));
return 0;
} [单选题] *
a,a |
a,b(正确答案) | 字符串常量中不能直接包括双引号和反斜杠符号
b,a |
b,b |
11. 下面程序运行结果是()?
#define MAX(x) (10>x>2) ? (x+2) :(x+4)
int main()
{
int a = 10;
int b = 0;
b = MAX(a);
printf("%d,", b);
a = 5;
b = MAX(a) + 4;
printf("%d\n", b);
return 0;
} [单选题] *
int main()
{
int a = 10;
int b = 0;
b = MAX(a);
printf("%d,", b);
a = 5;
b = MAX(a) + 4;
printf("%d\n", b);
return 0;
} [单选题] *
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论