C课堂练习.docx
- 文档编号:24683654
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:27
- 大小:47.96KB
C课堂练习.docx
《C课堂练习.docx》由会员分享,可在线阅读,更多相关《C课堂练习.docx(27页珍藏版)》请在冰豆网上搜索。
C课堂练习
第四章
1.输入实数x,按下列公式计算并输出x和y的值(小数点后保留两位)。
2.输入x的值,按下列公式计算并输出y的值(保留两位小数)。
y=
3.从键盘输入某学生的成绩(0≤score≤100)后,先输出该同学的成绩,再按下列条件
输出
4.输入自变量x的值后,计算并输出y的值。
计算公式:
y=
5.6.设inti=10;,表达式30-i<=i<=9的值是( )
A.0B.1C.9D.20
6.设inta=0,b=0,c;,则执行c=(a-=b-5),(a=b,b=3);后变量c的值是__________________。
7.设inta=0,b=0,m=0,n=0;,则执行(m=a==b)||(n=b==a)后m和n的值分别是()
A.0,0B.0,1C.1,0D.1,1
8.设宏定义#defineP(x)x/x
则执行语句printf(″%d\n″,P(4+6));后的输出结果是()
A.1B.8.5C.11D.11.5
9.表达式4&5-3&&5的值是________。
10.设inta,b=2,c=3;执行表达式a=(b>c)?
(b+1):
(c+2),3后a的值是_______。
11.下列程序段运行后,x的值是()
a=1;b=2;x=0;
if(!
(--a))x--;
if(!
b)x=7else++x;
A.0B.3C.6D.7
12设intx=1,a=9,b=6,c=7,d=8;则执行语句:
if(a>b)if(c>d)x=2;elsex=3;
后,x的值是()
A.1B.2C.3D.不确定
13.下列程序的运行结果是()
#defineEVEN(x)x%2==0?
1:
0
main()
{
if(EVEN(9+1))printf(″iseven″);
elseprintf(″isodd″);
}
A.isevenB.出错C.无结果D.isodd
14.设inta=1,b=2;经表达式a=a∧b,b=a∧b,a=a∧b运算后a,b的值分别是。
15.写出“n是小于整数m的偶数”的表达式。
16.字符串″ABCD\t\\\123″的长度是。
17.表达式5&2||5|2的值是()
A.0B.1C.2D.3
18.main()
{inta,b,c;
a=10;b=20;c=30;
a=(--b<=a)||(a+b!
=c);
printf(″%d,%d\n″,a,b);
}
19.设有宏定义#defineX10-4,则printf(“%d\n”,6*X);的输出结果是___________。
20.main()
{intx=1,a=0,b=0;
switch(x)
{
case0:
a++;break;
casel:
b++;
case2:
a++;b++;break;
case3:
a++;b++;
}
printf(″a=%d,b=%d\n″,a,b);
)
21.#include
voidmain()
{
inti=11,j;
j=i%3;
switch(j)
{case1:
case2:
printf(″%d\n″,j);break;
default:
printf(″%d\n″,i);
}
}
22.设有以下程序段:
intx=2,y=2,z=0,a;
a=++x||++y&&z++;
printf(″%d,%d,%d\n″,x,y,z);
执行后输出的结果是( )
A.2,2,0B.3,3,1
C.3,2,0D.3,2,1
23.在C语言中,字符串″\\TOP\t\65\″″的长度是( )
A.5B.7C.9D.12
24.
#defineMOD(a,b)a%b
main()
{intx=4,y=16,z;
z=MOD(y,x);
printf(″%d\n″,z++);
}
则程序执行的结果是__________。
25.学生成绩的字母等级和分数范围如下:
字母等级分数范围
A90~100
B80~89
C70~79
D60~69
E0~59
其它字母输入错误
输入字母等级之后,输出相应的分数范围。
main()
{
_______;/*第一空*/
scanf(″%c″,&score);
switch(score)
{
case′A′:
printf(″A:
90~100\n″);_________;/*第二空*/
case′B′:
printf(″B:
80~89\n″);break;
case′C′:
printf(″C:
70~79\n″);break;
case′D′:
printf(″D:
60~69\n″);break;
case′E′:
printf(″E:
0~59\n″);break;
_______:
printf(″输入错误\n″);/*第三空*/
}
}
26.设
#defineN3
#defineY(n)((N+1)*n)
则表达式2*(N+Y(5+1))的值是()
A.42B.48C.54D.出错
27.语句if(!
k)a=3;中,!
k与()等价。
答案:
5.B6.57.C8.C9.010.311.A12C13.D
14.2,115.n 19.5620.a=1,b=221.222.C23.B24.025charscore;break;default26B27K==0 25.charscore;break;default 单循环部分: 1.设inta;,则语句for(a=0;a==0;a++);和语句for(a=0;a=0;a++);执行循环的次数分别是() A.0,0B.0,1 C.1,0D.1,1 2.有语句: for(k=0;k<0;k++)++k;该循环的执行次数是() 3.n=282,s=1; do { s*=n%10; n/=10; }while(n); 循环结束后,n和s的值分别是()和(). 4.输出100之内所有个位数字为6且能被3整除的自然数。 (如: 36,66,96……) 5.for(i=1;i==1;i++);的循环次数是() 6.设inti=l,k=2;,则错误的循环语句是() A.for(i=0,k=-1;i++,k++);B.for(;k-1;i++); C.for(i=1,k=4;k--;i++);D.for(;k--;); 7.设有循环语句for(i=-1;i<=5;i++)i++;,则其循环体执行的次数是___________。 8.设intm=5;,语句while(m==0)printf(″%d″,m-=2);的循环体执行的次数是() A.0B.1C.2D.无限 9.(输出结果) #include main() {inta,b,i; a=b=0; for(i=0;i<=10;i+=2) {a+=i; b+=i+1; } printf(″a=%d\n″,a); printf(″b=%d\n″,b-11); } 10执行语句for(i=1;i++<4);后i的值是() A.3B.4C.5D.不确定 11.设for(i=0,j=10;(j>0)&&(i<4);i++,j--);,该语句的循环次数是( ) A.0B.3C.4D.无限 12.main() {inti,s=0; for(i=1;i<10;i+=2)s+=i+1; printf(″%d\n″,s);输出结果是() 13.执行下列程序段后输出的结果是( ) intx,y,z=1; for(x=1,y=-1;x printf(〞%d\n〞,z); A.1B.2C.5D.6 14.计算当sum=1+ 时,输出N的值。 答案: 1.C2.03.032 4.inti,j; for(i=0;i<=9;i++) { j=i*10+6; if(j%3==0) printf(“%d“,j); } 5.16.A(;号不能少)7.38.A9.302510.C 11.C12.3013.A 14.sum=0 for(i=1;sum<=10.0;i++) sum+=1.0/i; printf(“%10.2f\n”,sum); 二重循环 1.用循环语句输出下列字母编排的三角形。 a ab abc abcd ……… abcde………xyz 2.利用循环方式输出下列数字三角形。 (5分) 1 12 123 …… 123456789 3.输出100之内所有个位数字为6且能被3整除的自然数。 (如: 36,66,96……) 4.编写一个程序,用循环结构输出以下图形。 &&&&&&&&& &&&&&&& &&&&& &&& & 5.用循环结构输出下列数字金字塔(共9行)。 1 121 12321 1234321 …………… 12345678987654321 答案: 1.por(i=1;i<=26;i++) { por(j=0;j<=I;j++) printf(“%c”,’a’+j); printf(“\n”); } 2, for(i=1;i<=9;i++) { for(j=1;j<=I;j++) printf(“%d“,j); printf(“\n”); } 3.for(i=0;i<=9;i++) { j=10*i+6; if(j%3===0) printf(“%5d“,j); } 4.for(i=0;i<5;i++) { for(k=0;k printf(““); for(j=0;j<9=2*i;j++) printf(“%c”,’&’); printf(“\n”); } 5. For(i=1;i<=9;i++) { For(j=1;j<=9-I;j++) Printf(““); For(j=1;j<=I;j++) Printf(“%d”,j); For(j=i-1;j>=1;j--) Printf(“%d”,j); Printf(“\n”); }\ 第五章函数 1.#include fun() {inty=1; staticintz=4; z++;++y; return(y*z); } main() {inti; for(i=1;i<3;i++) printf("%5d\n",fun()); }1012 2. intfuc(intj) {staticintk; return(++k+j); } main() {intj; for(j=1;j<=3,j++)printf(″%5d″,fuc(10)); printf(″\n″); }11,12,13 3.设从键盘输入282 sub(intn) {ints=1; do {s*=n%10;n/=10;} while(n); returns; } main() {intn; scanf(″%d″,&n); n=sub(n); printf(″%d\n″,n); }32 4.intx=30;y=50; sub(x,y) {y=x>y? x: y; returny; } main() { {intx=100; printf(″%d\n″,sub(x,y)); } printf(″%d,%d\n″,x,y); } 100 30,50 5. fun(intx) { inty=0; staticintz=3; z++;++y; return(x+y+z); } main() { inti,x=2; for(i=0;i<2;i++) printf(″%5d″,fun(x++)); } 6. f() { intx=1; returnx++; } g() { staticintx=1; returnx++; } main() { inti,a=0,b=0; for(i=0;i<5;i++) { a+=f(); b+=g(); } printf(″a=%d\nb=%d\n″,a,b); } a=5 b=15 7.intf(inta) { intb=4 staticintc=4 b++; c++; return(a+b+c); } main() { inta=4,i; for(i=0;i<3;i++) printf(″%4d″,f(a)); } 141516 8.mian() {inti; for(i=1;i<3;i++)f(i); } f(intj) {staticinta=100; intk=1; ++k; printf(″%d\n″,j+a+k); a-=2; } 103 102 9.intz=5; f() {staticintx=2;inty=5; x=x+2;z=z+5; y=y+z; printf(″%5d%5d\n″,x,z); } main() {staticintx=10;inty; y=z; printf(″%5d%5d\n″,x,z); f(); printf(″%5d%5d\n″,x,z); f(); } 105 410 1010 615 10 intf(intn) {staticintm=5; return++m+n; } main() {inti; for(i=0;i<3;i++)printf(〞%5d〞,f(i)); printf(〞\n〞); } 6810 11.intf(intn) {staticinta=0; intb=0; a+=n; b+=a; returnb; } main() { printf(″%d\n″,f(5)); printf(″%d\n″,f(10)); } 515 12.inta=100; s() {staticinta=20; a++ printf(″%d\n″,a); } main() {inti; for(i=1;i<=3;i++) {a++; printf(″%d,″,a); s(); } } 101,21 102,22 103,23 数组 1.从键盘输入10个整数,用“冒泡排序法”由小到大进行排序。 #defineN10 main() {inti,j,t,a[N];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课堂 练习