C语言程序设计.docx
- 文档编号:1163210
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:44
- 大小:32.31KB
C语言程序设计.docx
《C语言程序设计.docx》由会员分享,可在线阅读,更多相关《C语言程序设计.docx(44页珍藏版)》请在冰点文库上搜索。
C语言程序设计
C语言程序设计
CLanguageProgramming
教案
四、重点与难点:
1、数据类型、数据的存储,数据的输入输出格式。
先掌握常用数据类型;
2、常量、符号常量、变量的表示与定义;运算符及表达式,包括算术运算、赋值运算、关系运算、逻辑运算、逗号运算、强制类型运算、条件,求字节运算、位运算等运算符的运算级别、结合原则。
3、程序的三种基本结构:
顺序结构、分支选择结构、循环结构;算法分析和编程方法;
4、函数定义、函数调用、函数声明、参数传递,值传送与地址传送,函数的嵌套调用与递归调用,局部变量与全局变量,变量的存储类别与作用域等。
5、一维数组、二维数组、字符数组与字符串,数组作为函数的参数,数组与指针。
6、指针与地址,变量的指针和指向变量的指针变量,数组的指针与指向数组的指针变量,字符串的指针与指向字符串的指针变量,指针与函数,指针数组,指针的指针。
7、结构体与共用体类型的说明、结构体和共用体变量的定义及初始化方法,类型定义typedef的作用;结构体与共用体变量成员的引用方法;数组、结构体、共用体等构造类型数据的使用方法;存储动态分配和释放;链表的基本概念和基本操作。
8、文件类型指针,文件的打开与关闭,文件的读写,文件的基本处理函数。
二、预习作业
1、程序填空题:
调试程序并写出输出结果(共4小题,每题5分,共20分)
(1)编译预处理命令填空:
(程序名sy1_15.c)
()
main()
{
printf("GNUGCC\n");
}
(2)编译预处理命令填空:
(程序名sy1_16.c)
#include
()N4//(#define)N4
main()
{inta=2,b;
b=N*a;
printf(“b=%d\n“,b);
}
(3)主函数定义填空:
(程序名sy1_17.c)
()
()//main()
{
printf("MinGW——MinimalistGNUforWindows\n");
}
(4)输出函数填空:
(程序名sy1_18.c)
#include
main()
{
()("GNU/Linux\n");//printf("GNU/Linux\n");
}
2、改错题:
(共4小题,每题5分,共20分)
(1)修改程序中输入/输出的错误。
(程序名sy1_19.c)
#include
main()
{inta,b,c;
/**********Found*************/
scanf(“%d,%d”,a,b);//scanf(“%d,%d”,&a,&b);
c=a+b;
printf(“c=%d\n,&c);//printf(“c=%d\n“,c);
}
(2)修改程序中标识符的错误(程序名sy1_20.c)
#include
/**********Found*************/
mian[]//main()
{inta=8,b=3,c;
c=a/b;
print(“c=%d\n,c);//printf(“c=%d\n“,c);
}
(3)修改程序中错误的分隔符(程序名sy1_21.c)
#include
main()
/**********Found*************/
{inta=8;b=3;c;//inta=8,b=3,c;
c=a/b;b=c;
printf(‘b=%d‘\n,b);//printf(“b=%d\n”,b);
}
(4)修改编译预处理中的错误(程序名sy1_22.c)
/**********Found*************/
#include“stdio.h”
#includePI3.1415926//#definePI3.1415926
main()
{intr=4;
ints;//floats;
s=PI*r*r;
printf(“%f\n“,s);
}
3、读程序写结果:
(共2小题,每题10分,共20分)
(1)求宏代换后的表达式的值。
(程序名sy1_23.c)
#include
#defineM2+3
main()
{inta=2,b=4,c;
c=a*M*b;
printf(“c=%d\n“,c));
}
输出结果为:
(16)
(2)用赋值语句计算表达式的值。
(程序名sy1_24.c)
#include"stdio.h"
#definePI3.1415926
main()
{intr=4;
floats;
s=4/3.0*PI*r*r;
printf("%f\n",s);
}
输出结果为:
(67.020645)
4、改写程序与替换练习(共2小题,每题10分,共20分)
(1)用printf函数输出字符串,已知字符串用转义字符表示的程序如下,试用其他方法编辑输出相同结果的程序。
(程序名sy1_25.c)
#include
main()
{
printf("\x6D\171\t\163\x74\157\x72\171!
\n");//printf("my\tstory!
\n");
}
(2)用scanf函数输入数据的程序如下,试用赋初值的方法输入数据,改写如下程序。
(程序名sy1_26.c)
#include
main()
{inta,b,c;//inta=3,b=4;
scanf("%d,%d",&a,&b);//intc;
c=2*(a*a+b*b);
printf("%d\n",c);
}
5、编程题(共2小题,每题10分,共20分)
(1)试编写输出如下字符的程序。
(程序名sy1_27.c)
--------------------
|Studyhard|
--------------------
#include
main()//经典C的主函数头部;
{//函数体开始;
printf("------------------\n");//
printf("|Studyhard|\n");//
printf("------------------\n");//
}
(2)已知梯形的面积S为16,上底a为3,下底b为5,试编程求梯形的高h。
(程序名sy1_28.c)
解:
梯形的高h=S*2/(a+b);
#include"stdio.h"
#defineS16
main()
{inta=3,b=5;
floath;
h=S*2/(a+b);
printf("%f\n",h);
}
第2次课4学时
授课章节:
第二章数据类型、运算符与表达式(4学时)
二、预习作业
1、程序填空题:
调试程序并写出输出结果(共4小题,每题5分,共20分)
(1)数据类型填空:
(文件名:
sy2_32.c)
#include
main()
{
()iA=8,iB=5;//int
printf("%d\n",iA%iB);
}//输出结果为(3)
(2)变量名填空:
(文件名:
sy2_33.c)
#include
main()
{
int();//iA,iB,iC
iC=(iB=2)&&(iA=3);
printf("iA=%d,iC=%d\n",iA,iC);
}//输出结果为(iA=3,iC=1)
(3)运算符填空:
输出变量dA占用的字节数。
(文件名:
sy2_34.c)
#include
main()
{
doubledA=3.0;
printf("%d\n",();//sizeofdA
}//输出结果为(8)
(4)条件表达式填空:
已知iA=4,iB=2,将两者中的小数赋给iC。
(文件名:
sy2_35.c)
#include
main()
{
intiA=4,iB=2,iC;
iC=();//iA iA: iB; printf("%d\n",iC); }//输出结果为 (2) 2、改错题: (共4小题,每题5分,共20分) (1)修改程序中数据数据类型的错误: 输入a的值为65,将a右移2位赋给b,a左移2位赋给c。 (文件名: sy2_36.c) #include main() { /****************Found****************/ floata,b,c;//int scanf("%d",a);//&a b=a>>2; c=a<<2; printf("b=%d,c=%d\n",b,c); }//当输入65,输出b=16,c=260 (2)修改程序中强制类型转换运算符的错误: (文件名: sy2_37.c) #include main() { inta=6,b=4; floatc; /****************Found****************/ c=float(a)/b;//c=(float)a/b; print(“c=%d\n,c);//printf("c=%f\n",c); }//输出结果为c=1.500000 (3)修改程序中赋值表达式的错误: (文件名: sy2_38.c) #include main() { /****************Found****************/ inta,b,c; c=(a=2,)||(b=3;)//c=(a=2)||(b=3); printf("c=%d\n",c); }//输出结果为c=1 (4)修改程序中的错误: 将逗号表达a+=2,b+=3,a+b的值赋给c。 (文件名: sy2_39.c) #include main() {inta=1,b=2,c; /****************Found****************/ c=a+=2,b+=3,a+b;//c=(a+=2,b+=3,a+b); printf("c=%d\n",c); }//输出结果为c=8 3、读程序写结果: (共2小题,每题10分,共20分) (1)写出逻辑表达式的计算结果: (文件名: sy2_40.c) #include main() {intx=0,y=2,k; k=x++<=0&&! (y--<=0); printf("%d,%d,%d\n",k,x,y); } 输出结果为: (1,1,1) (2)写出强制类型转换表达式的计算结果: (文件名: sy2_41.c) #include main() {inta=2,b=3; floatx=3.9f,y=2.3f,r; r=(float)(a+b)/2+(int)x%(int)y; printf("%f\n",r); } 输出结果为: (3.500000) 4、改写程序(共2小题,每题10分,共20分) (1)用逗号表达式改写如下程序,使得变量x、y、z的输出结果相同。 (文件名: sy2_42.c) #include main() {intx,y,z; z=(x=3)&&(y=4);//z=(x=3,y=4,y>x); printf("x=%d,y=%d.z=%d\n",x,y,z); } (2)改写字符变量的取值范围,使输出的字符变量不产生溢出。 (文件名: sy2_43.c) #include main() { charchA='A',chB='B';//unsignedcharchA='A',chB='B'; chA+=chB; printf("chA=%d\n",chA); } 5、编程题(共2小题,每题10分,共20分) (1)输入两个整数iX和iY,如3,5,试编写输出iZ=|iX-iY|值的程序。 (文件名: sy2_44.c) #include main() { intiX,iY,iZ; scanf("%d,%d",&iX,&iY); iZ=iX>iY? iX-iY: iY-iX; printf("iZ=%d\n",iZ); } (2)输入一个小数位超过4位的浮点数,将其精确到小数点后两位。 文件名: sy2_45.c) #include main() { floatiX,iY; scanf("%f",&iX); iY=(int)(iX*100+0.5)/100.0; printf("iY=%f\n",iY); } 授课章节: 第三章顺序结构程序设计 1、程序填空题: 试在括号中填入正确的答案,并上机验证程序的正确性。 (1)输入大写字符A,则输出为(C65,a)。 ()//#include main() {()//charch,chr; chr=(ch=getchar())<’Z’+1? ch+32: ch-32; putchar(ch+2); printf(“%d,%c\n”,ch,chr); } (2)已知变量a=80000,b=60000,输出二数据之和c,与二数之差d。 #include main() {()a=80000,b=60000,c,d;//int ()=(a-b,a+b);//c ()=(a+b,a-b);//d printf("%ld.%ld\n",c,d); }//输出结果为140000,20000 3、读程序写结果并上机验证其正确性 (1)变量 a,b,c,d如下,分别输出各种类型的变量a,输出表达式c+a,d–32的值。 #include main()//结果为: -1,4294967295,377777777777,ffffffff {inta=-1,b=2;//C,B charc=‘D’,d=‘b’; b=b+c; printf(“%d,%u,%o,%x\n”,a,a,a,a); printf(“%c,%c\n”,c+a,d-32); } (2)运行程序后输入B空格o空格y回车后输出结果是(B,o)。 #include main() {intch1,ch2,ch3; ch1=getchar();ch2=getchar(); scanf("%c",&ch3); putchar(ch1);putchar(ch2); printf("%c\n",ch3); } 4、编程题 (1)给变量abc输入一个3位数,请编程分离出这个数的百位、十位、个位,分别赋给变量a,b,c,输出a,b,c的值。 #include"stdio.h" main() {intabc,a,b,c; scanf("%d",&abc); a=abc/100; b=abc/10-a*10; c=abc%10; printf("%d,%d,%d\n",a,b,c); } (2)输入一个四位小数的浮点数,如16.4572,试编程将该数精确到小数点后的二位。 #include"stdio.h" main() {floata,b; scanf("%f",&a); printf("a=%f\n",a); b=(int)(a*100+0.5)/100.0; printf("a=%f,b=%f\n",a,b); getch(); } 授课章节: 第四章选择结构程序设计 1、程序填空题: 试在括号中填入正确的答案,并上机验证程序的正确性。 (1)下面程序用于判断从键盘输入的一个字符是数字、大写字母或小写字母。 #include sy4_20.c) main() {charch; if(ch=getchar())! =’#’)) {if(ch>=’0’)printf(“number”);//&&ch<=’9’ if(ch>=’A’)printf(“Upper”);//&&ch<=’Z’ if(ch>=’a’)printf(“Litter”);}//&&ch<=’z’ printf(“\n”); } (2)已知m的初值为4,试填写变量说明语句,输出结果为(3,4)。 #include sy4_22.c) main() { ()//intm=4,n; if(m%4)n=m++; elsen=--m; printf("%d,%d",m--,++n); getch(); } 2、程序改错并上机调试运行 (1)输入a,b两个数,若a与b相等,将a+b赋给c;如若a与b不相等,将a-b赋给c #include sy4_23.c) main() {/**********found**********/ inta,b,c,max; scanf(“%d,%d”,a,b);//&a,&b max=a; if(max=b)c=a+b;//max==b elsec=a-b; printf(“c=%d\n”,c); } (2)改正程序中switch-case语句出现的错误。 #include sy4_24.c) main() {charch='d'; /**********found**********/ switch(ch–32);//switch(ch-32){ casea;//case'a': ; default: printf("%c\n",ch); case'b': printf("%d",ch); } } 3、读程序写结果并上机验证其正确性 (1)选择结构程序如下,当a=1,b=3,c=5,d=4时,执行下面程序后,x的值为(x=2) #include sy4_25.c) main() {inta=1,b=3,c=5,d=4,x; if(a if(c elseif(a If(b elsex=3; elsex=6; elsex=7; printf(“x=%d”,x); } (2)求表达式的输出结果。 (程序名: sy4_26.c) #include a=1,b=2 main() {intx=1,y=1,a=0,b=0; switch(x) {case1: switch(y) {case0: a++;break; case1: b++;break;} case2: a++;b++;break; case3: a--;b--;break; default: a++;b--;} printf("\na=%d,b=%d",a,b); getch(); } 4、编程题 (1)试编写一个程序,输入a,b,c三个值,输出最大值max和最小值min。 #include sy4_27.c) main() {intiA,iB,iC,iMax,iMin; printf("inputiA,iB,iC“); scanf("%d,%d,%d",&iA,&iB,&iC); iMax=iA; iMin=iA; if(iB>=iMax)iMax=iB; if(iB<=iMin)iMin=iB; if(iC>=iMax)iMax=iC;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)
文档标签
- Python语言程序设计3语言程序设计
- 语言程序
- C语言程序的设计语言程序设计
- 语言程序设计讲稿
- C语言程序设计PAT语言程序设计题目
- C语言程序设计学院语言程序设计
- C语言程序设计语言程序设计教案清华
- C语言程序设计语言程序设计药房管理
- C语言程序设计17语言程序设计在线
- c++程序设计c++程序设计
- C语言程序设计1253语言程序设计电大
- 语言程序设计精选
- C语言程序设计语言程序设计考试期末
- C语言程序设计大学语言程序设计试题
- C++语言程序设计C++语言程序设计机械设计
- 语言程序设计
- Python语言程序设计
- 二级Python语言程序
- Python设计
- Python程序设计Python程序设计试试
- Python程序设计
- Python语言程序设计
- Python程序的设计Python程序设计
- Python语言程序设计
- Python语言程序设计