资源描述:
《程序设计基础复习.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、程序设计基础复习浙江大学计算机学院颜晖2002.5.23杭州目录1.基本要求2.基本内容1.基本要求熟练掌握C语言的基本知识具备基本的C程序设计能力,能熟练地阅读、理解和编制简短的C程序。2.基本内容2.1数据的定义2.2运算及流程控制2.3程序结构和函数2.4数据的输入和输出2.5编译预处理2.6常用算法2.1数据的定义数据的定义包括数据类型和存储类别1、基本类型基本类型指整型、实型和字符型(主要是int,float,double,char;还包括long,unsigned,short)(1)常量熟练掌握各种表示形
2、式的整数、实数、和字符(串)常量,符号常量的定义和使用。包括整数的十进制、八进制和十六进制的表示形式、长整型常量的表示形式,实数的浮点表示法和科学记数法,字符的转义序列。以下选项中不正确的整型常量是_____A、0x1B、01C、20LD、12.34以下选项中不正确的字符常量是_____A、’t’B、’a’C、”1”D、‘1’(2)变量熟练掌握变量的定义和初始化2、构造类型构造类型包括数组和结构(1)数组熟练掌握一维和二维数组的定义和初始化,数组元素的引用。包括一维字符数组和字符串数组定义为inta[3][2]={
3、1,2,3,4,5,6},数组元素a[1][1]的值为4。不正确的赋值或赋初值的方式是______。A、charstr[]="s";B、charstr[7]={'s'};C、charstr[10];str="s";D、charstr[7]={'s',’ ’};表达式strcmp(“box”,“boss”)的值是一个____.A、正数B、负数C、0D、不确定的数#includeinta[2][2]={{1,2},{5,6}};voidmain(){ints,k;for(s=0,k=0;k<2;k++
4、)s+=a[k][k];printf("%d,",s);for(s=0,k=0;k<2;k++)s+=a[k][1-k];printf("%d",s);}(2)结构熟练掌握结构类型的定义,结构变量的定义和初始化,结构变量成员的引用。3、指针(1)熟练掌握指针和地址的概念(2)熟练掌握指针变量的定义和初始化(3)熟练掌握通过指针引用指向实体9aint*pa,a;pa=&a;printf("%d,%d,%d",*pa,a,*&a);printf("%x,%x,%d",pa,&a,&*p);pa若变量已正确定义并且指针p已
5、经指向某个变量x,则(*p)--相当于_____。A、p--B、x--C、*(p--)D、&x--下列语句定义pf为指向float类型变量f的指针,_____是正确的。A、floatf,*pf=f;B、floatf,*pf=&f;C、float*pf=&f,f;D、floatf,pf=f;4、构造类型和指针类型的混合定义及应用(1)熟练掌握指针、数组和地址间的关系intc[]={1,3,5};int*k=c+1;printf("%d",*++k);charstr[]="hellotworld";printf("
6、%c",*(str+10));staticchars[]="student";printf("%s",s+2);(2)熟练掌握指针数组写出下列程序段的输出结果。char*st[]={"one","two","three","four"};printf("%s",*(st+3)+1);(3)熟练掌握结构数组输入某班50位学生的姓名及数学、英语成绩,计算每位学生的平均分;然后输出平均分最高的学生的姓名及其数学和英语成绩。#include#defineSIZE50structstudent{c
7、harname[10];intmath,eng;floataver;};voidmain(){structstudents[SIZE];intk,sub=0;for(k=0;ks[sub].aver)sub=k;printf("%10s%3d%3d",s[sub].n
8、ame,s[sub].math,s[sub].eng);}(4)熟练掌握结构指针(5)掌握结构中含指针或数组(6)掌握嵌套结构(7)掌握指向指针的指针(二级)(8)单向链表掌握单向链表的建立和遍历了解插入和删除单向链表中的一个节点++p->str中的++加在_____。struct{intlen;char*str;}*p;A、指针str上B、指