C语言测试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;