中北大学C程总复习题.ppt

上传人:牧羊曲112 文档编号:5164705 上传时间:2023-06-10 格式:PPT 页数:57 大小:226.99KB
返回 下载 相关 举报
中北大学C程总复习题.ppt_第1页
第1页 / 共57页
中北大学C程总复习题.ppt_第2页
第2页 / 共57页
中北大学C程总复习题.ppt_第3页
第3页 / 共57页
中北大学C程总复习题.ppt_第4页
第4页 / 共57页
中北大学C程总复习题.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《中北大学C程总复习题.ppt》由会员分享,可在线阅读,更多相关《中北大学C程总复习题.ppt(57页珍藏版)》请在三一办公上搜索。

1、程序设计基础复习,目录,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、进制和十六进制的表示形式、长整型常量的表示形式,实数的浮点表示法和科学记数法,字符的转义序列,常用符号常量的含义(如NULL、EOF等),(2)变量熟练掌握变量的定义和初始化printf(”%x,%o“,16,10);printf(%d,%o,%x,0 x12,12,012);printf(%d,%dn,NULL,EOF);,2、构造类型构造类型包括数组和结构(1)数组熟练掌握一维和二维数组的定义和初始化,数组元素的引用。包括一维字符数组和字符串,二维字符数组和字符串数组,数组定义为 int a32=1,2,3,4,5,6,数组元素 a21 的值为6。不正确的赋值或赋初值的方式是_。A、cha

3、r 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、不确定的数,#include int a34=1,2,3,4,5,6,7,8,9,10,11,12;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+

4、)s+=*(a1+k);printf(%dn,s);,将输入的 n 个字符串连接成1个字符串后输出.#include#include void main()char str1020,string200;int k,n;scanf(%d,(2)结构熟练掌握结构类型的定义,结构变量的定义和初始化,结构变量成员的引用。,3、指针(1)熟练掌握指针和地址的概念(2)熟练掌握指针变量的定义和初始化(3)熟练掌握通过指针引用指向实体,9,a,int*pa,a;pa=,pa,若变量已正确定义并且指针p已经指向某个变量x,则(*p)+相当于_。A、p+B、x+C、*(p+)D、,下列语句定义pf为指向floa

5、t类型变量f的指针,_是正确的。A、float f,*pf=f;B、float f,*pf=,4、构造类型和指针类型的混合定义及应用(1)熟练掌握指针、数组和地址间的关系int c=1,3,5;int*k=c+1;printf(%d,*+k);char str=hellotworldn;printf(%d,%cn,sizeof(str),*(str+10);,(2)熟练掌握指针数组写出下列程序段的输出结果。char*st=one,two,three,four;printf(%sn,*(st+3)+1);,(3)熟练掌握结构数组输入某班50位学生的姓名及数学、英语成绩,计算每位学生的平均分;然后

6、输出平均分最高的学生的姓名及其数学和英语成绩。#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;kssub.aver)sub=k;printf(%10s%3d%3dn,ssub.name,ssub.math,ssub.eng);,(4)熟练掌握结构指针(5)掌握结构中含指针或数组(6)掌握嵌套结构(7)掌握指向指针的指针(二级)(8)单向链表掌握单向链表的建立和遍历了解插入和删除单向链表中的

7、一个节点,+p-str中的+加在_。struct int len;char*str;*p;A、指针str上 B、指针p上 C、str指的内容上 D、以上均不是,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)掌握全局变量和局部变量注意区分:

8、自动局部变量和静态局部变量、全局变量和静态全局变量、外部变量,C语言中,形参的缺省的存储类说明是_。A、auto B、static C、register D、extern,对于以下函数f,计算f(f(2)的值。int f(int x)static int k=0;x+=k+;return x;,2.2 运算及流程控制,1、基本运算熟练掌握运算符的功能熟练掌握运算符的优先级、结合性和目数熟练掌握隐式类型转换和强制类型转换2、表达式熟练掌握各类表达式的组成规则和计算过程,()-.!+-(类型名)*&sizeof 从右向左*/%+-=!=&(按位与)(按位异或)|(按位或)&|,?:右=+=-=*=

9、/=%=&=|=右,若变量已正确定义且 k 的值是 4,计算表达式(j=k-)后,j和k的值分别是_。已知字符 a 的ASCII码为 97,执行下列语句的输出是_。printf(%d,%c,b,b-1);,判断i和j至少有一个值为非0的表达式是_。A、i!=0&j!=0 B、i|j C、!(i=0|j=0)D、i&j表达式!x 等价于_。A、x=0 B、x=1 C、x!=0 D、x!=1,若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,(in

10、t)x1,x2);,表达式 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表达式(722)的值是_。,下列运算符中,优先级最低的是_。A、*B、!=C、+D、=算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_。A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算,3、语句(1)熟练掌握表达式语句、空语

11、句、复合语句;(2)熟练掌握简单控制语句 break、continue、return(3)熟练掌握选择控制语句 if、switch(4)熟练掌握重复控制语句 for、while、dowhile,C 语言程序的三种基本结构是顺序结构、选择结构和_结构。A、循环 B、递归 C、转移 D、嵌套,写出下列程序段的输出结果。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,输入12345#后,写出下列程序的输出结果。void main

12、()char c;for(c=getchar();getchar()!=#;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命令行

13、中应包含_。A、”stdio.h”B、”string.h”C、”math.h”D、”ctype.h”在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型是int.,int 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(,3、函数的调用(1)函数调用的一般格式熟练掌握通过函数名调用函数,了解通过函数指针调用函数(2)掌握函数的嵌套调用和递归调用,int f(int k)return(k0)?1:f(k-2)+2);,(3)熟练掌握标准库函数的调用常用数学

14、函数:cos、sqrt、pow、exp、fabs、log、log10等常用字符函数:isalnum、isalpha、isdigit、islower、toupper等常用字符串函数:strcpy、strcmp、strcat、strlen等,输入m和n(mn0)后,计算下列表达式的值并输出。m!n!(m-n)!要求将计算阶乘的运算写成函数fact(n),函数返回值的类型为float。,#include float fact(int k);void main()int m,n;scanf(%d%d,float fact(int k)float y=1;int i;for(i=2;i=k;i+)y*=

15、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

16、void main()FILE*fp1,*fp2;char ch;int count=0;if(fp1=fopen(data.txt,r)=NULL)printf(不能打开文件data.txt!n);exit(0);,if(fp1=fopen(res.txt,w)=NULL)printf(不能打开文件res.txt!n);exit(0);while(ch=fgetc(fp1)!=EOF)if(ch=$)count+;fprintf(fp2,%d,count);fclose(fp1);fclose(fp2);,2.5 命令行参数和编译预处理,1、命令行参数(argc、argv)的说明、含义和使用。执行程序find nx ould text.txt时,*+argv1的值是_。,2、熟练掌握编译预处理的基本概念3、掌握宏定义4、掌握文件包含写出下列程序段的输出结果。#define T 16#define S(T+10)-7 printf(%dn,S*2);,2.7 常用算法,以下算法针对本大纲中列出的各种数据结构1、分类(排序)算法冒泡、选择、插入2、检索(查找)算法(1)无序数据序列的查找(见遍历算法)(2)有序数据序列的查找:二分法,3、遍历算法(1)一维数组和二维数组的遍历(2)文件的遍历4、其它基本算法,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号