本卷共有3大题。
一、单项选择题(10道小题,共10分)
1、以下程序main( ) {int a=3; printf(“%d\n”,(a+=a-=a*a)); } 的输出结果是():(1分)
A、–6 B、12
C、0 D、-12
2、执行 printf("%d",(5/2+10%3)/3);的值是():(1分)
A、0 B、2
C、1 D、3
3、以下程序的输出结果是:main(){int x,y=0; for(x=1;x<10;x+=2) y++; printf("%d,%d\n",x,y);}(1分)
A、10,5 B、11,6
C、11,5 D、10,6
4、有定义char *s="ABCDE";,不能输出字符串”ABCDE”的语句为()(1分)
A、printf("%s",++s); B、printf("%s",s);
C、printf("%s",&s[0]); D、printf("%s",s++);
5、对于16位系统中,C语言中整数 -8在内存中的存储形式是():(1分)
A、1111 1111 1111 1000 B、1000 0000 0000 0000
C、1000 0000 0000 1000 D、1111 1111 1111 0111
6、已知int a[]={1,2,3,4,5,6,7,8,9},*p = a; 则值为3的表达式是()(1分)
A、p+=2,*(p++) B、p+=2,*++p
C、p+=3,*p++ D、p+=2,++*p
7、若int a=5,b=6,c=7,d=8,m=2,n=2; 则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为():(1分)
A、0 B、1
C、2 D、3
8、以下错误的描述是()(1分)
A、break语句不能用于循环语句和switch语句外的任何其它语句 B、在switch语句中使用break语句或continue语句的作用相同
C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D、在循环语句中使用break语句是为了跳出循环体,提前结束循环
9、以下程序运行后,main() {char *s="abcde"; s+=2; printf("%d\n",s); },输出结果是()(1分)
A、cde B、字符c的ASCII码值
C、字符c的地址 D、值不确定
10、下面关于字符串的说明中,错误的是();(1分)
A、char str[7]=”FORTRAN”; B、char *str=”FORTRAN”;
C、char str[]=”FORTRAN”; D、char str[]={‘F’,’O’,’R’,’T’,’R’,’A’,’N’};
二、简答题(6道小题,共30分)
1、写程序计算一个正整数的所有因子的和。
2、编写程序,计算并输出下面级数前n项(n=20)的部分和。
1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…
3、 编写程序,用双循环结构输出下列三角形:
*
* * *
* * * * *
* * * * * * *
4、编写程序,计算并输出下面级数前n项(n=50)中偶数项的和。
1*2+2*3+3*4+4*5+……+n*(n+1)+…
5、用起泡法对数组中15个实数进行排序。
6、写一程序:输入一个正整数,按十进制位从低到高输出。
三、编程题(6道小题,共60分)
1、你是如何理解C语言中的变量的?
2、C语言的数组名有什么作用?
3、谈谈C语言的表达式。
4、如何理解指针?
5、写出函数的语法结构。
6、写出条件运算符的语法,并写出其运算步骤。
急!!!!!!!!!!!!!!!!!!!!!