C语言复习要点.docx
《C语言复习要点.docx》由会员分享,可在线阅读,更多相关《C语言复习要点.docx(9页珍藏版)》请在冰豆网上搜索。
C语言复习要点
C语言复习要点
考试题型:
选择题26道每题1分
判断题20道每题0.5分
程序分析题6道每题4分
第1章C语言概述
1.3C语言程序特点
理解C语言程序是函数串
1.4标准设备的I/O
键盘输入函数:
getchar()、gets()、scanf()
屏幕输出函数:
putchar()、puts()、printf()
特别是scanf()函数和printf()函数的功能和用法
第2章常量和变量
2.2类型(数据类型和存储类)
数据类型的种类:
基本数据类型和构造数据类型
存储类的种类、不同存储类变量的特点:
自动类、寄存器类、外部类、静态类
2.3常量
常量的种类,各种常量的表示方法,符号常量的功能
2.4变量
变量三要素:
名字、类型和值的具体规则
变量的定义格式和作用域
第3章运算符和表达式
3.1运算符功能:
算术、关系、逻辑、三目、赋值以及单目运算符++、--、*、&等
3.2运算符的优先级和结合性
3.3表达式的值和类型
逻辑表达式求值、赋值表达式求值、条件表达式求值
第4章预处理功能
简单宏定义和符号常量定义
文件包含命令
第5章语句
5.1复合语句和分程序
5.2分支语句if、switch
5.3循环语句while、do-while、for
5.4转向语句break、continue
掌握上述语句的功能、格式及用法
第6章数组
6.1一、二维数组的定义格式及数组元素的下标表示方法
6.2数组的初始化和赋值及运算
数组初始化使用初始值表
数组赋值是对数组的各个元素赋值
数组的运算是指数组各个元素的运算
6.3字符数组和字符串
字符数组可以存放字符,也可以存放字符串。
直接用字符串常量给字符数组初始化
第7章指针
7.1、7.2指针的概念
指针的定义格式、初始化和运算
给指针赋值要求类型相同和级别一致的地址值
指针仅有4种运算
7.3一、二维数组元素的指针表示
一维数组指针表示:
已知inta[5];数组a的各个元素的地址值和元素值的指针表示为
a+i和*(a+i)
二维数组指针表示:
已知intb[5][3];数组b的行地址值、各个元素的地址值和元素值的指针表示为b+i、*(b+i)+j和*(*(b+i)+j)
7.4指向一维数组的一级指针和一维一级指针数组
掌握它们在定义上和应用上的区别
7.5字符指针的特点
第8章函数
8.1、8.2函数的概念
函数的定义格式
函数的说明方法
函数的形参和实参
函数的返回值
8.3函数的调用
传值、传址调用的方法及特点
8.4一级指针和一维数组作函数参数实现传址调用
第9章结构
9.1、9.2结构变量的概念
结构类型和结构变量的定义格式、结构变量的初始化和赋值及运算
结构变量的成员表示方法
9.3结构数组的应用
第10章文件操作
10.1文件概念
文件指针、标准文件和一般文件
10.2标准文件的读/写函数
对一个字符的、对一个字符串的和格式的
10.3一般文件的操作
打开/关闭函数
读/写函数(对一个字符的、对一个字符串的、对一个数据块的和格式的)、
文本文件及二进制文件的操作
C语言程序分析举例
1
#include
voidmain()
{intx,y,z;
x=y=z=1;
++x&&--y&&++z;
printf("%d,%d,%d\n",x,y,z);
--x||++y||++z;
printf("%d,%d,%d\n",x,y,z);
x=y=z=1;
--x&&++y||++z;
printf("%d,%d,%d\n",x,y,z);
++x||--y&&--z;
printf("%d,%d,%d\n",x,y,z);
}
2
voidmain()
{inti=-1,j=2,k;
do{
k=++i&&--j;
i++;
}while(k);
printf("%d,%d\n",i,j);
}
3
voidmain(){
intm=1,n=0,i,j;
i=j=2;
switch(m){
case1:
switch(n){
case0:
++i;break;
case1:
j++;break;
}
case2:
i++,j++;break;
}
printf("%d,%d\n",i,j);
}
4
voidmain(){
charstr[]="ABCDEFG";
char*p=&str[6];
for(;p>=str;p--)
printf("%c",*p+1);
printf("\n");
}
5
voidf1(int*a){
intb=3;
b*=*a;
printf("%d,%d\n",++*a,b);
}
intf2(){
intx=5;
f1(&x);
returnx++;
}
voidmain(){
intm=5;
m+=f2();
printf("%d\n",--m);
}
6
#include
#include
structmonth
{
intnumber_of_day;
charname[10];
};
voidmain()
{
inti;
charm[10];
structmonthmonths[12]={{31,"jan"},{28,"feb"},{31,"mar"},
{30,"apr"},{31,"may"},{30,"jue"},
{31,"jul"},{31,"aug"},{30,"sep"},
{31,"oct"},{30,"nov"},{31,"dec"}};
printf("Entermonth'sname(3characters):
");
scanf("%s",m);
for(i=0;i<12;i++)
{
if(strcmp(m,months[i].name)==0)
{
printf("%s:
%d\n",m,months[i].number_of_day);
break;
}
}
}
#include
#include
chars[][10]={"if","else","while","break","continue"};
inta[]={3,5,6,6,9};
voidmain()
{
inti;
chars1[5][10];
FILE*fp;
fp=fopen("file1.txt","w");
if(fp==NULL)
{
printf("filecannotbeopen!
\n");
exit
(1);
}
for(i=0;i<5;i++)
{
fputs(s[i],fp);
}
fclose(fp);
fp=fopen("file1.txt","r");
if(fp==NULL)
{
printf("filecannotbeopen!
\n");
exit
(2);
}
for(i=0;i<5;i++)
fgets(s1[i],a[i],fp);
for(i=0;i<5;i++)
printf("%s\n",s1[i]);
fclose(fp);
}