C语言程序设计自学指导书.docx
- 文档编号:30768982
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:44
- 大小:62.19KB
C语言程序设计自学指导书.docx
《C语言程序设计自学指导书.docx》由会员分享,可在线阅读,更多相关《C语言程序设计自学指导书.docx(44页珍藏版)》请在冰豆网上搜索。
C语言程序设计自学指导书
《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语言程序的开发和运行步骤包括编辑、编译、连接和运行等几个步骤,如下图所示。
五、复习思考题:
教材C语言概述章节习题。
第二章C语言程序设计基础
一、本章自学容及要求:
1、熟悉C语言的3种基本数据类型(整型、实型、字符型)常量的表示和变量的定义与使用。
2、掌握标准格式输入输出函数和字符输入输出函数的使用。
3、了解各种常用运算符与表达式,掌握各类数据的混合运算规则。
4、掌握赋值运算特点和复合赋值表达式等。
(1)数据类型
了解C语言的数据类型分类,掌握常用的3种基本数据类型——整型、实型和字符型。
(2)常量与变量
a、常量与变量的概念
b、3种基本数据类型常量的表示
c、3种基本数据类型变量的定义与输入输出
(3)运算符与表达式
a、了解各种常用的运算符及运算特点,注意与数学中的运算区别
b、掌握表达式的概念及其表达式的求值
(4)数据运算
注意数据在运算过程中类型的转换。
二、重点与难点:
重点:
3种基本数据类型常量和变量的使用,各种类型数据混合运算规则和常用运算符的运算特点。
难点:
各种类型数据的混合运算以及根据要求进行格式输入和输出。
三、学习方法指导:
通过上机实验,掌握C语言基本数据类型与运算以及格式输入输出函数的使用。
四、典型例题介绍:
1、若有以下类型说明语句:
inta;charch1;floatb;
则表达式a+ch1-b的结果的类型是(D)。
A.charB.intC.floatD.double
2、下面正确的字符常量是(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,11
6、字符串常量是用一对双引号括起来的字符序列。
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
五、复习思考题:
教材程序设计基础章节习题。
第三章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);
}
2、程序填空。
从键盘上输入两个正整数x,y,求它们的最大公约数。
例如:
如果从键盘上输入24,36,程序的输出应为:
最大公约数是:
12。
#include
main()
{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 main() {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= ,其中s=(a+b+c)/2。 #include #include main() {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); } else printf(“无效的边长! ”); } 5、编写程序,输入一个整数,求它的各位数字之和及位数。 例如,34的各位数字之和是7,位数是2;-123的各位数字之和是6,位数是3。 #include main() { intx,m,n=0,s=0; printf("x="); scanf("%d",&x); if(x<0)x=-x; do { m=x%10;/*求出该数的个位数*/ s=s+m; n++; x=x/10; } while(x! =0); printf("位数是: %d\n",n); printf("各位数字之和是: %d\n",s); } 6、使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6。 …… #include #include main() {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=%10.6f\n”,pi); } 7、中国古代数学史上著名的“百鸡问题”: 鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。 百钱买百鸡,问翁、母、雏各几何? #include 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("%5d%5d%5d\n",cock,hen,chicken); } } 8、编程,求S=1! +3! +5! +…+11! 。 #include main() {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 main() {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("*"); 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 main() {inti,j,k; clrscr(); for(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、掌握利用循环语句访问一维数组元素的方法 (3)二维数组 a、了解二维数组的定义与初始化 b、理解二维数组表示矩阵进行的相关计算 c、掌握利用二重循环语句访问二维数组元素的方法 (4)字符数组 a、了解字符、字符串和字符数组的联系与区别 b、掌握字符数组的定义与初始化 c、掌握常用的字符串处理函数的用法 (5)数组应用举例 a、熟悉数组应用的特点 b、理解常用的算法,如排序、查找、求最大(小)值与统计等 二、重点与难点: 重点: 数组的定义,赋初值以及数组与循环语句相结合进行的程序设计。 难点: 数组的存储形式,数组名的使用,尤其是字符数组的引用。 三、学习方法指导: 复习第三章容,通过习题和上机实验,掌握数组与循环结构紧密结合的程序设计特点。 四、典型例题介绍: 1、编程,用冒泡排序对10个整数进行降序排列。 #include main() {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]围的数进行一趟冒泡排序*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 自学 指导书