《C程序设计》试题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《C程序设计》试题一、单项选择题。(每题1分,共20分)1.C程序的基本单位是:()A.子程序B.程序C.子过程D.函数2.在C语言中,非法的八进制是:()A.016B.018C.017D.023.不是C语言实型常量的是:()A.55.0B.0.0C.55.5D.55e2.54.字符串“xyzw”在内存中占用的字节数是:()A.6B.5C.4D.35.若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:()A.2.0C.2.1D.1.5D.1.5D.1.5D.1.56.若有语句charc1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:()(a的ASCII码值为97)A.M,2B.G,3C.G,2D.D,g7.使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:A.a=2.2,b=3B.a=2.2b=3C.2.23D.2.2,38.表示关系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,则表达式xy?x:mn?y:n的值为:()A.1B.3C.2D.410.若有说明和语句:inta=5,b=6;b*=a+1;则b的值为:()A.5B.6C.31D.3611.设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句(s=c1==c2)||(t=c3c4)后,s,t的值为:()A.1,2B.1,1C.0,1D.1,012.语句for(a=0,b=0;b!=100&&a5;a++)scanf(“%d”,&b);scanf最多可执行次数为:()A.4B.6C.5D.113.对于for(s=2;;s++)可以理解为:()A.for(s=2;0;s++)B.for(s=2;1;s++)C.for(s=2;s2;s++)D.for(s=2;s2;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.7B.8C.10D.1116.若有inta[3][5]={2,2},{2,6},{2,6,2}},则数组a共有个元素:A.8B.5C.3D.1517.设inta=5,b,*p=&a,则使b不等于5的语句为:()A.b=*&aB.b=*aC.b=*pD.b=a18.若有inta[7]={1,2,3,4,5,6,7},*p=a则不能表示数组元素的表达式是:A.*pB.*aC.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.aB.(*p).aC.p-c2.aD.p.c2.a二、填空题。(每空1分,共15分)1.C语言标识符由_________、__________和___________来构造。2.在C语言中,字符串常量是用一串字符。3.若有说明和语句:inta=25,b=60;b=++a;则b的值是。4.若intx=5;while(x0)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+cc&&b-c的值是。8.C程序设计的三种基本结构是________、________和________。9.数组是表示类型相同的数据,而结构体则是若干数据项的集合。10.C语言中文件是指。三、将下列程序补充完整。(每空2.5分,共30分)1.输入三角形的三条边a,b,c,求三角形的面积。#include“math.h”#include“stdio.h”main(){floata,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(要求n1n2),统计两整数范围内被3整除的数的个数。#include“stdio.h”main(){intn1,n2,j,n=0;printf(“\n请输入两个数:”);scanf((3));if(n1n2){(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(要求n1n2),统计两整数范围内的素数的个数。#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(ab){(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;kn;k++){scanf(“%d”,&x);if(x0)k1++;(10);elsek3++;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(;y0;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;inta[]={3,-5,18,27,37,23,69,82,52,-15};for(k=0,j=k;k10;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;ps+4;p++)printf(“%s\n”,p);}输出结果:五、按题目要求写出可运行程序:(19分)1.求元素个数为10的一维数组元素中的最大值和最小值。2.将矩阵975倒置为9343127164685283.编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数。编写程序如下:《C程序设计》试题答案一、单项选择题:1.D2.B3.D4.B5.B6.B7.A8.B9.B10.C11.A12.C13.B14.C15.A16.D17.B18.C19.A20.B二、填空题:1.字母、数字和下划线2.双引号3.264.55.三(3)6.1,207.18.顺序结构、选择结构、循环结构9.类型不同10.存储在外部介质上的相关数据集合。三、将下列程序补充完整。1.(1)((a+bc)||(b+ca)||(a+cb))(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==03.(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=1c10=65,c8=101,c16=41,cc=Ad10=98,dc=b2.852k=4y=03.m=82,j=74.ABCDBCDCDD五、按题目要求写出可运行程序。1.#include“stdio.h”main(){intterm[10];inti,max,min;printf(“请输入10个整数:”);for(i=0;i10;i++)scanf(“%d”,&term[i]);(max=term[0];min=term[0];for(i=0;i10;i++){if(term[i]min)min=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;j3;j++)for(k=j+1,k3;k++){x=a[j][k];a[j][k]=a[k][j];a[k][j]=x;}for(j=0;j3;j++){for(k=0,k3;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);}

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功