2022年程序设计语言C_习题集 .pdf

上传人:H****o 文档编号:39715644 上传时间:2022-09-07 格式:PDF 页数:29 大小:212.48KB
返回 下载 相关 举报
2022年程序设计语言C_习题集 .pdf_第1页
第1页 / 共29页
2022年程序设计语言C_习题集 .pdf_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《2022年程序设计语言C_习题集 .pdf》由会员分享,可在线阅读,更多相关《2022年程序设计语言C_习题集 .pdf(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第 1 页 共 29 页程序设计语言C课程习题集西南科技大学成人、网络教育学院版权所有习题【说明】:本课程程序设计语言C(编号为 03004)共有单选题,编程题,填空题等多种试题类型,其中,本习题集中有 填空题 等试题类型未进入。一、单选题1.在 C语言中,合法的长整型常数是AA)OL B)4962710 C)324562&D)216D2.以下有 4 组用户标识符,其中合法的一组是CA)For B)4d C)f2_G3 D)WORD 3.以下选项中合法的字符常量是BA)B B)010 C)68 D)D4.以下程序的输出结果是Dmain()int a=3;printf(%dn,a+(a-=a*a

2、);A)-6 B)12 C)0 D)-12 5.设 a、b、C、d、m、n 均为 int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)&(n=cd)运算后,n 的值位为CA)0 B)1 C)2 D)36.t 为 int类型,进人下面的循环之前,t 的值为 0 while(t=l)B,则以下叙述中正确的是A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法D)以上说法都不对7.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是BA)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定名师资

3、料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 29 页 -第 2 页 共 29 页8.以下程序的输出结果是Cmain()int i,a10;for(i=9;i=0;i-)ai=10-i;printf(%d%d%d,a2,a5,a8);A)258 B)741 C)852 D)3699.以下选项中,不能正确赋值的是AA)char s110;s1=Ctest;B)char s2=C,t,e,s,t;C)char s320=Ctest;D)char*s4=Ctestn;10.以下程序的输出结果是Dunion myun struct int x,y,z;u;int k;a;main()a.u.

4、x=4;a.u.y=5;a.u.z=6;a.k=0;printf(%dn,a.u.x);A)4 B)5 C)6 D)011.以下叙述正确的是CA)C 语言比其他语言高级B)C 语言可以不用编译就能被计算机识别执行C)C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C 语言出现的最晚、具有其他语言的一切优点12.C 语言中用于结构化程序设计的三种基本结构是AA)顺序结构、选择结构、循环结构B)if、switch、break C)for、while、do-while D)if、for、continue 13.下列关于C语言用户标识符的叙述中正确的是BA)用户标识符中可以出现下划线和

5、中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头14.有以下程序段int m=0,n=0;char c=a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 29 页 -第 3 页 共 29 页若从键盘上输入:10A10,则输出结果是:AA)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0 15.有以下程序main()A in

6、t i;for(i=0;i3;i+)switch(i)case 1:printf(%d,i);case 2:printf(%d,i);default:printf(%d,i);执行后输出的结果是A)011122 B)012 C)012020 D)12016.有以下程序Bmain()int i=10,j=1;printf(%d,%dn,i-,+j);执行后输出的结果是A)9,2 B)10,2 C)9,1 D)10,117.有以下程序Dvoid f(int x,int y)int t;if(xy)t=x;x=y;y=t;main()int a=4,b=3,c=5;f(a,b);f(a,c);f(b

7、,c);printf(%d,%d,%dn,a,b,c);执行后输出的结果是A)3,4,5 B)5,3,4 C)5,4,3 D)4,3,518.有以下程序Cmain()char*s=one,two,three,*p;p=s1;printf(%c,%sn,*(p+1),s0);执行后输出结果是名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 29 页 -第 4 页 共 29 页A)n,two B)t,one C)w,one D)o,two19.有以下程序Cmain()int m3=1,4,7,2,5,8,3,6,9;int i,k=2;for(i=0;i3;i+)printf(%d,m

8、ki);执行后输出结果是A)4 5 6 B)2 5 8 C)3 6 9 D)7 8 920.设有如下说明typedef struct int n;char c;double x;STD;则以下选项中,能正确定义结构体数组并赋初值的语句是AA)STD tt2=1,A,62,2,B,75;B)STD tt2=1,A,62,2,75;C)struct tt2=1,A,2,B;D)struct tt2=1,A,62.5,2,B,75.0;21.以下选项中属于C语言的数据类型是DA)复数型B)布尔型C)集合型D)整型22.一个 C程序的执行是从AA)main()函数开始,直到main()函数结束B)第一

9、个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束23.设有语句int a=3;则执行语句a+=a-=a*a;后,变量a 的值是 C A)3 B)-12 )24.若有 char c5=c,d,0,e,0;则执行语句printf(%s,c);结果是 CA)cd0e B)cd C)cd D)cd e 25.已知:int a23=1,2,3,4,5,6,(*p)3=a;下列表达式不是4 的是 BA)*(*p+3)B)*p+3 C)*(*(p+0)+3)D)a03 26.以下有宏替换不正确的叙述DA)宏替换不占用运行时间 B)宏名无类

10、型)宏替换只是字符串替换)宏名必须用大写字母表示27.执行 char str10=”Chnina”;strlen(str)的值是 BA)5 B)6)7)9 28.下面程序的输出结果是D#define POWER(x)(x*x)main()名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 29 页 -第 5 页 共 29 页 int i=4;printf(%d,POWER(i-2);A)-9 B)-7 C)5 D)-629.在定义 int a34;后,第 10 个元素是DA)a24)a32 )a33)a3130.下面程序的输出结果是D typedef struct long x2;s

11、hort y4;char z8;MYTYPE;MYTYPE a;main()printf(%dn,sizeof(a);A)2 B)8 C)14 D)24 31.以下能正确进行字符串赋值的是CA)char s5=a,e,I,o,u B)char s5;s=”good”C)char s5=”abcd”D)char s5;s=”good”32.若有 float x;则 sizeof(x)和 sizeof(float)两种描述A A)都正确B)都不正确C)前者正确,后者不正确D)后者正确,前者不正确33.若有代数式3ae/(bc),则不正确的C语言表达式是AA)3*a*e/b*c B)3*a*e/b/

12、c C)a/b/c*e*3 D)a*e/c/b*3 34.下面程序的运行结果是DMain()struct cmplx int x;int y;cnum2=1,3,2,7;Printf(“%dn”,cnum0.y/cnum0.x*cnum1.x);A)0 B)1 C)3 D)6 35.若有以下说明和语句,且0=i10,则()是对数组元素的错误引用Cint a=1,2,3,4,5,6,7,8,9,0,*p,i;p=a;A)*(a+i)B)ap-a C)p+i D)*(&ai)36.设有以下宏定义:C#define M 2#define X(m)(M+2)*m)则执行语句:z=2*(M+X(3+2)

13、;后,z 的值为A)44 B)45 C)32 D)33 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 29 页 -第 6 页 共 29 页37.在如下程序段中的while循环 Bint k=0;While(k=1)k+;A)有语法错,不能执行B)无限循环C)一次都不执行D)执行一次38.下列程序运行的结果为D#include Main()int k=0;Char c=A;Do switch(c+)case A:k+;break;Case B:k-;break;Case C:k+=2;break;Case D:k=k%2;break;Case E:k=k*10;break;Def

14、ault:k=k/3;K+;while(cG);Printf(“k=%d”,k);A)k=4 B)k=6 C)k=7 D)k=8 39.下列程序运行的结果为C#include fun(int x,int y,int*cp,int*dp)*cp=x+y;*dp=x-y;main()int a,b,c,d;a=30;b=50;fun(a,b,&c,&d);printf(“%d,%dn”,c,d);A)50,30 B)30,50 C)80,-20 D)80,20 40.阅读程序回答问题:名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 29 页 -第 7 页 共 29 页main()in

15、t i,j,k,m=0;for(i=1;i4;i+)for(j=1;j4;j+)for(k=1;k0)D)if(b=0)m=1;n=2;45.有以下程序main()char k;int i;for(i=1;i3;i+)scanf(%c,&k);switch(k)case 0:printf(anothern);case 1:printf(numbern);程序运行时,从键盘输入:01,程序执行后的输出结果是CA)another B)another C)another D)number number number number number another number 名师资料总结-精品资料欢迎

16、下载-名师精心整理-第 7 页,共 29 页 -第 8 页 共 29 页46.有以下程序void f(int v,int w)int t;t=v;v=w;w=t;main()int x=1,y=3,z=2;if(xy)f(x,y);else if(yz)f(y,z);else f(x,z);printf(%d,%d,%dn,x,y,z);执行后输出结果是CA)1,2,3 B)3,1,2 C)1,3,2 D)2,3,1 47.有以下程序段Dint a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;b 中的值是A)5 B)6 C)8 D)9 48.有以下程序A#defi

17、ne f(x)x*x main()int i;i=f(4+4)/f(2+2);printf(%dn,i);执行后输出结果是A)28 B)22 C)16 D)4 49.设有以下语句typedef struct S int g;char h;T;则下面叙述中正确的是BA)可用 S定义结构体变量B)可以用 T定义结构体变量C)S 是 struct类型的变量D)T 是 struct S类型的变量50.有以下程序Cint a=2;int f(int*a)return(*a)+;main()名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 29 页 -第 9 页 共 29 页 int s=0;

18、int a=5;s+=f(&a);s+=f(&a);printf(%dn,s);执行后输出结果是A)10 B)9 C)7 D)8 51.组成 C程序的基本单位是AA)函数B)标识符C)表达式D)语句52.设 int类型的数据长度为2 字节,则该类型数据的取值范围DA)0 至 65536 B)0 至 65535 C)-32767 至 32768 D)-32768 至 3276753.在 C语言中,逻辑值“真”是用()表示的。BA)预定义为真值的宏B)非零数C)正数D)非零整数54.C语言对于嵌套if语句规定else 总是与()匹配BA)与最外层的if B)与之前最近的if C)与之前最近的不带e

19、lse 的 if D)与最近的 之前的 if55.数组定义char a10=a,b,c:包括了几个元素DA)3 B)9 C)4 D)1056.数组名作为实参传给被调用的函数时,形参获得的是CA)该数组第一个元素的值B)该数组所有元素的值C)该数组第一个元素的首地址D)该数组任意元素的地址57.为表示关系x y z,正确的C语言表达式为CA)(x=y=z)B)(x=y)AND(y=z)C)(x=y)&(y=z)D)(xy)&(y=z)58.根据定义int a=1,2,3,i,*p=a;从语法分析()是不正确的。DA)ap-a B)*(&a)C)p D)*(*(a+i)59.若有语句scanf(“

20、%d%d”,&a,&b);要使变量a,b 分别得到12 和 34;正确的输入形式为 AA)12 34 B)12,34 C)1234 D)12:3460.union uex int i;float f;char c;ex;则 sizeof(ex)的值是AA)4 B)5 C)6 D)7 61.将十六进制数176 转换成十进制数是C A)366 B)268 C)374 D)270 62.下列语句中符合C 语言语法的赋值语句是D A)a=7+b+c=a+7 B)a=7+b+=a+7 C)a=7+b,b+,a+7 D)a=7+b,c=a+7 63.在 C 语言中,要求运算数必须是整型的运算符是A 名师资

21、料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 29 页 -第 10 页 共 29 页A)%B)/C)D)!64.已知字母A 的 ASC码为十进制的65,下面程序的输出是A A)67,D B)B,C C)C,D D)不确定的值main()char ch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);65.下面程序的输出是C A)0 B)1 C)3 D)不确定的值main()int x=10,y=3;printf(%dn,y=x/y);66.若执行下面的程序时从键盘上输入3 和 4,则输出是B A)14 B)16 C)18 D)20 ma

22、in()int a,b,s;scanf(%d%d,&a,&b);s=15;if(a*5)printf(%dn,+s);else printf(%dn,s-);67.下面程序的输出是AA)3 B)4 C)1 D)2 main()int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(%dn,*(p+2);68.执行下面程序中输出语句后,a 的值是 C A)65 B)20 C)15 D)10 main()int a,k,b;printf(%dn,(a=3*5,a*4,a+5);printf(%d%d%d%n,k,a,b);69.下列函数的功能是A A)求字符串的长度B)比

23、较两个字符串的大小C)将字符串X 复制到字符串Y D)将字符串X 连接到字符串Y 后面int fun1(chat*x)char*y=x;名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 29 页 -第 11 页 共 29 页while(*y+);return(y-x-1);70.若 fp 是指向某文件的指针,且已读到该文件的末尾,则 C语言函数feof(fp)的返回是DA)EOF B)-1 C)非零值D)NULL 71.二进制语言是属于AA)面向机器语言B)面向过程语言C)面向问题语言D)面向汇编语言72.不是 c 语言提供的合法关键字是B A)switch B)cher C)c

24、ase D)default 73.执行语句“x=(a=3,b=a-)”后,x,a,b的值依次为CA)3,3,2 B)3,2,2 D)3,2,3 D)2,3,2 74.表达式“10!=9”的值是DA)true B)非零值C)0 D)1 75.以下程序的输出结果是D main()int x=10,y=10;printf(“%d%d、n”,x-,-y);A)10 10 B)9 9 C)9 10 D)10 9 76.以下程序的输出结果是D main()int x=10,y=10;printf(“%d%d n”,x+,-y);A)10 10 B)9 9 C)9 10 D)10 9 77.设有如下定义:D

25、char*aa2=“abcd”,“ABCD”;则以下就法中正确的是 A)aa 数组成元素的值分别是“abcd”和ABCD B)aa 是指针变量,它指向含有两个数组元素的字符型一维数组 C)aa 数组的两个元素分别存放的是含有4 个字符的一维字符数组的首地址 D)aa 数组的两个元素中各自存放了字符a 和A 的地址78.下列程序的输出结果是D main()char p110=abcd,p210=ABCD,str50=xyz;strcpy(str,strcat(p1,p2);名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 29 页 -第 12 页 共 29 页 printf(%s,

26、str);A)xyabcAB B)abcABz C)ABabcz D)abcdABCD 79.main()C int a5=2,4,6,8,10,*p,*k;p=a;k=&p;printf(%d,*(p);printf(%dn,*k);A)4 4 B)2 4 C)2 2 D)4 680.执行以下程序后,y 的值是C main()int a=2,4,6,8,10;int y=1,x,*p;p=&a1;for(x=0;x3;x+)y=*(p+x);printf(“%d n”,y);A)6 B)4 C)8 D)10 81.C语言提供的合法的数据类型关键字是BA)Double B)short C)in

27、teger D)Char 82.表达式:10!=9 的值是DA)true B)非零值C)0 D)1 83.在下列选项中,不正确的赋值语句是DA)t B)n1=(n2=(n3=0)C)k=i=j D)a=bc=1;84.有以下程序段Bint m=0,n=0;char c=a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);若从键盘上输入:10A10,则输出结果是:A)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0 85.不能把字符串:Hello!赋给数组b 的语句是BA)char b10=H,e,l,l,o,!;B)char

28、b10;b=“Hello!”;C)char b10;strcpy(b,“Hello!”);D)char b10=“Hello!”;名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 29 页 -第 13 页 共 29 页86.若有以下说明:C int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为6 的表达式是A)*p6 B)*(p6)C)*p+5 D)p5 87.若有以下说明:D int w34o=0,1,2,4,5,8;int(*p)4=w;则数值为4 的表达式是A)*w11 B)p,*(p1)C)w22 D)p11 88.能正确表示a10 或 a0 的关

29、系表达式是DA)a=10 or a=10a=10a=10 a=0 89.若有以下的说明和语句:C main()int t32,*pt3,k;for(k=0;k0;i)for(j=0;j4;j+),A)20 B)25 C)24 D)30 99.若有以下定义和语句:A char s110=12345,s210=1234;printf(%dn,strlen(strcpy(s1,s2);则输出结果是A)4 B)5 C)9 D)10 100.若有以下定义和语句:B int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则不能表示a 数组元素的表达式是A)*p B)a10 C)*a D)ap

30、 a 二、编程题101.从键盘输入10 个数,计算它们的和并输出。Main()int a10,sum=0,i;1分for(i=0;i10;i+)3分scanf(“%d”,&ai);1分for(i=0;i10;i+)3分sum=sum+ai;1分printf(“sum=%d”,sum);1分名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 29 页 -第 15 页 共 29 页102.判断一个数是否是素数。#include“math.h”main()int m,i,k;1分scanf(“%d”,&m);1分k=sqrt(m);for(i=2;i=k+1)3分printf(“%d i

31、s a prime numbern”,m);else printf(“%d is not a prime numbern”,m);103.用选择排序法对一维数组中的整数进行排序,按从小到大的顺序排列。main()int n,j,k,x,min,min_k,a100;1分scanf(“%d”,&n);for(j=0;jn;j+)2分scanf(“%d”,&aj);for(k=0;kn-1;k+)5分 min=ak;min_k=k;for(j=k;jn;j+)if(ajmin)min=aj;min_k=j;x=amin_k;amin_k=ak;ak=x;for(j=0;jn;j+)2分printf

32、(“%d”,aj);printf(“n”);104.用递归的方法求n!。Float fac(int n)6分 float f;名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 29 页 -第 16 页 共 29 页if(n0)printf(“n0,data error!”);else if(n=0|n=1)f=1;else f=fac(n-1)*n;return(f);main()int n;1分float y;printf(“input a integer number:”);scanf(“%d”,&n);y=fac(n);2分printf(“%d!=%15.0f”,n,y);

33、1分 105.编写一个程序,比较两个整数的大小,要求从键盘输入2 个整数,然后再屏幕上从大到小输出。Main()int a,b,t;1分Scanf(%d%d,&a,&b);1 分If(ab)7分 t=a;a=b;b=t;printf(“%d”,a,b);1分 106.输出 9*9 口诀。注意分行与列考虑,共9 行 9 列,用多重循环语句。输出形式如下:1*1=1 1*2=2,1*9=9 2*1=1 2*2=4,2*9=18,9*1=9 9*2=18,9*9=81 main()int i,j,result;1分printf(n);for(i=1;i10;i+)2分for(j=1;j10;j+)6

34、分 result=i*j;printf(%d*%d=%-3d,i,j,result);/*-3d表示左对齐,占3 位*/printf(n);/*每一行后换行*/1分 名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 29 页 -第 17 页 共 29 页 107.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20 项之和。(请抓住分子与分母的变化规律。)main()int n,t,number=20;1分float a=2,b=1,s=0;for(n=1;n=number;n+)2分 s+=a/b;3分t=a;a+=b;b=t;/这一步是关键

35、4分 printf(sum is%9.6fn,s);108.写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度。main()int len;1分char*s20;printf(please input a sing:n);scanf(%s,s);1分len=length(s);2分printf(the sing has%d characters.,len);int length(char*p)int n;n=0;0)4分 n+;p+;return n;2分 109.编写一个递归函数求n!,函数原型int fact(int n)。#include sio.h int fa

36、ct(int n)int sum;1分名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 29 页 -第 18 页 共 29 页if(j=0)2分sum=1;1分else sum=n*fact(n-1);4分return sum;2分110.编写一个程序,对10 个数进行排序。#define N 10 main()int i,j,min,tem,aN;1分/*input data*/printf(please input ten num:n);for(i=0;iN;i+)1分 printf(a%d=,i);scanf(%d,&ai);printf(n);for(i=0;iN;i+)

37、printf(a%d=%d,i,ai);printf(n);/*sort ten num*/for(i=0;iN-1;i+)2分min=i;for(j=i+1;jaj)min=j;tem=ai;ai=amin;amin=tem;/*output data*/printf(After sorted n);for(i=0;i=a&si=z)2分si=si-32;fputc(si,fp);1分i;fclose(fp);1分fp=fopen(test,r);1分fgets(s,slen(s)-1,fp);1分printf(%sn,s);fclose(fp);1分113.编写一个程序,求1+2+3+4+

38、,+100.要求用循环语句。main()int sum=0,i;2分for(i=1;i=100;i+)8分 sum=sum+i;名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 29 页 -第 20 页 共 29 页 114.有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?在屏幕上输出结果。main()int i,j,k;1分printf(n);for(i=1;i5;i+)1分for(j=1;j5;j+)1分for(k=1;k5;k+)1 分 if(i!=k&i!=j&j!=k)5分printf(%d,%d,%dn,i,j,k);1分 115.利用

39、递归方法求5!。main()int i;1分int fact();for(i=0;in2)swap(pointer1,pointer2);1分if(n1n3)swap(pointer1,pointer3);1分if(n2n3)swap(pointer2,pointer3);1分printf(the sorted numbers are:%d,%d,%dn,n1,n2,n3);swap(int*p1,int*p2)int p;p=*p1;*p1=*p2;*p2=p;3分117.判断 101-200 之间有多少个素数,并输出所有素数。main()int m,i,k,h=0,leap=1;1分pri

40、ntf(n);for(m=101;m=200;m+)1分k=sqrt(m+1);for(i=2;i=k;i+)1分if(m%i=0)2分leap=0;break;if(leap)4分 printf(%-4d,m);h+;if(h%10=0)printf(n);leap=1;1分 printf(nThe total is%d,h);118.求一个 3*3 矩阵对角线元素之和,并输出结果。main()float a33,sum=0;1分名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 29 页 -第 22 页 共 29 页int i,j;printf(please input rec

41、tangle element:n);for(i=0;i3;i+)1分for(j=0;j3;j+)1分scanf(%f,&aij);1分for(i=0;i3;i+)1分sum=sum+aii;4分printf(duijiaoxian he is%6.2f,sum);1分119.写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度。main()int len;1分char*str20;printf(please input a string:n);scanf(%s,str);1分len=length(str);1分printf(the string has%d charact

42、ers.,len);1分 int length(char*p)int n;n=0;0)2 分 n+;1分p+;2分 return n;1分120.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。main()int i=5;1分void palin(int n);palin(i);1分printf(n);void palin(int n)名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 29 页 -第 23 页 共 29 页 char next;if(n=1)1分 next=getchar();1分printf(n0:);2分putchar(next);1分 else

43、 next=getchar();1分palin(n-1);1分putchar(next);1分 121.计算 1*2*3*,*100,用循环语句编程实现。main()long i,s=1;1分for(i=1;i=100;i+)2 分s=s*i;6 分printf(“%d”,s);1分122.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数”,因为153=135333。main()int i,j,k,n;1分printf(water flowernumber is:);for(n=100;n=a&c=A&c=0&c0)swap

44、(str1,str2);1分if(strcmp(str1,str3)0)swap(str1,str3);1分if(strcmp(str2,str3)0)swap(str2,str3);1分printf(after being sortedn);printf(%sn%sn%sn,str1,str2,str3);char swap(char*p1,char*p2)名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共 29 页 -第 25 页 共 29 页char*p20;strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);3分125.编一个程序,输入华氏温度(

45、F),按下列公式计算并输出对应的摄氏温度(C).C=5*(F-32)/9 main()float f,c;1分scanf(“%f”,&f);1分c=5*(f-32)/9;7分printf(“c=%fn”,c);1分126.编一个程序,输入单精度型一维数组a10,计算并输出a 数组中所有元素的平均值。Main()float a10,ave=0.0;1分int i,j;for(i=0;i10;i+)3分scanf(“%f”,&ai);for(i=0;i=A&arrayi=Z)3分n+;1分i+;1分 return n;2 分返回值:字符串中大写字母的数目。129.边一个程序,输入一个整数,输出其符

46、号:若)=0,输出 1;若 0,输出-1。main()int x,fx;1分scanf(“%d”,&x);if(x0)fx=-1;4分else fx=1;4分printf(“sign of x:n”,fx);1分130.输入 10 个整数存入一维数组,再按逆序重新存放后再输出。main()int s10,i,j,x;1分for(i=0;i10;i+)1分scanf(“%d”,&si);for(i=0,j=9;i5;i+,j-)2 分x=si,si=sj,sj=x;5分for(i=0;i=a&si=A&si=a&c=A&c=Z)7 分printf(“yes!n”);1分134.从键盘上输入若干个

47、正整数,求其中最大数和最小数,输入的数以0 为中止标记。main()int x,man,min;scanf(“%d”,&x);max=min=x;1分for(;x!=0;)2 分 if(xmax)max=x;3分scanf(“%d”,&x);printf(“max=%d min=%d n”,max,min);1分135.输入 10 个学生的学号和3 门课程的成绩(整数),统计并输出3 门课程总分最高的学生的学号和总分。main()int s105,j,max,max_j;1分for(j=0;j10;j+)1分名师资料总结-精品资料欢迎下载-名师精心整理-第 27 页,共 29 页 -第 28

48、页 共 29 页 printf(“input student no.and 3 scoren”);scanf(“%d,%d,%d,%d”,&sj0,&sj1,&sj2,&sj3);sj4=sj1+sj2+sj3;4分 max=s04,max_ j=0;1分for(j=0;j10;j+)if(maxsj4)max=sj4,max_j=j;3 分printf(“student no=%d total=%d n”,smax_j0,smax_j4;)136.输入 2 行 3 列的矩阵元素,存入二维数组,再按行列格式输出(要求用指针)。main()int a23,*p=a;1分int j,k;for(j

49、=0;j2;j+)1分for(k=0;k3;k+)1分scanf(“%d”,p+j*3+k);2 分for(j=0;j2;j+)1分 printf(“n”);1分for(k=0;k3;k+)1分printf(“%10d”,*(p+j*3+k);2分 137.从键盘输入10 个整数,计算它们的和并输出和值。main()int j,a,sum=0;1分printf(“put 10 numbersn”);for(j=0;j10;j+)2分 scanf(“%d”,&a);1分sum+=a;4分 printf(“sum=%d”,sum);2 分138.写程序,判断某一年是否是闰年。main()int y

50、ear,leap;1分scanf(“%d”,&year);1分if(year%4=0&year%100!=0)|(year%400=0)3分leap=1;1分else leap=0;2 分名师资料总结-精品资料欢迎下载-名师精心整理-第 28 页,共 29 页 -第 29 页 共 29 页if(leap)printf(“%d is a leap year“,year);1分else printf(“%d is not a leap year”,year);1分139.用“冒泡排序法”对一维数组中的整数进行排序,按从小到大的顺序排列。main()int n,i,j,k,x,a10 0;1分sca

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com