C测验(试题随机) 剩余时间:

1. 什么是输出
main()
{
int i;
i = 10;
printf("%d\t",5,6);
printf("%d", i , i++);
}
  • (A) 5 11
  • (B) 6 10
  • (C) 6 11
  • (D) 5 10
2. 下面的操作将打印什么。
{
int x=20,y=35;
x=y++ + x++;
y= ++y + ++x;
printf("%d%d",x,y);
}
  • (A) 5 8 9 4
  • (B) 5 7 9 4
  • (C) 5 8 9 5
  • (D) 5 7 8 4
3. 下面的循环会执行多少次?
main()
{
int i;
for(i=9;i;i=i-2)
{
printf("\n%d",i);
}
}
  • (A) 5
  • (A) 6
  • (A) 编译错误
  • (A) 无穷
4. c将打印出什么值
main()
{
int a,b,c;
a=10;
b=20;
c=printf("%d",a)+ ++b;
printf("\n%d",c);
}
  • (A) 23
  • (B) 22
  • (C) 30
  • (D) 编译错误
5. 以下代码的输出是什么?
#include "stdio.h"
main()
{
int i;
for(i=0;i<5;i++)
{
static int a=0;
int b=0;
a++;
b++;
printf("%d %d",a,b);
}
return 0;
}
  • (A) 1 1 2 1 3 1 4 1 4 1
  • (B) 1 1 2 1 3 1 4 1 5 1
  • (C) 1 0 2 0 3 1 4 1 5 1
  • (D) 0 1 2 0 3 1 4 1 5 1
6. switch(option)
{
case 'H' : printf("Hello");
case 'W' : printf("Welcome");
case 'B' : printf("Bye");
break;
}
如果option ='H',输出会是什么?
  • (A) Hello
  • (B) Hello Welcome
  • (C) Hello Welcome Bye
  • (D) None of the above
7. 下面的循环会执行多少次?
main()
{
int i,j;
i = 10;
for (j=i==10 ; j<=10 ; j++)
{
printf("\n%d",j);
}
}
  • (A) 1
  • (B) 10
  • (C) 11
  • (D) 编译错误
8. 执行以下c代码时会输出什么?
#include
{
char arr[11]="The African Queen";
printf("%s", arr);
return 0;
}
所有选择如下
  • (A) The African
  • (B) The
  • (C) 编译错误
  • (D) 以上都不是
9. 下面的循环将运行多少次
main()
{
int i;
i=0;
do
{
--i;
printf("%d",i);
i++;
}
while(i>=0);
}
  • (A) 1
  • (B) 无穷
  • (C) 0
  • (D) 编译错误
10. 考虑以下程序,
main ()
{
int i, j;
for (i=0, j=5; j >0, i < 10; i ++, j--)
printf("pskills.org");
}
“pskills.org”将被打印多少次
  • (A) 5
  • (B) 编译错误
  • (C) 10
  • (D) 以上都不是
11. 以下程序将输出什么?
#include
int main()
{
int a = 320;
char *ptr;
ptr = (char *)&a;
printf("%d",*ptr);
return 0;
}
  • (A) 2
  • (B) 320
  • (C) 64
  • (D) 编译错误
12. while循环执行多少次?
main ( )
{
int a = 1 ;
while ( a <= 100) ;
{
printf ( "%d", a++ ) ;
}
}
  • (A) 100
  • (B) 1
  • (C) 0
  • (D) 无穷
13. 以下哪个程序结构/组件/语句不是实现模块化的示例?
  • (A) DLL
  • (B) Functions
  • (C) type casting
14. main()会被调用多少次?
main()
{
printf("\n Main Called Again");
main();
}
  • (A) 1
  • (B) 100
  • (C) main不能递归调用
  • (D) 无穷
15. 以下操作的结果将打印出来:
main()
{
int x=5;
printf("%d,%d,%d",x,x<<2,x>>2);
}
  • (A) 5,21,1
  • (B) 5,20,1
  • (C) 5,19,0
  • (D) 5,19,1
16. 以下代码的输出是什么?

#include "stdio.h"
extern int a;
main(){
printf("\na=%d",a);
return 0;
}
  • (A) a=0
  • (B) a=garbage value
  • (C) error
  • (D) 都不是
17. 输出什么
main()
{
if(1,0)
{
printf("True");
}
else
{
printf("False");
}
}
  • (A) True
  • (B) False
  • (C) 编译错误
  • (D) 运行时错误
18. 什么是输出
main()
{
char *ptr = "Pskills.org";
char a =
printf("%c", ++*ptr++);
}
  • (A) 编译错误
  • (B) Q
  • (C) P
  • (D) a
19. 如果数组的基址是100,则以下程序的输出是什么。
main()
{
int gyan[] = { 1,2,3,4,5 };
int i,*ptr ;
ptr = gyan;
for(i = 0; i<=4 ; i++)
{
printf("\n %d", *ptr++);
}
}
  • (A) 1 2 3 4 5
  • (B) 2 3 4 5
  • (C) 100 101 102 103
  • (D) 101 102 103 104
20. 给出以下程序片段
main ()
{
int i, j, k;
i = 3;
j =2*(i++);
k =2*(++i);
}
哪一个给定的选项是正确的?
  • (A) j = 6, k = 10.
  • (B) i = 5, k = 6.
  • (C) j = 6, k = 8.
  • (D) i = 4, j = 6.