习题15.docx
- 文档编号:6635689
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:42
- 大小:69.42KB
习题15.docx
《习题15.docx》由会员分享,可在线阅读,更多相关《习题15.docx(42页珍藏版)》请在冰豆网上搜索。
习题15
习题1
一、单项选择题
1.一个C程序的执行是从
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
2.以下叙述正确的是
A)在C程序中,main函数必须位于程序的最前面
B)程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.以下叙述不正确的是
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
4.C语言规定:
在一个源程序中,main的位置
A)必须在最开始B)必须在系统调用的库函数后面
C)可以任意D)必须在最后
5.一个C语言程序是由( )
A)一个主程序和若干子程序组成B)函数组成
C)若干过程组成D)若干子程序组成
二、填空题
1.C源程序的基本单位是。
2.一个C源程序中至少包括一个。
3.在C语言中,格式化输入操作是由库函数完成的,格式化输出操作是由库函数
完成的。
习题2
一、单项选择题
1.下面四个选项中,均是不合法的用户标识符的选项的是
A)A p_o do
B)float lao _A
C)b-a goto int
D)_123 temp INT
2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符
A)必须为字母
B)必须为下划线
C)必须为字母或下划线
D)可以是字母、数字和下划线中的任意一种
3.下面正确的字符常量是
A)‘c" B)'\\"
C)'w' D)"
4.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A)4 B)16
C)32 D)52
5.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是
A)7 B)8
C)6 D)2
6.若有数学式
则不正确的C语言表达式是
A)a/b/c*e*3B)3*a*e/b/c
C)3*a*e/b*cD)a*e/c/b*3
7.在C语言中,要求运算数必须是整型的运算符是
A)/ B)++
C)!
= D)%
8.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为
A)int B)float
C)double D)不确定
9.在C语言中,char型数据在内存中存储形式是
A)补码 B)反码
C)原码 D)ASCII码
10.表达式18/4*sqrt(4.0)/8值的数据类型为
A)float B)char
C)double D)不确定
11.判断字符型变量c1是否为小写字母的正确表达式为
A)’a’<=c1<=’z’B)(c1>=a)&&(c1<=z)
C)(‘a’>=c1)||(‘z’<=c1)D)(c1>=’a’)&&(c1<=’z’)
12.设:
inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为
A)1B)2
C)3D)4
13.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求的是
A)x%2==0B)!
x%2!
=0
C)(x/2*2-x)==0D)!
(x%2)
二、填空题
1.若s是int型变量,s=6;则表达式s%2+(s+1)%2的值为
2.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为
3.若a.b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为,b值为,c值为。
4.若x和n均是int型变量,且x和n的初值均为5,则精神表达式x+=n++后x的值为,n的值为。
5.若定义:
inta=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值。
6.在C语言中,不带任何修饰符的浮点常量,是按类型数据存储的。
7.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为
8.C语言中的标识符只能由三种字符组成,它们是,和。
9.若有定义:
inte=1,f=4,g=2;floatm=10.5,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是
10.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为
11.假设m是一个三位数,从左到右用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是
12.已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A
C>B的值是。
13.若有x=1,y=2,z=3,则表达式(x x: y)==z++的值是。 14.执行以下程序段后,a=,b=,c=。 intx=10,y=9; inta,b,c; a=(x--=y++)? x--: y++; b=x++; c=y; 15.设x,y,z均为int型变量;写出描述“x,y和z中有两个为负数”的C语言表达式: 。 16.设有以下变量定义,并已赋确定的值,charw;intx;floaty;doublez; 则表达式: w*x+z-y所求得的数据类型为。 17.若x为int类型,请以最简单的形式写出与逻辑表达式! x等价的C语言关系表达式。 18.数学表达式 等价的C语言表达式是 19.数学表达式 等价的C语言表达式是 习题3 一、单项选择题 1.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是。 inta1,a2;charc1,c2; scanf(“%d%c%d%c”,&a1,&a2,&c1,&c2); A)10A20B↙B)10A20B↙ C)10A20B↙C)10A20B↙ 2.执行下列程序片段时输出结果是。 intx=13,y=5; printf(“%d”,x%=(y/=2)); A)3B)2C)1D)0 3.若定义x为double型变量,则能正确输入x值的语句是。 A)scanf(“%f”,x);B)scanf(“%f”,&x); C)scanf(“%lf”,&x);D)scanf(“%5.1f”,&x); 4.有输入语句: scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是。 A)132↙B)1,3,2↙ C)a=1b=3c=2↙D)a=1,b=3,c=2↙ 5.逻辑运算符两侧运算对象的数据类型。 A)只能是0或1B)只能是0或非0正数 C)只能是整型或字符型数据D)可以是任何类型的数据 6.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。 A)x%2==0B)! x%2! =0C)(x/2*2-x)==0D)! (x%2) 7.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。 A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B)(x>=1)||(x<=10)||(x>=200)||(x<=210) C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D)(x>=1)||(x<=10)&&(x>=200)||(x<=210) 8.C语言对嵌套if语句的规定是: else总是与。 A)其之前最近的if配对B)第一个if配对 C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对 9.设: inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为。 A)1B)2C)3D)4 10.下述程序的输出结果是。 #include intmain() { inta=0,b=0,c=0; if(++a>0||++b>0) ++c; printf(“%d,%d,%d”,a,b,c); return0; } A)0,0,0B)1,1,1C)1,0,1D)0,1,1 11.以下程序输出结果是。 #include intmain() { intx=1,y=0,a=0,b=0; switch(x) { case1: switch(y) { case0: a++;break; case1: b++;break; } case2: a++;b++;break; case3: a++;b++; } printf(“a=%d,b=%d”,a,b); return0; } A)a=1,b=0B)a=2,b=1C)a=1,b=1D)a=2,b=2 12.下面程序段 intk=2; while(k=0){printf(“%d”,k);k--;} 则下面描述中正确的是。 A)while循环执行10次B)循环是无限循环 C)循环题语句一次也不执行D)循环体语句执行一次 13.以下程序段的循环次数是。 for(i=2;i==0;)printf(“%d”,i--); A)无限次B)0次C)1次D)2次 14.下面程序的输出结果是。 #include intmain() { intx=9; for(;x>0;x--) { if(x%3==0) { printf(“%d”,--x); continue; } } return0; } A)741B)852C)963D)875421 15.下面程序的输出结果是。 #include intmain() { intk=0,m=0,i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) k++; k-=j; } m=i+j; printf(“k=%d,m=%d”,k,m); return0; } A)k=0,m=3B)k=0,m=5C)k=1,m=3D)k=1,m=5 16.若运行以下程序时,输入2473↙,则程序的运行结果是。 #include intmain() { intc; while((c=getchar())! =’\n’) switch(c-‘2’) { case0: case1: putchar(c+4); case2: putchar(c+4);break; case3: putchar(c+3); default: putchar(c+2);break; } printf(“\n”); return0; } A)668977B)668966C)66778777D)6688766 二、基本知识填空题 1.一个表达式要构成一个C语句,必须。 2.复合语句是用一对界定的语句块。 3.写出数学式子 的C语言表达式。 4.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式 。 5.C语言的语法规定: else子句总是与的if相结合,与书写格式无关。 6.switch语句中,如果没有与该值相等的标号,并且存在default标号,则从开始执行,直到switch语句结束。 7.C语言三个循环语句分别是语句,语句和语句。 8.至少执行一次循环体的循环语句是。 9.continue语句的作用是结束循环。 10.用break语句可以使程序流程跳出switch语句体,也可以在循环结构中止循环体。 三、阅读程序,指出结果 1.若运行时输入100↙,写出以下程序的运行结果 #include intmain() { inta; scanf(“%d”,&a); printf(“%s”,(a%2! =0)? ”No”: ”Yes”); return0; } 2.写出以下程序的运行结果 #include intmain() { inta=2,b=7,c=5; switch(a>0) { case1: switch(b<0) { case1: printf(“@”);break; case2: printf(“! ”);break; } case0: switch(c==5) { case1: printf(“*”);break; case2: printf(“#”);break; default: printf(“#”);break; } default: printf(“&”); } printf(“\n”); return0; } 3.阅读下面程序,输入字母A时,指出其运行结果 #include intmain() { charch; ch=getchar(); switch(ch) { case65: printf("%c",'A'); case66: printf("%c",'B'); default: printf("%s\n","other"); } return0; } 3.写出下面程序运行的结果 #include intmain() { intx,i; for(i=1;i<=100;i++) { x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf(“%d”,x); } return0; } 4.写出下面程序运行的结果 #include intmain() { inti,b,k=0; for(i=1;i<=5;i++) { b=i%2; while(b--==0)k++; } printf(“%d,%d”,k,b); return0; } 5.写出下面程序运行的结果 #include intmain() { inta,b; for(a=1,b=1;a<=100;a++) { if(b>=20)break; if(b%3==1){b+=3;continue;} b-=5; } printf(“%d\n”,a); return0; } 6.写出下面程序运行的结果 #include intmain() { intk=1,n=263; do{k*=n%10;n/=10;}while(n); printf(“%d\n”,k); return0; } 7.写出下面程序运行的结果 #include intmain() { inti=5; do { switch(i%2) { case0: i--;break; case1: i--;continue; } i--;i--; printf(“%d”,i); }while(i>0); return0; } 8.写出下面程序运行的结果 #include intmain() { inti,j; for(i=0;i<3;i++,i++) { for(j=4;j>=0;j--) { if((j+i)%2) { j--; printf(“%d,”,j); continue; } --i; j--; printf(“%d,”,j); } } return0; } 9.写出下面程序运行的结果 #include intmain() { inta=10,y=0; do { a+=2; y+=a; if(y>50)break; }while(a==14); printf(“a=%dy=%d\n”,a,y); return0; } 10.写出下面程序运行的结果 #include intmain() { inti,j,k=19; while(i=k-1) { k-=3; if(k%5==0) { i++; continue; } elseif(k<5)break; i++; } printf(“i=%d,k=%d\n”,i,k); return0; } 11.写出下面程序运行的结果 #include intmain() {inty=2,a=1; while(y--! =-1) do{ a*=y; a++; }while(y--); printf(“%d,%d\n”,a,y); return0; } 四、程序填空 1.以下程序输出x,y,z三个数中的最小值。 #include intmain() { intx=4,y=5,z=8; intu,v; u=x ; v=u ; printf(“%d”,v); return0; } 2.下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请填空使程序完整。 #include intmain() { intn,k=1,s=0,m; for(n=1;n<=100;n++) { k=1;s=0; ; while() { k*=m%10; s+=m%10; ; } if(k>s)printf(“%d”,n); } return0; } 3.已知如下公式: 下面程序的功能使根据上述公式输出满足精度要求的eps的 值,请填 (2)空使程序完整。 #include intmain() { doubles=0.0,eps,t=1.0; intn; scanf(“%lf”,&eps); for(n=1;;n++) { s+=t; t=; } ; return0; } 4.下面程序段的功能是计算1000! 的末尾有多少个零,请填空使程序完整。 #include intmain() { inti,k; for(k=0,i=5;i<=1000;i+=5) { m=i; while() { k++; m=m/5; } } return0; } 5.下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。 #include intmain() { charcx,front=’\0’; while(! =’\n’) { if(cx! =’’)putchar(cx); if(cx==’’) if() putchar() front=cx; } return0; } 6.下面程序按公式 求和并输出结果,请填空使程序完整。 #include intmain() { ; intk; for(k=1;k<=100;k++) s+=k; for(k=1;k<=50;k++) s+=k*k; for(k=1;k<=10;k++) s+=; printf(“sum=”,s); return0; } 7.以下程序的功能是: 从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。 #include intmain() { floats; floatgmax,gmin; scanf("%f",&s); gmax=s; gmin=s; while() { if(s>gmax) gmax=s; if() gmin=s; scanf("%f",&s); } printf("\ngmax=%f\ngmin=%f\n",gmax,gmin); return0; } 五、编程题 1.有一函数: 编写一程序,输入x,输出y值。 2.从键盘上输入3个整数,求最小的数。 3.输入某人的出生日期,计算并显示其出生的当天是星期几。 (注: 要计算出生日是星期几,首先要计算出出生前一年的12月31日是星期几,其计算公式如下) ,如果是闰年出生的且出生月份大于2月,则总天数要加1。 4.企业发放的奖金根据利润提成: 利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题 15
![提示](https://static.bdocx.com/images/bang_tan.gif)