安徽大学软件工程专业大一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]);
} [单选题] *
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());
    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'; [单选题] *
语法错误,编译通不过
链接通不过
执行错误(正确答案)
以上都不对
9. struct Date
{
    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;
} [单选题] *
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;
} [单选题] *

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。