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

1. 以下哪个程序结构/组件/语句不是实现模块化的示例?
  • (A) DLL
  • (B) Functions
  • (C) type casting
2. “C”语言中有多少个变量范围?
  • (A) 2
  • (B) 3
  • (C) 4
  • (D) 5
3. 以下操作的结果将打印出来:
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
4. 输出什么
main()
{
int i;
i = 10;
if(i == 20 || 30)
{
printf("True");
}
else
{
printf("False");
}
}
  • (A) True
  • (B) False
  • (C) 语法错误
  • (D) 运行时错误
5. 下面的循环将运行多少次
main()
{
int i;
i=0;
do
{
--i;
printf("%d",i);
i++;
}
while(i>=0);
}
  • (A) 1
  • (B) 无穷
  • (C) 0
  • (D) 编译错误
6. 什么是输出
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
7. 以下代码的输出是什么?
#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
8. 什么是“C”语言的存储类? 选择多个 -
a. auto 关键字
b. static 关键字
c. register 关键字
d. extern 关键字
e. automatic
f. static
  • (A) a,b,c
  • (B) a,b,c,d
  • (C) e,f
  • (D) 都不是
9. 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
10. 以下代码的输出是什么?
#include "stdio.h"
extern int a;
main(){
printf("\n a=%d",a);
return 0;
}
int a=5;
  • (A) a=0
  • (B) a=5
  • (C) a=garbage value
  • (D) error
11. 如果数组的基址是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
12. 以下程序将输出什么?
#include
int main()
{
int a = 320;
char *ptr;
ptr = (char *)&a;
printf("%d",*ptr);
return 0;
}
  • (A) 2
  • (B) 320
  • (C) 64
  • (D) 编译错误
13. 给出以下程序片段
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.
14. 将打印出什么值
main()
{
int a, b, c;
a = 10;
b = 20;
c = printf("%d",a) + ++b;
printf ("%d",c);
}
  • (A) 23
  • (B) 22
  • (C) 30
  • (D) 编译错误
15. 下面的操作将打印什么。
{
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
16. 如果a = 10且b = 20,下面的语句会打印什么?
printf("%d",a==b);
  • (A) 20
  • (B) 10
  • (C) 1
  • (D) 0
17. 以下程序的输出是什么?
main()
{
printf(3+"Proskills"+4);
}
  • (A) 编译错误
  • (B) skills
  • (C) kills
  • (D) ls
18. 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) 编译错误
19. 以下代码的输出是什么?
#include "stdio.h"
main(){
static int s;
++s;
printf("%d",s);
if(s<=3)
main();
printf("%d",s);
return 0;
  • (A) 1 2 3 4 4 4 4 4
  • (B) 0 1 2 3 4 4 4 4
  • (C) 1 2 3 3 4 4 4 4
  • (D) 0 1 3 4 4 4 4 4
20. 考虑以下程序,
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) 以上都不是