第三章 最简单的C程序设计——顺序程序设计 例题

例题3.1 /*时间:2011年9月29日15:42:23题目:例3.1, 将华氏法测出的温度转换为摄氏法测出的温度备注:转换公式为 c = 5/9*(f-32)*/# include <stdio.h>int main(){ float f,c; printf("输入华氏温度\n"); scanf("%f",&amp;f);// c = (5.0/9)*(f-32); //注意这里的5.0 c = (f-32)*5/9; //这样写也可以 printf("华氏%f度 相当于 摄氏%f度\n...

第二章 算法——程序的灵魂 习题

习题2.1 什么是算法,试从日常生活中找三个例子,描述他们的算法 一个程序包括对数据的描述和对操作的描述两个部分,其中对操作的描述,即要求计算机进行操作的步骤,也就是算法(algorithm) 例1登陆编程论坛。打开编程论坛网页,输入用户名,输入密码,点击登陆按键 例2写日志。进入个人空间,点击发表日志,输入日志内容,点击保存发布 例3学习《C程序设计》。阅读学习教材,上机练习例题,完成课后习题。 习题2.2 什么叫结构化的算法?为什么要提倡结构化的算法? 由一些基本结构顺序组成的算法称为结构化的算法。 由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个...

第一章 程序设计和C语言 习题

习题1.1 什么是程序?什么是程序设计? 所谓程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作 程序设计是指从确定任务到得到结果、写出文档的全过程。包括:问题分析,设计算法,编写程序,对源程序进行编辑、编译和连接,运行程序、分析结果,编写程序文档等阶段。 习题1.2 为什么需要计算机语言?高级语言的特点 人和计算机交流信息,要解决语言问题。需要创造一种计算机和人都能识别的语言,这就是计算机语言。 高级语言很接近于人们习惯使用的自然语言和数学语言。程序中用到的语句和指令是用英文单词表示的,程序中所用的运算符和运算表达式和人们日常所使用的数学式子差不多...

第一章 程序设计和C语言 例题

例1.1 /*时间:2011年9月26日10:22:35题目:例1.1,要求在屏幕上输出以下一行信息 This is a c program.*/# include <stdio.h> //stdio 是 standard Input &amp; Output的缩写int main() //main是函数的名字,每个C语言都必须有1个main函数{ //函数体要由花括号括起来 printf("This is a c program.\n"); printf("//This is a c program...

为什么要写成if(1==i)而不是if(i==1)

看郝斌老师的视频,经常会提示if(1==i)要比if(i==1)规范。虽然照做却并不知其所以然。今天偶然看到坛友在一篇回复中谈及此问题,恍然大悟 /*时间:2011年9月20日11:02:56*/# include <stdio.h>void main(){ int i; if (i=0) //当if后面括号里的是类似赋值语句的表达式时,if判断的是赋值后,等号左边的变量是否为真 printf("i=0\n"); //这里 赋值为0,等号左边的i变量为假,所以,printf语句不会执行 if (i=1) ...
默认分类 | 2011-09-20 11:06 | 阅读 2732 次 | 评论 11 条

终于看完了郝斌老师的视频

回顾了一下日志里的学习笔记,原来自己从7月27号就开始看郝斌老师的视频,晃晃荡荡竟然学了快2个月了。好像也没有掌握到其中十之六七的程度。记得当时看到坛子里有前辈3天3夜就看完,着实令人敬仰啊!呵呵,不过自己也不是没有提高的,不能说入门吧至少是觉得摸到点门框了:) 感觉郝斌老师的教程比较适合没有基础的新手 郝斌老师的视频比较注意学习的顺序,先从简单的知识开始学起,有困难的就先放下,等累积的知识便于理解这部分难点了,再掉过头来学。这样一来是不用上来就费力的啃难点,知识学的水到渠成。再者不容易让新手太早绝望失去学习的兴趣。 郝斌老师视频的另一个特点,是教课过程中特别对新手容易犯的错...
默认分类 | 2011-09-19 16:08 | 阅读 9339 次 | 评论 6 条

读 链表示例程序

/*时间:2011年9月16日15:57:23目的:学习链表的创建和使用,读懂程序*/# include <stdio.h># include <malloc.h># include <stdlib.h>//定义了一个链表节点的数据类型struct Node{ int data; //数据域 struct Node * pNext; //指针域};//函数声明struct Node * create_list(void);void traverse_list(struct Node *);int main(void){ struc...

补码

补码的精华在于一幅图片 二进制转十进制:首位是0表示正整数,按常规方法转首位是1表示负整数,对所有位取反,加1,再按常规方法转,得到的是其绝对值

结构体与函数

# include <stdio.h># include <string.h> //使用strcpy函数,需要使用string.h头文件struct Student{ int age; char sex; char name[100]; //定义字符串类型};int main(void){ struct Student st; st.age = 18; st.sex = 'F'; strcpy(st.name,"张三"); //用字符串赋值,需要用到字符串拷贝函数strcpy,strcpy是string+...

结构体的定义、赋值以及取用其中成员的方法

/*时间:2011年9月9日15:02:27目的:以学生成绩管理为例学习结构体使用的基本知识要求:了解定义结构体的三种方法,掌握推荐使用的第一种 掌握结构体初始化和赋值的方法 熟练掌握取出结构体成员的两种方法 1. 变量名.成员名 2. 指针变量名->成员名 (这种更常用) 认真体会为什么两者等价*/# include <stdio.h>//定义结构体的第一种方法,推荐使用struct student //定义一个结构体,实际上是定义了一个叫struct student的复合数据类型{int age; ...

动态数组的构造

/*时间:2011年9月8日16:21:28目的:学习构造构造数组的方法,了解动态数组使用上与静态数组一样简单,并体会动态数组的优点备注:优点包括 1.动态数组的长度可由程序员输入,不必事先指定 2.动态数组的内存可由程序员手动分配和释放 3.动态数组的长度可由程序员手动增长或缩短 4.动态数组方便进行跨函数使用(这个以后在学)*/# include <stdio.h># include <malloc.h> int main (void){ int a[5]; //这是构造静态一维数组,如果int型占4个字节,所以系统自动分配了固...

动态内存分配

/*时间:2011年9月7日14:26:51备注:动态内存分配,需要使用malloc函数,malloc是memory(内存)+allocate(分配)的缩写*/# include <stdio.h># include <malloc.h> //必须有,否则报错error C2065: 'malloc' : undeclared identifierint main (void){ int i= 5; //静态分配,分配了4个字节 int * p = (int*) malloc (4); ...

指针与一维数组

/*时间:2011年9月6日11:54:38目的:学习掌握指针与一维数组的关系和用法*/# include <stdio.h>//函数用来输出任何一个一维数组的内容void output (int * PArr,int len) //确定一个数组需要两个形参,1是数组的首个元素的地址,2是数组的长度 //必须要有长度,因为数组不像字符串有结束的标志 { int i; for (i=0; i<len; ++i) { // printf("%d ...

指针经典程序——互换两个数字

/*时间:2011年9月5日11:38:08目的:通过经典的指针程序,互换两个数字,掌握函数中指针的用法*/# include <stdio.h>void huhuan1 (int, int); //对函数前置声明,一般声明的时候不写形参void huhuan2 (int*,int*);void huhuan3 (int*,int*);int main (void){ int a = 3; int b = 5; huhuan1 (a,b); //程序执行到这里后调用函数,为形参a\b分配内存空间,当...

指针常见错误

常见错误1 # include <stdio.h>int main (void){ int * p; int i = 3; *p = i; //这样写是错的,前面定义了两个变量,p和i。这条语句把i赋值给了以p变量里内容为地址的另一个变量 //p变量里的内容没定义,是个垃圾值,那么以这个垃圾值为地址的变量是什么并不确定 //这时候的赋值,指不定会把那里给篡改了,尽管编译时可能不报错或者不警告,但执行起来可能会出问题 printf("%d\n",*p); return 0;} ...

指针学习热身程序

发现指针太绕人了,老师说要慢慢的学,小心翼翼的学,呵呵,别怕繁琐,还是从最简单的一个程序一个程序来吧 #include<stdio.h>int main (void){ int * p; //p是变量的名字,int * 表示p变量中存放的是 int型变量 的地址 //int* p 不表示定义了一个 叫*p的 int型的 变量 //正确的理解是,p是变量名 p变量的数据类型是int *型。所谓int *型,实际就是存放 int型变量 的地址的类型 int i = 3; int ...

轮流拿硬币的小游戏

/*时间:2011年9月2日9:45:11目的:一个小游戏,论坛上看到的题目,觉得有趣,试试自己能不能编出来功能:16个硬币,玩家和电脑轮流拿,每人每次只能拿1、2或4枚,最后一枚谁拿走谁算输*/# include <stdio.h>int main (void){ int s=16; int n; char ch; do { while (s > 0) { while (1) { if (s >= 4) p...
默认分类 | 2011-09-02 09:48 | 阅读 1522 次 | 评论 0 条
最新评论