C语言考试复习题资料_第1页
C语言考试复习题资料_第2页
C语言考试复习题资料_第3页
C语言考试复习题资料_第4页
C语言考试复习题资料_第5页
免费预览已结束,剩余20页可下载查看

下载本文档

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

文档简介

1、C语言1.以下不属于C语言特点的是(D )A.简洁紧凑,灵活方便B.数据结构类型丰富C.可移植性好D.能够直接被计算机识别和执行2.#include 命令是一种(C )A.函数B.宏定义C.预处理命令D.条件编译命令3c语言中最简单的数据类型包括(B)A.整型,实型,逻辑型B.整型,实型,字符型C.整型,字符型,逻辑型D.字符型,实型,逻辑型4 .以下整型常量正确的是(DD注:整型常量一般用十进制表示A.078B.20.0C.2e10D.Oxabc5 .字符常量只能用(B)括起来A.圆括号B.单引号C.双引号D.分号6 .以下不正确的叙述是(D)A.在C程序中,逗号运算符的优先级最低B.在C程

2、序中,APHff口 aph是两个不同的变量C.若a和b类型相同,在计算了赋值表达式 a=b后b中的值将放入a中,而b中的值不变D.运算优先级不同的运算符也要先看结合方向7.设有 int a=2, b=4, c=6, y=3;则执行语句 y= (b=a+b), (b+c);后,y的值是(C )A.6B.10C.12D.38c语言中用于结构化程序设计的三种基本结构是(D)A.if , switch , breakB.If , while , forC.While , do-while,forD.顺序结构,选择结构,循环结构9.下列叙述中正确的是(B)A.调用printf ()函数时,必须要有输出项

3、B.使用printf ()函数时,必须在之前包含头文件stdio.hC.在C语言中,实数可以以十进制,八进制或十六进制的形式输出D.调用getchar ()函数读入字符时,可以从键盘上输入字符所对应的ASCII码10 .程序段:int x=12 ;()A.123.141593B.123.141593C.12, 3.141593D.12 3.14159311 . ( D)不是算法的表达方式。A.流程图B.N-S流程图C.伪代码D.数据结构12 .有如下程序()#include “stdio.h "A.0B.-1C.1D.213 .下列叙述中正确的是(D)A.break语句只能用于swi

4、tch语句中B.在switch语句中必须使用 defaultC.break语句必须与switch语句中的case配对使用D.在switch语句中,不一定使用break语句14 .语句while (! E)中表达式! E等价于(D )A.E=0B.E!=1C.E!=0D.E=115 .若变量已正确定义,有下列程序段:i=0 ;A.0,0B.0,1C.1, 1D.程序进入无限循环16 .有以下程序#include<stdio.h>A.2 3 43 4 5B.4 3 25 4 3C.2 33 44 5D.4 53 42 317.在循环中使用break语句的功能是(A)A使程序的执行跳出b

5、reak所在的那一重循环B.是程序执行结束C.跳出包含此break语句的所以循环D.终止本次循环,继续下次循环18 .下列程序的输出结果()main ()A.1 B.2 C.3 D.419 .若说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是(B)A.2 B.3 C.4 D.无确定值20 .下列能正确定义字符串的语句是(D)A.char str='064'B.char str= "kx43” ;C.char str=D.char str=021 .表达式 strlen ("hello ")的值是(B )A.4 B.5 C.6

6、D.722 .已有定义:char a="xyz",b= 'x', 'y', 'z' ;下列叙述中正确的是(B)A.数组a和b的长度相同B.a数组长度大于b数组长度C.a数组长度小于b的数组长度D.上述说法都不对23 .有下列程序:Main ()A.1, 6, 5, 7 B.8 ,7, 3, 1 C.4,7 , 5, 2 D.1 , 6, ,2 , 124 .以下所列的各函数首部中,正确的是(C )A.void play (var : Integer , var b : Integer )B.void play(int a ,

7、b)C.void play(int a , int b )D.Sub play (a as integer , b as integer )25 .以下正确的描述是(B )A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套26.有以下程序Int fl (int x , int y )A.3,4,5 B.5, 3, 4 C.5 , 4, 3 D.3 , 5, 427 .以下叙述不正确的是(D )A.在不同的函数中可以使用同名的变量B.函数中的形式参数是局部变量C.在函数内定义的变量只

8、在本函数范围内有效D.在函数内复合语句中定义的变量也可在本函数范围内有效28 .有以下程序Void f (int b口)A.1,2,3,4,5,6,7,8,9,10,B.1,2,6,8,10,12,7,8,9,10,C.1,2,3,4,10,12,14,16,9,10,D.1,2,6,8,10,12,14,16,9,10,29 .若有以下程序#include<stdio.h>A.6 B.8 C.4 D.230 .有定义:int : *p, m=5 n;以下正确的程序段是(A)A.p=n; scanf ("%d, p); 注:此题答案显示不正确A.p=n; scanf (&

9、quot;d, *p);B.scanf ("d, n); *p=n;C.p=n, *p=m;31 .C语言特点不包括(D)A.生成的目标代码质量高B.程序执行效率高C.兼备高级语言、低级语言的双重特点D.依赖计算机的硬件系统32 .以下说法错误的是(C)A.高级语言都是接近人们习惯的自然语言和数字语言作为语言的表 达形式B.计算机智能处理由0和1的代码构成的二进制指令或数据C.C语言源程序经过C语言编译程序之后生成一个后缀为.EXE的二进 制文件D.每一种高级语言都有它对应的编译程序33 .语句unsiguned short a ;将a定义为(C)变量A.短整型B.无符号整型 C.无

10、符号短整型D.有符号短整型34 .以下为十进制无符号长整数的是(A )A.23Lu B.23L C.23u D.2335 .设有int x=66;则语句printf 3%cn”, x);的运行结果是(B)A.AB.BC.66D.编译出错36 .设有int x=11 ;则表达式(x+*1/3 )的值是(A )A.3B.4C.11D.1237 .如有如下定义:float=2.5 ;则表达式(int ) a+5的值为(A)A.7B.7.5C.8D.8.538 .下列不是赋值语句的是(B)A. a-B.a=0C.a=100D.a*=1039 .putchar函数可以向终端输出一个(D)A.整型变量表达

11、式值B.实型变量值C.字符串D.字符或字符型变量值40 .下列几种说法中,正确的是(C )A.else语句需与他前面的if语句配对使用B.else语句需与前面最接近它的if语句配对使用C.else语句需与前面最接近它的,且没有和其他else语句配对的if语句配对D.以上都正确41 .程序段:int a=1, b=2, c=3; if (a<b) c=a ; a=b; b=c; 执行后a, b, c的值分别为多少(D)A.a=1, b=2, c=3B.a=2, b=3, c=1C.a=2, b=3, c=3D.a=2, b=1, c=142 .以下不构成无限循环的语句或语句组是(C)A.n

12、=0; do+n; B.n=0; while (n<=0); while (1) n+; C.n=10; while (n);n-;D.for(n=0;i=1;i+)n+=143 .设变量已正确定义,则以下能正确计算 f=n!的程序段是(D)A.f=0;for(i=1;i<=n;i+)f*=i;B.f=1;for(i=1;i<n;i+)f*=i;C.f=1;for(i=n;i>1;i+)f*=i;D.f=1;for(i=n;i>=2;i-)f*=i;44 .在循环中使用break语句的功能是(A )A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C

13、.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环45.有两个字符数组a、b,则以下正确的输入格式是(B)A.gets (a, b);B.scanf ("s%S, a, b);C.scanf ("s%S, a, b);D.gets (“a”),gets (“b”);46.以下正确的说法是(B)A.用户若需要调用标准库函数,调用前必须重新定义B.用户可以重新定义标准库函数,如若此,该函数将失去原有定义C.系统不允许用户重新定义标准库函数D.用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用47 .用一维数组名作函数的

14、实际参数,则传递给形式参数的是( A)A.数组首元素的地址B.数组中第一个元素的值C.数组中元素的个数D.数组中全部元素的值48 .c语言程序的执行顺序是(QA、从第一个函数开始执行B、从任意函数开始执行C从mian函数开始执行D从第一条语句开始执行49 .定义无符号长整型变量的类型说明符是(D)A UnsingedB、Unsinged intC LongD Unsinged long50 .以下对实型数据说法错误的是(C)CA、c语言的实型数据是以指数形式存在的B、C语言的实型数据包括:float , double,long,doubleC 一个实数只能有一种指数形式D 一个实数可以有多种指

15、数形式51 .下列不合法的字符常量是(B)A ' xff ”B、 65 'C ' 028 'D 't '52 .设整型常量n的值为2,执行语句n+=n后,n的值是(B)A.2B.4C.-4D.053 .如有如下定义:int a=5; 则表达式(a+) =5的值为(B)A.0B.1C.-5 D.不确定54 .复合语句是由(A)把多个语句括起来组成的一个语句A花括号B、圆括号()C双引号D单引号55 .若有定义和语句:int a=21,b=021;printf("x,%dn',a,b)(D)A 17,15B、16,18C 17,19

16、D 15,1756 .下列关于算法的描述中,错误的是(D)DA.算法是对操作的描述B.算法就是操作步骤C.算法是解决”做什么“和”怎么做的问题D.算法是对数据的描述57 .下列语句中不能实现循环结构的语句是(A)A.if 语句 B.while C.do.while 语句 D.for 语句58 .在c语言中,引用数组元素时,其数组下标的数据类型允许是(C)A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式59 .以下正确的定义语句是(D) DA.int a1 4=1,2,3,4,5;B.Float x3尸1,2,3;C.Long b23=1,1,2,1,2,3;D.Doubl

17、e y3=0;60 .下列正确定义字符串的语句是(D) DA.char str='064' ;B.Char str= " kx43” ;C.Char str=''D.Char str= " 0 " ;61 .若说明int *p,n ;则通过语句scanf能够正确读入数据的程序段是(D )此题答案显示不全,答案中的符号 &未显示出来Ap=n;scanf("d,p);B、p=n;scanf("d,*p);C scanf( "d ,n);>p=n;scanf("d,p);62 .以下哪

18、个是C语言不具备的特性(D) DA结构化B、可移植性C 具有低级语言的许多功能D面向对象63 .以下叙述正确的是(C) CA C语言程序可以直接执行B、C语言程序需要编译后才能执行C C语言程序需要编译并连接后才能执行D C语言程序不能执行64 .以下叙述正确的是(C) CA C语言只提供一种整型数据B、C语言的整型数据在内存中是以源码形式存放的C C语言提供的整型数据占两个字节D C语言提供无符号和有符号两大类整型数据65 .不能进行+和一运算的数据类型为(D) DA指针B整型C长整型D常量66 .语句 printf( "f% ,1.0/3); 的输出结果为(D)A 0%B 0.3

19、33333%C 0.3%D 0.333333%67 .程序段:int a=1,b=2,c=3;if(a<b)c=a;a=b;b=c; 执行后 a,b,c的值分别为(D )A、a=1,b=2,c=3B、a=2,b=3,c=1C、a=2,b=3,c=3D、a=2,b=1,c=168 .若有int n=0;以下不能统计一行输入字符个数(不含回车符)的 程序段是(A )A、whi 1 e ( (ch = getchar ()! =/)n +十 ;B、whi 1 e (getchar ()! =/)n+ + ;C、for (; getchar ()! =/;n+ + );D、for (ch = g

20、etchar (); ch! =/;n +十 );69 .关于b r e a k语句,以下说法不正确的是( C )A、它可以用于循环语句中B、它可以用于s w i t c h语句中C、可以从最内层循环结构中直接跳出最外层循环结构D、可以从当前s w i t c h结构中跳出70 .若二维数组a有m列,则计算任一元素a i j 在数组中位置的公式为(B)A、i * m + jB、j * m + iC、 i * m + j 171 .如果在一个函数中的复合语句中定义了一个变量,则该变量(A)A、只在该复合语句中使用B、可以在该函数中使用C、可以在本程序范围内使用D、为非法变量72 . C语言的作者

21、是(C)A、Martin RichardsB、Ken ThompsonC、Dennis M. RitchieD、Brian W. Ke rn i ghan73 .以下说法错误的是(A) AA、符号常量可以被重新定义B、符号常量必须先定义后使用C、习惯上符号常量名采用大写字母D、使用符号常量可以提高程序的可读性,方便程序的更改74 .列数据中,不合法的C语言实型数据的是(B)A、0.1B、e20C、10.0D、200f75 . / n / 属于(A)A、转义字符B、字符变量C、字符串D、字符串变量76 .若已定义x和y为doub 1 e类型,则表达式x = 2 , y = x+ 3/2的值是(B

22、)A、3B> 3 . 0C、3 . 5D、477 .如有如下定义:i n t a = 5 ;则表达式(a + + ) 5的值为(A)A、0B、1C、一 5D、不确定78 .下列表达式中,与a % = b + 2等价的是(B)A、a = a % b + 2B、a = a% (b + 2)C、a = (b + 2)D、a % b = 279 .有定义语句:int b ; char c 10;则正确的输入语句是(B)A、scanf ("%d%s", b, c);B、scanf ("%d%s",&b , c );C、scanf ("%d%

23、s", b, c);D、scanf (" % d % s " , b ,&c );80 .C语言程序的基本单位是(D )A.子程序 B. 程序 C. 过程 D. 函数81 .若变量c为char类型,能正确判断出c为小写字母的表达式是(D)A. 七,<=c<=,z,B. (c>= 'a') | (c<= 'z')C. (c>=,a,) and (c<= 2)D. (c>= 'a') && (c<= 'z')82 .若 int x=0

24、 ;则 while (x=0);的循环次数是(D)DA.0次 B.1 次 C.2 次 D. 无限次83 .有字符数组a80和b80,则正确的输出形式是(D)A.puts (a, b);B.printf ("s %§ , a口,b);C.putchar (a, b);D.puts (a), puts (b);84 .判断字符串a和b是否相等,应当使用(D) DA.if (a=b)B.if (a=b)C.if (strcpy (a, b)D.if (strcmp (a, b)85 .以下正确的函数定义是(A)A.double fun(int x , int y ) B.doub

25、le fun(int x ; int y ) C.float fun(int x ; y) D.float fun(int x , y) 86 .C语言中,函数返回值的类型是由(D)决定A.主调函数的类型B.return语句中表达式的类型C.由系统临时决定D.定义该函数时所指定的函数类型87 .如果在一个函数中的复合语句中定义了一个变量,则该变量(A)A.只在该复合语句中使用B.可以在该函数中使用C.可以在本程序范围内使用D.为非法变量88 .getchar函数的作用是从计算机终端输入(A)A. 一个字符B.多个字符C. 一个整数D.一个实数89 .若有定义语句:char s10="

26、 123456700 " ;,贝U strlen(s)的值是(A)A.7B.8C.9D.1090 .以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误的原因(A)没看到程序A.*p表示的是指针变量p的地址B.*p表示的是变量a的值。而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量92 .以下说法错误的是(D)A.使用符号常量可以在程序中做到“一改全改”B.符号常量的值在其作用域内不能改变C.符号常量可用#define命令来定义D.符号常量名必须采用大写字母93 .若已定义x和y为double类型,则表达式x=2, y=x+3/2的值

27、是(8)A.3B.3.0C.3.5D.4.094 .如有定义:int a=2 , b=5, c=10;则表达式 a=b, a*c, c-a 的值是(A)A.5B.20C.8D.1595 .若有说明语句:int a=5 , b=6; b*=a+1;则b的值为(D)A.5B.6C.31D.3696 .已知int x=6 , y=2, z;则执行表达式“ z=x=x>y”后,变量z的值为(B)97 .若已定义的函数有返回值,则有关该函数调用的叙述中错误的是(B)BA.调用可以作为独立的语句存在B.调用可以作为一个函数的形参C.调用可以作为一个函数的实参D.调用可以出现在表达式中98 .以下叙述

28、中错误的是(D) DA.程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过return语句返回D.函数形参的值也可以传回给对应的实参99 .若有定义语句:double x , y, *px , *py ,执行了 px=&x,py=&y;之后,正确的输入语句是(QA.scanf ("f%f, x, y);B.scanf ("f%f, *px , *py);C.scanf ("lf%lf ",px, py);D.scanf ("lf%lf ",x, y);100.有定义语句

29、:char s10若要从终端给s输入5个字符,错误的输入语句是(D)A.gets (&s0 ) ; B.scanf("§ ,s+1);C.gets (s);D.scanf(%s ,s1)判断题1 .#include命令不能包含用户自己建立的头文件。错2 .用标识符来表示的常量称为符号常量。对3 . (int ) x+y的作用是把x+y的结果转换成整型。错4 .如果赋值运算符两边的数据类型不一致,在赋值时要进行类型转换。对5 .要使用printf函数输出字符“ % 需要在格式控制字符串中用连 续两个麻表示。对6 .只有在a为真(非0)时,表达式a&b才需要判断b的值。对7 .switch语句中,case语句后如没有break,则顺序向下执行。 对8 .do-while 循环中,根据情况可以省略 while。 错9 .如果形参与实参的类型不一致,以实参类型为准。错10 . “一个单精度指针变量只能赋单精度变量的地址,单精度数组名,另外单精度指针变量的值”这种说法正确否?错11 .后缀为f或F的数为浮点数。对12 . 5于5是一样的。错13 .在赋值运算中,类型转换是由系统自动进行的。对14 .条件运算符?和:是一对运算符,不能分开单独使用。对15 .在switch语句中,每一个的 case常量表达式的值可以

温馨提示

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

评论

0/150

提交评论