《C语言学习知识程序设计》自学指导书.doc





《《C语言学习知识程序设计》自学指导书.doc》由会员分享,可在线阅读,更多相关《《C语言学习知识程序设计》自学指导书.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-*C语言程序设计自学指导书自学学时:64学时推荐教材:C语言程序设计 陈宝明等主编,人民邮电出版社,2009年1月第1版参考资料:1、C程序设计(第三版) 谭浩强主编,清华大学出版社出版社2、C语言程序设计教程 李明主编,上海交通大学出版社3、C语言程序设计教程 张基温主编,高等教育出版社4、C语言程序设计 何钦铭等主编,浙江科技出版社考核方式:平时作业30笔试(闭卷)70第一章 C语言概述一、本章自学内容及要求:1、了解C语言的发展及特点。2、理解和掌握C语言源程序书写规则。3、掌握C语言源程序在Turbo C、Visual C+或者C-Free环境中的上机步骤。二、重点与难点:本章重点在
2、于了解并掌握C语言程序的上机操作步骤,难点在于把握C语言源程序的结构和书写规则。三、学习方法指导:选择并熟悉一个C语言程序运行环境,掌握C语言程序的编辑、编译、连接和运行等步骤。四、典型例题介绍:1、C语言的程序由 一 个主函数和 若干 个子函数组成。程序的执行总是从 主 函数开始,不管它放在哪个位置。2、简述C语言程序的开发和运行步骤。答:C语言程序的开发和运行步骤包括编辑、编译、连接和运行等几个步骤,如下图所示。编辑startf.c编译语法错?f.obj连接、运行逻辑错?f.exeendSourceObjectExecutable有有无无五、复习思考题:教材C语言概述章节习题。第二章 C语
3、言程序设计基础一、本章自学内容及要求:1、熟悉C语言的3种基本数据类型(整型、实型、字符型)常量的表示和变量的定义与使用。2、掌握标准格式输入输出函数和字符输入输出函数的使用。3、了解各种常用运算符与表达式,掌握各类数据的混合运算规则。4、掌握赋值运算特点和复合赋值表达式等。(1)数据类型了解C语言的数据类型分类,掌握常用的3种基本数据类型整型、实型和字符型。(2)常量与变量a、常量与变量的概念b、3种基本数据类型常量的表示c、3种基本数据类型变量的定义与输入输出(3)运算符与表达式a、了解各种常用的运算符及运算特点,注意与数学中的运算区别b、掌握表达式的概念及其表达式的求值(4)数据运算注意
4、数据在运算过程中类型的转换。二、重点与难点:重点:3种基本数据类型常量和变量的使用,各种类型数据混合运算规则和常用运算符的运算特点。难点:各种类型数据的混合运算以及根据要求进行格式输入和输出。三、学习方法指导:通过上机实验,掌握C语言基本数据类型与运算以及格式输入输出函数的使用。四、典型例题介绍:1、若有以下类型说明语句: int a; char ch1; float b;则表达式 a+ch1-b的结果的类型是( D )。A. char B. int C. float D. double2、 下面正确的字符常量是( B )。 A. “x” B. y C. /” D. 3、 在C语言中,要求运算
5、对象或运算量必须是整型的运算符是( D )。 A. / B. * C. != D. % 4、 设a,b都是整型变量,为了使a=4,b=8。函数scanf(“a=%d,b=%d”,&a,&b)执行时,正确的数据输入是( C )。 A. a=4 b=8 B. a=4,8 C. a=4,b=8 D. a=b=4,8 5、设a,b都是整型变量,且a=5,b=10,则函数printf(“%d,%dn”,a+,+b)的输出结果是( B )。A. 5,10 B. 5,11 C. 6,10 D. 6,116、字符串常量是用一对 双引号 括起来的字符序列。7、设x是int型变量,且x=10,则表达式x*=3+4
6、的值是 70 ,表达式x/=x+x的值是 0 。8、下面程序的输出结果是什么?#include main()int i, j, m=0, n=0;i = 8;j = 10;m+= i+; n-=-j;printf(“i=%d,j=%d,m=%d,n=%d”, i, j, m, n);答:程序的输出结果是:i=9,j=9,m=8,n=-9五、复习思考题:教材程序设计基础章节习题。第三章 C语言程序控制结构一、本章自学内容及要求:1、了解利用一些基本要素(常量,变量,运算符,表达式等)构成程序的基本成份。2、掌握关系运算和逻辑运算的特点。3、利用if语句和switch语句进行选择结构程序的设计。4
7、、掌握循环结构的基本概念,利用3种循环语句进行循环结构程序设计。(1)算法及程序a、了解算法的概念b、掌握算法的流程图表示(2)三种基本结构a、了解结构化程序设计的特点b、掌握正确的逻辑表达方式c、熟练掌握if语句和switch语句的使用d、了解三种循环语句的特点,掌握用循环实现一些常用算法二、重点与难点:重点:逻辑表达式的组织;条件语句的格式和功能;循环语句的格式、功能以及特点。难点:算法的概念;建立正确逻辑思维能力,合理进行选择结构和循环结构程序设计。三、学习方法指导:复习相关的数学知识,通过习题和上机实验初步掌握C语言程序设计。四、典型例题介绍1、程序填空。编程计算1到100之间的奇数之
8、和及偶数之和。 #include main() int even_sum,odd_sum,j,i; even_sum = odd_sum =0 ; for(i=0;i=100;i+=2) even_sum +=i; _j=i+1_; odd_sum +=j; printf(sum of evens is %dn, even_sum); printf(sum of odds is %dn, odd_sum -101); 2、程序填空。从键盘上输入两个正整数x,y,求它们的最大公约数。例如:如果从键盘上输入24,36,程序的输出应为:最大公约数是 : 12。 #include main() int
9、 x,y,t,i; printf(Please enter two numbers:); scanf(%d,%d,&x,&y); if(x y) t = x; x = y; y = t; t = x % y; while( t!=0 ) x = y; y = t ; t = x % y; printf(最大公约数是: %d,_y_); 3、编程,统计1500之间能被2和3整除的数的个数。#include main() int count=0,i; for(i=1;i=500;i+) if(i%2=0&i%3=0) count+;printf( 符合要求的数有%d个。n,count);4、输入三
10、角形的三条边a、b、c,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为:area=,其中s=(a+b+c)/2。#include #include main() float a,b,c,s,area; printf(“Input a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);if(a+bc&a+cb&b+ca)s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%.2fn”,area);elseprintf(“无效的边长!”);5、编写程序
11、,输入一个整数,求它的各位数字之和及位数。例如,34的各位数字之和是7,位数是2;-123的各位数字之和是6,位数是3。#include main()int x,m,n=0,s=0;printf( x= );scanf(%d,&x);if(x0)x=-x;dom=x%10; /* 求出该数的个位数 */s=s+m;n+;x=x/10;while(x!=0);printf( 位数是:%dn,n);printf( 各位数字之和是:%dn,s);6、使用格里高利公式求的近似值,精确到最后一项的绝对值小于10-6。 #include #include main( ) int s; float n, t
12、, pi; t=1; pi=0; n=1.0; s=1; while(fabs(t) = 1e-6)pi = pi+t; n = n+2; s = -s; t = s/n; pi=pi*4; printf(“pi=%10.6f n”, pi ); 7、中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?#include main() int cock,hen,chicken; for(cock =0; cock =20; cock +) for(hen =0; hen =33; hen +) chicken =100- cock
13、- hen; if(5* cock +3* hen + chicken /3)=100&( chicken %3=0) printf(%5d%5d%5dn, cock, hen, chicken); 8、编程,求S=1!+3!+5!+11!。#include main() double p,s=0; int i,j; for(i=1;i=11;i=i+2) p=1; for(j=1;j=i;j+) /* 求i! */ p=p*j; s=s+p; printf(“ s=%.2f”,s);*9、编程,打印输出以下图形:#include main() int i,j,k; for(i=1;i=4-i
14、;j+) /* 输出第一个*号前的空格 */ printf( ); for(j=1;j=1;i-) /* 控制输出后3行*号 */ for(j=1;j=4-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(*); printf(n); 10、按如下形式打印九九乘法表的一部分。 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 #include main() int i,j,k; clrscr(); for
15、(i=1;i=4;i+) for(j=1;j=i;j+) printf(%3d *%3d =%3d,i,j,i*j); printf(n); 五、复习思考题:教材程序结构章节习题。第四章 数组一、本章自学内容及要求:1、掌握数组的概念,了解数组的特点。2、掌握一维数组的定义和引用,理解一些常用的算法,如排序、查找等。3、了解二维数组的定义和应用。4、理解字符型数组的意义和引用,熟悉常用的字符串函数。(1)数组的概念a、了解数组在程序设计中的作用b、理解数组的概念,把握其特点(2)一维数组a、了解一维数组的定义与初始化b、理解常用的排序、求最大(小)值等算法c、掌握利用循环语句访问一维数组元素的
16、方法(3)二维数组a、了解二维数组的定义与初始化b、理解二维数组表示矩阵进行的相关计算c、掌握利用二重循环语句访问二维数组元素的方法(4)字符数组a、了解字符、字符串和字符数组的联系与区别b、掌握字符数组的定义与初始化c、掌握常用的字符串处理函数的用法(5)数组应用举例a、熟悉数组应用的特点b、理解常用的算法,如排序、查找、求最大(小)值与统计等二、重点与难点:重点:数组的定义,赋初值以及数组与循环语句相结合进行的程序设计。难点:数组的存储形式,数组名的使用,尤其是字符数组的引用。三、学习方法指导:复习第三章内容,通过习题和上机实验,掌握数组与循环结构紧密结合的程序设计特点。四、典型例题介绍:
17、1、编程,用冒泡排序对10个整数进行降序排列。#include main( ) int a10; int i, j , t; /*输入10个整数到数组a中*/printf (Input 10 numbers:n); for(i=0;i10;i+) scanf(%d,&ai); printf (n); /*用冒泡排序法对数组a中的10个数进行降序排序*/for(i=1; i10; i+) for(j=0; j=9-i; j+) /* a0到a9-i范围内的数进行一趟冒泡排序 */ if(ajaj+1) t=aj; aj=aj+1;aj+1=t; /*依次输出排序后的10个整数*/printf (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言学习知识程序设计 语言 学习 知识 程序设计 自学 指导书

限制150内