1、 2013年计算机等级考试二级C语言试题2 (11)下面各选项中,均是C语言合法标识符的选项组是 A)33 we auto B)_23 me _3ew C)_43 3e_ else D)ER -DF 32 (12)可在C程序中用作用户标识符的一组标识符是 A)and B)Date C)Hi D)case _2007 y-m-d Dr.Tom Bigl (13)以下对C语言
2、函数的有关描述中,正确的是 A)在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参 B)C函数既可以嵌套定义又可以递归调用 C)函数必须有返回值,否则不能使用函数 D)函数必须有返回值,返回值类型不定 (14)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是 A)函数的实参和其对应的形参共占同一存储单元 B)形参只是形式上的存在,不占用具体存储单元中华考试网 C)同名的实参和形参占同一存储单元 D)函数的形参和实参分别占用不同的存储单元 (15)现有定义int a;double b;float c;
3、char k;,则表达式a/b+c-k值的类型为: A)int B)double C)float D)char (16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是 A)均占4个字节 B)根据数据的大小来决定所占内存的字节数 C)由用户自己定义 D)由C语言编译系统决定 (17)有以下程序段 int j;float y;char name[50]; scanf(“%2d%f%s”,&j,&y,name); 当执行上述程序段,从键盘上输入55566
4、7777abc后,y的值为 A)55566.0 B)566.0 C)7777.0 D)566777.0 (18)若变量已正确定义,有以下程序段 i=0; do printf(“%d,”,i);while(i++); printf(“%d\n”,i); 其输出结果是 A)0,0 B)0,1 C)1,1 D)程序进入无限循环 (19)下列程序的运行结果是 #include “stdio.h” main() { int x=-9,y=5,z=8; if(
5、x
6、har(cs+4); break; case 3: putchar(cs+3); default: putchar(cs+2); } } } A)668977 B)668966 C)6677877 D)6688766 (11)B 【解析】合法的标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,用户定义的标识符不能与关键字相同。选项A),数字不能为第一个字母,auto为关键字;选项C)中,也是数字不能为第一个字母,else为关键字;选项D)中负号不合法。 (12)A 【解析】在C语言中,合法标识符的命名规则是:标识符可
7、以由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。C语言的标识符可以分为关键字、预定义标识符和用户标识符。选项B)和C)中的横线以及点都不合法,选项D)中的case为C语言关键字。 (13)A 【解析】 C语言中的函数可以进行递归调用,但是不能在函数中定义函数,函数不用有返回值,若有返回值,则返回值类型必确定。 (14)D 【解析】在内存中,实参单元与形参单元是不同的单元。在C语言中,仅在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。 (15)B 【解析】双目运算中两边运算
8、量类型转换规律: 运算数1运算数2转换结果类型 短整型 长整型 短整型->长整型 整型 长整型 整型->长整型 字符型 整型 字符型->整型 有符号整型 无符号整型 有符号整型->无符号整型 整型 浮点型 整型->浮点型 在a/b的时候,a、b的类型不一致,根据类型转换规则,把整型转换成double类型,之后的加、减类似。转化规则为char,short->int->unsigned->long->double←float。 (16)D 【解析】在ANSI标准中,l
9、ong、int和short分别占用4、2和2个字节。但实际上对于某些C编译系统,int和short都占用4个字节,所以说各种类型数据占用内存大小是由选择何种C编译系统决定的。 (17)B 【解析】本题考查通过scanf函数输入数据时的格式控制问题。变量j的格式控制为“%2d”,即只接收输入数据的前两位,从第三位开始直到空格之间的输入都会被保存到变量y中,因为y为浮点型数据,所以输出结果为选项B)。 (18)B 【解析】对于do…while循环,程序先执行一次循环体,再判断循环是否继续。本题先输出一次i的值“0,”,再接着判断表达式i++的值,其值为0,所以循环结束。此时
10、变量i的值经过自加已经变为1,程序再次输出i的值“1”。
(19)D
【解析】 if…else语句的执行过程如下,首先计算if后面一对圆括号内表达式的值,若表达式的值为非0,执行if子句,然后跳过else子句,去执行if语句后的下一条语句;若表达式的值为0,跳过if子句,去执行else子句,接着去执行if语句后的下一条语句。C语言的语法规定,else子句总是与前面最近的不带else的if匹配,与书写格式无关,本题目的后一个if-else相当于嵌套在第一个if子句里,相当于x
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818