收藏 分享(赏)

C语言考试.doc

上传人:tangtianxu1 文档编号:2954656 上传时间:2018-09-30 格式:DOC 页数:35 大小:163.50KB
下载 相关 举报
C语言考试.doc_第1页
第1页 / 共35页
C语言考试.doc_第2页
第2页 / 共35页
C语言考试.doc_第3页
第3页 / 共35页
C语言考试.doc_第4页
第4页 / 共35页
C语言考试.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、C 语言程序设计课程考试题库第一章 C 语言概述 一、单项选择题1、C 语言规定,必须用( )作为主函数名。A.Function B.include C.main D.stdio答案:C2、( )是 C 程序的基本构成单位。 A.函数 B.函数和过程 C.超文本过程 D.子程序 答案:A3、在 C 语言中,每个语句和数据定义是用( )结束。A.句号 B.逗号 C.分号 D.括号 c二、判断题1、一个 C 程序可以包含任意多个不同名的函数,但有且仅有一个主函数。 ( )答案:正确2、C 语言规定: 在一个源程序中, main 函数的位置必须在最开始。 ( )答案:错误3、在 C 程序中语句是以分

2、号结束的。 ( ) 答案:正确第二章 程序的灵魂算法 一、单项选择题1、一个算法应该具有“确定性”等 5 个特性,下面对另外4 个特性的描述中错误的是( )。A.有 0 个或多个输入 B.有 0 个或多个输出 C.有穷性 D.可行性答案:B2、以下叙述中正确的是( )。A. C 语言比其它语言高级。B. C 语言可以不用编译就能被计算机识别执行。C. C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式。D. C 语言出现的,具有其它语言的一切优点。答案:C3、以下叙述正确的是( )。A. C 语言的源程序不必通过编译就可以直接运行。B. C 语言中的每条可执行语句最终都将被转换成二进

3、制的机器指令。C. C 语言源程序经编译形成的二进制代码可以直接运行。D. C 语言中的函数不可以单独进行编译。答案:B答案:B二、判断题1、 C 语言的书写格式不会影响程序的可读性。 ( )答案:错误2、 C 语言程序实现与其他高级语言一样也要经过编辑、编译连接和运行这样的三步曲。 ( )答案:正确3、健壮的算法不会因为非法输入而出现莫名其妙的状态。( )答案:正确第三章 数据类型 运算符与表达式 一、单项选择题1、下列字符串是标识符的是( )。A._HJ B.9_student C.long D.LINE 1 答案:A2、( )不是 C 语言提供的合法关键字。 A.switch B.pri

4、nt C.case D.default 答案:B3、判断字符型变量 ch 为小写字母的表达式是( )。 A.a=a) A.不确定的值 B.0 C.-1 D.1 答案:B6、以下程序的输出结果是( )。main() char c1=6,c2=0; printf(“%c,%c,%d,%dn“,c1,c2,c1-c2,c1+c2); A.因输出格式不合法,输出出错信息 B.6,0,6,102 C.6,0,7,6 D.6,0,5,7 答案:B7、设有如下定义:int x=10,y=3,z; 则语句 printf(“%dn“,z=(x%y,x/y);输出结果是( )。 A.3 B.0 C.4 D.1 答

5、案:A8、以下程序的输出结果是( )。main() int x=10,y=10; printf(“%d %dn“,x-,-y); A.10 10 B.9 9 C.9 10 D.10 9 答案:D9、下面程序的输出结果( )。main() int x; x=-3+4*5-6;printf(“%d“,x); x=3+4%5-6;printf(“%d“,x); x=-3*4%6/5;printf(“%d“,x); x=(7+6)%5/2;printf(“%d“,x); A.11 1 0 1 B.11 -3 2 1 C.12 -3 2 1 D.11 1 2 1 答案:A10、以下程序的输出结果是( )

6、。 main() int a=-1,b=4,k; k=(+a5) printf(“%d”,x); else printf(“%dn”,x-); A.7 和 5 B.6 和 3 C.7 和 4 D.6和 4 答案:A3、在 C 的 if 语句中,可用作判断的表达式是( ) 。 A.关系表达式 B.逻辑表达式 C.算术表达式 D.任意表达式 答案:D4、假定所有变量均已正确说明,下列程序段运行后 x 的值是( )。 a=b=c=0;x=35; if(!a) x=-1; else if(b); if(c) x=3; else x=4; A.34 B.4 C.35 D.3 答案:B5、若有以下变量定义

7、: float x; int a,b; 则正确的 switch 语句是( )。 A.switch(x) case 1.0:printf(“*n“); case 2.0:printf(“* *n“); B.switch(x) case 1,2:printf(“*n“); case 3:printf(“* *n“); C.switch(a+b) case 1:printf(“*n“); case 2*a:printf(“* *n“); D.switch(a+b) case 1:printf(“*n“); case 1+2:printf(“* *n“); 答案:D6、在 C 语言中,多分支选择结构语

8、句为switch(c) case 常量表达式 1:语句 1; case 常量表达式 n-1:语句 n-1; default 语句 n; 其中括号内表达式 c 的类型( )。 A.可以是任意类型 B.只能为整型 C.可以是整型或字符型 D.可以为整型或实型 答案:C7、当 a = 1, b = 3 , c = 5, d = 4 时, 执行完下面程序段后 x 的值为( )。 if ( a =20)break; if(b%3=1) b+=3; continue; b-=5; A.7 B.8 C.9 D.10 答案:B8、以下程序的输出结果( ) 。 main() int x=3; do printf

9、(“%3d“,x-=2); while(-x); A.1 B.3 0 C.1 -2 D.死循环 答案:A9、以下能正确计算 12310 的程序段是( )。 A.do i=1;s=1; s=s*i; i+; while(i3)%5; printf(“%2d“,ai); A.-4 0 4 0 4 B.-4 0 4 0 3 C.-4 0 4 4 3 D.-4 0 4 4 0 答案:C7、若有说明:int a34 = 0;则下面正确的叙述是( )。A.只有元素 a00可以得到初值 0 B.此说明语句不正确 C.数组 a 中每个元素均可得到初值 0 D.数组 a 每个元素均可得到初值,但值不一定为 0

10、答案:C8、下面几个字符串处理表达式中能用来把字符串 str2 复制到字符串 str1 后的是( )。 A.strcat(str1,str2) ; B.strcat(str2,str1); C.strcpy(str1,str2) ; D.strcmp(str1,str2); 答案:C9、若有二维数组 amn,则数组中 aij之前的元素的个数为( )。 A.j*m+i B.i*n+j C.i*m+j+1 D.i*n+j+1 答案:D10、设有 char str10,下列语句正确的是( )。A.scanf(“%s“, B.printf(“%c“,str); C.printf(“%s“,str0);

11、 D.printf(“%s“,str); 答案:D二、判断题1、字符串可以用来给数组赋值,在 C 程序的执行语句中可以直接用字符串给数组名赋值。 ( ) 答案:错误2、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。 ( ) 答案:正确3、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。 ( ) 答案:错误4、数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。 ( ) 答案:正确5、 C 语言中 , 字符串常量存放在字符数组中要有一个结束符 , 该结束符是 0 。 ( )答案:错误6、在对数组全部元素赋初值时,不可以省略行数,但能省略列

12、数。 ( )答案:错误 7、数组名能与其它变量名相同,数组名后是用方括号括起来的常量表达式,不能用圆括号。 ( )答案:正确第八章 函数 一、单项选择题1、以下函数定义正确的是( )。 A.double fun(int x, int y) B.double fun(int x; int y) C. double fun(int x, int y) ; D.double fun(int x , y) 答案:A2、C 语言规定,简单变量作实参,它与对应形参之间的数据传递方式是( )。 A.地址传递 B.单向值传递 C.双向值传递 D.由用户指定传递方式 答案:B3、以下关于 C 语言程序中函数的说

13、法正确的是( ) 。 A.函数的定义可以嵌套,但函数的调用不可以嵌套; B.函数的定义不可以嵌套,但函数的调用可以嵌套; C.函数的定义和调用均不可以嵌套; D.函数的定义和点用都可以嵌套。答案:B 4、一个数据类型为 void 的函数中可以没有 return 语句,那么函数的被调用时( )。 A.没有返回值 B.返回一个系统默认值 C.返回值由用户临时决定 D.返回一个不确定的值 答案:D5、以下说法不正确的是( )。 A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以是任意类型 D.形参应与其对应的实参类型一致 答案:B6、以下函数的功能是:通过键盘输入数据,

14、为数组中的所有元素赋值。 #define N 10 void arrin(int xN) int i=0; while(iN) scanf(“%d“,_); 在下划线处应填入的是 ( )。 A.x+i B. if(xy) t=x; x=y; y=t; main() int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(“%d,%d,%dn“,a,b,c); 执行后输出的结果是 。A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5 答案:C二、判断题1、 C 程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。 (

15、) 答案:错误2、 C 程序中函数不可以嵌套定义但可以嵌套调用。 ( )答案: 正确3、在函数内的复合语句中定义的变量在本函数范围内有效。( ) 答案:错误4、 C 语言规定,简单变量做实参时,与其对应的形参之间是单向的值传递。 ( )答案: 正确5、数组名也可作为函数参数使用,此时是地址传递。 ( ) 答案:正确6、 C 语言本身没有输入输出语句,输入输出操作都是通过调用库函数来实现的。 ( ) 答案:正确7、函数形参的存储单元是动态分配的。 ( )答案:正确第九章 预处理命令 一、单项选择题1、C 语言中,宏定义有效范围从定义处开始,到源文件结束处结束,但可以用( )来提前解除宏定义的作用。 A.# ifdef B.endif C.# undefine D.# undef 答案:D2、以下不正确的叙述是( )。 A.预处理命令都必须以“#”号开始 B.在程序中凡是以“#”号开始的语句行都是预处理命令行 C.C 语言在执行过程中对预处理命令行进行处理 D. # define ABCD 是正确的宏定义

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报