f211c语言,C语言程序设计题目及解答.doc

C语言程序设计题目及解答.doc

一、判断题14分1. 指针就是地址,因此一个变量的指针就是该变量的地址。2分 2. 在语句int *p;和语句printfd,*p;中的*p含义相同。2分 3. 指针变量不可以为函数的参数。2分 4. 若指针变量指向一维数组的第一个元素,将指针变量加整数3,即指针后移3个元素。 5. b是一维数组名,数组元素b1还可写成*b。2分 6. 在二维数组中,行指针是指向一维数组的指针变量.2分 7. 取地址运算符与指针运算符*的优先级相同,结合方向为自右向左。2分 二、选择题18分1.下列程序执行后的输出结果是 。A 2分 include stdio.hvoid funcint *a,int bb0*a6; int mainint a,b5; a0; b03; funca,b; printfd,b0;A. 6B. 7C. 8D. 9 2.有如下程序段int *p,a10,b1;pa; a*pb;执行该程序段后,a的值为 。C 2分 A. 编译出错B. 12C. 11D. 10 3.表达式“c*p”的执行过程是()A 2分 A. 复制*p的值给c后再执行pB. 复制*p的值给c后再执行*pC. 复制p的值给c后再执行pD. 执行p后再复制*p的值给c4.若有float a2.5,b6.3, *paa; *pa*3;pab; 则正确的是( )。B 2分 A. pa的值是2.5 ;B. *pa的值是6.3C. *pa的值是7.5D. pa的值是6.3; 5.下列语句定义p为指向float型变量d的指针,其中正确的是()C 2分 A. float d,*pd;B. float *pd,d;C. float d,*pd;D. float d,pd; 6.若有“float a1.5,b3.5,*paa;*pa*3;pab;”,则正确的是()C 2分 A. pa的值是1.5B. *pa的值是4.5C. *pa的值是3.5D. pa的值是3.5 7.指针变量p1、p2类型相同,要使p2、p1指向同一变量,哪一个语句是正确的()。A 2分 A. p2*p1;B. p2p1;C. p2p1;D. p2*p1 8.指出下列语句中正确的是()。B 2分 A. char *p; char s80; ps0;B. double x,y,*p; x3.45;px; y*p;C. int x,*p; *px;D. int *pa; int a;9.下面程序的输出是 。B 2分includestdio.hvoid astint x, int y, int *cp, int *dp *cpxy; *dpx-y; x*cp*dp; y*cp-*dp;void main int x,y,c,d; x5;y2,c8,d4; astx,y,c,d; printfd,d,d,dn,x,y,c,d;A. 5,2,8,4B. 5,2,7,3C. 12,4,7,3D. 12,4,8,4 三、程序填空题38分1. 功能写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 10分 include stdio.hint lengthchar *p int n; n0; while*p0 1; p; return n;int main int length2; int len; char str1000; printfplease a stringn; scanfs,str; lenlength3; printfthe string has d characters.,len; 1答案 3分 n 2答案 4分 char *p 3答案 3分 str 2. 功能有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 16分 includestdio.hdefine nmax 50int main int i,k,m,n,numnmax,*p; printfplease the total of numbersn; scanfd,n; pnum; fori0;1;i *pi2; i0; k0; m0; whilemn-1 if30 k; ifk3 *pi0; k0; m; i; ifin i0; while4 p; printfd is leftn,*p; return 0; 1答案 4分 in2答案 4分 i1 3答案 4分 *pi 4答案 4分 *p0 3. 功能用冒泡法对数组a 进行由小到大的排序。 12分 includestdio.hvoid funint *a,int n int i,j,t; for j0;1;j for i0;2;i ifaiai1 tai;3; ai1t; int main int i,n,a100; printfPlease the number of the casen; scanfd,n; fori0;in;i scanfd,ai; 4; fori0;in;i printf3d,ai; 1答案 3分 jn-12答案 3分 i n-j-13答案 3分 aiai1 4答案 3分 funa,n 四、程序设计题30分1. 和与乘积 10分 题目描述要求定义一个函数value实现,计算两个数的和与乘积。 输入描述在主函数main中输入两个数a和b,然后调用函数value计算这个两个数的和与乘积。 输出描述在主函数中输出两个数的和s与乘积p。 样例输入2 3 样例输出5 6 includestdio.hint valueint a, int b, int *s, int *p *sab; *pa*b;void main int a,b,s,p; scanfdd,a,b; valuea, b, s, p; printfd dn,s,p; 2. 删除大写字母 10分 题目描述输入一个字符串,将这个字符串中的大写英文字母除去,输出剩余的字符组成的字符串。(要求用指针做) 输入描述输入一个字符串,包含有大写英文字母 输出描述输出除去大写英文字母的剩余字符串 样例输入123YUadfNBweK89 样例输出123adfwe89 include stdio.h void main char str1100,str2100,*p;int i;getsstr1;pstr2;fori0;str1i0Astr1iZcontinue;else *pstr1i;p;*p0 3. 密码 10分 题目描述假设一个比较安全的密码至少应该满足下面两个条件 1.密码长度大于等于8,且不要超过16。2.密码中的字符应该来自下面“字符类别”中四组中的至少三组。这四个字符类别分别为1.大写字母A,B,C.Z;2.小写字母a,b,c.z;3.数字0,1,2.9;4.特殊符号,,,,;给你一个密码,你的任务就是判断它是不是一个安全的密码。 输入描述每组测试实例包含一个密码(长度最大为50),密码仅包括上面的四类字符。 输出描述对于每个测试实例,判断这个密码是不是一个安全的密码,是的话输出YES,否则输出NO。 样例输入a1b2c3d4LinleACM 样例输出NOYES include string.hinclude stdio.hvoid main char str51;int f10,f210,f220,f230,f240; f1为满足条件1的标志量,f2X是满足条件2的标志量int i,len;getsstr;lenstrlenstr;iflen8len16f11;fori0;ilen;iifstriAstriZf211;continue;ifstriastrizf221;continue;ifstri0stri9f231;continue;ifstristristristristristristrif241;iff11f21f22f23f243printfYESn;elseprintfNOn;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值