南京晓庄学院—C语言期末考试复习提纲

合集下载

南京晓庄C语言考试复习资料

南京晓庄C语言考试复习资料

C语言程序设计复习课一、基本要求熟练掌握C语言的基本语法与基本概念,掌握程序设计中的基本算法,如累加、累乘、求最大(最小值)、排序(起泡法、选择法)、迭代、递归、查找等。

要有较强的程序阅读、理解能力,会按照规定的要求去设计程序、完善程序。

1、基本知识及简单C程序(1) 一个程序必须有main( )函数,程序由函数组成。

不论其位置如何, 一个程序总是从main( )函数开始执行,main( )函数运行结束,整个程序的运行也结束了。

(2) 基本数据类型及常量的表示方法。

字符:单引号括起;字符串:双引号括起。

它们在内存中的存储方式有差别。

转义字符:’\\’,’\’’代表一个字符,用于输出\和‘,如要在屏幕上显示“string”,使用语句:printf(“\“string\””);(3) 基本输入、输出函数的使用。

功能及调用格式,格式控制符的含义。

scanf("%d%d",&a,&b); scanf("%d,%d",&a,&b); scanf("a=%d,b=%d",&a,&b);针对以上三种格式,应如何进行键盘输入?(4) 常用运算符与表达式。

注意其优先级别、结合方向,熟练掌握常用运算符的用法。

例如:自增、自减运算符的使用;尤其是作为循环或if语句中的判断条件时的使用;逻辑运算符 &&, ||,C语言对其处理的方法;条件表达式、逗号表达式的运用等。

例1、以下叙述正确的是(B )。

A.在C程序中,main函数必须位于程序的最前面B.C语言本身没有输入输出语句C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误D.C程序的每行中只能写一条语句例2、字符串:”\\0211\”xab” 的长度为()。

A. 1B. 9C. 10D. 11例3、下面程序段的运行结果是()。

char c[ ]="\t\v\\\0will\n";printf("%d",strlen(c));A.14 B.9 C.3 D.字符串中有非法字符,输出值不确定例4、运行以下程序,当数据的输入形式为:48,25<回车>时,程序的输出结果为()。

C语言考试复习提纲

C语言考试复习提纲

C语言程序设计考试复习提纲考试形式:上机考试考试题型:选择题,填空题(C语言A)、改错题、程序填空题、程序设计题考试宗旨:考查学生基本语法的掌握、程序分析、程序设计能力考试范围方式一、程序概念以及C语言的结构1、程序的基本结构、C程序的构成●结构化程序设计的三种基本结构:顺序结构、选择结构、循环结构●一个程序有且仅有一个main函数●程序的执行总是从main函数开始,在main函数结束●语句以分号;结束●注释的方法/* */2、C语言的标识符●合法标志符的规则1、首字母为下划线或者字母、由下划线、字母、数字构成正确的_abc abc123错误的12e ab,c2、标志符不能是关键字:例如if for case while int 等都不能作为标志符3、C语言是区分大小写的,即if是关键字,IF不是关键字4、只有合法的标志符才可以作为变量名、函数名、数组名int for;是错误的二、数据类型以及其运算1、数据类型●整型常量的表示十进制:如123 456八进制:以0打头,后跟0-7 的数如012 034 是正确的089 是错的十六进制:以0x打头,后跟0-F(f)的数如0x12A 0x34Fa 是正确的0x89G 是错的长整型数:整数后面加L(l) 如12L●浮点数的表示小数表示格式:在C语言中,如果是纯小数,小数点前面的0可以省略。

→.23 指数形式表示格式:尾数E(e)整数如:是正确的是错的是错的字符:表示方法:用单引号引起来‘a’,’1’,’9’字符的存储方式:一个字符占一个字节在内存中,存储的是字符对应的ASCII码‘A’65‘a’97字符和int的通用性,可以向整数一样参与运算字符串表示方法:用双引号引起来“aaa”,”a”,”123”转义字符char a = '\99';‘\n’表示回车●字符只能是单个字符例如'abcde' 是错误的‘\xab’是正确的不同类型间的数据的运算Char→int→doubleint a=3;float b=b+a*●强制类型转换例:a=、b=,(int)a+b的值是____a的值是___。

c语言期末复习资料

c语言期末复习资料

c语言期末复习资料C语言是计算机科学中非常基础的一门编程语言,是程序员必须掌握的技能之一。

由于其简单易学的特点和广泛的应用范围,越来越多的人开始学习和使用C语言。

期末考试是C语言学习过程中的重要节点,为了帮助考生顺利通过考试,本文整理了一些C语言期末复习资料以供参考。

一、基础知识1.变量和数据类型C语言中的变量用于存储程序中使用的数据,数据类型是指变量所代表的数据的类型。

常见的C语言数据类型包括整型、浮点型、字符型、布尔型等。

掌握变量和数据类型的定义和使用是C 语言学习的第一步。

2.运算符和表达式C语言中的运算符用于对变量进行运算和操作,包括算术运算符、关系运算符、逻辑运算符等。

表达式是由变量和运算符组成的代码段,用于对变量进行操作和计算。

掌握运算符和表达式的使用和规则是C语言学习的基础。

3.条件语句和循环语句条件语句和循环语句是C语言中的两种重要的控制结构。

条件语句根据条件的真假来执行不同的代码段,常见的条件语句包括if语句和switch语句。

循环语句用于重复执行同一个代码段,常见的循环语句包括for循环、while循环和do-while循环。

掌握条件语句和循环语句的使用和应用是C语言学习的重要环节。

二、进阶技巧1.字符数组和字符串字符数组和字符串是C语言中非常常用的数据类型,用于处理字符和文本。

字符数组是由若干个字符组成的数组,字符串是由若干个字符组成的字符串常量。

掌握字符数组和字符串的定义和使用,能够更好地处理文本和数据输入输出等问题。

2.函数和指针函数是C语言中的重要的模块化编程方法,函数将程序的功能分解为若干个具有特定功能的独立模块。

指针是C语言中的重要的数据类型,它存储变量的内存地址,常用于访问复杂数据结构和实现高效的内存管理。

掌握函数和指针的使用和细节能够更好地组织程序和提高程序的执行效率。

3.结构体和文件操作结构体是C语言中用于组织复杂数据结构的数据类型,常用于存储各种类型的数据记录。

C语言程序设计期末复习

C语言程序设计期末复习

C语言程序设计期末复习
一、基础知识
1、变量和运算符
变量就是程序中用来保存信息的抽象容器,可以用来记录用户输入、
程序执行时间以及中间结果等信息
C语言允许使用者定义变量,分为基本类型变量和指针变量。

其中基本类型变量有:整型int,浮点型float,字符型char,双精
度型double,无符号整型unsigned等。

运算符是对变量进行运算的符号,C语言中的运算符大致可分为三大类:算术运算符,关系运算符和逻辑运算符。

其中算术运算符包括:+、-、*、/和%;关系运算符包括:>、>=、<、<=、==和!=;
逻辑运算符包括:&&,和。

2、流程控制
程序的流程控制是应用程序中最重要的结构,在C语言中可以通过控
制语句来控制程序的执行流程。

常用的控制语句有:if、goto、while、for、switch-case等。

if语句可以根据执行条件跳过执行部分语句,节省程序执行的时间。

goto语句可以跳转到指定的语句,实现循环执行流程。

while语句可以不固定有多少次操作,根据执行条件决定是否继续执行。

for语句可以更精确的表示循环次数,避免无意识的多次循环操作,从而提高程序运行效率。

switch-case语句可以根据变量的变化值,执行不同的操作,实现复杂的逻辑判断。

3、函数。

c语言期末考试复习提纲

c语言期末考试复习提纲

1、C语言的特点
2、C语言关键字
3、标识符定义规则
4、数据类型长度
5、字符类型:转义字符、与整数类型的关系
6、整数除法与取余
7、十进制与二进制转换
8、单行和多行注释
9、应用程序入口
10、运算符:sizeof、++、--
11、变量的声明与初始化
12、输入/输出,格式化字符串
13、四种流程控制
14、基本语句:if-else、switch、for、while、do-while、break、continue
15、循环四要素
16、前测试循环和后测试循环
17、双重循环
18、预处理指令:#define、#include
19、关系表达式
20、逻辑运算符
21、函数的定义和优点
22、函数的声明、定义与调用
23、常见函数:sqrt、pow、rand
24、常用头文件
25、变量的存储类别
26、Static关键字的作用
27、局部变量与全局变量的作用域
28、数组:声明与初始化、数组名与数组首地址
29、指针的定义与运算
30、字符串的定义
31、字符串函数
32、标准输入/输出流
33、文件类型
34、文件打开模式
35、文件操作函数
36、结构类型的定义、结构变量的声明与初始化
37、结构指针,运算符->
38、常用算法:交换算法、数据输入验证、线性搜索算法、排序
39、算法描述方法和绘制。

C语言复习提纲

C语言复习提纲

C语言复习提纲一、基本概念及语法1.C语言的起源和发展历程2.C语言的优点和特点3.C语言的数据类型和变量4.C语言的运算符和表达式5.C语言的程序结构和语句流6.C语言的函数和库函数二、数据类型和变量1.基本数据类型:整型、浮点型、字符型等2.变量的声明和赋值3.变量的作用域和存储类别4.常量的定义和使用5.数据类型转换和类型限定符三、控制流程和循环结构1. 分支结构:if语句、switch语句2. 循环结构:for循环、while循环、do-while循环3. 循环控制语句:break语句、continue语句四、数组和指针2.一维数组和多维数组3.指针的基本概念和运算4.指针和数组的关系5.指针与函数的关系五、函数和递归1.函数的定义和调用2.函数的参数和返回值3.函数的递归调用4.函数的存储类别与作用域5.常见库函数的使用六、字符串和字符处理1.字符串的定义和使用2.字符串的输入输出3.字符串的操作:拼接、复制、比较、查找等4.字符串的处理函数七、结构体和共用体1.结构体的定义和使用2.结构体数组和指针4.结构体与指针的关系八、文件操作1.文件的打开和关闭2.文件的读写操作3.文件的复制、删除和重命名4.文件的定位和截断九、动态内存管理1.动态内存分配和释放2.动态分配数组和结构体3.内存泄露和内存溢出的处理十、预处理器1.预处理器的作用和功能2.宏定义的使用和注意事项3.条件编译和头文件的使用以上为C语言复习提纲,内容涉及C语言的基本概念、语法、数据类型和变量、控制流程和循环结构、数组和指针、函数和递归、字符串和字符处理、结构体和共用体、文件操作、动态内存管理以及预处理器等方面的知识点,帮助学生系统地复习C语言的基础知识。

十分感谢您的提问,希望以上信息对您有所帮助。

C语言期末考试复习要点

C语言期末考试复习要点

期未考试复习题型分布:※单项选择(10×2分)※程序填空(20×2分)※程序改误(8×2分)※编程(2×12分)一.C语言标识符二.表达式三.选择: if~else / switch~case/break 四.循环: do while / while / for五.数组: 定义、初始化二维字符串处理六.指针:定义、运算、初始化、引用七.函数:定义、数据传递、宏八.全局与局部变量:存储类型、寿命、作用域九.结构:定义引用一○.文件:文件结构指针打开读写关闭一、C 语言的结构程序的构成,main 函数和其他函数头文件、数据说明、函数的开始和结束标志源程序的格式和结构特点掌握C 语言标识符二、数据类型及其运算C 的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法C 运算符的种类、运算优先级和结合性不同类型数据间的转换与运算C 表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则三、流程控制表达式语句,空语句,复合语句数据的输入与输出,输入输出函数的调用复合语句例:if (a==b)if(b==c)printf(“a==b==c”);else printf(“……”);四、选择结构程序设计用if 语句实现条件选择结构用switch 语句实现等值选择结构选择结构的嵌套 if (expL) statement1;else statement2;五、循环结构程序设计for 循环结构while 和do whi1e 循环结构continue 语句和break 语句循环的嵌套六、数组的定义和引用一维数组的定义、初始化和引用二维数组的定义、初始化和引用字符数组的定义、初始化和引用字符串处理七、指针指针与指针变量的概念与运算变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。

通过指针引用以上各类型数据用指针作函数参数返回指针值的指针函数指针数组,指向指针的指针八、函数库函数的正确调用函数的定义方法函数的类型和返回值形参与实参的数据传递函数的正确调用,嵌套调用局部变量和全局变量变量的存储类别(自动,静态、寄存器、外部),变量的作用域和生存期内部函数与外部函数九、编译预处理宏定义:不带参数的宏定义;带参数的宏定义。

期末C语言考试复习要点

期末C语言考试复习要点

期末C语言考试复习要点1、题型:选择题(40分),填空题(20分)、程序阅读题(20分)、编程题(20分)四种。

2、主要考察的内容:1)基本知识:C语言开发的过程、C程序的组成、三种基本数据类型、标示符的命名方法、表达式的正确书写及计算、常用的运算符、数据的输入和输出2)基本结构:选择结构(包括if及switch语句),循环结构(for,while,do while)及相互嵌套,掌握各个结构的执行过程并能正确的运用。

3)数组:一维及二维数组的定义、初始化、数组的输入输出、数组元素的引用,二维数组在内存的存放方式。

4)字符串及字符数组:字符串常量、字符串结束标志、字符串的输入方法5)函数:函数的定义及调用方法,实参与虚参相结合的两种方式(值传递、地址传递),函数的返回值,局部变量与全局变量,静态局部变量。

掌握函数的调用过程,并能够使用函数编程。

6)指针:简单变量的指针、一维数组的指针、字符串的指针。

7)结构体:结构体类型、变量的定义,结构体变量的成员的引用方式、结构体数组、结构体指针,掌握通过结构体指针间接引用成员的方法。

8)文件:fopen(),fread(),fwrite(),fclose()函的用法3、不考的内容:函数的递归调用、共用体、枚举类型、typedef、预编译命令、位运算、链表。

4、重点掌握的算法:1)求一个数的阶乘2)判断素数的算法3)将数组中的元素按逆序存放4)求最大值、最小值问题5)求一组数的和及平均值问题6)二维数组对角线元素求和、求乘积。

主旨:1、前面的75%的题目都出自习题集,但是都做了改动,千万不可死记硬背!2、编程题主要是考察数组和函数的使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题一1. 以下常量中正确的是。

A. ’abc’B. ’\x123’C. 3.145E-1.2D.”a”2. 设有“int a;”,以下不能正确表达数学关系10<a<15的表达式是。

A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)3. 以下程序段的输出结果是。

int a=0,b=4,k=2;k=a+1>0||(++a<0)&&(!(b--<=0));printf(”%d,%d,%d”,k,a,b);A. 1,1,3B. 1,1,4C. 1,0,3D. 1,0,44.若有“int a=5; a+=a-=-a*a;”,则a的值是。

5. 以下所列语句中,合法的语句是。

A. a=1,b=2B. ++a;C. a=a+1=5;D. y=int(a);6. 以下所列字符常量中,不合法的是。

A. ’\0xff’B. ’\65’C. ’$’D.’\x1a’7. 设有定义“float y=3.45678; int x;”,则以下表达式中能实现将y中数值保留小数点后2位,第3位四舍五入的表达式是。

A. y=(y*100+0.5)/100.0B. x=y*100+0.5,y=x/100.0C. y=y*100+0.5/100.0D. y=(y/100+0.5)*100.08. 以下程序段输出结果是。

int a=10,b=11,c=12,s;s=a++<=10&&b--<=2&&c++;printf(”%d,%d,%d,%d”,s,a,b,c);A. 0,11,10,13B. 1,11,10,13C. 0,11,10,12D. 1,11,10,129. 设有语句“int a=2,b=3,c=2; a+=b*=(++b-c++);”,变量b的值是。

习题二1. 以下关于if语句的错误描述是。

A. 条件表达式可以是任意的表达式B. 条件表达式只能是关系表达式或逻辑表达式C. 条件表达式的括号不可以省略D. 与else配对的if语句是其之前最近的未配对的if语句2. 以下叙述中不正确的是。

A. 一个变量的作用域完全取决于变量说明语句的位置B. 外部变量可以在函数以外的任何位置定义C. 内部变量的生存期只限于本次函数调用,无法将内部变量的值保存至函数的下一次调用D. 用static说明一个外部变量是为了限制其他编译单位的引用3. 以下程序的输出结果是。

main(){ extern int x;printf(”%d”,x+=2); fun1(2);}int x=1;fun1(int x){ printf(”%d”,x++); fun2(2); }fun2(void){ printf(”%d”,x);int x=5; printf(”%d”,x);}4. 以下不致造成死循环的语句是。

A. for(y=0,x=1;x>++y;x=i++)i=x;B. for(;;x+=i);C. while(x=8)x--;D. for(i=10,sum=0;sum<=i;)sum=--i;5. 以下程序输出结果是。

main(){ printf(”%d”,fun(5)); }fun(int n){ if(n==1) return 1;return n-fun(n-1);}6. [程序]main(){ int j,k,s,m;for(k=1;k<10;k++){ s=1; m=k+2;for(j=k;j<m;j++,k++) s+=j;}printf(”s=%d,k=%d”,s,k);}程序输出结果s= ,k= 。

7. 若有宏定义:#define N 2#define Y(n) ((N+1)*n)则执行语句“z=2*(N+Y(N+2));”后,z的值是。

8. 以下程序输出结果是。

#define T(x,y,z) x*y*z/4main(){ int a=1,b=3,c=5;printf(”%d”,T(b+a,a*++b,a+b+c));}习题三1. 若有“int a[][4]={1,2,3,4,5,6,7,8,9,10},*p=*(a+1);”,则值为9的表达式是。

A. p+=3,*p++B. p+=4,*(p++)C. p+=4,*++pD. p+=4,++*p2. 设有以下函数定义,则返回的函数值是。

main(){int x,*y; y=fun(&x); …}int *fun(int *a){int *t; *a=99; t=a; return t;}A. 无确切的值B. 形参a的地址C. 主函数中变量x的地址D. fun函数中变量t的地址3.[程序]main(){ int s,p[9]={1,2,3,4,5,6,7,8,9};printf(”\n%d”,add(p,5));}add(int *p,int n){ if(n==1) return *p;else return *p+add(p+1,n-1);}程序输出结果是。

4. [程序]int *swap(int *a, int *b){ int *p;p=a; a=b; b=p;return a;}main(){ int x=3,y=4,z=5;swap(swap(&x,&y),&z);printf(”%d,%d,%d”,x,y,z);}程序输出结果是。

5. [程序]fun(int n,int *s){ int f1,f2;if(n==1||n==2) *s=1;else{ fun(n-1,&f1); fun(n-2,&f2);*s=2*f1+f2+1; printf(”\n%d,%d”,f1,f2);}}main(){ int x;fun(4,&x); printf(”\nx=%d”,x);}程序运行时输出的第一行是,第二行是,最后一行是。

6. 如有以下定义int y[4][4]={1,2,3,4,5,6,7,8,9,10},*py1=y[1],(*py2)[4]=y;则不能正确引用值为7的数组元素的表达式是。

A. *(y[1]+2)B. *(y+1)+2C. py1[2]D. py2[1][2]7. [程序]main(){ int i,p[3][3]={1,2,3,4,5,6,7,8,9},*p1[3],(*p2)[3];for(i=0;i<3;i++) p1[i]=p[i];p2=p;for(i=1;i<3;i++)printf(”\n%d,%d”,*(*(p1+i)+1)+1,*(*++p2+1)+1);}程序运行时输出的第一行是,第二行是。

8. [程序]main(){ int i,j,a[3][3]={1,1},*p1,*p2,*p3;p1=a[0]; p2=a[0]+1; p3=a[0]+2;for(i=2;i<9;i++)func(p1++,p2++,p3++);for(i=0;i<3;i++)for(j=0;j<3;j++){ printf(”%d,”,a[i][j]); printf(”\n”); }}func(int *q1,int *q2,int *q3){ *q3=*q1+*q2; }程序运行时输出的第一行是,第二行是,第三行是。

9. [程序]main(){ int i,p[9]={1,2,3,4,5,6,7,8,9},*p1[3],**p2;for(i=0;i<3;i++) p1[i]=&p[6-3*i];p2=p1+2;for(i=1;i<3;i++)printf(”%d,%d\n”,*(++p1[i]+2)+1,*(*p2--+1)+2);}程序运行时输出的第一行是,第二行是。

10.[程序]fun(int *s,int n1,int n2){ int t;while(n1<n2){ t=*(s+n1);*(s+n1)=*(s+n2);*(s+n2)=t;n1++; n2--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;fun(p,0,3); fun(p+3,1,6);for(i=0;i<10;i++){ if(i%5==0) printf(”\n”);printf(”%d”,a[i]);}}程序输出的第一行是,第二行是。

习题四1. 设有基类型相同的两个指针变量,则不能对它们进行运算。

A. +B. -C. ++D. --2. 语句能正确完成赋字符串的功能。

A. char s[4];s[0]=”string”;B. char *s;gets(s);C. char *s[]=”string”;D. char *s;strcpy(s,”string”);3.以下程序的输出结果是。

enum week{SUN=7,MON=1,WED,TUS,THS,FRI,SAT};main(){ printf(”%d”,hour(FRI,SUN));}hour(int x,int y){ if(y>x) return 24*(y-x);else return –1;}4. [程序]char *fun(char *s){ int i,j;for(i=j=0;s[i]!=’\0’;i++)if(s[i]!=’c’) s[j++]=s[i];s[j]=’\0’; return s;}main(){ printf(”%s”,fun(”chance”)); }程序输出结果是。

5. 以下说法中正确的是。

A. 一个结构中只能包含一种数据类型B. 不同结构中的成员不能有相同的成员名C. 两个结构变量不可以进行比较D. 关键字typedef用于定义新的数据类型6. 下列程序段执行后变量j的值是。

int j;char *s=”x\045\””;for(j=0;*s++;j++);A. 7B. 3C. 4D. 57. 设有以下说明和语句,则值为210的表达式是。

struct s{ int a; int *b; };int x0[]={110,120},x1[]={210,220};struct s x[]={{100},{200}},*p=x;x[0].b=x0; x[1].b=x1;A. *p->bB. (++p)->aC. *(p++)->bD. *(++p)->b8. 设有“char s[]=”Program”,*p=s;”,则以下叙述中正确的是。

相关文档
最新文档