C语言试题训练
引导语:现如今,C语言的应用已经越来越广泛,学习的人也越来越多,以下是小编整理的C语言试题训练,欢迎参考阅读!
一、单项选择题:(10分,每题2分)
1.设有以下定义:
int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int (*ptr)[3] = a, *p = a[0];
则以下能够正确表示数组元素a[1][2]的表达式是 。
A) *((*ptr + 1)[2])
B) *(*(p + 5))
C) (*ptr + 1)
D) *(*(a + 1) + 2)
2.有如下程序片段:
int i = 0;
while(i++ <= 2);
printf("%d", i);
则正确的执行结果是:
A) 2 B) 3
C) 4 D) 无结果
3.合法的数组定义是 。
A) int a[] ="language";
B) int a[5] = {0,1,2,3,4,5};
C) char a ="string";
D) char a[] = {"0,1,2,3,4,5"};
4.设有如下定义:
struct st
{
int a;
float b;
}st1, *pst;
若有pst = &st1; 则下面引用正确的是________。
A) (*1.b) B) (*pst).b
C) pst->st1.b D) 1.b
5.如果int i = 3, 则printf("%d", -i++ )的输出结果是 ,i的值是 。
A) -3 4 B) -4 4
C) -4 3 D) -3 3
二、写出下列程序的运行结果。(10分,每题2分)
1.
#include
main()
{
int x, y;
scanf("%2d%*2s%1d", &x, &y);
printf("%d", x/y);
}
程序运行时输入:2345678↙
则程序运行结果是:
2.
#include
main()
{
int i = 0;
while(i < 3)
{
switch(i++)
{
case 0:
printf("fat");
break;
case 1:
printf("hat");
case 2:
printf("cat");
default:
printf("Oh no! ");
}
put'');
}
}
运行结果是:
3.
#include
int Square(int i);
main()
{
int i=0;
i = Square(i);
for( ; i<5; i+=2 )
{
static int i = 1;
i += Square(i);
printf("%d ", i);
}
printf("%d", i);
}
int Square(int i)
{
return i*i;