语言程序设计复习提纲_第1页
语言程序设计复习提纲_第2页
语言程序设计复习提纲_第3页
语言程序设计复习提纲_第4页
语言程序设计复习提纲_第5页
免费预览已结束,剩余38页可下载查看

下载本文档

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

文档简介

C语言程序设计考试时间:19周周日(1月12日)上午9:00-11:00考试形式:闭卷、机试考试地点:

综合实验楼203:3213002377-2393

综合实验楼202:其他同学考核范围参考教材:C语言程序设计,高潮刘兴林等著第1章概述第2章C语言基础第3章算法与控制结构第4章函数及编译预处理第5章数组与字符串第6章指针第7章构造数据类型第8章文件题型及分值一选择题(30%,15小题,2分/题)二填空题(20%,10小题10空,2分/空)三程序操作题(50%,5小题,10分/题)程序改错题(20%,2小题,10分/题)程序填空题(20%,2小题,10分/题)程序设计题(10%,1小题,10分/题)第1章概述C语言程序的结构一个程序由一个或多个源程序文件组成。函数是C程序的主要组成部分,语句是C源程序的基本单位。一个函数包括函数首部和函数体两个部分。一个C程序中main函数是必不可少的,C程序总是从main函数开始执行,与main所在的位置无关。C程序中对计算机的操作是由函数中的C语句完成的。在每个数据声明和语句的最后必须有一个分号。C语言本身不提供输入输出语句,是由函数scanf和printf来完成的。第1章概述运行C程序的步骤与方法第2章C语言基础关键字与标识符关键字:系统预先定义的,不能作为变量名或函数名标识符:标识变量名、函数名、数组名、类型名和文件名等的有效字符序列由大小写字母、数字字符和下划线组成第一个字符必须为字母或下划线先定义后使用,严格区分大小写常量字面常量const常量:constinta=1;符号常量:#definePI3.1416字符与字符串的区别:’A’与”A”第2章C语言基础转义字符字符形式含义\n换行,将当前位置移到下一行开头\t水平制表(跳到下一个tab位置)\v垂直制表符(移到下一个垂直制表对对齐点)\a警告(发出声音或视觉信号)\b退格,将当前位置移到前一列\r回车,将当前位置移到本行开头\f换页,将当前位置移到下一页开头\\输出一个反斜杠字符“\”\’输出一个单引号\”输出一个双引号\?输出一个问号\ddd1到3位8进制数所代表的字符\xhh1到2位16进制数所代表的数第2章C语言基础变量变量的定义变量的初始化算术运算符与算术表达式/:1/2和1.0/2的区别%:5%2j=++i,j=i++赋值运算符与赋值表达式赋值方向:自右向左,只能给变量赋值复合赋值运算符:a+=3第2章C语言基础关系运算符与关系表达式==!=<=>=逻辑运算符与逻辑表达式!&&||逻辑值与数值的转换逻辑值→数值:TRUE→1,FALSE→0数值→逻辑值:非零→

TRUE,0→FALSE第2章C语言基础条件运算符与条件表达式表达式1?表达式2:表达式3求解过程:表达式1为真,返回表达2的值,否则返回表达式3的值混合运算时数据类型的转换自动转换:由精度低的类型向精度高的类型转换强制转换:(类型名)表达式第2章C语言基础

!

(高)算术运算符关系运算符

&&

和||赋值运算符(低)第2章C语言基础C标准输入输出函数scanf:要给出变量的地址printf格式字符:c,d,s,fputchargetchar第3章算法与控制结构算法概念特征:有穷性、确定性、可执行性、有序性、可输入/输出信息三种基本结构顺序结构选择结构循环结构第3章算法与控制结构三种基本结构的特点只有一个入口只有一个出口每一部分都有机会被执行到不存在“死循环”C语句声明语句执行语句控制语句函数调用语句表达式语句空语句复合语句第3章算法与控制结构两种选择语句if语句switch语句If语句基本语法结构嵌套的if语句switch语句switch后面的括号内的“表达式”的值为整数类型每一个case常量必须互不相同case只标记入口,碰到break语句才退出switch,否则顺序往下执行其他分支,只到break或switch语句结束可以没有default语句第3章算法与控制结构判断字符范围小写字母:‘a’<=ch&&ch<=‘z’大写字母:‘A’<=ch&&ch<=‘Z’数字字符:‘0’<=ch&&ch<=‘9’循环语句while语句do…while语句for语句第3章算法与控制结构while语句语法形式:while(表达式)语句当循环条件表达式为真,就执行循环体语句特别注意:while(a=1)语句while(a=0)语句while(1)语句while(0)语句第3章算法与控制结构do…while语句语法形式:do语句while(表达式);先无条件执行循环体,然后判断循环条件表达式是否成立,成立循环,不成立退出循环for语句语法形式:for(表达式1;

表达式2;

表达式3)语句即:for(循环变量赋初值;循环条件;循环变量增值)循环的嵌套3种循环语句可以互相嵌套第3章算法与控制结构改变循环执行的状态break语句:终止当前循环,跳出当前循环continue语句:结束本次循环,继续下次循环累加和累乘累加变量要初始化为0累乘变量要初始化为1第4章函数及编译预处理函数的结构函数首部函数体声明部分语句部分定义的一般形式类型名函数名(形式参数表){

函数体}第4章函数及编译预处理函数定义明确函数类型、函数名、函数参数函数的调用形式函数调用语句:printf(“Hello!\n”);函数表达式:c=max(a,b);函数参数:printf(“max=%d”,max(a,b));形式参数和实际参数定义函数时出现在括号中的变量称为形式参数调用函数时出现在括号中的变量称为实际参数实参与形参的数据传递方式传值传址第4章函数及编译预处理局部变量函数内部或复合语句定义的变量,仅在当前函数或复合语句内有效不同函数中可以使用相同名字的变量全局变量定义在所有函数之外的变量有效范围:一般从定义该变量的位置开始到本源文件结束若在定义之前使用,需要通过extern关系字先声明第4章函数及编译预处理变量的存储类型自动类型(auto)静态类型(static)寄存器类型(register)外部类型(extern)在函数中定义的局部变量默认为自动类型在函数之外定义的合局变量即为外部类型编译预处理文件包含宏定义:区分:#defineSQ(x)x*x和#defineSQ(x)(x)*(x)条件编译第5章数组与字符串数组的概念一组有序数据的集合用数组名和下标来唯一确定数组中的元素数组所有元素都属于同一个数据类型一维数组定义形式:类型符数组名[常量表达式]引用:数组名[下标]注意:数组下标从0开始!初始化:数据不足时初始化为0第5章数组与字符串排序选择法冒泡法数组元素的移动字符数组定义形式:char数组名[常量表达式]字符串和字符串结束标志charc[]=“Iamastudent”结束标志:’\0’第5章数组与字符串字符数组的输入输出scanf:%sprintf:%s,%cgetsputs注scanf()函数不能输入一个包含空格或Tab符的字符串gets()函数可以输入一个包含空格或Tab符的字符串第5章数组与字符串字符串处理函数strlen(s):求字符串的有效长度strcpy(s1,s2):字符串复制strcat(s1,s2):字符串连接strcmp(s1,s2):字符串比较数组名作为函数参数传地址形参和实参共用存储单元第6章指针指针的概念指针即地址,地址即指针一个变量的地址称为该变量的指针,若有一个变量专门来存放另一个变量的地址,则称它为指针变量第6章指针指针变量定义形式:类型名*指针变量名;指针变量的使用注意:必须先使用指针变量指向某个变量,即:先给指针变量赋值。p=&a;区分指针变量的值和指针变量指向的变量的值指针变量作为函数参数此时实参与形参指向同一个变量指针引用数组数组元素的指针指向数组的指针:inta[10],*p;p=a;p++;第6章指针指针与字符串chars[80]=“Iamastudent.”;char*p=“Iamastudent.”;chars[80],*p;s[80]=“Iamastudent.”;p=“Iamastudent.”;s=“Iamastudent.”;【例6-11】编写字符串复制函数。第7章构造数据类型结构体类型声明形式struct类型名{成员表列};成员声明形式:类型名成员名;定义结构体变量先声明结构体类型,再定义该类型的变量在声明的同时定义变量不指定类型名而直接定义结构体类型变量第7章构造数据类型结构体变量成员的引用结构体变量名.成员名结构体数组结构体数组名[下标].成员名结构指针结构体指针变量名->成员名第7章构造数据类型structstudent{ intnum; charname[20]; charsex; intage; floatscore; charaddr[40];}a,b;typedef

struct

{ intnum; charname[20]; charsex; intage; floatscore; charaddr[40];}STUDENT;第8章文件流输入:从外部设备接收信息的操作输出:向外部设备发送信息的操作流:从一个位置到各一个位置的数据传输操作C是以流的方式来处理文件文件文件:通常指存储在外部存储器上数据集合分为文本文件和二进制文件文件缓冲区和文件指针FILE结构类型:FILE*fp;第8章文件打开文件FILE*fopen(“文件名”,”文件打开方式”);关闭文件intfclose(FILE*fp);打开/关闭文件示例FILE*fp;fp=fopen(“d:\\demo\\start.txt”,”r+”);//以读写的方式打开d:\demo\\start.txt文件Fclose(fp);//关闭打开的文件文件使用方式含义如果指定的文件不存在“r”(只读)以读方式打开一个文本文件出错“w”(只写)以写方式打开一个文本文件建立新文件“a”(追加)向文本文件末尾增加数据出错“rb”(只读)以读方式打开一个二进制文件出错“w”(只写)以写方式打开一个二进制文件建立新文件“ab”(追加)向二进制文件末尾增加数据出错“r+”(读/写)以读/写方式打开一个文本文件出错“w+”(读/写)以读/写方式建立一个新的文本文件建立新文件“a+”(读/写)以读/写方式打开一个文本文件出错“rb+”(读/写)以读/写方式打开一个二进制文件出错“wb+”(读/写)以读/写方式建立一个新的二进制文件建立新文件“ab+”(读/写)以读/写方式打开一个二进制文件出错关于程序阅读给出程序完整/片段代码要求读懂程序,写出程序运行结果如何阅读标出程序输入、处理、输出部分以表格的形式列出程序所涉及到的变量及其初值按程序流程执行处理部分,更新变量值,结束时变量的值即为最终值按输出格式写出运行结果将代码抄入集成开发环境,运行得到相应结果#include<stdio.h>intf(intx){

staticy=1;

y++;

x+=y;

returnx;}intmain(){

intk;

k=f(3);

printf(“%d,%d”,k,f(k));

return0;}关于程序改错给出含有错误的程序代码语法错误、逻辑错误或运行错误明确指出错误的语句行要求读懂程序,并更正错误的语句如何更正先更正存在的语法错误运行程序,输入测试值,观察结果对照错误语句,分析程序结果与正确结果逐一更正,反复测试直至正确为止//排序函数intmain(){inta[10]={12,6,3,43,24,87,52,9,11,29};inti,j,k,t;for(i=0;i<10;i++){k=i;for(j=9;j>i;j--)//此行错误

if(a[j]<a[k])k=j;

温馨提示

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

评论

0/150

提交评论