C语言课件 程序设计基础复习_第1页
C语言课件 程序设计基础复习_第2页
C语言课件 程序设计基础复习_第3页
C语言课件 程序设计基础复习_第4页
C语言课件 程序设计基础复习_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计基础复习程序设计基础复习浙江大学 计算机学院陈建海杭州考试须知u提前提前1515分钟,刷卡上机分钟,刷卡上机u期末考试:期末考试:20112011年年0606月月2424日日(15:45-(15:45-18:00)18:00)u机考机考5050分钟,完成三道题(分钟,完成三道题(4 4选做选做3 3),),300300分计满分分计满分u先进行机考先进行机考4040分钟后,可以进入理论考试分钟后,可以进入理论考试u一旦进入理论考系统,机考系统、一旦进入理论考系统,机考系统、C C编编程环境必须关闭程环境必须关闭考试u题型:u判断题判断题1010,10;10;u单选题单选题2020,10;

2、10;u填空题填空题2020,10;10;u选择性程序阅读题选择性程序阅读题2020,5 5题题; ;u选择性程序填空题选择性程序填空题3030,5;5;目录u1. 基本要求u2. 基本内容1. 基本要求u熟练掌握C 语言的基本知识u具备基本的C程序设计能力,能熟练地阅读、理解和编制简短的C程序。2. 基本内容u2.1 数据的定义u2.2 运算及流程控制u2.3 程序结构和函数u2.4 数据的输入和输出u2.5 命令行参数和编译预处理u2.6 常用算法2.1 数据的定义数据的定义包括数据类型和存储类别1、基本类型基本类型指整型、实型和字符型(主要是int, float, double, cha

3、r;还包括long, unsigned, short)(1) 常量熟练掌握各种表示形式的整数、实数、和字符(串)常量,符号常量的定义和使用。包括整数的十进制、八进制和十六进制的表示形式、长整型常量的表示形式,实数的浮点表示法和科学记数法,字符的转义序列,常用符号常量的含义(如NULL、EOF等)(2) 变量熟练掌握变量的定义和初始化printf(”%x,%o“,16,10);printf (%d, %o, %x, 0 x12, 12, 012); printf(%d,%dn,NULL,EOF);NULL:0EOF:-12、构造类型构造类型包括数组和结构(1) 数组熟练掌握一维和二维数组的定义和

4、初始化,数组元素的引用。包括一维字符数组和字符串,二维字符数组和字符串数组数组定义为 int a32=1, 2, 3, 4, 5, 6,数组元素 a21 的值为6。不正确的赋值或赋初值的方式是_。A、char str=string; B、char str7=s, t, r, i, n, g;C、char str10;str=string;D、char str7=s, t, r, i, n, g, 0;表达式strcmp(“box”, “boss”) 的值是一个_.A、正数 B、负数 C、0 D、不确定的数CA#include int a34=1,2,3,4,5,6,7,8,9,10,11,12

5、; void main() int s,k; for(s=0,k=0; k3; k+) s+=akk; printf(%d-,s);for(s=0,k=0; k3; k+) s+=ak3-k; printf(%d-,s);for(s=0,k=0; k4; k+) s+=*(a1+k); printf(%dn,s); 1 2 3 45 6 7 89 10 11 12将输入的将输入的 n 个字符串连接成个字符串连接成1个字符串后输出个字符串后输出.#include #include void main() char str1020, string200; int k, n; scanf(%d, &

6、amp;n); for (k=0; kn; k+) gets(strk);_(1)_;for (k=1; kn; k+) _(2)_puts(string);strcpy(string, str0);strcat(string, strk);(2) 结构熟练掌握结构类型的定义,结构变量的定义和初始化,结构变量成员的引用。3、指针(1) 熟练掌握指针和地址的概念(2) 熟练掌握指针变量的定义和初始化(3) 熟练掌握通过指针引用指向实体9aint *pa, a;pa=&a;printf(%d,%d, *pa, a);printf(%x,%x, pa, &a);pa20070107若

7、变量已正确定义并且指针p已经指向某个变量x,则(*p)+相当于_。A、p+ B、x+ C、*(p+) D、&x+若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _是正确的。A、p2=p1; B、p2=*p1; C、p2=&p1; D、p2=*p1;BA下列语句定义pf为指向float类型变量f的指针,_是正确的。A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f;对于如下说明,语法和语义都正确的赋值是_。int c, *s, a =1,

8、3, 5;A、c=*s; B、 s0=a0; C、s=&a1; D、 c=a;C CB B4、构造类型和指针类型的混合定义及应用(1) 熟练掌握指针、数组和地址间的关系int c =1, 3, 5;int *k=c+1;printf(%d, *+k);char str =hellotworldn;printf(%d, %cn, sizeof(str), *(str+10);char str =hellot0worldn;p r i n t f ( % d , % d , % c n , sizeof(str),strlen(str),*(str+10);13,d14,6,l(2) 熟练

9、掌握指针数组写出下列程序段的输出结果。char *st =one,two,three,four;printf(%s,%cn,*(st+3)+1,*(st+1)+1);(3) 熟练掌握结构数组输入某班50位学生的姓名及数学、英语成绩,计算每位学生的平均分;然后输出平均分最高的学生的姓名及其数学和英语成绩。 #include #define SIZE 50 struct student char name10; int math,eng; float aver; ;void main() struct student sSIZE; int k,sub=0; for(k=0; kSIZE; k+)

10、scanf(%s%d%d,,&sk.math,&sk.eng); sk.aver = (sk.math+sk.eng)/2.0 for(k=1; kssub.aver ) sub = k; printf(%10s%3d%3dn,,ssub.math,ssub.eng); (4) 熟练掌握结构指针(5) 掌握结构中含指针或数组(6) 掌握嵌套结构(7) 掌握指向指针的指针(二级)(8) 单向链表+p-str中的+加在_。struct int len; char *str; *p;A、指针str上 B、指针p上 C、str指的内容上 D、以上均不是A

11、main( ) struct st int x, y; a4=10,20,30,40,50,60,70,80; struct st *p=a; printf(%d, p+-x); printf(%d, +p-y); printf(%dn, (a+3)-x);5、空类型 void掌握空类型的定义和使用6、变量的存储类别、作用域和生存期(1) 掌握变量的存储类别auto 自动型、static 静态型、extern 外部参照型(2) 掌握全局变量和局部变量注意区分:自动局部变量和静态局部变量、全局变量和静态全局变量、外部变量C语言中,形参的缺省的存储类说明是_。A、auto B、static C、r

12、egister D、extern A对于以下函数f,计算f(f(2)的值。 int f(int x) static int k=0; x+=k+; return x; 第第1 1次调用次调用f(2)f(2)的值是的值是2 2,k k从从0 0变为变为1 1;第第2 2次调用次调用f(f(2)=f(2)f(f(2)=f(2),f(2)f(2)的值为的值为3;3;2.2 运算及流程控制1、基本运算熟练掌握运算符的功能熟练掌握运算符的优先级、结合性和目数熟练掌握隐式类型转换和强制类型转换2、表达式熟练掌握各类表达式的组成规则和计算过程 () - . ! + - - (类型名) * & siz

13、eof 从右向左 * / % + - = = != & (按位与) (按位异或) | (按位或) & | ?: 右 = += -= *= /= %= = = &= = |= 右 , 若变量已正确定义且 k 的值是 4,计算表达式 ( j = k-) 后,j和k的值分别是_。已知字符 a 的ASCII码为 97 ,执行下列语句的输出是_。printf (%d, %c, b, b-1 ) ; j=4,k=398,a判断i和j至少有一个值为非0的表达式是_。A、 i!=0 & j!=0 B、i | j C、!(i=0 | j=0) D、i&j表达式 !x 等价

14、于_。A、x=0 B、x=1 C、x != 0 D、x != 1 BA若x是单精度实型变量,表达式 (x = 10/4) 的值是_ 。A、2.5 B、 2.0 C、 3 D、 2写出下列程序段的输出结果。float x1, x2;x1=3/2;x2=x1/2;printf(%d, %.1f, (int)x1, x2) ;B1,0.5表达式 sizeof(“key”) 的值是_。A、1 B、2 C、3 D、4static char s =student;printf(%d,%cn,sizeof(s),*(s+2);若a是整型变量,表达式 (a a ) 等价于_。 A、a B、1 C、0 D、2表

15、达式 (722 ) 的值是_。 DC(722 ) =01112=00110010=00011下列运算符中,优先级最低的是_。A、* B、!= C、+ D、=算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_。A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算CD3、语句(1) 熟练掌握表达式语句、空语句、复合语句;(2) 熟练掌握简单控制语句 break、continue、return(3) 熟练掌握选择控制语句 if、switch(4) 熟练掌握重复控制语句 for、while、dowhile

16、C 语言程序的三种基本结构是顺序结构、选择结构和_结构。A、循环 B、递归 C、转移 D、嵌套A写出下列程序段的输出结果。 char c,k; c=b; k=4; switch(c) case a: k=1; case b: k=2; case c: k=3; printf(%dn,k);写出下列程序段的输出结果。int k, x;for (k=0, x=0; k=9&x!=10; k+) x+=2;printf (%d, %d, k, x) ;输入12345#后,写出下列程序的输出结果。void main() char c; for(c=getchar(); getchar()!=#

17、; c=getchar() putchar(c); int k ; char *s = “ABC”;for( k=10; k != 0; k- ) ;printf ( %d, k );while( *s+ ) putchar( *s );2.3 程序结构和函数1、程序结构熟练掌握main函数与其他函数之间的关系包括标准库函数和自定义函数2、函数的定义(1) 熟练掌握函数定义的ANSI C格式(2) 熟练掌握函数的参数(形式参数和实在参数)及参数传递,包括指针作为函数的参数(3) 熟练掌握函数的返回值,包括指针作为函数的返回值要调用数学函数时,在#include命令行中应包含_。A、 ”stdi

18、o.h” B、 ”string.h” C、 ”math.h” D、 ”ctype.h”在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型是_.Cintint z;void p(int *x, int y) +*x; y-; z=*x+y+z; printf(%d, %d, %d#, *x, y, z);void main() int x=1, y=5, z=9; p(&x, y); printf(%d, %d, %d#, x, y, z); 3、函数的调用(1) 函数调用的一般格式熟练掌握通过函数名调用函数,了解通过函数指针调用函数(2) 掌握函数的嵌套调用和递归调用 int

19、f(int k) return (k0)?1:f(k-2)+2); (3) 熟练掌握标准库函数的调用常用数学函数:math.hcos、sqrt、pow、exp、fabs、log、log10等常用字符函数:ctype.hisalnum、isalpha、isdigit、islower、toupper等常用字符串函数:string.hstrcpy、strcmp、strcat、strlen等输入m和n(mn0)后,计算下列表达式的值并输出。 m! n!(m-n)!要求将计算阶乘的运算写成函数fact(n),函数返回值的类型为float。#include float fact(int k);void m

20、ain() int m,n; scanf(%d%d,&m,&n); printf(%fn,fact(m)/fact(n)/fact(m-n); float fact(int k) float y=1; int i; for(i=2;i=k;i+) y*=i; return y; 2.4 数据的输入和输出1、文件熟练掌握文件的基本概念2、标准文件的输入和输出熟练掌握常用输入输出函数:scanf、printf、getchar、putchar、gets、puts等3、缓冲文件系统(文本文件)(1) 熟练掌握文件的打开和关闭常用函数:fopen和fclose(2) 熟练掌握文件的基本读写操作常用函数:fscanf、fprintf、fgetc、fputc、fgets、fputs等(3) 熟练掌握文件的状态检测常用函数:feof等统计当前目录下文本文件统计当前目录下文本文件data.txt中字符中字符 $ 出现出现的次数,并将统计结果写入当前目录下的文本文的次数,并将统计结果写入当前目录下的文本文件件res.txt。 #include void main(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论