A. 菜鸟学c语言黑线部分的代码是什么意思
如果score的值输入正确(也即输入的score值为float型时,scanf返回1)执行while循环体中的语句;如果score输入的值不正确,就不执行循环体语句
以下是从网上找的
scanf()函数有返回值且为int型。
2 scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。
scanf("%d%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
B. 菜鸟怎么样学习C语言
1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)?
入门阶段:还是老谭那本。
理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。
第二阶段:《c程序设计语言》(The C Programming Language)和《C语言解惑》(The C puzzle book)
理由:《the c programming language》号称c语言圣经。其实它也只是一本介绍基础语法的书,不做入门教程是因为对于初学者来说,它难度稍大,之所以推荐,是因为它能让你---系统而严密的---把C语言知识构架整理一遍。《c语言解惑》,系统的整理了c语法中容易让你产生迷惑或容易犯错的地方(如a+++++b等),这时候你才算真正开始学习c语言了.(以上两本现在出重印了,应该在书店可以买到)
第三阶段:《C陷阱与缺陷》(C Traps and Pitfalls)和《高质量c/c++编程指南》
理由:《c陷阱与缺陷》是让对c的理解有质变得一本书,如如何理解(*(void(*)())0)()等问题,我的感觉是看完这本书让我真正从小菜鸟变成了老菜鸟。《高质量...》,终于有一本国产的了,呵呵,我认为这本书是把你从土匪变成正规军的最好指南,该书涉及编程风格、效率、重载、健壮性等一些列之前很难注意的问题。(以上两本《c陷阱...》已绝版,不过网上可以下载到中英文版,《高质量...》本身就是网络书,很容易找到)
其它推荐书:《c专家编程》《c和指针》
说实话这两本书我并没有看过(或看完),但有口皆碑,都是经典之作,不过都已经绝版,仔细找找网上有下载的。
2、有哪些好的C语言练习(越难的越好)?
对语言本身的练习其实就是你对它的理解,用得多了,注意得多了,自然就ok了。其它思维上的练习主要是算法和数据结构方面的,严老的《数据结构题集(C语言版)》如果你能做完就相当了不起了。
3、要学精C语言,还要具备哪些条件?
其实c语言也只是一个工具而已,就像锄头一样,你每天挖地锄田自然就精通它了。只要不是白痴,应该都没有问题。
4、C语言学完后接下去要学哪些语言好?
这个我就没有资格回答了,因为除了少量汇编和c++,我大部分只用到了c,不过也许是一脉相承的c++吧。c是面向过程的语言,学习c++面向对象的思想。
5、各位网友如果在学习计算机语言方面还有一些独到的见解,欢迎提出!
不是我提出的,不过真的很经典——“天下程序一大抄”,呵呵。
C. 菜鸟学习c语言所提的菜鸟问题。。。
5/9算出来是0,因为两个全是整数,可以调整下C=5*(F-32)/9;这样就行了
D. 谁有C语言大学教程(第6版)pdf要中文版的
E. 有没有`菜鸟`入门C语言的好书介绍!!
建议学者用谭浩强的《C语言程序设计》里面有许多的经典的程序例子,通俗易懂,这也是众多初学者选用它的原因之一。初学者选一本好的本入门是重要的,但要写出好的代码,实践更重要,要多动手,多动脑,这好的程序就出来了,祝你早日入门!
F. 菜鸟学习:求一个C语言程序^^
我在linux下用c++编译器g++测试通过了,你在windows下自己用vc6.0或者vs2005试试吧。上面先排序,参考归并排序。然后搜索。不知道这个方法烦不烦,你自己参考下。
希望对你有所帮助。
输出结果:在代码最末端,网络不能在任意位置插入图片吗?晕...
#include<stdio.h>
#include<stdlib.h>
voidMerge(inta[],intb[],intlow,intmid,inthigh)
{
intk=low;
intbegin1=low;
intend1=mid;
intbegin2=mid+1;
intend2=high;
while(begin1<=end1&&begin2<=end2)
{
if(a[begin1]<=a[begin2])
b[k++]=a[begin1++];
else
b[k++]=a[begin2++];
}
if(begin1<=end1)
for(intq=begin1;q<=end1;q++)
b[k++]=a[q];
else
for(intq=begin2;q<=end2;q++)
b[k++]=a[q];
}
voidMergePass(inta[],intb[],intseg,intsize)
{
intseg_start_ind=0;
while(seg_start_ind<=size-2*seg)
{
Merge(a,b,seg_start_ind,seg_start_ind+seg-1,seg_start_ind+seg*2-1);
seg_start_ind+=2*seg;
}
if(seg_start_ind+seg<size)
Merge(a,b,seg_start_ind,seg_start_ind+seg-1,size-1);
else
for(intj=seg_start_ind;j<size;j++)
b[j]=a[j];
}
voidMergeSort(inta[],intsize)
{
int*temp=newint[size];
intseg=1;
while(seg<size)
{
MergePass(a,temp,seg,size);
seg+=seg;
MergePass(temp,a,seg,size);
seg+=seg;
}
}
intmain()
{
introw;
intcolumn;
inttotal;
intminrowNum,maxrowNum;
intmincolumnNum,maxcolumnNum;
printf("请输入矩阵的行数列数: ");
scanf("%d%d",&row,&column);
total=(row*column);
intarray[total],source[total];
printf("请输入矩阵的元素,按行输入: ");
for(intnum=0;num<total;num++)
{
scanf("%d",&array[num]);
}
/*保留原始矩阵*/
for(intnum=0;num<total;num++)
source[num]=array[num];
MergeSort(array,sizeof(array)/sizeof(*array));
printf("原始矩阵为: ");
for(inti=0;i<sizeof(source)/sizeof(*source);i++)
printf("%d",source[i]);
printf(" ");
printf("排序后的元素为: ");
for(inti=0;i<sizeof(array)/sizeof(*array);i++)
printf("%d",array[i]);
printf(" ");
/*现在array中就是已经排序好的矩阵了,第一个元素最小,
最后一个元素最大,线性搜索原始数组,找到对应元素即可
依据算式:行号*列数+列号=数目*/
for(intnum=0;num<total;num++)
{
intnumber=num+1;
if(array[0]==source[num])
{
if((number%column)==0)
{
minrowNum=number/column;
mincolumnNum=column;
}
else
{
minrowNum=number/column+1;
mincolumnNum=number%column;
}
printf("最小的元素是%d,行号为%d,列号为%d ",array[0],minrowNum,mincolumnNum);
}
if(array[total-1]==source[num])
{
if((number%column)==0)
{
maxrowNum=number/column;
maxcolumnNum=column;
}
else
{
maxrowNum=number/column+1;
maxcolumnNum=number%column;
}
printf("最大的元素是%d,行号为%d,列号为%d ",array[total-1],maxrowNum,maxcolumnNum);
}
}
exit(0);
}
G. 有什么软件可以搜索大学C语言题目的啊
摘要 大学c语言搜题app。大学c语言搜题app原名叫做菜鸟学C语言是一款非常好用的学习c语言的手机软件
H. 菜鸟学习 C语言三个数比较大小,帮我i看下哪里出错了,为什么我执行出来总是显示最后一个数
# include <stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max = %d\n",d);
}
int max(int x,int y,int z)
{
int m ,n;
if(x>y) m = x;
else m = y;
if(m>z) n = m;
else n = z;
return(n);
}
这个程序是正确的,你自己找错误,愿你早日提高水平。