2011级c语言程序设计复习提纲(普通班)
考试试题题型:
1)选择40分)
2)程序填空 (20分)
3)读程序写结果 (30分)
4)程序设计填空题 (10分)
注意:试卷上要填写教师姓名, 答案要写在答题卡上,试卷和答题卡都要写学号、姓名和专业。
第1章程序设计和c语言。
1、函数与主函数。
程序由一个或多个函数组成。
必须有且只能有一个主函数main()。
程序执行从main开始,在main中结束。
2、程序语句。
c程序语句用”;”作为语句终止符。
3、注释。注释不能嵌套,不产生编译**。
4、vc6.0编程流程。
编辑(.c)—编译(.obj)—连接(.exe)—运行。
第2章算法。
1、计数、求和、求阶乘等简单算法。
2、最大数、最小数和平均数。
3、判断某一年是否为闰年。
4、判断素数。
5、冒泡、选择、插入排序。
6、求多项式的值。
第3章顺序结构程序设计。
1、常量:整型、实型、字符**义字符)、字符串、符号常量。
2、变量:先定义,再使用。命名规则:由数字、字母、下划线组成,以下划线或字母开头。
字符变量:可与整形变量相互运算,可算术运算。
例:字母小写→大写 c=c-32;或c=c-(‘a’-‘a’)
3、数据类型。
注意:1. 数据占内存字节数。
2. 数据取值范围。
4、常见运算符与表达式。
算术运算符运算结果为数值。 注意:%(只用于整数),自增、自减运算。
关系运算符(> 运算结果为1(真)或0(假),注意优先级顺序。
逻辑运算符运算结果为1(真)或0(假),注意优先级顺序。
赋值运算符(=)运算结果为赋值运算符右边表达式的值,右结合性,可发生强制类型转换。
条件运算符(e1? e2:e3):当e1后表达式值非0时,运算结果为e2表达式的值,否则为e3表达式的值。 例:max=(a>b)?a:b;
逗号运算符(,)逗号表达式的值为最后一个表达式的值。
注意:不同类型数据间的转换(自动转换与强制转换)
例:int a=123; 则a/100的值为(1),a/10%10的值为(2),a%10的值为(3)
例:int i=5,j; j=i++/2;
例:x=0与x==0的区别;int a=23.6;则a的值为23;x=y==0 的值。
5、数据的输入与输出。
printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c",i,ch);
1)“格式控制”是用双撇号括起来的字符串,它包括两种信息:
①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。
②普通字符,即需要原样输出的字符。
2)“输出表列”是需要输出的一些数据,可以是变量和表达式。
注意:看程序写结果要严格按照输出格式来写。
scanf(格式控制符,地址列表)例如:scanf(“%d%d”,&a,&b);
作用:按格式控制符的要求将数据从终端传送到变量地址所指定的内存空间。
“格式控制”的含义同printf函数;
地址表列”是由若干个地址组成的表列,可以是变量的地址或指针变量;
如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。例如:scanf("%d,%d", a, &b);输入时应输入:3,4。
当"%d"和"%c"格式相连时,不要使用空格字符作为间隔符。
scanf("%d%c", a, &b); 如希望a=56,b=’x’.输入格式为:56 x
字符、字符串数据的输入输出:putchar()、getchar()、puts()、gets()
第4章选择结构程序设计。
1、if语句。
注意:if和else的配对原则,else和前面最近的未配对的if配对。
2、switch语句。
注意:根据表达式的值进行多分支选择、case只起语句标号的作用,内部语句按顺序执行,应搭配break实现多分支。
3、选择结构的嵌套。
注意:同一程序的等价转换。
例:设有条件表达式:(exp)?i++;j--,则以下表达式中(exp)完全等价的是。
a)(exp==0) b)(exp!=0) c)(exp==1) d)(exp!=1)
例:有以下程序
#include <>
main()
int a=1,b=2,c=3,d=0;
if (a==1 &&b++=2)
if (b!=2||c--!3)
printf("%d,%d,%d",a,b,c);
else printf("%d,%d,%d",a,b,c);
else printf("%d,%d,%d",a,b,c);
程序运行后输出结果是。
a)1,2,3 b)1,3,2c)1,3,3d)3,2,1
例:有以下程序
#include <>
main()
int x=1,y=0,a=0,b=0;
switch(x)
case 1:
switch(y)
case 0: a++;break;
case 1: b++;break;
case 2: a++;b++;break;
case 3: a++;b++;
printf(“a=%d,b=%d”,a,b);
程序的运行结果是
a)a=1,b=0b)a=2,b=2
c)a=1,b=1d)a=2,b=1
第5章循环结构程序设计。
1、while、do while和for三种循环的使用方法。
循环要素:循环入口、循环条件、循环体和循环条件的改变。
2、break和continue的含义。
3、循环的嵌套(两层)
每层循环都应有各自的四要素,注意内层循环变量初始化的位置。
例:编写程序打印码值为33-127的ascii值、字符对照表。
例:若变量已正确定义,有以下程序段。
i=0;do printf("%d,",i);while(i++)
printf("%d",i)
其输出结果是。
a)0,0 b)0,1c)1,1 d)程序进入无限循环。
例:一下程序段中的变量已正确定义
for(i=0;i<4;i++,j++)
for(k=1;k<3;k++)printf("*
程序段的输出结果是。
abcd)*
第6章利用数组处理批量数据。
1、一维数组:定义(长度必须是常量)、访问(不要越界)和初始化(各种形式)。
2、二维数组:定义(长度必须是常量)、访问(不要越界)和初始化(各种形式)。
例:二维数组在定义时,如果有初始化,则可以缺省第一维的长度。
例: int a[5][6]:a数组中存放5*6个int类型数据;其占据的内存空间是:sizeof(int)*(5*6)=节;a[2][3]表示a数组中第三行第四个元素;
算法: 冒泡、选择排序,查找最大值和最小值。
找出二维数组中每一行(列)的最小值。
3、字符数组:定义和赋值、字符串结束标志’\0’
字符数组的整体输入和整体输出:“%s”格式符。
字符串处理函数(puts, gets, strcpy, strcat,strcmp,strlen)的用法。
例:char s1[80],s2[80]=”abc”; 则strcpy(s1,s2)和strcmp(s1,s2)的作用,strlen(s1)与sizeof(s1)的区别。strlen(“abc\x61”)=4
例:以下程序用以删除字符串中的所有的空格,请填空。
#include<>
main()
int i,j;
for( i=j=0;s[i]!=0’;i++)
if(s[i]!=
s[j]=s[i];j++;
s[j]= 0’ 】
printf("%s",s );
第7章用函数实现模块化程序设计。
1、定义函数:
函数类型函数名(形参类型说明表)注意:函数类型省略时默认为int。
说明部分。语句部分。
调用:调用形式:函数名(实参表);
说明:实参与形参个数相等,类型一致,按顺序一一对应。
函数返回:返回语句: return(表达式);
功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数。
说明: 函数中可有多个return语句,也可以没有(void型函数)。
若无return语句,函数体执行完自动返**用函数。
若行参与实参类型不一致,函数类型与return语句中表达式值的类型不一致,都按赋值的强制转换向前者类型转换。
2、函数参数及其传递方式:
1)值传递方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值。
复习大纲c语言
一 基本概念。1.标识符的合法定义 能够判别定义的变量名 函数名是否合法。2.书写规则,语句的写法,注释语句的写法 3.逗号运算符的使用方法,注意与赋值运算的优先级 4.数学表达式的c语言书写 5.掌握四则混合运算。1 的运动优先级。2 整数除法与实数除法的区别 3 运算对操作数的要求 4 运算中隐...
C语言复习大纲
c语言考试说明 c语言复习范围包括课本知识和实验。考试题型包括选择 填空 程序填空和编程题。选择 填空涉及以下所列的所有知识点以及课后习题。程序填空主要涉及到分支结构编程 多分支switch结构 循环结构编程 自定义函数编程 有关一维数组的简单编程 有关指针的简单应用等等。编程题范围主要包括 1 选...
C语言复习大纲
第一部分基础知识。1.二进制与十进制之间的相互转换。第二部分算法。2.流程图的符号及流程图画法。第三部分数据类型 运算符与表达式。1.标识符定义。2.常量与变量。3.字符常量 字符串常量 字符串结束符。4.运算符与表达式,5.printf函数和scanf函数,格式字符 d,f,s,c,第四部分 c语...