导航:首页 > 编程语言 > 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专家编程笔记第九章相关的资料

热点内容
沙漏验机宝检测安卓手机怎么样 浏览:368
非洲电影有哪些好看的 浏览:763
媒介学pdf 浏览:234
推荐一个在线观看 浏览:471
单片机16进制编程图 浏览:490
金刚2迅雷下载 浏览:275
聚优电影卡使用范围 浏览:760
浙江网络卫星授时服务器云空间 浏览:497
宝塔加密方式 浏览:217
linux环境变量的路径 浏览:749
粉笔缓存的视频在手机哪个文件夹 浏览:680
港片尺度大 浏览:373
女主胸大的H电影 浏览:877
小女孩那个电影叫什么 浏览:58
中越战争电影在哪看 浏览:896
成龙电影国语版全部 浏览:199
如何入侵网页服务器修改帐号 浏览:646
陕西物联网数显钟服务器云主机 浏览:279
原版3d是国语吗 浏览:926