1、=a=10 B)1a=1,a=10 D)10?1:0);等价的是 C 。 A)if(x0) y=1; B)if(x)y=1;else y=0; C)y=1;if(x=0)y=0; D)if(x0)y=1; else y=0; A) -1 x=0 B) 1 x=0 C) 0 x0 D) -1 x0 y= -1 x0 y= 1 x0 y= 0 x=20 x0 0 x16. int a6=1,2,3,则a0到a5各元素的值是 A 。 A) 1,2,3,0,0,0 B) 1,2,3,3,3,3 C) 1,2,3,1,2,3 D) 1,2,3,a3到a5不确定17. 下列程序段执行后,z的结果是 B 。
2、#define p(x) x*xint x=5,y=3,z;z=p(x+y);A) 64 B) 23 C) 46 D) 3218. 有以下定义,且满足0i5,则 D 是对数组元素地址的正确表示。int a =1,2,3,4,5,*p,i;p=a;A) &(a+i) B) a+ C) &p D) &pi19. 下列程序段执行后,i的值是 A 。int i=100,*p;p=&i;i=*p+10;A) 110 B) 100 C) 120 D) 9020. 在数组名作函数实参时,传递给函数形参的是 A 。A) 数组首地址 B) 数组全部元素 C) 数组第1个元素 D)数组最后一个元素21. 下列的函
3、数原型声明, D 是正确的。A) void f(int x;int y); B) void f(x,y);C) void f(intx,y); D) void f(int,int);22. 若int i=10;执行下列程序后,变量i的正确结果是_D_。switch(i) case 9:i+=1;case 10:case 11:default:A) 10 B) 11 C) 12 D) 1323. 以下判断两个字符串相等的正确方法是_D_。A) if(str1=str2) B) if(str1=str2)C) if(strcpy(str1,str2)=0) D) if(strcmp(str1,st
4、r2)=0)24. C语言对嵌套if语句的规定是:else总是_D_配对。A) 与之前最近的if B) 与第一个ifC) 与缩进位置相同的if D) 与其之前最近的且尚为配对的if25. 在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它三个语句不等价,它是_D_。A) if(a)s1;else s2; B) if(a=0)s2;else s1;C) if(a!=0)s1; D) if(a=0)s1;26. 以下错误的描述是_B_。A) break语句不能用于循环语句和switch语句外的任何其它语句。B) 在switch语句中使用break语句或continue语句
5、的作用相同。C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环。D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。27. 以下四个关于C语言的结论中,只有一个是错误的,它是_D_。A) 可以用while语句实现的循环一定可以用for语句实现B) 可以用for语句实现的循环一定可以用while语句实现C) 可以用do-while语句实现的循环一定可以用while语句实现D) do-while语句与while语句的区别仅是关键字“while”出现的位置不同28. 以下不是死循环的语句是_D_。A) for(;x+=i); B) while(1)
6、x+;C) for(i=10;i-)sum+=i; D) for(;(c=getchar()!=n)printf(%c,c);29. 定义int i=1;,执行语句while(i+y和x=y的逻辑值分别为0和_。7C语言中,数组是一种重要的数据结构,它的下标总是从_开始。8若有定义FILE *fp;,要求以二进制读写方式(rb+)打开文件list,正确打开文件list的语句是 。三、程序运行题(共20分 每题4分)答案必须填在答题卡的程序运行题部分,否则不得分。1. 下面程序的运行的结果是 。#include void main() int i,j,m,n; i=8;j=10; m=+i;n=
7、j+; printf(“%d,%d,%d,%d”,i,j,m,n);2. 下面程序段执行后,sum的值为 。int sum=0,i;for(i=1;=10;i+)if(i%5=0)break;else sum+=i; 3. 下面程序运行的结果是: int s=0,k; for(k=7;k=4;k-) switch(k) case 1:case 2:case 3:s+;break;case 4:case 5:case 6:s+=2;case 7:case 0:s+=3;printf(“s=%dn”,s);4. 程序清单如下: int sum=0,number,i=1,finished=0;whi
8、le(i0) sum+=number;else if(number=0) finished=1;i+;printf(“sum=%d,number=%d”,sum,number);若运行该程序,并输入数据为:5 6 3 7 4 0,则结果为 。5. 下面程序运行的结果是: 。int max(int,int);int a=3,b=5,c=100; int s=0;s+=max(max(a,b),c);int max(int x,int y) int a=15,b=20,max;max=(ab)?a:b;return(max);四、完善程序题(共20分 每空2分)每空必须且只能填写一个语句或一个表达
9、式,答案必须填在答题卡的完善程序题部分,否则不得分。1.打印输出100200间的所有素数,要求每行输出10个素数。其中判定m是否为素数的方法:用2到m-1范围内的各整数去除m,若都除不尽,则m是素数。程序清单如下:math.h int m,i,n=0;for(m=100;m=m)printf(“%d”,m); (2) ; if(n%10=0) (3) ;printf(“n”);2下列程序的功能是:从键盘输入一行字符,统计其中单词个数,单词之间用空格分隔开。 char string81;int i,num=0,word=0;char c;gets( (1) );(c=stringi) (2) 0
10、; if(c= )word=0; else if( (3) ) word=1; (4) ;printf(“There are %d words in the line.n”, num);3下列程序用于输出下面的图形。要求:图形第一行的第一个字符输出在第40列且字符0之间以一个空格隔开。 0 0 0 0 0int i,j;char a5=0, 0, 0, 0, 0,space= ;= (1) ; for(j=1;j= (2) ;j+) printf(“%c”,space);for(j=0;5;j+) printf(“%c%c”,aj,space); (3) ;五、编程题(共10分 第1题4分,第
11、2题6分)答案必须填在答题卡的编程题部分,否则不得分。1 编程序,从键盘输入三个整数,求出其中的最大数和最小数(4分)。2用/41-1/3+1/5-1/7+公式求的近似值,直到最后一项的绝对值小于10-6为止(6分)。参考答案13456789DCBA111213141516171819202122232425262728293031323334353637383940二、填空题(共10分,每空1分)1. 函数声明 、 函数体 (答案不要求有顺序)2. 选择结构 、 循环结构 (答案不要求有顺序)3. 字母 4. 0 5. 3 6. 1 7. 0 8. fp=fopen(“list”, “rb+
12、”);1. 9,11,9,10 2. 10 3. s=9 4. sum=18,number=0 5. s=20 四、完善程序题(共20分,每空2分)1. (1)m%i=0 (2)n+ (3)printf(“”n) 2. (1)string (2)!= (3)word=0 (4)num+ 3. (1)5 (2)38+i (3)printf(“n”) 五、编程序(共10分 第1题4分,第2题6分)第1题:程序清单 #include max)max=b; if(bmax)max=c; if(cmin)min=c; printf(“Max=%d,Min=%dn”,max,min);第2题:#include1e-6)Pi=Pi+t; n=n+2; s=-S; t=S/n;Pi=Pi*4;printf(Pi=%10.6fn,Pi);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1