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