大一C语言知识专业资料题库.doc
《大一C语言知识专业资料题库.doc》由会员分享,可在线阅读,更多相关《大一C语言知识专业资料题库.doc(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、编程大题一、编程大题1.有一函数:当 x0 时,y=1。 编一程序,输入 x 的值,输出 y 的值。 #include int main() int x,y; scanf(“%d“, if (x=0)if (x0) y=1;else y=0; else y=-1; printf(“x=%d,y=%dn“,x,y); return 0; 2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。 #include int main() float a,b,c,t;scanf(“%f,%f,%f“,if(a int main() int a,b,c,max; printf(“请输入 a
2、,b,cn“); scanf(“%d,%d,%d“, max=a; if(max void main() float r, l, s; float pi=3.1415926; printf(“表输入圆半径 r:“); scanf(“%f“, l=2*pi*r; s=pi*r*r; printf(“圆周长为:l=%6.2fn“, l); printf(“圆面积为:s=%6.2fn“, s); 5.有分段函数:当 x10 时,y=sqrt(x)。 编一程序,输入 x 的值,输出 y 的值。 #include int main() int x,y; scanf(“%d“, if(x int main
3、() int year,leap;printf(“enter year:“); scanf(“%d“,if (year%4=0)if(year%100=0)if(year%400=0) leap=1;else leap=0;else leap=1;else leap=0;if (leap) printf(“%d is “,year);else printf(“%d is not “,year);printf(“a leap year.n“);return 0; 7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式为 c=5/9(f-32) #include i
4、nt main() float c,f; printf(“请输入一个华氏温度:“); scanf(“%f“, c=(5.0/9.0)*(f-32); printf(“摄氏温度为:%5.2fn“,c); return 0; 8.有一函数:当 x=10 时,y=3x+11。编一程序,输入 x 的 值,输出 y 的值。#include #include void main() int x, y; printf(“输入 x:“); scanf(“%d“, if (x*p2) t=p1;p1=p2;p2=t; if(*p1*p3) t=p1;p1=p3;p3=t; if(*p2*p3) t=p2;p2=
5、p3;p3=t; printf(“%d,%d,%dn“,*p1,*p2,*p3); 10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后 输出最后得到的字符。 #include void main ( ) char ch; scanf(“%c“, ch=(ch=A float pi=3.1415926; printf(“表输入圆半径 r、圆柱高 h:“); scanf(“%f%f“, v=pi*r*r*h; s=2*pi*r*r+2*pi*r*h; printf(“圆柱体积为:v=%6.2fn“, v); printf(“圆柱表面积为:s=%6.2fn“
6、, s); 12. 编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数 点后两位数字。 #include void main() float r, h, v, s; float pi=3.1415926; printf(“表输入圆半径 r、圆柱高 h:“); scanf(“%f%f“, v=pi*r*r*h; s=2*pi*r*r+2*pi*r*h; printf(“圆柱体积为:v=%6.2fn“, v); printf(“圆柱表面积为:s=%6.2fn“, s); 13.有三个整数 a,b,c,由键盘输入,输出其中最小者。 #include int mai
7、n() int a,b,c,max; printf(“请输入 a,b,cn“); scanf(“%d,%d,%d“, max=a; if(maxb) max=b; if(maxc) max=c; printf(“最小的数为%dn“,max); return 0; 14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后 输出最后得到的字符。 #include void main ( ) char ch; scanf(“%c“, ch=(ch=A scanf(“%f%f%f“, s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c
8、); printf(“%fn“,area); 16.编程求 2!+4!+6!+8!+10!的值,并输出结果。 #include int main() int n=1,sum=0,j,m=1,i; for(i=1;i int main() int day,x1,x2; day=9; x2=1; while(day0) x1=(x2+1)*2; x2=x1; day-; printf(“total=%dn“,x1); return 0; 18.输出所有的“水仙花数” ,所谓“水仙花数”是指一个 3 位数,其各位数字立方和等于该数本身。 #include void main() int i,j,k,
9、n; printf(“narcissus numbers are“); for(n=100;n #include int main() int n,m=0,k,i;for(n=1;n=k+1) printf(“%d “,n); m=m+1; if(m%10=0) printf(“n“); printf(“n“);return 0; 20.编程求 1!+3!+5!+7!+9!的值,并输出结果。 #include int main() int n=1,sum=0,j,m=1,i; for(i=1;i #include int main() int sign=1; double pi=0,n=1,t
10、erm=1;while(fabs(term)=1e-6) pi=pi+term;n=n+2; sign=-sign; term=sign/n; pi=pi*4; printf(“pi=%10.8fn“,pi); return 0; 22.一个球从 100m 高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。求它在第 10 次落地时共经过多少米? #include int main() int i; double m=100,sum=0; for(i=0;i void main() int p,r,n,m,temp; printf(“请输入 n 和 m: “); scanf(“%d,
11、%d,%d“, if(n int main() int n=1,sum=0,j,m=1,i; for(i=1;i int main() int i,n=20; double a=2,b=1,s=0,t; for(i=1;i int main() int f1=1,f2=1,f3; int i;printf(“%12dn%12dn“,f1,f2);for(i=1; i int main() int m,s,i; for (m=2;m int main() int a,sn=0,tn=0,k,i=1,n; printf(“a,n=:“); scanf(“%d,%d“, while(i #inclu
12、de int main() int n,m=0,k,i;for(n=101;n=k+1) printf(“%d “,n); m=m+1; if(m%10=0) printf(“n“); printf(“n“);return 0; 30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 #include void main() char c; int letters=0,space=0,digit=0,other=0; printf(“n“); while(c=getchar()!=n) if(c=a printf(“enter array a:n“); for(i=0;i #
13、include void main() int i,s=1; float n,t,a; t=1;a=0;n=1; printf(“input n:“,n); while(i void main() int a23=1,2,3,4,5,6; int b32,i,j; printf(“array a:n“); for (i=0;i int main() int i,j,m;for (i=1;ixi+1) t=xi+1;xi+1=xi;xi=t; main() int y10;int i; for(i=0;i void main() int i,j,row=0,colum=0,max; int a3
14、4=1,2,3,4,9,8,7,6,-10,10,-5,2; max=a00; for (i=0;imax) max=aij; row=i; colum=j; printf(“max=%d,row=%d,colum=%dn“,max,row,colum); 37.用冒泡排序法对输入的 10 个数进行升序排序,并存入数组中。 int paixu(x) int x; int i,j,t; for(j=1;jxi+1) t=xi+1;xi+1=xi;xi=t; main() int y10;int i; for(i=0;i int main() int i,j,m;for (i=0;i int ma
15、in() int i,j,m;for (i=1;i int main() int i,j,m;for (i=1;i void main() int max(int x,int y); int a,b,c; scanf(“%d,%d“, c=max(a,b); printf(“max is %dn“,c); int max(int x,int y) if(xy) return(x); else return(y); 45.编写两个函数分别求两个整数的最大公约数和最小公倍数,在主函数中调用这两个函数,并输出结 果,两个整数由键盘输入。 #include void main() int cm(int
16、 x,int y); int cd(int x,int y); int a,b,m,n; printf(“输入两个数:“); scanf(“%d %d“, m=cm(a,b); n=cd(a,b); printf(“最大公约数是%dn 最小公倍数%dn“,n,m); int cm(int x,int y) int k; k=xy? x:y; for(;k+) if(k%x=0 return(k); int cd(int x,int y) int i,j,k; k=xy? y:x; for(i=1;i。 已知字母 A 的 ASCII 值为 65,下列程序运行后的输出结果是 main() char
17、 a,b; a=A+5-3;b=a+6-2; printf(“%d%c“,a,b); 2.下列 isprime 函数的功能是判断形参 a 是否为素数,是素数,函数返回 1,否则返回 0。请填空。 int isprime(int a) int i; for(i=2;i; ; 3.设有定义:float x=123.4567;,则执行下列语句后的输出结果是 printf(“%fn“,(int)(x*100+0.5)/100.0); 4.若有定义:int a=4,b=5,c=6;接着顺序执行下列语句后,变量 b 中的值是。 c=(a-=(b-5); c=(a%3)+(b=1); 若 a 的值为 1,则
18、表达式!a|+a 的值是。 5.下列程序的功能是:求出数组 x 中各相临两个元素的和依次存放到数组 a 中,然后输出。请填空。 main() int x10,a9,i; for(i=0;i;i; for(i=0;i 7.下列程序中的数组 a 包括 10 个整数元素,从 a 中第二个元素起,分别将后项减前项之差存入数组 b, 并按每行 4 个输出,请填空。 main() int a10,b10,i; for(i=0;i; for(i=1;i 1.下列叙述中错误的是( ) A.算法正确的程序最终一定会结束。 B.算法正确的程序可以有零个输出。 C.算法正确的程序可以有零个输入。 D.算法正确的程序
19、对于相同的输入一定有相同的结果。 B 2.下列叙述中错误的是( ) A.C 程序必须由一个或一个以上的函数组成。 B.函数调用可以作为一个独立的语句存在。 C.若函数有返回值,必须通过 return 语句返回。 D.函数形参的值也可以传回给对应的实参。 D 3.C 语言源程序名的后缀是( ) A.exe B.c C.obj D.cp B 4.下列叙述中错误的是( ) A.用户定义的标示符允许使用关键字。 B.用户定义的标示符应做到“见名知意” 。 C.用户定义的标示符必须以字母或下划线开头。 D.用户定义的标示符中大、小写字母代表不同标示。 A 5.下列关于函数的叙述正确的是( ) A.每个函
20、数都可以被其他的函数调用(包含 main 函数) 。 B.每个函数都可以被单独编译。 C.每个函数都可以单独运行。 D.在一个函数内部可以定义另一个函数。 B 6.下列不合法的用户标示符是( ) A.j2_key B._int C.4d D._8_ C 7.下列定义变量的语句中错误的是( ) A.int _int; B.double int_; C.char for; D.float us$; D 8.按照 C 语言规定的用户标示符命名规则,不能出现在标示符中的是( ) A.大写字母 B.连字符 C.数字字符 D.下划线 B 9.对于一个正常运行的 C 程序,下列叙述正确的是( ) A.程序的
21、执行总是起止于 main 函数。 B.程序的执行总是从第一个函数开始,结束于 main 函数 C.程序的执行总是从 main 函数开始,在最后一个函数结束 D.程序的执行总是从第一个函数开始,在最后一个函数结束 A 10.下列叙述正确的是( ) A.C 语言程序从源程序中第一个函数开始执行 B.可以在程序中由用户指定一个函数作为主函数,程序将从此开始执行 C.C 语言规定必须用 main 作为主函数名,程序从此开始执行,在次结束 D.main 可作为用户标示符,可以命名任意一个函数作为主函数 C 11.下列叙述正确的是( ) A.C 程序中的注释只能出现在程序的开始位置 B.C 程序书写格式严
22、格,要求一行只能写一个语句 C.C 程序书写格式自由,一行可以写多条语句 D.用 C 语言编写的程序只能放在一个程序文件中 C 12.下列不合法的数值常量是( ) A.011 B.1e1 C.8.0e0.5 D.0xabc C 13.可在 C 程序中用作用户标识符的一组是( ) A.and _2007 B.date y-m-d C.hi dr.tom D.case big1 A 14.下列关于 long、int 和 short 类型数据占用内存大小的叙述正确的是( ) A.均占 4 个字节 B.根据数据的大小来决定所占内存的字节数 C.由用户自己定义 D.由 C 语言编译系统决定 D 15.设
23、变量已正确定义并赋值,以下正确的表达式是( ) A.x=y*5=x+z B.int(15.8%3) C.x=y+z+3,+y D.x=25%5.0 C 16.设有定义:int k=1;float f=7;则下列选项中错误的表达式是( ) A.k=k=k B.-k+ C.k%int(f) D.k=f=m C 17.表达式 3.6-5/2+1.2+5%2 的值是( ) A.4.3 B.4.8 C.3.3 D.3.8 D 18.下列叙述中错误的是( ) A.C 程序中的#include 和#define 行均不是 C 语句 B.除逗号运算符外,赋值运算符的优先级最低 C.C 程序中,j+;是赋值语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大一 语言 知识 专业 资料 题库
限制150内