C语言测试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言测试题

姓名:日期:◆下面的测试题中,认为所有必须的头文件都已经正确的包含了◆数据类型

char 一个字节1 byte

int 两个字节2 byte

long int 四个字节4 byte

float 四个字节4 byet

double 八个字节8 byte

long double 十个字节10 byte

pointer 两个字节2 byte

第一题:

main()

{

char *p,*q;

char str[]="Hello,World\n";

q = p = str;

p++;

printf(q);

printf(p);

}

运行结果是什么?____________

第二题:

void fun(char* str1, char* str2)

{

static char buffer[21];

strncpy(buffer, str1, 10);

strncat(buffer, str2, 10);

*str1 = *str2;

str1 = buffer;

}

main()

{

char str1[] = "ABC\n";

char str2[] = "BCD\n";

fun(str1, str2);

printf(str1);

printf(str2);

}

程序运行结果是__________________

第三题:

main()

{

short ar[11]={1,2,3,4,5,6,7,8,9,0,11};

short* par=&ar[1];

int i;

for(i=0; i<10; i++)

{

printf("%-5hd%-5hd%-5hd", ar[i], par[i],*(ar+i)); }

}

程序运行结果是__________________

第四题:

main()

{

short *p, *q;

short ar[10]={0};

p = q = ar;

p++;

printf("%5d", p-q);

printf("%5d", (char*)p - (char*)q);

printf("%5d", sizeof(ar)/sizeof(*ar));

}

假设sizeof(short)==2

程序运行结果是__________________

第五题:

int sub(int a, int b)

{

return a-b;

}

main()

{

typedef int (*SUB)(int, int);

SUB psub=sub;

/* psub++; */

printf("%d", psub(10,(10,3)));

}

程序运行结果是__________________, 如果将中间注释掉的语句加上, 编译为什么会报错?

第六题:

main()

{

char* pstrar[3];

int i;

for(i=1; i<3; i++)

{

pstrar[i]=" ";

}

strcpy(pstrar[1], "你好");

/* strcpy(pstrar[0], "世界"); */

printf(pstrar[2]);

}

假设编译器设置字符串常量为可读写,则程序结果是_____________

为什么说注释掉的程序语句是不正确的?

第七题:

main()

{

char *p1,*p2;

{

char *pchar;

char charar[100];

pchar = "Hello,World!";

charar = "你好,世界";

p1 = pchar;

p2 = charar;

}

printf(p1);

printf(p2);

}

说出此程序的错误之处?

第八题:

main()

{

typedef char CA3[2][2][2];

typedef CA3 *PCA3;

typedef char CA2[2][2];

typedef CA2* PCA2[2];

CA3 ca3={’A’,’\0’,’B’,’\0’,’C’,’\0’,’D’,’\0’}; PCA3 pca3 = &ca3;

PCA2 pca2={ca3, ca3+1};

int i=0,j=0;

for(i=0; i<2; i++)

{

printf("\n");

printf("%s\n", (char*)pca3[0][i]);

printf("%s\n", (*(pca2+i))[0][1]);

for(j=0; j<2; j++)

{

putchar(*(*(ca3+i)+j)[0]);

putchar(’’);

}

}

}

求输出的结果是:_____________________

第九题:

#include

static jmp_buf buf;

main()

{

volatile int b;

b = 3;

相关文档
最新文档