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);
}
這個程序是正確的,你自己找錯誤,願你早日提高水平。