C语言期末考试复习资料-完整版
c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。
答案:int7. C语言中,用于输入输出的库函数分别是______和______。
答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。
答案:int*9. C语言中,用于定义函数的关键字是______。
答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。
答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。
答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。
结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。
答案:递归函数是一种函数自己调用自己的特殊函数。
递归函数通常用于解决可以被分解为相似子问题的问题。
递归函数需要有一个明确的终止条件,以防止无限递归。
四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。
答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。
C语言期末复习资料

一、单项选择题1、在C语言中,要求操作数必须是整型的运算符是()。
A、/B、+C、!=D、%2、C语言程序是由()组成的。
A、函数B、子程序C、过程D、主程序和子程序3、以下叙述正确的是()。
A、在C程序中,main()函数必须位于程序的最前面B、C程序的每一行中只能写一个语句C、在对一个C程序进行编译时,可发现注释中的拼写错误D、C语言本身没有输入输出语句4、一个C程序的执行是从()。
A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束5、语句while(!n)中的条件!n等价于()。
A、n==0B、n==1C、n!=1D、n!=06、实参和和形参之间的数据传送是()。
A、地址传送B、实参传给形参,再由形参传给实参C、单向值传送D、由用户指定传送方式7、下列自定义标识符中,符合C语言规定的是()。
A、forB、3aC、*aD、_1238、以下叙述错误的是()。
A、for循环需要循环变量,while/do-while不需要循环变量B、for循环、while循环先判断后执行C、do-while循环总是至少执行一次D、for、while、do-while循环的循环体均可为空语句9、C语言标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A、必须是字母B、必须为下划线C、必须为字母或下划线D、可以是字母、数字或下划线中任一字符10、下列整数值中,不正确的八进制或十六进制的是()。
A、0x18B、016C、086D、0x5C11、若有定义:int a,b;则表达式:(a=2,b=5,b++,a+b)的值是()。
A、2B、6C、7D、812、对于int a=6;表达式1<=a<=5的值是()。
A、0B、1C、不定 D、表达式有语法错误13、执行下面的程序片段,描述正确的是()。
C语言程序设计期末复习资料

第一章——C简介一、C语言程序的结构1.一个程序有一个或多个源文件组成(1)预处理指令如#including <stdio.h>(2)全局声明在函数之外进行的数据声明,在定义函数前声明的变量,在整个源程序文件范围内有效。
(3)函数定义2.C的主体部分——函数(函数首部和函数体)(1)函数首部包括函数名、函数类型、函数属性、函数参数(形参与实参)、参数类型(2)函数体3.程序从main函数开始执行。
4.每个数据声明和语句的最后必须有一个分号5.注释应当包含注释(1)以//开始单行的注释,从//开始,到换行符结束。
(2)以/*开始,以*/结束的块式注释,可以包含多行内容。
第三章——顺序结构一、数据的表现形式及其运算1.合法用户标识符合法的要求是由字母,数字,下划线组成,有其它元素就错了,并且第一个必须为字母或则是下划线,第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf都不是关键字。
2.实型数据的合法形式:2.333e-1就是合法的,且数据是2.333×10-1。
e前e后必有数,e后必为整数。
3.字符数据的合法形式:'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符’\0’) .小写字母的ASCII码比对应的大写字母大324.整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:5.转义字符:6.算术运算符号的优先级别7.强制类型转换:(1)一定是(int)a不是int(a),注意类型上一定有括号(2)注意(int)(a+b)和(int)a+b的区别。
前是把a+b转型,后是把a转型再加b 8.不同类型数据间混合运算(1)有float或double型,结果为double型。
(2)字符型和实数型数据运算,将字符的ASCII代码转化为double型数据进行计算。
二、C语句1.C语句分类(1)控制语句。
C语言期末复习.doc

C语言期末复习.doc第一章C语言概述一、选择题1、C语言程序由什么组成()A、子程序B、主程序和子程序C、函数D、过程2、源程序要正确地运行,必须要有什么函数()A、Printf函数B、自定义的函数C、main函数D、不需要函数3、指出下面哪些是合法的标识符()A、3abB、intC、ABCD、a_3E、sum..aF、#abcG、_stu2H、abc f二、问答题1、C语言程序由哪几部分组成?C语言程序结构有什么特点?参考答案一、选择题1、C2、C二、问答题见教案第二章基本数据类型、运算符及表达式一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\\C、%和\\D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0D、1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144D、-264二、问答题:1、简述‘a’和“a”的区别。
参考答案一、选择题1、C2、D3、A4、D5、D6、C7、D二、问答题‘a’是字符常量“a”是字符串常量C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。
C语言规定以字符’\\0’作为字符串结束标志。
如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\\0’。
c语言期末考试题库完整

习题一一、选择题1.C语言是一种(C )。
A. 低级语言B. 汇编语言C. 高级语言D. 机器语言2.以下不是C语言的特点的是( D )。
A.语言简洁紧凑B.可以直接对硬件进行操作C.数据类型丰富D.是面向对象的程序设计语言3.一个C程序的执行是从( A )。
A. 本程序的main函数开始,到main函数结束B. 本函数的第一个数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本函数的第一个数开始,到本程序main函数结束4.以下叙述正确的是(C )。
A. 在C程序中,main函数必须位于程序的最前面B.C程序的每行只能写一条语句C. C语言的本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误5.以下叙述不正确的是(D )。
A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包括一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面6.C语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后7.一个C语言程序是由( B )。
A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成8.以下叙述中正确的是( C )。
A. C程序的基本组成单位是语句B. C程序中的每一行只能写一条语句C. C语句必须以分号结束D. C语言必须在一行写完9.以下叙述中正确的是( C )。
A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中10.以下叙述中正确的是( C )。
A. C语言程序将从源程序中第一个函数开始执行B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C. C语言规定必须用main作为主函数名,程序从此开始执行,在此结束D. main可作为用户标识符,用以命名任意一个函数作为主函数11.下列叙述中正确的是( A )。
C语言期末复习必备资料

1、函数fun的功能是计算x^n。
double fun(double x,int n){int i; double y=1;for(i=1;i<=n;i++) y=y*x;return y;}主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算:m=a^4+b^4-(a+b)^3。
实现这一计算的函数调用语句为______。
答案: 1:fun(a,4)+fun(b,4)-fun((a+b),3)评析:函数fun的功能是计算x的n次方,所以a的4次方的调用函数应当为fun(a,4),b的4次方的调用函数应当为fun(b,4),(a+b)的3次方的调用函数应当为fun((a+b),3),所以,实现m=a^4+b^4-(a+b)^3这一计算的函数458调用语句为:fun(a,4)+fun(b,4)-fun((a+b),3);。
知识点:知识点/函数/破函数的正确调用,嵌套调用,递归调用2、以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。
请填空。
void sstrcpy(char *s,char *t){ while(*s++=______);}main(){ char str1[100],str2[]="abcdefgh";sstrcpy(str1,str2);printf("%s\n",str1);} 答案: 1:*t++评析:要使sstrcpy()函数实现字符串复制,必须将t字符串中的每个字符逐个拷到s字符串中,所以可以使用*s=*t;s++;t++。
或者可以写成*s++=*t++,本题只有一个空,可以填入*t++。
知识点:知识点/指针/用指针作函数参数3、以下程序给指针p分配三个double型动态内存单元,请填空。
#include <stdlib.h>main(){ double *p;p=(double*)malloc(______);p[0]=1.5; p[1]=2.5;p[2]=3.5;printf("%f%f%f\n",p[0],p[1],p[2]);} 答案: 1:3*sizeof(double)评析: malloc(size)在内存的动态存储区中分配一个长度为size的连续空间。
完整版打印一下 C语言期末复习资料

第一部分:C 中的数据首先,从主调函数和被调函数(模块间)要处理的任务数据的角度来总结数据的 知识点:C 语言中所讲授的数据有基本类型(整型、实型和字符型)和构建类型(数组、结构体、共用体、链表结点)之分。
构建类型是由基本类型构建而成,因此我们有必要 对基本类型的数据做以更细致的研究。
一.基本类型的数据程序中的数据无非是以常量和变量两种形式描述。
在这里我们不妨思考两个问题:(1)为什么要用变量? ( 2)常量经常用在什么地方?(一)常量对于基本类型常量我们要掌握:常量分几类?每类的书写规则是什么?(2)实型常量:有小数和指数两种表示形式.(3.4.1、3.4.3 )(3)字符型常量:有普通字符(可以是 ASCII 码表中的任何一个字符)、转义字符(表示控制命令的转义字符和用八进制十六进制描述的转义字符)(4)字符串常量(3.5.4 )(5)符号常量:实际上是不带参数的宏定义(3.2.1、9.1.1 )对于常量部分的考察无非是辨别书写形式,字符类的常量特别注意转义字符的辨认。
这就要求我们熟记书写规则。
例如以下题目:t-1 :下面哪个是正确的整型常量表示t-2:下面哪个是错误的实型常量表示期末复习(1)整型常量:有十、八、十六进制二种表示形式。
(331、333 )(3.5.1 )A)019B)0X34g C)-123 D)o56 E) 12,000A).23B)3.8E-4.5C)45E12D)92.45t-3:下面哪个是正确的字符常量表示:t-4:下面那个是正确的字符串常量表示:的值是5 ?(二)变量对于基本类型的变量,我们知道要使用变量必须先定义变量,定义的基本格式是: 数据类型 变量名;要正确定义变量就必须清楚两点(1)什么样的变量名才是合法的?(322)( 2)如何用类型符来描述所要定义的变量, 这就涉及到变量所分配的字节数、存储特点、有无符号及各自表示的数值范围等。
变量的三大类:(1)整型变量(3.3.2)分配字节:2 字节(int/short ) 4 字节(long ) ( TC2.0)存储特点:存储的是数值的补码形式(2)实型变量(3.4.2)(float ) 8 字节(double ) 16 字节(long double )存储特点:图3-7A) ” b ”B)'' C) '\34 ' D)'\0x9 ' E) '123't-5:t-6:A) abc'E) ” F) ” A ”B)C) “”D)“ \0x120”字符串“ ab034\0\\t\v\012 ”存储需要多少个字节? 先组合转义字符,11个字puts( “ ab034\0\\t\v\012 ”);的结果是 ab034? strlen( “ab034\0\\t\v\012 ”)符号标识:sig ned un sig ned表示数值范围:表3-1分配字节:4字节期末复习资料 第10页-总24页表示数值范围:表3-2(3)字符型变量(3.5.2、3.5.3 )分配字节:1字节(char )存储特点:存储字符的ASCII 值 符号标识:sig ned un sig ned 表示数值范围:sig ned char: -128~+127Un sig ned char: 0~255基本类型变量这部分知识主要的考察形式:(1)变量名(标识符)的正确与否鉴别 (2) 变量类型标识符的识别与应用(3)变量定义语句中对变量进行初始化的形式正确与否鉴别 (3.6)例如以下题目:F 面程序段在tc2.0和cfree3.0运行时的输出各为-1 / 65535un sig ned int a=65535; prin tf("%d",a);A)int a=b=5 ; B)char ch=97 ; C)unsigned int x, y=-5; D)int a=3,b=5;E ) int c=3(二)建构类型的数据t-7:以下正确的变量标识符是:A)3sum B)INTC) 3maxD)case E)p&sumF)s m at-8:以下正确的变量类型声明是:A)si gned intB)i nt longConsigned longD)shortlongt-9:t-10:以下正确的定义语句是:期末复习资料 第10页-总24页程序给出的任务数据可以是基本类型的,也可以是集合性质的。
C语言期末考试复习资料

C语言期末考试复习资料C语言复习摘要一、数据类型:基本类型(整型、实型、字符型、枚举类型),构造类型(数组、结构体、共用体)、指针类型、空类型。
基本类型也叫简单类型,构造类型也叫复杂类型二、标识符:标识符只能由字母、下划线、数字构成,且必须以字母或下划线开头,且对字母的大小写敏感。
三、常量1、整型常量,如:32,0x32,0X32,0x3f,0xea,8L,8l,0672、实型常量,如:3.14,1e23,0.8E8,0.8E-8,0.8E+83、字符常量,如:‘a’,‘\n’, ‘\w’,‘\\’,‘\0’4、字符串常量,如:“windows”,“a”,(其赋值表达式和赋值语句中其本质是一个地址常量)5、地址常量,若有定义:int k,a[10];char s[20];则:&k,a,s,NULL都是地址常量6、符号常量,用宏定义实现,如:#define PAI 3.14159267、以下都是非法常量:0xfg,3.1e2.8,‘aw’,‘w\’,0x,068四、表达式(要点:先确定表达式的类型,再确定表达式的值的类型,最后确定表达式的值):1、算术表达式(应注意变量类型的自动转换——原则:低级向高级转换):(1)、整型表达式:参加运算的都是整型量,结果也是整型数。
如:x+20*9+3(2)、实型表达式:参加运算的都是实型量,运算过程中先转换成double型,结果也是double型。
如:x+20*9+3.0,x+20*9+sqrt(3)2、赋值表达式:将赋值运算符“=”右边的值赋给左边的变量,其值为赋值后左边变量的值,类型为左边变量的类型。
如:x=3(注:若x为整型变量,则该表达式的值为整型,若x实型变量,则该表达式的值为实型)3、逻辑表达式:用逻辑运算符(!,&&,||)连接的整型量,结果为整数(0或1)。
逻辑表达式可认为是整型表达式的一种特殊形式。
如:((x=3)&&(y=0))4、关系表达式:用关系运算符将两个表达式连接起来的式子,结果为整数(0或1)。