《C语言程序设计》试题十三及答案docx.docx
- 文档编号:25202650
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:10
- 大小:18.69KB
《C语言程序设计》试题十三及答案docx.docx
《《C语言程序设计》试题十三及答案docx.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》试题十三及答案docx.docx(10页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》试题十三及答案docx
《C语言程序设计》试题十三
一、单项选择题。
(每题1分,共20分)
1.C程序的基本单位是:
( )
A.子程序 B.程序 C.子过程 D.函数
2.在C语言中,非法的八进制是:
( )
A.016 B.018 C.017 D.02
3.不是C语言实型常量的是:
( )
A.55.0 B.0.0 C.55.5 D.55e2.5
4.字符串“xyzw”在内存中占用的字节数是:
( )
A.6 B.5 C.4 D.3
5.若已定义f,g为double类型,则表达式:
f=1,g=f+5/4的值是:
( )
A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5
6.若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:
( )
(a的ASCII码值为97)
A.M,2 B.G,3 C.G,2 D.D,g
7.使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:
( )
A.a=2.2,b=3 B.a=2.2b=3 C.2.23 D.2.2,3
8.表示关系12<=x<=y的C语言表达式为:
( )
A.(12<=x)&(x<=y) B.(12<=x)&&(x<=y) C.(12<=x)|(x<=y)
D.(12<=x)||(x<=y)
9.设x=1,y=2,m=4,n=3,则表达式x>y?
x:
m y: n的值为: ( ) A.1 B.3 C.2 D.4 10.若有说明和语句: inta=5,b=6;b*=a+1;则b的值为: ( ) A.5 B.6 C.31 D.36 11.设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句(s=c1==c2)||(t=c3>c4)后,s,t的值为: ( ) A.1,2 B.1,1 C.0,1 D.1,0 12.语句for(a=0,b=0;b! =100&&a<5;a++)scanf(“%d”,&b);scanf最多可执行次数为: ( ) A.4 B.6 C.5 D.1 13.对于for(s=2; ;s++)可以理解为: ( ) A.for(s=2;0;s++) B.for(s=2;1;s++) C.for(s=2;s<2;s++) D.for(s=2;s>2;s++) 14.若有charh=`a`,g=`f`;inta[6]={1,2,3,4,5,6};则数值为4的表达式为: ( ) A.a[g-h] B.a[4] C.a[`d`-`h`] D.a[`h`-`c`] 15.设: chars[10]={“october”};则printf(“%d\n”,strlen(s));输出是: ( ) A.7 B.8 C.10 D.11 16.若有inta[3][5]={2,2},{2,6},{2,6,2}},则数组a共有个元素: ( ) A.8 B.5 C.3 D.15 17.设inta=5,b,*p=&a,则使b不等于5的语句为: ( ) A.b=*&a B.b=*a C.b=*p D.b=a 18.若有inta[7]={1,2,3,4,5,6,7},*p=a则不能表示数组元素的表达式是: ( ) A.*p B.*a C.a[7] D.a[p-a] 19.若有intb[4]={0,1,2,3},*p则数值不为3的表达式是: ( ) A.p=s+2,*(p++) B.p=s+3,*p++ C.p=s+2,*(++p) D.s[3] 20.设有如下定义: structjan{inta;floatb;}c2,*p;若有p=&c2;则对c2中的成员a的正确引用是: ( ) A.(*p).c2.a B.(*p).a C.p->c2.a D.p.c2.a 二、填空题。 (每空1分,共15分) 1.C语言标识符由_________、__________和___________来构造。 2.在C语言中,字符串常量是用 一串字符。 3.若有说明和语句: inta=25,b=60;b=++a;则b的值是 。 4.若intx=5;while(x>0)printf(“%d”,x--);的循环执行次数为 。 5.若有inta[5],*p=a;则p+2表示第 个元素的地址。 6.若有说明和语句: inta=5,b=6,y=6;b-=a;y=a++则b和y的值分别是 、 。 7.已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是 。 8.C程序设计的三种基本结构是________、________和________。 9.数组是表示类型相同的数据,而结构体则是若干 数据项的集合。 10.C语言中文件是指 。 三、将下列程序补充完整。 (每空2.5分,共30分) 1.输入三角形的三条边a,b,c,求三角形的面积。 #include“math.h” #include“stdio.h” main() {float a,b,c,d,t,s; printf(“请输入三角形的三条边: ”); scanf(“%f,%f,%f”,&a,&b,&c); if (1) printf(“%f%f%f不能构成三角形! ”,a,b,c); else{t=(a+b+c)/2; s= (2) printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”,a,b,c,s);}} (1) (2) 2.输入两个整数,n1,n2(要求n1 #include“stdio.h” main() {intn1,n2,j,n=0; printf(“\n请输入两个数: ”); scanf( (3) ); if(n1>n2){ (4) } for(j=n1;j<=n2,j++) if (5) n++; printf(“a=%5d,b=%5d,n=%5d\n”n1,n2,n);} (3) (4) (5) 3.输入两个整数,n1,n2(要求n1 #include“math.h” #include“stdio.h” intprime(intx) {intk; for(6) if(x%k==0)return(0); return (1)} main() {inta,b,j,n=0; printf(“\n请输入两个数: ”); scanf(“%d,%d”,&a,&b); if(a>b){ (7) } for(j=a;j<=b,j++) if( (8) )n++; printf(“a=%4d,b=%4d,n=%4d\n”a,b,n);} (6) (7) (8) 4.编写程序,输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。 #include“stdio.h” main() {intx,n,k,k1=0,k2=0,k3=0; printf(“inputn=: ”); (9) for(k=0;k {scanf(“%d”,&x); if(x<0)k1++; (10) ; else k3++; printf(“k1=%4d,k2=%4d,k3=%4d\n”,k1,k2,k3)}} (9) (10) 5.设计一个程序完成以下功能: 若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.] #include“stdio.h” main() {charch; do{ch=getchar(); if( (11) )break; elseif( (12) )putchar(ch); }while (1);} (11) (12) 四、按格式写出程序运行结果。 每题4分,共16分。 1.格式化输出函数] main() { inta=1,c=65,d=97; printf(“a10=%d,a8=%o,a16=%x\n”,a,a,a); printf(“c10=%d,c8=%o,c16=%x,cc=%c\n”c,c,c,c); d++; printf(“d10=%d,dc=%c\n”d,d);} 输出结果: 2.循环结构 main() {inty=9,k=1; for(;y>0;y--) {if(y%3==0){printf(“%4d”--y);continue;} k++;} printf(“\nk=%4d,y=%4d\n”,k,y);} 输出结果: 3.数组 #include“stdio.h” main() {intk,j; in ta[]={3,-5,18,27,37,23,69,82,52,-15}; for(k=0,j=k;k<10;k++) if(a[k]>a[j])j=k; printf(“m=%d,j=%d\n”,a[j],j);} 输出结果为: 4.字符输出 main() {char*p,s[]=“ABCD”; for(p=s;p printf(“%s\n”,p);} 输出结果: 五、按题目要求写出可运行程序: (19分) 1.求元素个数为10的一维数组元素中的最大值和最小值。 2.将矩阵9 7 5 倒置为9 3 4 3 1 2 7 1 6 4 6 8 5 2 8 3.编写函数: 输入两个正整数m,n,求它们的最大公约数和最小公倍数。 编写程序如下: 《C语言程序设计》试题十三答案 一、单项选择题: 1.D 2.B 3.D 4.B 5.B 6.B 7.A 8.B 9.B 10.C 11.A 12.C 13.B 14.C 15.A 16.D 17.B 18.C 19.A 20.B 二、填空题: 1.字母、数字和下划线 2.双引号 3.26 4.5 5.三(3) 6.1,20 7.1 8.顺序结构、选择结构、循环结构 9.类型不同 10.存储在外部介质上的相关数据集合。 三、将下列程序补充完整。 1. (1)((a+b (2)sqrt(t*(t-a)*(t-b)*(t-c)) 2.(3)”%d%d”,&n1,&n2(4)j=n1;n1=n2;n2=j;(5)j%3==0 3.(6)(k=2;k<=sqrt(x);k++)(7)j=a;a=b;b=j;(8)prime(j) 4.(9)scanf(“%s”,&n)(10)elseif(x==0) 5.(11)ch==`Q`||==`q`(12)ch>=`A`&&ch<=`Z`||ch>=`a`&&ch<=`z` 四、按格式写出程序运行结果。 1.a10=1,a8=1,a16=1 c10=65,c8=101,c16=41,cc=A d10=98,dc=b 2.8 5 2 k=4 y=0 3.m=82,j=7 4.ABCD BCD CD D 五、按题目要求写出可运行程序。 1.#include“stdio.h” main() {intterm[10]; inti,max,min; printf(“请输入10个整数: ”); for(i=0;i<10;i++) scanf(“%d”,&term[i]); (max=term[0]; min=term[0]; for(i=0;i<10;i++) {if(term[i] if(term[i]>max)max=term[i];} printf(“max=%d,min=%d”,max,min);} 2.main() intj,k,x; inta[][3]={9,7,5,3,1,2,4,6,8}; for(j=0;j<3;j++) for(k=j+1,k<3;k++) {x=a[j][k];a[j][k]=a[k][j];a[k][j]=x;} for(j=0;j<3;j++) {for(k=0,k<3;k++) printf(“%4d”,a[j][k]);}} 3.#include“stdio.h” intgcd(intm,int,n) {if(n==0)return(m); elsereturn(gcd(n,m%n)); inttim(intm,int,n) return(m*n/gcd(m,n));} main() {intm,n,g,t; printf(“entertwonumberplease: ”); scanf(“%d,%d”,&m,&n); g=gcd(m,n);t=tim(m,n); printf(“gcd(m,n)=%d\n”,g); printf(“tim(m,n)=%d\n”,t);}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 试题 十三 答案 docx
![提示](https://static.bdocx.com/images/bang_tan.gif)