c语言复习
- 格式:ppt
- 大小:210.00 KB
- 文档页数:50
c语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。
答案:42. C语言中,一个浮点型数据占____个字节。
答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。
答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。
一、选择题1、可以在C语言中使用的一组用户标识符是()。
A、3B sizeof DOB、ab34 c1_c2 _forC、_123 t2_a1_ printfD、void 6b hat2、以下均是字符常量或数值常量的选项是()。
A、0.0 0f 8.9e …&‟B、”A” 3.9e-2.5 1e1C、‟3‟011 0xff00 0aD、0xabcd 2e3 50.3、以下选项中正确的实型常量是()。
A、0B、0.618*10C、567D、3.14154、将汇编语言编写的程序翻译为目标程序的是()程序。
A、解释B、编译C、汇编D、目标5、不属于面向机器的语言是()。
A、符号语言B、机器语言C、汇编语言D、C语言6、程序段的基本结构中,不包含()。
A、函数结构B、循环结构C、顺序结构D、分支结构7、下列符号中,不属于转义字符的是()。
A、\\B、\0xaaC、\0D、\t8、正确的C语言标识符是()。
A、_sum_1B、1_sumC、?_sumD、sum?9、增1减1运算只能作用于()。
A、常量B、变量C、表达式D、函数10、设“int a=2,b=2;”,则++a+b的结果是(),a的结果是(),b的结果是()。
A、2B、3C、4D、511、下列运算符中优先级最高级的是()。
A、++B、%C、*D、=12、设“int a=2;”,则表达式“(a++*1/3)”的值是(),a的值是()。
A、0B、1C、2D、313、字符数据在内存中的存储代码采用的是()。
A、反码B、补码C、EBCDIC码D、ASC II码14、char a; int b; float c; double d;则表达式a*b+d-c值的类型为()。
A、intB、floatC、doubleD、char15、字符串”\”\123\n\321a”的长度是()。
A、1B、5C、9D、1316、下列常量中,不属于字符常量的是()。
A、‟\1x‟B、‟0‟C、‟\‟‟D、‟\n‟17、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是A. a\bre\'hi\'y\\\bouB. a\bre\'hi\'y\bouC. re'hi'youD. abre'hi'y\bou18、设整型变量k的值为011,下列表达式中值不为1的是()。
判断题1.函数若无返回值,则它一定无形参。
×2.在C 程序中, 函数既可以嵌套定义, 也可以嵌套调用。
×3.C程序总是从main( ) 函数的第一条语句开始执行的。
√4.同一函数内可以有多个return语句。
√5.main函数中的变量名不可以与其它函数相同。
×6.C程序可由多个函数组成,但必须有并且只有一个主函数main。
√7.在C语言中的每个函数必须要有一个明确的return语句才能返回调用程序。
×8.主函数中定义的变量的作用域仅限于主函数内。
√9.传值调用的形参只有在被调用时,才被创建(分配存储单元)。
√10.C程序执行总是从第一个函数开始。
×11.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。
×12.被main函数调用的函数只能是库函数。
×13.函数说明指的是在程序中设定一个函数模块。
×14.在C程序中,若对函数类型未加说明,则函数的隐含类型为void。
×15.形参可以是常量、变量或表达式。
×16.函数调用可以作为一个函数的形参。
×17.C语言规定,实参应与其对应的形参类型一致。
√18.定义函数时,形参的类型说明可以放在函数体内。
×19.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。
√20.全局变量可以被任何一个函数中的任何一个表达式使用。
×21.函数的隐含存储类型是extern。
√22.定义在main函数后的任何函数都需在main中进行函数声明。
×23.a是一维数组名,数组元素a[1]还可以写作“*(a++)”。
×24.C语言中数组名是指针常量。
√25.构成数组的各个元素必须具有相同的类型。
√26.数组元素的下标可以选用正整数或正实数。
×27.数组名可以作为参数进行传递。
√28.若有定义“int a[4][5];”,则在数组元素a[3][3]前有12个元素。
C语言考试复习要点C语言是一种广泛应用于计算机编程领域的高级编程语言。
对于需要参加C语言考试的学生来说,了解重点复习的内容非常重要。
本文将讨论C语言考试的复习要点,帮助读者更好地准备考试。
一、基础概念与语法1. 数据类型:包括整型、浮点型、字符型等,了解它们的范围、存储空间和使用方法。
2. 变量与常量:掌握变量的声明、赋值和使用,了解常量的概念以及如何定义和使用。
3. 运算符:包括算术运算符、关系运算符、逻辑运算符等,了解它们的优先级和使用规则。
4. 控制语句:包括条件语句(if-else语句)、循环语句(for循环、while循环)和跳转语句(break语句、continue语句、return语句)等。
掌握它们的语法和用法,能够编写简单的流程控制程序。
二、数组与字符串1. 数组:了解数组的定义和使用,包括一维数组和多维数组,掌握数组的初始化、访问和遍历等操作。
2. 字符串:了解字符串的概念和字符数组的使用,能够实现字符串的输入、输出以及常见的字符串操作(比如拼接、复制、比较等)。
三、函数与指针1. 函数:了解函数的定义和使用,包括函数的声明、调用和返回值等。
掌握函数的参数传递方式(值传递、地址传递),能够编写简单的函数以及函数调用的程序。
2. 指针:理解指针的概念和作用,了解指针与数组、指针与函数的关系。
掌握指针的声明和使用,能够编写简单的指针操作程序。
四、文件操作1. 文件读写:了解文件的打开和关闭操作,能够进行文件的读取和写入。
掌握文件读写的基本函数(如fopen、fclose、fread、fwrite等)的使用。
2. 文件指针:了解文件指针的概念和作用,包括文件位置指针和错误指示指针。
能够使用文件指针进行文件的读写操作。
五、综合应用1. 综合编程:能够根据题目要求,运用C语言的基础知识和技巧,编写可以实现特定功能的程序。
2. 调试技巧:掌握常见的程序调试技巧,能够根据错误提示信息进行程序错误的定位和修复。
一、判断题。
1、#include 、#define、scanf和printf都不是C语句。
(对)//#号开头的,是C语言的命令,最后不加分号“;”。
scanf和printf是输入和输出函数,不是C 语言的语句-----C语言里没有输入和输出语句,是由函数(如:这里的scanf 和printf函数)来实现输入和输出的。
2、一个include命令只可以指定一个被包含的文件。
(对)//include命令一次只可以指定一个包含的文件,要包含多个文件要用多个include命令3、参加位运算的数据必须是整型的数据。
(对)//如:不能使float类型的数据4、若有int i=9, j=3; 则执行完i*=j+10; 后i的值为20。
(错)//i*=j+10=>i=i*(j+10)=9*(3+10)=9*135、9&3+11的值是12。
(错)// 9&3+11=9&(3+11)=>1001&1110=1000=>86、关系运算符>=与==的优先级相同。
(错)//关系运算符的前4个(>、>=、<、<=)的优先级相同。
后两个(==、!=)的优先级相同,并且低于前4个的优先级。
7、若i=5,则printf(“%d”,-i++);输出的值为-6。
(错)//++在后面是先将-i打印,再将i加1。
如果是printf(“%d”,- ++i);则输出的值就为-6.8、语句printf(“%f%%”,10.0/3);输出为3.333333。
(错)//10.0/3确实是3.333333,但是这里还有%%,所以输出的结果应该是3.333333%9、若有int i=20, j=0;则执行完语句if(j=0)i++;else i--;i的值为21。
(错)//注意这里是j=0,一个等号是赋值,也就是j=0,这里是假,所以应该执行else i—部分,i的值为19.10、若有定义和语句:int a[3][3]={{3,5},{8,9},{12,35}}, i, sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21。
第一部分 C语言知识复习资料第一章C语言基本知识【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。
源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。
C语言有三种基本结构:顺序结构、选择结构、循环结构。
【考点2】main函数又称主函数,是C程序的入口。
main后面跟一对小括号和一对花括号,花括号括起来的部分称为main 函数的函数体。
一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。
每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。
【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。
二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。
数据的存放位置就是它的地址。
【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
【考点6】标识符是标识名字的有效字符序列,可以理解为C程序中的单词。
标识符的命名规则是:(1)标识符只能由字母、数字和下划线组成,字母区分大小写。
(2)标识符的第一个字符必须是字母或下划线,不能为数字。
C语言标识符分如下3类(1)关键字。
它们在程序中有固定的含义,不能另作他用。
如int、for、switch等。
(2)预定义标识符。
预先定义并具有特定含义的标识符。
如define、include等。
(3)用户标识符。
用户根据需要定义的标识符,符合命名规则且不与关键字相同。
【考点7】常量与变量常量是指在程序运行过程中,其值不能改变的量。
1.int n=10 ,a[n];这种写法为什么不对是变量!不能作为下标使用!因为在编译的时候,数组需要一个指定的大小。
n 必须是常数,在编译的时候编译器并不知道n到底是多少,运行时候才知道,所以编译不通过。
2.在C语言中,一个字母字符占一个字节。
所以表面上看是占了1个字节。
然而C语言中规定,字符串结束后必须跟一个结束字符'\0',因此总共应该是占了2个字节依次类推“abc”就是占4个字节例子:c语言中"\\sfds"的字节数是多少?为什么?6个(前提是一个字符占一个字节)\\是1个,第一个是转义字符,故两个作为一个“\”sfds是4个另外双引号内的字符串,默认有个”\0“作为结尾,虽然没有写出来所以一共占1+4+1=6个字节3.若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是_0_a[2][1]得到的初值是_6。
{1,2}对应第0行 1是0行0列[0][0],2是0行1列[0][1]{0}对应第1行 0是1行0列[1][0]{4,6,8,10}对应第2行, 4是2行0列[2][0],6是2行1列[2][1],8是2行2列[2][2],10是2行3列[2][3]4.a<<2 表示a 左移两位,数值上相当于a的十进制数乘以4 ,在把他的值赋给ba>>n 数值上相当于a的十进制数除以2的n次方5.数据转换类型:隐式类型转换,低级向高级转换Int a; float b; double ca+b+c 先将变量a和变量b都转换为double,然后计算,得到结果double强制类型转换:(double)a 将a转换为double型(int)(x+y) 将x+y的值转换为整型(int)a+y 将x转换为整型,然后与y相加6.在c语言中逗号运算符的优先级最低。
7.int a,b;a=10%3,b=5;printf(“%%%d,%%%d”,a,b);a=%1,b=%5注意:%%输出%8.十进制与二进制转换9.八进制与二进制转换10.闰年普通年:能被4整除但不能被100整除的年份为普通闰年。