资源预览内容
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
考试题型考试题型 一、单项选择题(30 分) 二、填空题 (20 分) 三、阅读程序写结果(20 分) 四、编程序题(30) 复习题一复习题一 一、一、 选择题选择题 1下列说法中正确的是 。 AC 语言程序由主函数和 0 个或多个函数组成 BC 语言程序由主程序和子程序组成 CC 语言程序由子程序组成 DC 语言程序由过程组成 2执行语句“x=(a=3,b=a-)”后,x,a,b 的值依次为 。 A3,3,2 B3,2,2 C3,2,3 D2,3,2 3设有 int i=010,j=10;则 printf(%d,%dn,+i,j-); 的输出的是 。 A11,10 B9,10 C010,9 D10,9 4设 a、b 为字符型变量,执行 scanf(a=%c,b=%c, 后使 a 为A, b 为B,从键盘上的正确输 入是 。 AA B BA,B CA=A,B=B Da=A,b=B 5已知 int x=12, y=3;执行下述程序后,变量 x 的值是_。 do x/=y-;while(xy); A1 B2 C3 D程序运行有错误 6C 语言中 while 和 do-while 循环的主要区别是 。 Ado-while 的循环体至少无条件执行一次 Bwhile 的循环控制条件比 do-while 的循环控制条件严格 Cdo-while 允许从外部转到循环体内 Ddo-while 的循环体不能是复合语句 7设 x 和 y 均为 int 型变量,则执行下面的循环后,y 的值为 。 for (y=1,x=1;y=10 ) break; if (x%2=1) x+=5;continue; x - =3; A2 B4 C6 D8 8以下正确的说法是_。 A用户若需调用标准函数,调用前必须重新定义 B用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C系统根本不允许用户重新定义标准函数 D用户若需要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系 统自动去调 9若调用一个函数,且此函数中没有 return 语句,则关于该函数正确的说法是_ _。 A 没有返回值 B 能返回若干个系统默认值 C 能返回一个用户所希望的函数值 D 返回一个不确定的值 10已知函数定义如下: float fun1(int x,int y) float z; z=(float)x/y; return(z); 主调函数中有 int a=1,b=0;可以正确调用此函数的语句是_。 Aprintf(%f,fun1(a,b); Bprintf(%f,fun1( A1,12 B0,11C1,11 D0,12 13以下合法的数组定义是 。 Aint a3 =0,1,2,3,4,5; Bint a 3 =0,1,2,3,4; Cint a23=0,1,2,3,4,5,6; Dint a23=0,1,2,3,4,5,; 14函数调用:strcat(strcpy (str1,str2),str3); 的功能是 。 A将字符串 str1 复制到字符串 str2 中后再连接到字符串 str3 之后。 B将字符串 str1 连接到字符串 str2 之后再复制到字符串 str3 之后。 C将字符串 str2 复制到字符串 str1 中后再将字符串 str3 连接到字符串 str1 之后。 D将字符串 str2 连接到字符串 str1 之后再将字符串 str1 复制到字符串 str3 中。 15设有二维数组定义如下,则不正确的数组元素引用是 。 int a34 =1,2,3,4,5,6,7,8,9,10,11,12; Aa23 Baa001 Ca7 Da2c-a 16若用数组名作为函数调用时的实参,则实际上传递给形参的是 。 A数组首地址 B数组的第一个元素值 C数组中全部元素的值 D数组元素的个数 17以下对指针变量进行操作的语句,正确的选项是 。 Aint *p,*q; q=p; Bint a,*p,*q; q= p=*q; Cint a=b=0,*p; p= b=*p; Dint a=20,*p,*q= p=q; 18若有以下定义和语句: int s45,(*ps)5;ps=s; 则对 s 数组元素的正确引用形式是 。 Aps+1 B*(ps+3) Cps02 D*(ps+1)+3 19当说明一个共用体变量时系统分配给它的存储容量是 。 A共用体中最后一个成员所需的存储容量 B共用体中第一个成员所需的存储容量 C成员中占存储量最大者所需的存储容量 D各成员所需存储容量的总和 20有定义如下: struct student int age; char num8; stu3=20,200401,21,200402,10,200403; struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是 。 A(p+)-num Bp-num C(*p).num Dstu3.age 二、填空题二、填空题 1设 a=3,b=2,c=1,则 ab 的值为 ,abc 的值为 。 2若 w, x, y, z, m 均为 int 型变量,则执行下面程序段后的 m 值是 。 w= 1; x = 2; y= 3; z=4; m=(wy)?w:x; m= (my)? m:y; m=(mz)?m:Z; 3下面程序的输出结果是_。 #include main() int a=1,b=0; do switch(a) case 1: b=1;break; case 2: b=2;break; default : b=0; b=a+b; while(!b); printf(a=%d,b=%d,a,b); 4下面程序的输出结果是_。 #include main() int x,i; for(i=1;i=100;i+) x=i; if(+x%2=0) if(+x%3=0) if(+x%7=0) printf(%d ,x); 5下面程序的输出结果是_。 #include int func(int a,int b) int c; c=a+b; return(c); void main() int x=6,y=7,z=8,r; r=func(x-,y+,x+y),z-); printf(%dn,r); 6下面程序的输出结果是_。 #include void main() int x=1; void f1(),f2(); f1( ); f2(x); printf(%dn,x); void f1(void) int x=3; printf(%d ,x); void f2(x) int x; printf(%d ,+x); 7程序中有定义: #define S(r) r/r int a=4,b=3,area; 则表达式 area=S(a+b)的值为_。 三、程序完善题三、程序完善题 1以下程序的功能是计算分段函数 y 的值。请完善程序。 #include void main() int x,c,m; float y; scanf(“%d”, if( (1) ) c=-1; 4020205 . 0 201010 100 00 xx x xx x y else c= (2) ; switch( c) case 1: y=0; break; case 0: y=x; break; case 1: y=10; break; case 2: case 3: y=-0.5*x+20; break; default : y=-2; if( (3) ) printf(“y=%f”, y); else printf(“errorn”); 2有以下程序段: s=1.0; for(k=1;k=n;k+) s=s+1.0/(k*(k+1); printf(%fn,s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; (1) ; k=0; do s=s+d; (2) ; d=1.0/(k*(k+1); while( (3) ); printf(%fn,s); 3根据以下嵌套的 if 语句说给条件,填写 switch 语句,使它完成相同的功能。 (假设 score 的取值在 1100 之间。 ) if 语句: if(score60) k=1; else if(score70) k=2; else if(score80) k=3; else if(score90) k=4; else if(score=100) k=5; switch 语句: switch( (1) ) (2) : k=1; break; case 6:k=2; break; case 7:k=3; break; case 8:k=4; break; (3) :k=5; 4输入 2 个整数,输出它们的最小公倍数和最大公约数。请完善程序。 #include void main( ) int m,n,gbs,gys; scanf((1)); for(gbs=m; (2) ; gbs=gbs+m); gys= (3) ; printf(“gbs=%dtgys=%dn”, gbs,gys); 5下面函数的功能是判断一个数是否为素数。请完善程序。 void f(int m) int m,i,k; k=_(1)_; for(i=2;i=_(2)_;i+) if(_(3)_)break; if(_(4)_)printf(“是素数”); else printf(“非素数”); 6一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。请完善 程序。 void fun(long x) long ge,shi,qian,wan; wan= (1) ; qian=_(2)_; shi=_(3)_; ge=x%10; if (_(4)_) printf(this number is a huiwenn); else printf(this number is not a huiwenn); 四、程序设计题四、程序设计题 1编写程序计算分段函数 y 值。 2编写程序,输入一个字符串,求该字符串的有效长度。要求不能使用系统函数。 3编写程序实现,将键盘输入的一个十进制整数转换为 2 进制数并输出。 参考答案:参考答案: 一、选择题一、选择题 12345678910 0 01 0 xe x xe y x x ACBDDACBAD 11121314151617181920 DBBCCACCCD 二、填空题二、填空题 1、 1 0 2、 1 3、 a=1,b=2 4、 25 67 5、 21 6、 3 2 1 7、 7 三、程序完
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号