《C语言程序设计》期末小结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》期末小结 《C语言程序设计》期末小结
1
计算机科学工程系
李书涛
Hale Waihona Puke 录《C语言程序设计》期末小结
《C语言程序设计》期末小结
一. 期末考试试题类型
二. 期末考试试题分析 三. 其它问题分析 四. 基本概念
2
计算机科学工程系
李书涛
一. 期末考试试题类型
《C语言程序设计》期末小结
一. 期末考试试题类型
} 程序执行的输出结果为: ,z=4,
10
Z=7,a=5
z=2,z=3
李书涛
计算机科学工程系
程序分析
《C语言程序设计》期末小结
#define N 10 main( ) { int a[N], i, j, k, t; printf("Input %d number : ", N); for (i=0; i<N; i++) scanf("%d", &a[ i ]); for (i=0; i<N-1; i++) { for (j=i+1; j<N; j++) if(a[ j ] <a[ i ]) { t=a [ j ]; a[ j ] =a [ i ]; a[ i ] =t; } } printf("The sorted numbers : "); for (i=0; i<N; i++) printf("%3d", a[ i ]); } ,z=3,z=4, Input 10 number :1 6 34 98 5 –6 22 –9 8 9 程序执行的输出结果为: 11 计算机科学工程系 李书涛 The sorted numbers:–9 –6 1 5 6 8 9 22 34 98
1.单项选择题(每小题1分,共20分)
2.填
空 题(每
空1分,共10分) 题5分,共30分) 空1分,共10分)
3.程序分析题(每 4.程序填充题(每
5.程序设计题(每 题10分,共30分)
3 计算机科学工程系 李书涛
二. 期末试题分析
《C语言程序设计》期末小结
二. 期末试题分析
1.单项选择题
例: 语句 if (!E) 中的条件 !E 等价于 A) E == 0 B) E != 1 C) E != 0 D) -E ( A )
7
计算机科学工程系
李书涛
《C语言程序设计》期末小结
3.程序分析题- 分支、循环、指针
分支:if语句、switch语句与break语句 循环: for语句、 while语句与do-while语句
指针:int a,*p; p=&a; 两个运算符 &:取 地 址- p=&a *:间接访问- a= *p
数组指针:int a[5],*p; p=a;数组元素的访问
《C语言程序设计》期末小结
(1) 求和
用下列公式计算π的值 π 1 1 1 1 1 1 --- = 1 - --- + --- - --- + --- - --- ……--4 3 5 7 9 11 n
#include <math.h> ( 精度要求 |1/n|<10-6) main( ) { float pi=0.0, n=1.0, s=1.0, t; do { t=s/n; pi= pi+t; s=-s; n+=2; } while(fabs(t)>=1e- 6); printf(“pi=%f\n”,4*pi); 程序的执行结果为: pi=3.141598 计算机科学工程系 李书涛 } 17
《C语言程序设计》期末小结
5.程序设计题:
main( ) { ① 说明对象; ② 输入数据; ③ 运算处理; ④ 输出结果。 }
运算处理
① 循环:打印图形; ② 循环:二维数组的输入、输 出与计算; ③ 函数:递归的运算处理;
只要有内容就有分,不要一个字都不写;否则0分。
16
计算机科学工程系
李书涛
《C语言程序设计》期末小结 程序分析:用指针输出数组元素的值
# include <stdio.h> void main ( ) { int a [ ]={11,22,33,44,55,66}; int i, *p; for(i=0; i<6; i++) printf(“%3d ”,*(a+i)); printf(“\n”) for (p=a ; p<(a+6); p++) printf (“%3d ” , *p/11); }
《C语言程序设计》期末小结
(2) 打印平面二维图形
main( ) { int i, j, n; 打印平面二维 printf(“\nInput n : “); 图形:要用双重循 scanf(“%d”,&n); 环,外循环控制行 for(i=1;i<=n;i++) 数,内循环控制列 { for(j=1;j<=40-2*i;j++) 数。 printf(“%c”,‟ „); 输入n=4, 输出以下图形: for(j=1;j<=2*i-1;j++) * printf(“%2c”,‟ * „); * * * printf(“\n”); * * * * * } * 18* * * * * * } 计算机科学工程系 李书涛
打印菱形图形程序
main( ) for(i=n-1; i>=0; i--) { int i,j,n; { for(j=1; j<=40-2*i; j++) printf("Enter n : "); printf(" "); scanf("%d",&n); for(j=1; j<=2*i-1; j++) for(i=1; i<=n; i++) printf("%2c",'*'); { for(j=1; j<=40-2*i; j++) printf("\n"); printf(" "); } for(j=1;j<=2*i-1;j++) printf("\n\n"); printf("%2c",'*'); getch( ); printf("\n"); } }
《C语言程序设计》期末小结
(2) 程序填空
[参考答案] ①说明对象;②输入数据;③运算处理;④输出结果
例:求三个整数中的最大和最小值,三整数由键盘输入。
main( ) { int max, min; int a, b, c; printf(“Input 3 integers : ”); scanf(“%d”,&a); max=min=a; scanf(“%d”, &b ); if(b>max) max=b; if(b<min) min=b; scanf(“%d”,&c); if(c>max) max=c; if(c<min) min=c; printf(“max=%d, min=%d\n\n”, max, min ); } 15 计算机科学工程系 李书涛
指针的指针 int a, *pa, **ppa; 9 计算机科学工程系 李书涛 pa=&a; ppa=&pa; 则: *ppi=pi; *pi=i ; **ppi=*pi=i;
《C语言程序设计》期末小结
程序分析
[ 按格式要求写出程序的执行结果,格式和结果分别计分。]
#define X 5 #define Y X+1 #define Z Y*X/2 Z=Y*X/2=X+1*X/2=5+1*5/2=7 Main() --a=--X+1=4+1=5 { int a; a=Y; printf(“Z=%d,”,Z); printf(“a=%d\n”,--a);
13
① ② ③ ④
C程序的上机执行过程:编辑、编译、连接、运行。 计算机科学工程系 李书涛
《C语言程序设计》期末小结
(1) 程序填空
输入10个数,输出正、负数的和及10个数的总和。程序如下:
main( ) { int i, s1,s2,sum; int n; s1=s2=0; printf("Input 10 number :\n"); for(i=1;i<=10;i++) 程序执行输出结果如下: { scanf("%d",&n); Input 10 number : if(n>0) s1+=n; 1 2 3 4 5 -9 -8 -7 -6 -5 else s2+=n; } s1=16, s2=-35, sum=-19 sum=s1+s2; printf("s1=%d,s2=%d,sum=%d\n\n",s1,s2,sum); getch( ); 计算机科学工程系 李书涛 }14
20 计算机科学工程系 李书涛
《C语言程序设计》期末小结
(4) 打印空心菱形图形
输入n=4, 输出以下图形:
只需将上面的 程序略加修改后, 可以了。
*
* *
* *
*
* *
* *
*
*
21
计算机科学工程系
李书涛
《C语言程序设计》期末小结
打印空心菱形图形程序1jk-1‟‟.c
main( ) for(i=n-1; i>=0; i--) { int i,j,n; { for(j=1; j<=40-2*i; j++) printf("Enter n : "); printf(" "); scanf("%d",&n); for(j=1; j<=2*i-1; j++) for(i=1; i<=n; i++) if(j==1||j==2*I-1) { for(j=1; j<=40-2*i; j++) printf("%2c",'*'); printf(" "); else printf(" "); for(j=1;j<=2*i-1;j++) printf("\n"); if(j==1||j==2*I-1) } printf("%2c",'*'); printf("\n\n"); else printf(" "); getch( ); printf("\n"); } } 22 计算机科学工程系 李书涛
6
程序输出结果是: ( B ) C) 7 D) 8
计算机科学工程系 李书涛
《C语言程序设计》期末小结
2.填空题
例:下面程序的输出是________ __。 a main( ) { char c=„A‟; printf(“ %c\n”,c+32); }
例: int a[10], *p=a; 则a[i]的指针表示形式是___ *( p + i ) ______。
例: char s[10]; 程序中 s 等价于 A) 10 B) s[10] C) s[0] D) &s[0]
( D)
4
计算机科学工程系
李书涛
《C语言程序设计》期末小结
单项选择题
例: char s[10];测字符串长度函数是 ( C ) A) strcpy(s) B) strcmp(s) C) strlen(s) D) sizeof(s)
for(i=0;i<6;i++) 下标法:printf(“%d”,a[ i ]); 指针法:printf(“%d”,*(p+i)); 8地址法:printf(“%d”,*(a+i)); 计算机科学工程系
李书涛
《C语言程序设计》期末小结
指针类型举例
变量的指针 int i, *pi; pi=&i; 则: *pi 与 i 等价。 指针的数组 int *pa[3]; char *str[ ]={“fd”, “12”, “ab”}; 数组的指针 int a[10],*p; p=a; 则: *(p+i)=*(a+i)=a[i] 等价。 移动指针 i 个元素 指针型函数 int *f(x,y); main(){ int *p; p=f(a,b);} 函数的指针 int (*pf)( ), max(x,y); 指针初始化 pf=max; 则函数调用:c=(*pf)(a,b) ; 与 c=max(a,b); 等价。
12
运行结果: 11 22 33 44 55 66 1 2 3 4 5 6
计算机科学工程系
李书涛
《C语言程序设计》期末小结
4.程序填空题
C程序的基本结构:C语言程序由1~多个函数组成, C语言程序总是从main( )函数开始执行。
C语言程序结构
main( ) { 说明语句 语句 输入语句 执行语句 运算处理 } 输出语句
打印三角图形
《C语言程序设计》期末小结
(3) 打印菱形图形
输入n=4, 输出以下图形:
只需将输出上 面三角的程序略加 修改后,复制移到 下面,再输出下面 倒三角就可以了。
* * * * * * * * *
19
* * * * * * *
* * * * * * * * *
计算机科学工程系
李书涛
《C语言程序设计》期末小结
例: 对于下列语句int n; .a[ ]={11,22,33,44,55,66}, *p=a; 不正确的用法是 ( B ) A) *(a+i); B) *a++; C) *p++; D) (*p)++;
5
计算机科学工程系
李书涛
《C语言程序设计》期末小结
单项选择题
例:选择程序的输出结果
#include <stdio.h> f(char *s) { char *p=s; while (*p!='\0') p++; return(p-s); } main() {printf(“%d\n”, f(“abcdef”)); } A) 0 B) 6
相关文档
最新文档