c语言.docx
- 文档编号:27518218
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:24
- 大小:22.03KB
c语言.docx
《c语言.docx》由会员分享,可在线阅读,更多相关《c语言.docx(24页珍藏版)》请在冰豆网上搜索。
c语言
带*的题为上机课必做题,主要为后面编程题和程序填空题。
一、选择题(30题)
1、有以下程序
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}}
执行后输出结果是()
A)011122B)012C)012020D)120
2、有以下程序
main()
{inti=1,j=1,k=2;
if((j++||k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是()
A)1,1,2B)2,2,1C)2,2,2D)2,2,3
3、有以下程序
main()
{inta=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
elseif((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2);
}
执行后输出结果是()
A)2B)3C)4D)编译时有错,无结果
4、有以下程序
main()
{inti=0,s=0;
do{
if(i%2)
{i++;continue;}
i++;
s+=i;
}while(i<7);
printf("%d\n",s);
}
执行后输出结果是()
A)16B)12C)28D)21
5、以下程序的输出结果是()
main()
{inta=5,b=4,c=6,d;
printf("%d\n",d=a>b?
(a>c?
a:
c):
(b));
}
A)5B)4C)6D)不确定
6、以下程序中,while循环的循环次数是()
main()
{inti=0;
while(i<10)
{if(i<1)continue;
if(i==5)break;
i++;
}
}
A)1B)10C)6D)死循环,不能确定次数
7、以下程序的输出结果是()
main()
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
printf("%d\n",a);
}
A)31B)13C)10D)20
8、以下程序的输出结果是()
main()
{inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);
}
A)1B)0C)非0的数D)-1
9、以下程序的输出结果是()
#include
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;
}
i+=11;a+=i;
}
printh("%d\n",a);
}
A)21B)32C)33D)11
10、阅读以下程序:
()
main()
{intx;
scanf("%d",&x);
if(x--<5)printf("%d"x);
elseprintf("%d"x++);
}
程序运行后,如果从键盘上输人5,则输出结果是
A)3B)4C)5D)6
11、假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w w: x;m=(m m: y;m=(m m: z; 则该程序运行后,m的值是() A)4B)3C)2D)1 12、以下程序的输出结果是() main() {inta,b; for(a=1,b=1;a<=100;a++) {if(b>=10)break; if(b%3==1) {b+=3;continue;} } printf("%d\n",a); } A)101B)6C)5D)4 13、若执行以下程序时从键盘上输入9,则输出结果是() Main() {intn; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); } A)11 B)10 C)9 D)8 14、有以下程序段 intk=0 while(k=1) k++; while循环执行的次数是() A)无限次 B)有语法错,不能执行C)一次也不执行 D)执行1次15、以下程序执行后sum的值是() main() {inti,sum; for(i=1;i<6;i++)sum+=i; printf("%d\n",sum); } A)15 B)14 C)不确定 D)0 16、有以下程序段 intx=3 do {printf("%d",x-=2);} while(! (--x)); 其输出结果是() A)1 B)30 C)1-2 D)死循环 17、若变量c为char类型,能正确判断出c为小写字母的表达式是() A)'a'<=c<='z' B)(c>='a')||(c<='z') C)('a'<=C)and('z'>=c) D)(c>='a')&&(c<='z') 18、以下程序的输出结果是() main() {intx=0.5;charz='a'; printf("%d\n",(x&1)&&(z<'z'));} A)0 B)1 C)2 D)3 19、以下程序的输出结果是() main() {intx=10,y=10,i; for(i=0;x>8;y=i) printf(“%d%d”,x--,y); } A)10192B)9876C)10990D)101090 20、以下程序的输出结果是() main() {inti; for(i=1;i<=6;i++) {if(i%2) {printf(“#”);continue;} printf(“*”); } printf(“\n”); } A)#*#*#B)#####C)*****D)*#*#* 21、以下程序的输出结果是() main() {inti; for(i='A';i<='I';i++)printf(“%c”,i+32); printf(“\n”); } A)编译不通过,无输出B)acegC)acegiD)abcdefghi 22、以下程序输出结果是() main() {intm=5; if(m>5)printf(“%d\n”,m); elseprintf(“%d\n”,m--); A)7B)6C)5D)4 23、运行以下程序后,如果从键盘上输入china#《回车》,则输出结果为() #include main() {intv1=0,v2=0; charch; while((ch=getchar())! ='#') switch(ch) {case'a': case'h': default: v1++; case'0': v2++; } printf(“%d,%d\n”,v1,v2); A)2,0B)5,0C)5,5D)2,5 24、设有如下定义: inta=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式: (m=a>b)&&(n=c>d)后,n的值为() A)1B)2C)3D)0 25、以下程序的输出结果是() main() {inti,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<3;j++) {if(j%2)continue; x++;} x++;} printf(“x=%d\n”,x);} A)x=4B)x=8C)x=6D)x=12 26、设x和y均为int型变量,则执行以下的循环后,y值为() for(y=1,x=1;y<=50;y++) {if(x==10))break; if(x%2==1) {x+=5;continue;} x-=3; } A)2B)4C)6D)8 27、假定a和b为int型变量,则执行以下语句后b的值为() a=1;b=10; do {b-=a;a++;} while(b--<0); A)9B)-2C)-1D)8 28、设j为int型变量,则下面for循环语句的执行结果是() For(j=10;j>3;j--) {if(j%3)j--; --j;--j; printf(“%d”,j); } A)63B)74C)62D)73 29、有以下程序 main() {intx,i; for(i=1;i<=50;i++) {x=i; if(x%2==0) {x++;if(x%3==0) {x++;if(x%7==0) {x++;printf("%d",i);}}} } } 输出结果是() A)28B)27C)42D)26 30、假定所有变量均已正确说明,下列程序段运行后x的值是() a=b=c=0;x=35; if(! a)x--; elseif(b);if(c)x=3; elsex=4; A)34B)4C)35D)3 二、填空题(阅读程序20题,程序填空10题) 1、若有以下程序 main() {intp,a=5; if(p=a! =0) printf("%d\n",p); else printf("%d\n",p+2); } 执行后输出结果是。 2、若有以下程序 main() {inta=4,b=3,c=5,t=0; if(a if(a printf("%d,%d,%d\n",a,b,c); } 执行后输出结果是。 3、以下程序运行后的输出结果是。 main() {inta=1,b=3,c=5; if(c=a+b)printf("yes\n"); elseprintf("no\n"); } 4、以下程序运行后的输出结果是。 main() {inti,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i/10) {case0: m++;n++;break; case10: n++;break; default: k++;n++; } printf("%d%d%d\n",m,n,k); } 5、执行以下程序后,输出'#'号的个数是。 #include main() {inti,j; for(i=1;i<5;i++) for(j=2;j<=i;j++)putchar('#'); } 6、若从键盘输入58,则以下程序输出的结果是。 main() {inta; scanf("%d",&a); if(a>50)printf("%d",a); if(a>40)printf("%d",a); if(a>30)printf("%d",a); } 7、以下程序输出的结果是。 main() {inta=5,b=4,c=3,d; d=(a>b>c); printf("%d\n",d); } 8、以下程序的输出结果是。 main() {ints,i; for(s=0,i=1;i<3;i++,s+=i); printf("%d\n",s); } 9、以下程序运行后的输出结果是。 main() {inti=10,j=0; do {j=j+i;i-; while(i>2); printf("%d\n",j); } 10、设有以下程序: main() {intn1,n2; scanf("%d",&n2); while(n2! =0) {n1=n2%10; n2=n2/10; printf("%d",n1); } } 程序运行后,如果从键盘上输入1298;则输出结果为。 11、下列程序段的输出结果是。 intn='c'; switch(n++) {default: printf("error");break; case'a': case'A': case'b': case'B': printf("good");break; case'c': case'C': printf("pass"); case'd': case'D': printf("warn"); } 12、下面程序输出结果是。 main() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0: a++;break; case1: b++;break; } case2: a++;b++;break; } printf(“a=%d,b=%d\n”,a,b); } 13、程序执行后的输出结果是。 main( ) { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\n”,x,y,z); } 14、若有intⅰ=5,j=10;则执行完语句 switch(i){ case4: j++; case5: j--; case6: j++; case7: j-=2; default: ;} 后j的值。 15、有以下程序 main() {intn=0,m=1,x=2; if(! n)x-=1; if(m)x-=2; if(x)x-=3; printf(“%d\n”,x); } 执行后的输出结果是。 16、main() {inta=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); elseif((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2); } 执行后输出的结果是。 17、当a=1,b=3,c=5,d=4时,执行完下面的一段程序后x的值是。 if(a if(c else if(a if(b elsex=3; elsex=6; elsex=7; 18、下列程序段的输出结果是。 intk,s; for(k=0,s=0;k<10;k++) if(s>k)break; elses+=k; printf("k=%d,s=%d",k,s); 19、输入c2470f? <回车>后,下列程序的输出结果是。 #include main() {charch;longnumber=0; while((ch=getchar())<’0’||ch>’6’); while(ch! =’? ’&&ch>=’0’&&ch<=’6’){ number=number*7+ch-‘0’; printf(“%ld#”,number); ch=getchar(); } 20、输入4<回车>后,下列程序的输出结果是。 #include main() {intj,k,n; floatf,s; scanf(“%d”,&n); s=0;f=1; for(k=1;k<=n;k++){ for(j=1;j f=f*k; s=s+f; printf(“%.0f#”,s); }} *21、下面程序的功能是: 输出100以内能被3整除且个位数为6的所有整数,请填空。 #include main() {inti,j; for(i=0;;i++) {j=i*10+6; if()continue; printf("%d",j); } } *22、下面程序的功能是求1! +2! +3! +4! +5! ,请填空: main() {inti,j,f,sum=0; for(i=1;i<=5;i++) {f=1; for(j=1;;j++) ; sum=sum+f; } printf(“5! =%d”,sum); } 23、以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,否则输出“no”。 请填空。 #include main() {intk; printf(“Enteraintnumber: ”); scanf(“%d”,&k); if printf(“yes\n”); else printf(“”); } *24、以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。 用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。 请填空。 Main() {intn,i,j; printf(“EnterINTnumbers,with0toend\n”); i=j=0; scanf(“%d”,&n); while {if(n>0)i++; if(n<0)j++; ; } printf(“i=%4dj=%4d\n”,i,j); } 25、如果一个数的各位数的立方和等于它本身,则这样的数称为水仙花数求100~999中所有的水仙花数。 main() {inti,a,b,c; for(i=100;i<=999;i++) {a=i/100; b=; c=i%10; if() printf(“%5d”,i);}} 26、输入1个正整数n,计算并输出s的前n项的和。 S=1-1/2+1/3-1/4+1/5-1/6+…… #include main() {intk,flag,n;floats; flag=1;s=0; scanf("%d",&n); for(k=1;k<=n;k++){ s=s+; ; } printf("sum=%fn",s); } *27、输出下列图形。 123456789main() 23456789inti,j; 3456789for(i=1;i<=;i++) 456789{for(j=;j<=9;j++)printf("%2d",j); 56789printf("\n");} 6789 789 89 9 28、下面程序的功能是: 从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,最后当输入负数时结束输入。 请填空: Main() {floatx,amax,amin; Scanf(“%f”,&x); Amax=x;amin=x; While()_ {if(x>amax)amax=x; If(x Scanf(“%f”,&x); } Printf(“\namax=%f\namin=%f\n”,amax,amin); } *29、下面程序的功能是计算1到10之间的奇数之和即偶数之和。 请填空: Main() {inta,b,c,i; a=c=0; for(i=0;i<=10;i+=2) {a+=i; ; c+=b; } Printf(“偶数之和: %d\n”,a);} Printf(“奇数之和: %d\n”,); 30、以下程序用“辗转相除法”来求出两个正整数的最大公约数。 请填空。 若两个数分别放在m和n中,求最大公约数的算法如下: (1)将两数中最大的那个放在m中,小的放在n中。 (2)求出m被n除后的余数r。 (3)若余数为0则执行步骤(7);否则执行步骤(4)。 (4)把除数作为新的被除数;把余数作为新的除数。 (5)求出新的余数r。 (6)重复步骤(3)到(5)。 (7)输出n,n即为最大公约数。 main() {intr,m,n,t; printf(“Enterm,n: ”); scanf(“%d%d”,&m,&n); printf(“m=%dn=%d\n”,m,n); if(m t=m;m=n;n=t; r=; while() {m=n;n=r;r=;} printf(“H.C.F=%d\n,n); } 三、编程题(15题) *1、求出100至300内所有百位和个位相加能被3整除的数字。 *2、编程求S=1/1! +1/2! +1/3! +........+1/n! 直到1/n! <=1e-6 *3、编写程序实现用一元
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言