C语言复习卷带答案_第1页
C语言复习卷带答案_第2页
C语言复习卷带答案_第3页
C语言复习卷带答案_第4页
C语言复习卷带答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、姓名:_年级专业:_ 学号:_凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。密封线复习卷试卷总分题号一二三四五题分得分得分一、单选题(每题1分,共计30分)1、下列选项中,不合法的变量是(D)。A、int x = 3;B、char ch = cC、float f ;D、case c;2、下列选项中,不合法的常量是(D)。A、2B、nC、aD、4833、关于#include这句代码,下列描述中错误的是(C)A、#是预处理标志,用来对文本进行预处理操作B、include是预处理指令C、一对尖括号可以去掉D、stdio.h是标准输入输出头文件4、假设a、b、c、d、m、n均为int型变

2、量,且a=5、b=6、c=7、d=8、m=2、n=2,那么逻辑表达式(m=ab)&(n=cd)运算后,n的值为( C )。A、0B、1C、2D、35、C语言程序的三种基本结构是( A )。A、顺序结构,选择结构,循环结构B、递归结构,循环结构,转移结构C、嵌套结构,递归结构,顺序结构D、循环结构,转移结构,顺序结构6、关于下面的for循环语句 int i,k; for(i = 0,k = -1;k = 1;i+,k+) printf(“*”); 下列选项中,描述正确的是(B ) A、判断循环结束的条件非法B、是无限循环C、只循环一次D、一次也不循环7、以下定义语句中,错误的是( D )。A、i

3、nt a=1,2;B、char *a3;C、char s10=test;D、int n=5,an;8、下列描述中不正确的是(C )。A、字符型数组中可以存放字符串B、可以对字符型数组进行整体输入、输出C、可以对整型数组进行整体输入、输出D、不能在赋值语句中通过赋值运算符=对字符型数组进行整体赋值9、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为( D)。A、该数组的长度B、该数组的元素个数C、该数组中各元素的值D、该数组的首地址10、在C语言中,引用数组元素时,其数组下标的数据类型允许是( C)A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型的表达式11、若有定义

4、double x = 12.2;则表达式int a = x;则a的值为(C)。A、0B、0.0C、12D、12.212、若有定义: char *a= China; , 则 a+3 表示 (C) 。A、该字符串的首地址B、该字符串中字符 n 的值C、该字符串中字符 n 的地址D、该字符串中字符 i 的地址13、下述对C语言字符数组的描述中错误的是( C )。A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值D、不可以用关系运算符对字符数组中的字符串进行比较14、C语言中数组下标的下限是(B)。A、1B、0C、视具体情况D、无固

5、定下限15、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C)。A、1B、2C、2.0D、2.516、关于结构体作为函数参数,下列描述中错误的是(D )A、结构体可以作为函数参数B、结构体数组可以作为函数参数C、结构体指针可以作为函数参数D、结构体成员变量不可以作为函数参数17、若有定义: struct KeyWord char Key20; int ID; kw = void, 1, char, 2, int, 3, float, 4, double, 5 ; 则printf(%c,%dn, kw3.Key0, kw3.ID);语句的输出结果为(C )A、i 3B

6、、n 3C、f 4D、l 418、下列关于指针变量的描述,不正确的是(C )A、在没有对指针变量赋值时,指针变量的值是不确定的B、同类指针类型可以进行相减操作C、在使用没有赋值的指针变量时,不会出现任何问题D、可以通过指针变量来取得它指向的变量值19、关于C语言中print()函数与scanf()函数,下列描述中正确的是( B)A、printf()函数可以向任何地方输出数据B、printf()只向控制台输出数据C、scanf()只能输入英文字母和数字D、scanf()函数可以识别输入的空格20、表示关系X=Y=Z的C语言表达式为( A )。A、(X=Y)&(Y=Z)B、(X=Y)AND(Y=Z

7、)C、(X=Y=Z)D、(X=Y)&(Y=Z)21、下列是多行注释的符号是(D)A、/B、/C、/*D、/*/22、在以下定义中,正确的说明语句为(D )。A、int abB、int a3,4C、int aD、int *a1023、关于指针定义,下列选项中正确的是(B )A、int x; int p = &x;B、int x; int *p = &x;C、int x; int p = *x;D、int x; int *p = *x;24、以下说法正确的是(C)A、c语言程序总是从第一个函数开始执行B、在c语言程序中,要调用的函数必须在main()函数中定义C、c语言程序总是从main()函数开

8、始执行D、c语言程序中的main()函数必须放在程序的开始部分25、要为字符型变量a赋初值,下列语句中哪一个是正确的(B )。A、char a = 3;B、char a = 3;C、char a = %;D、char a = *;26、以下对C语言字符数组描述 (B) 是正确的。A、可以用length函数计算字符数组中字符串的长度B、使用printf函数整体输出字符数组中的字符串时,输出到字符0结束输出C、可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值D、字符数组只能存放字符串,不能存放字符27、若有定义char s5 = h, e, l, l, o ;则printf(“%s”,s);

9、的输出结果为(A )A、输出字符串hello后乱码B、helloC、hD、输出数组s的地址28、sizeof(float)是( C )。A、一种函数调用B、一个不合法的表示形式C、一个整型表达式D、一个浮点表达式29、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )。A、input x,y,z;B、scanf(%d%d%d,&x,&y,&z);C、scanf(%d%d%d,x,y,z);D、read(%d%d%d,&x,&y,&z);30、以下循环体的执行次数是( C )。 void main() int i,j; for (i=0,j=1; i=j+1

10、; i+=2,j-) printf(%dn,i); A、3B、2C、1D、0得分二多选题(每题2分,共计8分)1、在调用外部函数时,下列描述中正确的是(B.D )(多选)A、只要有函数名,就能调用外部函数B、调用外部函数要包含外部函数所在的头文件C、外部函数与调用者定义在同一个源文件下D、在声明外部函数时,外部函数与原函数定义的返回值类型、函数名称和参数列表必须一致2、下列语句哪些属于循环语句(A.B.C)。A、for语句B、do-while语句C、while语句D、switch语句3、关于数组类型的定义,下列描述中正确的是(A.C )A、数组的大小一旦定义就是固定的B、一个数组中的各元素类型

11、可以不一样C、数组的下标类型为整型D、数组元素的下标从1开始4、C语言的程序结构语句包括(A.B.C)。A、顺序结构语句B、循环结构语句C、选择结构语句D、逻辑结构语句得分三、判断题(对的打“”,错的打“”;每题1分,共20分)1、对于一维数组,例如int arr3;则arr2表示数组的第2个元素。(X)2、注释在编译时也会被编译到程序中(X)3、标识符只能由字母和数字组成。(X)4、结构体指针存储的是结构体在内存中的首地址。()5、在C语言程序中,以分号“;”作为结束标记的代码都可称为语句()6、sizeof运算符的功能是获取某一数据或数据类型在内存中所占的字节数。(X)7、标识符命名有一定

12、规范,它不能以数字作为第一个字符。(X)8、局部变量只有当它所在的函数被调用时才会被使用,当函数调用结束时局部变量还会一直存在。(X)9、在C语言中,strncmp()函数可以用来比较两个字符串中前n个字符是否完全一致。()10、数组中的元素可以通过数组名和下标来引用。()11、数组元素下标的个数也称为维数,根据维数的不同,可将数组分为一维数组、二维数组、三维数组、四维数组等。()12、strcpy()函数实现字符串的复制,没有返回值。(X)13、在C语言中,strcmp()函数用于比较两个字符串的内容是否相等。()14、若有定义int x = 1,y = 2;则表达式x=y是将y的值赋值给x

13、。(X)15、常量指针的作用是使当前指针所指向变量的地址在程序运行时不能被修改。(X)16、结构体指针变量用于存放结构体变量的首地址,所以将指针作为函数参数传递时,其实就是传递结构体变量的首地址。()17、表达式是一长串式子,常量与变量并不是表达式。(X)18、用于存放其他变量的地址的变量称为指针变量。()19、取指针所指向的地址中的值可以取值符号&。(x)20、当字符数组中的初值个数小于数组长度时,没有赋值的元素会默认赋值为空字符。()得分四、填空题(每题2分,共计60分)1、单行注释用_/_符号表示。2、C语言的比较运算中,“真”用数字_1_来表示,“假”用数字_0_来表示。3、假设定义一

14、个3行4列的二维数组,那么共包含_12_个元素。4、_数组名_ 默认指向数组在内存中的首地址。5、在C语言中,_&_运算符可以获取内存地址。6、指针变量作为函数的参数,是将一个变量的_地址_传递给函数。7、定义结构体类型的关键字是_surecr_。8、C语言中数组必须先_定义_再使用。9、操作字符串的函数有很多,其中_)strlen()_函数是求字符串的长度。10、我们通常使用的英文字符编码是_ascll_码。11、若定义二维数组int arr56;则数组的列下标的取值范围为_05_ 。12、常量指针的作用是使当前指针所指向变量的_值_在程序运行时不能被修改。13、宏定义是在程序_预处理_的时

15、候开始执行。14、数组是一组具有_相同_类型的数据的集合。15、假设定义数组int a34,数组a可用的行下标范围是_02_,列下标范围是 _03_。16、在C语言中,运算符都有一定的优先级,其中_()_和的优先级最高。17、在C语言中根据运算符进行运算需根据变量的个数可以将运算符分为单目运算符、双目运算符和_三目_运算符。18、操作字符串的函数很多,其中_strcmp_函数用于比较两个字符串内容是否相等。19、在C语言中,_siezof_运算符可以求算出数据字节数。20、在C语言中,运算符都有一定的结合性,则赋值运算符的结合性为_重右到左_。21、在C语言中,常量包括_整型_、浮点数常量、字

16、符常量等。22、C语言中的注释有两种类型,分别单行注释和_多行_。23、_define_是定义宏的关键字。24、比较运算符中表示不等于的运算符是_!=_。25、运算符“|”表示或操作,当且仅当运算符两边的表达式结果都为假时,其结果为_假_。26、若有定义int x = 7;则表达式x/=3;的值为_2_。27、二进制是一种“逢二进一”的机制,它用0和_1_ 两个符号来描述。28、由字符类型的元素所组成的数组是_字符_数组。29、逻辑运算符&表示与操作,当其左边表达式为_假_时,右边的表达是不会进行运算的。30、标识符只能由字母、_数字_和下划线组成。答案一、单选题(每题1分,共计30分)1、

17、D 2、 D 3、 C 4、 C 5、 A 6、 B 7、 D 8、 C 9、 D 10、 C 11、 C 12、 C 13、 C 14、 B 15、 C 16、 D 17、 C 18、 C 19、 B 20、 A 21、 D 22、 D 23、 B 24、 C 25、 B 26、 B 27、 A 28、 C 29、 B 30、 C 二、多选题(每题2分,共计8分)1、 B D 2、 A B C 3、 A C 4、 A B C 三、判断题(每题1分,共计20分)1、 false 2、 false 3、 false 4、 true 5、 true 6、 true 7、 true 8、 false 9、 true 10、 true 11、 true 12、 false 13、 true 14、 false 15、 false 16、 true 17、 false 18、 true 19、 false 20、 true 四、填空题(每题2分,共计60分)1、 (1)/ 2、 (1)1 (2)0 3、 (1)12 4、 (1)数组名 5、 (1)& 6、 (1)地址 7、 (1)st

温馨提示

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

评论

0/150

提交评论