《C语言》在线作业一
一,单选题
1. 若i为整型变量,则以下循环执行次数是( ): for (i=2;i==0;) printf("%d",i-- );
A. 无限次
B. 0次
C. 1 次
D. 2次
正确答案:B
2. 下列程序段不是死循环的是( )
A. int i=100; while(1){i=i%100+1;if(i>100) break; }
B. for(;;);
C. int k=0; do{++k; if(i>100) break; }while(k>=0);
D. int s=36;while(s);--s;
正确答案:C
3. 已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式为( ) int a[3][4]; f(a);
A. f(int array[][6])
B. f(int array[3][])
C. f(int array[][4]
D. f(int array[2][5])
正确答案:B
4. 设有以下说明,则下面不正确的叙述是( ) union data {int i; char c; f1oat f; )un;
A. un所占的内存长度等于成员f的长度
B. un的地址和它的各成员地址都是同一地址
C. un可以作为函数参数
D. 不能对un赋值,但可以在定义un时对它初始化
正确答案:C
5. 下面程序的运行结果是( ) #include<stdio. h> main() {int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }
A. a=3,b=11
B. a=2,b=8
C. )a=1, b=-1
D. a=4,b=9
正确答案:B
6. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )
A. int
B. float
C. double
D. 不确定
正确答案:C
7. 有如下程序 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
正确答案:A
8. 以下正确的描述是( )
A. continue语句的作用是结束整个循环的执行
B. 只能在循环体内和switch语句体内使用break语句
C. 在循环体内使用break语句或continue语句的作用相同
D. 从多层循环嵌套中退出时, 只能使用goto语句
正确答案:B
9. 若有 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)
正确答案:C |