導航:首頁 > 編程語言 > c專家編程筆記第九章

c專家編程筆記第九章

發布時間:2022-06-26 00:38:40

❶ C語言編程9rl

#include<stdio.h>
#include<string.h>
#include<math.h>
void movestr(char *s,int m)
{
int i,j,k;
char ch;
k=strlen(s);
for(i=0;i<m;i++)
{
ch=s[0];
for(j=0;j<k-1;j++)
s[j]=s[j+1];
s[k-1]=ch;
}
}

void main()
{
int m;
char s1[100];
printf("請輸入一個字元串\n");
gets(s1);
printf("請輸入移動位數\n");
scanf("%d", &m);
movestr(s1,m);
printf("%s\n",s1);
}

❷ C語言,編程,講下九題十題

9.原程序的意思是如果i是奇數則跳過後面的i++執行下一次循環,而D選項的意思是如果i是奇數則直接終止整個循環體,顯然是不正確的。
10.二層循環,外層變數為i,內層變數為j
A:s本來只會在循環開始時初始化一次,而A選項會在每次外層循環時都將s賦值為0,顯然是不正確的。
B:j沒有在內層循環內賦初值而是在外層循環內,這樣j只會被賦初值一次,當內層循環執行到j=10就不能再開始新一輪外層循環了。
C.i在內層循環內賦初值,會導致每次外層循環時i都會被重新初始化為0,這樣外層循環會無限進行下去,成為死循環。
D.for的第三個參數i++是循環變數的自加過程,把這個過程單獨提出來放在for循環的循環體內也是正確的。

❸ C語言程序設計(何欽銘 顏暉 著 高等教育出版社)第九章到十二章的課後答案

自己思考才有進步

❹ C語言編程 第49題怎麼做呢

int a[10][10];
//隨機生成100個數
for(i=0;i<10;i++)
for (j=0;j<10;j++)
{
srand(time(NULL));
a[i][j]=rand()%200+1;
}
//求最大值及相應下標
int MAX=-1,x_MAX,y_MAX;
for(i=0;i<10;i++)
for (j=0;j<10;j++)
{
if(a[i][j]>MAX)
{
MAX=a[i][j];
x_MAX=i;
y_MAX=j;
}
}
//求第5行的最小值及列號
int MIN=1000,y_MIN;
for(j=0;j<10;j++)
{
if(a[4][j]<MIN)
{
MIN=a[4][j];
y_MIN=j;
}
}
y_MIN++;//列號
//第3列偶數個數
int even_num=0;
for (i=0;i<10;i++)
{
if(a[i][2]%2==0) even_num++;
}
//每行的平均值
int s[10];
for (i=0;i<10;i++)
{
s[i]=0;
for(j=0;j<10;j++)
{
s[i]+=a[i][j];
}
}
//每列的平均值
int t[10];
for (j=0;j<10;j++)
{
t[j]=0;
for(i=0;i<10;i++)
{
t[j]+=a[i][j];
}
}
//正對角線元素之和
int num1=0;
for(i=0;i<=10;i++)
num1+=a[i][i];
//反對角線元素之和
int num2=0;
for(i=0;i<10;i++)
num2+=a[i][10-i-1];

❺ C語言編程的詳細解答

補充函數max,利用指針實現返回三個數中的最大值。
#include <stdio.h>

int max (int *x, int *y, int *z)
{ int *t;
if(*x<*y){t=x;x=y;y=t;}
if(*x<*z){t=x;x=z;z=t;}
if(*y<*z){t=y;y=z;z=t;}
return *x;
}

void main()
{
int a, b, c;
int *r, *s, *t;
clrscr()
r = &a;
s = &b;
t = &c;
scanf("%d, %d, %d", r, s, t);
printf("max = %d", max(r, s, t));
getch();
}

改寫下面程序,使得通過調用swap函數在main中交換a和b的值。
#include <stdio.h>

void swap(int *x, int *y)
{
int *t;
t = x, x = y, y = t;
}

void main()
{
int a, b, *p, *q;
clrscr();
p = &a;
q = &b;
printf("Before swap: a=%d, b=%d \n", a, b);
swap(p, q);
printf("After swap: a=%d, b=%d \n", a, b);
getch();
}

完成函數count、input,返回數組中大於num的數據的個數。
#define N 5
#include <stdio.h>
int count(int *p, int q)
{
int result=0;
...
return (result);
}
void input(int x[])
{
}
void main()
{
int num, a[N];
printf("Input a number: ");
scanf("%d", &num);
input(a);
printf("%d numbers are bigger than %d.", count(t, num), num);
}//進行中....

❻ C語言編程9

#include <stdio.h>
void writefile()
{
FILE * f = fopen("results.bin", "w+";
double d = 92.65;

fwrite(&d,sizeof(d),1,f);

d = 88.72;

fwrite(&d,sizeof(d),1,f);
d = 77.46;
fwrite(&d,sizeof(d),1,f);
d = 82.93;

fwrite(&d,sizeof(d),1,f);
fclose(f);
}

void readfile()
{
File *f = fopen("results.bin","r+");

double r =0;

double s = 0;

for(int i=0; i<4; i++) {
fread(&r,sizeof(r),1,f);

s+=r;
}
s /=4;

printf("%f",s);

}

❼ 那麼多的C語言函數,怎麼學啊,給個建議。

學習任何知識,循序漸進總是最好的方式。不幸的是,很多人明知這個道理,卻總是想走所謂的捷徑。如果你是一個剛剛開始學習編程的中學生,或者你是一個剛剛進入計算機學院的本科生,又或者你是一個決心在計算機領域有所建樹的初學者,你一定迫切地想知道,學習計算機技術,究竟應該從哪裡下手。

我的建議是:數學、英語、C語言。

數學和英語的重要性已經不需要我來強調,大家也許從幼兒園就開始學習它們了,請時刻把它們放在最重要的位置,無論你是否學習計算機。

為什麼C語言如此重要?我們從學習方法開始說起。書本上描述的東西,倘若不經過我們的親自實踐,是難以被徹底消化吸收的。計算機組成原理講解了浮點數的格式,如果我們能看到並分析內存或寄存器中某個浮點數的表示,那比單純的紙上談兵要強一千倍;數據結構與演算法似乎很難,如果你能把書上的例子實現出來,然後把習題做完,只需啃完一本好書,你也可以是演算法高手;操作系統原理其實不僅僅是原理,只有做一些內核方面的實驗才能真正有深刻理解;還有許多新潮的技術,比如JavaEE、PHP、Ajax、.NET等等等等,很多高手學習這些技術只需要很短的時間,不必說,他們肯定是C語言的高手。C語言幾乎是一切計算機技術的通用工具,包括計算機的各種基本理論。沒有精通C語言的決心,就不要涉足計算機領域。

為什麼是C語言而不是C++不是Java不是其它?因為C語言最簡單。你需要掌握一個語言工具,但也許並不需要「面向對象」、「模板」、「函數重載」等等一大堆概念。C語言足夠低級,非常非常地貼近計算機的底層結構,不會讓你迷失在概念的汪洋大海。除了「指針」,C語言沒有真正意義上的難點,而「指針」,恰恰是理解計算機底層結構精髓的關鍵所在。
不必思考應該學什麼,等把C語言精通了,你自己便會知道下一步如何去走。如果你對操作系統內部感興趣,你便可以試著研究一下Unix的內核,除了C語言,你還需要一些匯編語言和保護模式的知識;如果你對演算法感興趣,那麼恭喜你,C語言足夠使用了;如果你對Windows編程感興趣,去看看《Windows程序設計》吧,作者清楚的告訴你「只需要C語言的基礎」;如果你對任何其它語言感興趣,盡管去學吧,不過還是建議先學C++,因為你需要一些「面向對象」的知識。

學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習並精通C語言是本文的主題。請注意,即使是「最小的代價」,也絕不是什麼捷徑,而是以最短的時間取得最多的收獲,同時也意味著你需要經歷艱苦的過程。

一、要讀就讀好書,否則不如不讀

所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。

大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給你程序設計應該掌握的思考方式;程序風格相當地不好,會讓你養成亂寫代碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以網路一下:)

Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標准C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C Reference Manual》,是C語言標準的詳細描述,包括絕大多數C標准庫函數的細節,算得上是最好的標准C語言的工具書。順便提一句,最新的《C程序設計語言》是根據C89標准修訂的,而《C語言參考手冊》描述的是C99標准,二者可能會有些出入,建議按照C99標准學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很扎實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。

如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《Expert C Programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫「精通C語言」了。

切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。

❽ C語言 第9題編程,按照提示用結構體,要符合題目的要求,請寫出完整的代碼,如果可以運行立即採納,

題目意思不完整,不明白是哪裡的第9題編程題???

閱讀全文

與c專家編程筆記第九章相關的資料

熱點內容
一女二三男小說穿越文 瀏覽:824
台灣用哪個軟體看電視 瀏覽:364
父親為救兒子像男人獻身的泰國電影 瀏覽:71
台灣民族片子 瀏覽:4
香港老公出軌電影 瀏覽:462
黑社會後生可畏國語 瀏覽:137
韓國肉肉電影在線觀看 瀏覽:345
中文版韓國倫理電影 瀏覽:397
皇上叫秦風女主是宮女的小說 瀏覽:912
可以看得網址 瀏覽:162
公主的奴 瀏覽:115
邵氏電影700部資源 瀏覽:778
秋瓷炫恐怖電影 瀏覽:873
美國的網站可在線觀看 瀏覽:5
13部金三角販毒電影 瀏覽:932
男子為追女交警故意違規電影台灣 瀏覽:679
四個字帶玩家的電影 瀏覽:42
十三排電影院坐第幾排 瀏覽:122
尼故福利院 瀏覽:602