7道C语言题,求高手解答。 一道简单的C语言题,新手求高手解答!!!

作者&投稿:空初 (若有异议请与网页底部的电邮联系)
1 swap调用的时候实参传给形参,x给m,y给n 。而这里面有一个重大的问题就是x与m并不是同一个内存单元,y与n也不是同一个内存单元,这就暗示着你对m和n的改变并没有使得x和y有任何的效果,因为它们是不同的内存单元,所以你交换的只是m和n内存单元中的值,而对x y没有任何影响,此题关键分清楚它们是占据不同的内存单元的。这个主要就是对内存地址和内存中存放的值搞此就OK,所以指针要学好!
2 答案应该是C不是D 。 m成立 等价于m为真 等价于m非0 等价于m不是0 等价于m不等于0 即m!=0
3 答案应该是B不是D 。 由2题推导可知w等价于w!=0 而!w就是w!=0的否命题就是w==0
4 你再好好验证一下吧,在VC6中printf("%");是没有任何输出的,只有printf("%%");才会输出一个%
5 第二行是一个逗号表达式,但没有用,你依次执行一下先是给x和y赋值6,接着把x赋给z,z=6,然后++y,y变成了7整个表达式的值是++y的值也就是7. 但你搞清啊,最后printf("%d",z);这个输出的是啥? 是z的值啊!! 不是上边表达式的值,z的值是6呀! 如果第二行这样写:z=(x,++y);这样的话结果是7 注意看有没有括号。
6 选B
7 应该是8,fseek的第二个参数应该是偏移量,第三个参数0说明是从头开始,也就是数字1开始的,对于数字1它的偏移是0,数字2是1,数字3是2,依次数字9应该是8

1、很常见的问题了,这么跟你说吧,调用swap(x,y);的时候,把x和y复制了一份,成为形参,形参数据交换了,那么x,y实际值没变,不是吗?
2、表达式m和表达式m!=0是等价的,c语言中所有的逻辑表达式的真假都是由表达式的值来判断的,当值为非0数则为真,为0则为假。当m为非0时,m为真,m!=0也为真,但m为0时,m为假,m!=0也为假。
3、同2
4、%本来就有自己的含义,也即是说合法的情况是%后面必须有一个格式符,如果没有,编译器也会认为合法,默认的情况,那就是%,只是如果你想打印一个%和一个s的话就不能只写一个%了
5、优先级的问题,逗号优先级很低的,z=x,++y;等价于(z=x),(++y);
6、B
7、第三个参数0等价于宏SEEK_SET,即文件开始处,9

第一题,把temp=m;m=n;m=temp;改成temp=m;m=n;n=temp;这样结果就是9,5
第二题,m等于1的话就相当于m=a++,也就是说能等于它本身,当m不等于1时。m=a,它的值不变,这就好比是m!=0
第三题,while(!w)意思是如果!w非真就执行操作,自然!w也就表示w!=0
第四题,没有区别,版本问题!
第五题,不需要,加括号跟不加没区别!
第六题,C.用typedef只是将已存在的类型用一个新的名称来代表
第七题,不晓得

一道C语言的简单问题求高手解答,求字符串中不同字母个数~

就一个问题,新分配的内存没有初始化,所以说结果是很不确定的,“运算出来不同字母数总是会比实际数多一个”,我这里多出了很多哦~

修改之后运行正常:

当然了,也可以搞点专业的做法:

我装逼结束了。嗯,就是这样。

#include "stdio.h"
#include "math.h"
#define rate 0.0275
void main()
{
double capital,money;
int year;
printf("请输入本金然后回车,再输入存期再回车!:
");
scanf("%lf%d",&capital,&year);
printf("本息之和为:%lf
",money=capital*pow((1+rate),year));
}
绝对正确,而且简洁明了。

关于C语言的题不会做,请会做的大大们帮帮忙..谢谢.!
答:8.D 很简单因为C语言的关系运算符没有A,B,C里面》《的。9.B 要使一个指针指向对应类型的数组,就是将数组的首地址附给该指针,而数组首地址有两种表示法,一个是该数组名,另一个是该数组第一个元素的地址,也就是下面两种方法:<1> p=a;<2>p=&a[0];10.C 形参就是局部变量。这方面...

几道C语言问题求教 望高手解答
答:1、#include”stdio.h”main(){ int x=-10,y=5,z=0;if(x=y+z)printf(“***\n”);//此处应为x==y+z;混淆了“=”和“==”,“=”是赋值运算符,“==”是等于号,else printf(“$$$”\n);} 2、(x+y)+z-1&&y+z/2是逻辑运算,不为0,就为1,3、由于“==”的优先...

求高手解答一些简单的C语言题目!(高分悬赏)
答:} } printf("数组的最小值:%.2f\n数组的最大值%.2f\n",s[min],s[max]);} main(){ int i;float s[10];printf("求数组中最小最小值\n\n");printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%f",&s[i]);GetMaxMin(s);...

求一些C语言练习题,越多越好,有答案更好!
答:求一些C语言练习题,越多越好,有答案更好! 我是C语言初学者,请讲师的教授的提供些C的课程练习题!越多越好!急!... 我是C语言初学者,请讲师的教授的提供些C的课程练习题!越多越好!急! 展开  我来答 4个回答 #热议# 电视剧《王牌部队》有哪些槽点?

C语言题目,求大神解答
答:以下是一个简单的C语言程序,可以实现为指定的文本文件创建一个副本文件的命令:```c include <stdio.h> include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp1, *fp2;int ch;if (argc != 3) { printf("Usage: %s source_file dest_file\n", argv[0]);exit(EXIT_...

c语言题求详解
答:建议程序改为:include<stdio.h> void abc(char *p){ int i,j;for(i=j=0; *(p+i)!='\0'; i++)if(*(p+i)>='d'){ (p+j)=*(p+i);j++;} (p+j)='\0';} void main(){ char str[ ]="cdalb";abc(str);puts(str);} 答案:C 第一层for循环时i=j=0,p+i指向...

C语言试题求答案
答:判断题 1.C程序中最基本的单位是函数( )。正确 程序时由函数构成的 2.a-2是一个正确的标识符( )。 错误 -非法字符 3.1/2的值是0.500000( )。 错误 0 4.fabs(-5)的值是25( )。 错误 5 5.(i+2)++是正确的表达式( )。 错误 ++要求是变量 ...

C语言,题目中的选择题,求详细解析
答:正确答案应该是B.15。这里考察的重点是符号常量的使用。主函数中出现符号常量FUN(x,y) 则直接用 (x)<(y)?(x):(y)替代即可。本题中:k=10*FUN(i,j);可以看作:k=10*(i)<(j)<(i):(j);而i=10,j=15 所以按照运算优先级有:k=100<15?10:15;结果显然是15。故选择B。

C语言的三道题,求大神解答
答:1,include<stdio.h> int main(){ int a,b=2,c;printf(“请输入a和c:\n”);scanf(“%d %d”,&a,&c);printf(“%d\n”,(a+b)*c);return 0;} 2,include<stdio.h> int main(){ int a;scanf(“%d”,&a);printf(“%d”,a);return 0;} 3,include<stdio.h> define ...

C语言编程问题 求高手解答
答:程序运行输入65回车后,不会输出结果 因为,scanf("%c",&c1);要求以字符的形式输出进去,输入65的时候,c1接收的是字符6 接下来,while后的条件表达式的值为逻辑真,会让你继续输入,直到输入大写字母的时候,才会结束 输出大写字母的大写形式,小写形式 ...