c语言程序设计张书云答案,c语言程序设计答案

1,c语言程序设计答案方法很多了 , 即可用ASCIL码,又可调用函数看ascii字码表,大写字母与小写字母之间的编码号,相差都是一个固定的值,具体多少我就不说了 , 你自己去查,记得住些 。我只是告诉思路printf("%c", c+32);【c语言程序设计张书云答案,c语言程序设计答案】
2 , C语言程序设计试题1 求解 请勿乱填 非常感谢C C A B AD B D D DD D B B BA C B C C应该有80%是正确的
3,c语言程序设计教程答案#include<stdio.>void main() int x,y,z; float ave; printf("4,4,1:\n"); scanf("%d,%d,%d",&x,&y,&z); ave=(x+y+z)/3; printf("3:ave=%f",ave);}
4,C语言程序设计2015A卷一、判断题(每小题1分,共15分)1.标准C中,只有数值型数据才能进行4则混合运算 。2.标准C中,_a是合法的自定义标识符 。3.有定义:float f;表达式f+=(int)3.6%2”不符合C语言语法 。4.标准C中,逻辑运算的结果只有是1表示满足条件 , 而结果是0表示不满足条件 。6.以下运算符排列顺序满足按照优先级从高到低的排列:&&、!、==、- 。7.语句for(;;);是非法的 。8.在C语言程序中可以由多个源文件构成,每个源文件都可以有自己的main()函数 。9.while和do-while的主要区别是后者至少无条件执行一次 。10.数组名代表数组的首地址是常量,所以将实参数组名表示地址传给形参数组名是错误的 。11.当函数没有返回值类型时,表示函数类型为void 。12.C语言中,指针变量作函数参数时,它们不是采取单向值传递的方式 。13.一个函数中只允许有一条return语句 。14.在C语言中,如果没有说明变量的存储类型是auto类型的 。15.由于指针中所存放的地址都是整数,所以整型指针和浮点型指针可以相互赋值 。二、填空题(每空1分 , 共15分)1. 若a=4;b=5,c=6;则表达式c==(b=-a); 中c的值是 (1)。2. 计算表达式的值:4&&-4的值: (2) ;设int a=3,b=4 , c=5,则表达式a||b+c&&b==c的值: (3) ;设x=2.5, a=7, y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值: (4) ;设a=12,则表达式a*=a/5的值: (5) ;3. 若int x = 4 , y = 6,z = 0;有循环while(x = y)则循环语句执行完后,z值为 (6)。4. 变量的指针就是指该变量的 (7)。5. 若有定义int (*p)[4],则标识符p是 (8) ;若有定义int *p[4],则标识符p是 (9) ;6. 已有定义:char *p[ ]=的输出结果分别为: (10) 、 (11) 、 (12)。7. 已有定义: int x=65; 若格式化输出结果为“A, 65”,则对应的格式化输出语句为printf(“ (13)  ,  (14) ”, x, x) 。8. 已定义:int a[][2]=三、简答题(每题4分,共12分)1、简述选择语句if和else语句对与switch语句的区别 。2、简述在循环语句中,break和continue的区别 。3、若int a[5] , *p=a;简述*p++和(*p)++的区别 。四、下列各程序中每个程序各有2个错误,指出错误语句 , 写出对应正确语句(每小题4分,共16分)五、程序填空题:下列程序中缺少若干条语句 , 在对应的下划线上填上合适的语句,每一个下划线只填一条语句(每小题6分,共24分)六、阅读下列程序 , 写出运行结果(第一小题4分,第二小题6分,共10分)七、编程题(8分)编译程序,其功能是比较字符串的大?。?不允许用系统提供的字符串比较函数strcmp) 。要求是:(1) 通过主函数调用一个函数strcompare来实现 。(2) 要求函数strcompare实现两个字符的比较:如第一个字符小于第二个字符则返回一个负值;如两个字符相等则返回0值;如第一个字符大于第二个字符则返回一个正值 。(3) 并输出两个字符串中相同部分的子串 。《C语言程序设计基础》试卷参考答案一、判断题(每小题1分,共15分)1~5; 6~10; 11~15二、填空题(每空1分 , 共15分)(1) 6 (2) 1 (3) 1 (4) 2.5 (5) 24 (6) 6(7)地址 (8) 行指针,指向有四个元素的一维数组(9)指针数组名,该数组有四个元素,每个元素都是指针(10)Russia (11)i (12)h (13) %c (14) %d (15)7三、简答题(每题4分,共12分)1、if总是判断其后面的表达式的值是否为非零值,如是非零值则执行其后面的语句或由2、break是终止整个循环过程;continue是终止本次循环 。3、*p++首先取a[0]的值 , 然后p指向a[1];(*p)++使得a[0]的值自增1,但p保持不变 。四、下列各程序中每个程序各有2个错误 , 指出错误语句,写出对应正确语句(每小题4 分,共16分)1、 (1)缺#include ; (2)scanf(“%f”,a); 改为 scanf(“%f”,&a);2、 (1)缺sum=0; (2)for(i=1; i<=3; i++) 改为for(i=0;i<3;i++)3、 (1)p1=p2 改为 *p1=*p2 (2)swap(&a, *p) 改为swap(&a, p)4、 (1)在if(m<0)语句后添加else if(m==0) a=1; (2) 添加 return(a);五、程序填空题:下列程序中缺少若干条语句,在对应的下划线上填上合适的语句,每一个下划线只填一条语句(每小题6分,共24分)1、 (1)x=0; (2)if(n==x) (3)s++;或s=s+1;2、 (4)&num[i] (5)max< num[i]? (6)num[i]!=03、 (7)n-i-1 (8)a[j]>a[j+1] (9)a[j+1]=temp4、 (10)count=0; (11)n%10 (12)n>0或n!=0或n六、阅读下列程序,写出运行结果(第一小题4分,第二小题6分,共10分)1、 #*#*#*2、 main i=1 j=2 k=2sub i=1 j=2 k=1 x=2sub i=1 j=2 k=1 x=3七、编程题(8分)#includemain()int i,j, flag=0;char str1[90],str2[90];gets(str1);gets(str2);i=0;doflag=strcompare(str1[i],str2[i]);i++;}while(str1[i]!= && str2[i]!= &&flag=0);if(flag<0)printf(“%s小于%s ”,str1,str2);else if(flag==0) printf(“%s 等于%s ”,str1,str2);else printf(“%s大于%s ”,str1,str2);printf(“两个字符串中相同的字串为:”);j=0;i--; 后3句可用str1[i]=; printf(“%s”,str1);代替//用str2也可以 。while(j<i)}int strcompare(char c1,char c2)int v;v=c1-c2;return v;} 5,c语言程序设计答案只说一下思路 实在写不出来再追问 最好能自己解决 第一题:就是一个杨辉三角问题用双循环 外循环是行数(用 i 表示) 从0到n (n自己输入)内循环是列数(用 j 表示) 从0到2*i-1然后就是赋值很多种方式比如你定义一个 字符变量 C给它赋值为A 然后每次都用C给数组赋值 然后让C加1 方法很多 (数组是字符二维数组, 用之前要初始化一下 给数组都赋值为 空格)第二题:定义两个二维数组一个一维数组按照题目要求 先把每个同学的成绩和名字分别存放到两个二维数组里面同样是双循环然后再用双循环 把每个同学成绩加起来放到一维数组里面然后接下来就是对一位数组内容进行排序 排序过程中 也要将名字的那个二维数组同样排序 因为一维数组中的总分顺序和二维数组中的姓名顺序是一样的比如 要将第二个同学的成绩和第五个同学的成绩交换 那么就要将总分交换 再将姓名交换 不然分就不对人了第三题:题目没明白什么意思第四题:用循环从第一个元素判断到最后一个元素定义4个变量存储 数字 大写 小写 空格出现的次数查一下ASCII码 数字好像是48-57 大写字母是 65-90 小写是 97-122判断元素内容的ASCII在哪个范围 哪个变量就加16,c语言程序设计答案#include "stdio.h"void main()float a,b,c,d,e,f,g,L;int i;i=?;a=?;b=?;c=?;d=?;g=?;scanf("%f%f",&e,&f);L=sqrt((24*a*(b-c)+24*d*(e-f))/((g*g/(b*b))-(i*i/(c*c))));printf("L的值是:%f\n",L);}1unsigned char a[10];int i,x;x=a[0];for(i=1;i<10;i++)if(x[i]>x) x=a[i];}2int a[100];int i,x=0,y=0,z=0;for(i=0;i<100;i++)if(x[i]>0)x++;else if(x[i]<0)y++;elsez++;}由于题目只让存储,所以没有输出 。L=sqrt( (24*a (b-c)+24*d (e-f )) / (g*g/(b*b)-i*i/(c*c) ) )只不过是把数学表达式改成一些代码的!自己试着做一下,对自己有帮助的!scanf("%f",&e);scanf("%f",&f);L=sqrt((24*a*(b-c)+24*d*(e-f))/((g*g)/(b*b)-(i*i)/(c*c)));全部用float形

    推荐阅读