一、单选题(共 20 道试题,共 100 分。)V
1. 有如下程序 main( ) { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++ case 2: a++;b++ } printf(“a=%d,b=%d\n”,a,b); } 该程序的输出结果是( )
A. a=2,b=1
B. a=1,b=1
C. a=1,b=0
D. a=2,b=2
满分:5 分
2. 有以下程序段:int x=0,s=0; while (!x!= 0) s+=++x; printf("%d",s); 则 有以下程序段( )
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次
满分:5 分
3. 在访问一个结构元素前你必须定义( )
A. 结构体
B. 结构体变量
C. 定义结构指针
D. A和B
满分:5 分
4. 若有 int k=2; int *ptr1, *ptr2; ptr1=&k; ptr2=&k ;那么下列正确的语句是( )
A. k=*ptr1+*ptr2
B. ptr2=ptr1*2
C. *ptr1=*ptr2
D. ptr1=*ptr1*(*ptr2)
满分:5 分
5. 对下面程序 ,从整体功能及语法上看,说法正确的是( )(每行程序前面的数字表示行号)。 1 main() 2 { 3 float a[10]={0.0}; 4 int i 5 for(i=0;i<3;i++) scanf("%d",&a[i]); 6 for(i=0;i<10;i++) a[0]=a[0]+a[i]; 7 printf("%d\n",a[0]); 8 }
A. 没有错误
B. 第3行有错误
C. 第5行有错误
D. 第7行有错误
满分:5 分
6. 以下正确的说法是( )