1、试卷四一选择题(40%) 1下列各选项中,()是有效的标识符。 A)abB)3dayC)day3D)#abc 2已知有定义:char ch;则如下正确的赋值为()。 A)ch=MB)ch=55C)ch=MD)ch=55 3已知 int y; float x3; 执行语句 y=x%2; 则变量y的值是( )。 A)1B)1C)0D)语句本身是错误的 4已知字母b的ASCII码为98,如ch为字符型变量,则表达式ch=b+52的值为( )。A)eB)dC)102D)100 5已知 int j,i1; 则执行ji+; i和j的值为( )。 A)1,1B)1,1C)2,1D)2,1 6已知 int a
2、=1,b=4,k; k=(+a0&!(b0); 则k, a, b的值分别为( )。 A)1,0,4B)1,0,3C)0,0,3D)0,0,4 7C语言程序的基本单位是()。A)语句B)程序行C)函数D)字符 8下列程序的运行结果是()。 main( ) char s20=“China”; printf(%dn,strlen(s);A)5B)6C)20D)无显示 9已知 int i,j,k;scanf(“%d%d%d”,&i,&j,&k);若从键盘送入i,j,k的值分别为1,2,3时,则错误的输入方式是( )。 A)1,2,3B)1(回车)2(回车)3(回车) C)1 2 3 D)1(回车)2
3、3 10有以下程序段int k=0;while(k=1) k+;while循环执行的次数()。A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次 11当调用函数时,实参是一个数组名,则向函数传递的是()。A)数组的长度B)数组每一个元素的地址C)数组的首地址D)数组每个元素中的值 12以下程序的输出结果是()。 main( ) Int j,x33=1,2,3,4,5,6,7,8,9; for(j=0;j3;j+) printf(%d,xj2-j); A)1,5,9B)1,4,7C)3,5,7D)3,6,9 13语句 for( i =0;i+x.aC)(*p).x.aD)(*p).a1
4、9C语言中文件的存取是以()单位A)函数B)语句C)字节D)记录20当调用函数fputc输出字符时,若操作不成功,则返回的值是()。A)EOFB)1C)0D)输出的字符二请给出下列程序的运行结果(40%)1 main( ) int i=3,j=4; printf(“%d,%dn”,i+,j+); printf(“%d,%dn”,+i,+j); 运行结果: 2 #define SQR(x) x*xmain( ) int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(%dn,a);运行结果: 3main( ) char *p=Wednesday; p=p+6
5、; printf(%sn,p);运行结果: 4long fun(int n) long s; if(n=1|n=2) s=2; else s=n-fun(n-1); return s; main( ) printf(%ldn,fun(3); 运行结果: 5#includestdio.h main( ) char b =program; char *a=PROGRAM; printf(n%c%sn,*a,b+1); printf(%sn,&b3); 运行结果:6main( ) char ch25=6937,8254,p25; int j,k,s=0; for(j=0;j2;j+) pj=chj;
6、 forj=0;j0;j+=2) s=10*s+pjk0; printf(%dn,s); 运行结果:7main( ) int j; for(j=1;j=5;j+) if(j%2=0) printf(*); else continue; printf(#); printf($n); 运行结果:8main( ) int j; for(j=0;j10;j+) if(j%2!=0) continue; printf(%d,j); 运行结果:三编程题(20%)(四题中任选二题)1 判断输入整数x的正负性和奇偶性。2 从键盘输入10个整数,求出其中的最大值。3 输入一行字符,统计其中的数字、字母、空格和其它字符出现的次数。4 求整数m的所有素数因子,并输出。