C、在函数内定义的变量只在本函数范围内有效D、函数内的复合语句中定义的变量在本函数范围内有效 42、 (ABD)。以下不正确的说法是 。
A、定义函数时,形参的类型说明符可以放在函数体内 B、return后边的值不能为表达式
C、如果函数的类型与返回值类型不致,以函数类型为准 D、如果形参与实参的类型不一致,以实参类型为准。 43、 (CD)。以下描述正确的是 。
A、函数定义可以嵌套,函数调用也可以嵌套。 B、函数中,不可以有多条return语句 C、全局变量可在函数外的任何位置定义 D、函数定义不可以嵌套,函数调用可以嵌套。 44、 (CD)。以下叙述中不正确的是_____。
A、预处理命令行都必须以#号开始 B、在程序中凡是以#号开始的语句行都是预处理命令行 C、C程序在执行过程中对预处理命令行进行处理 D、以下是正确的宏定义 #define IBM_PC 45、 (AD)。以下有关宏替换的叙述不正确的是____。 A、宏替换占用运行时间 B、宏替换只是字符替换 C、宏名无类型 D、宏名必须用大写字母表示
46、 (ABC)。对语句“int a[10],*p=a;”,下列表述中不正确的 。 A、*p被赋初值为a数组的首地址 B、*p被赋初值为数组元素a[0]的地址 C、p被赋初值为数组元素a[1]的地址 D、p被赋初值为数组元素a[0]的地址
47、 (BC)。下面判断正确的是 。A、char *a=”china”;等介于char *a;*a=”china”; B、char str[]={”china”};等介于char str[6];str[6]=”china”;
C、char *s=”china”;等介于char *s;s=”china”; D、char *s=”china”;等介于char s[10];*s=”china”; 三、单项选择题(共358小题)
1、 (A)。一个C程序的执行是从_____。A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束
2、 (C)。C语言规定:在一个源程序中,main函数的位置 。A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后 3、 (B)。一个C语言程序是由 . A)一个主程序和若干子程序组成B)函数组成C)若干过程组成 D)若干子程序组成 4、 (B)。c程序的基本单位是 。A、 标识符 B、函数 C、表达式 D、语句 5、 (B)。将C源程序进行 可得到目标文件。A、编辑 B、编译 C、连接 D、拼接 6、 (C)。目标文件的扩展名为 。A、.c B、.h C、.obj D、.exe
7、 (D)。在turbo c环境下,使用Run命令运行正确的C源程序后,新生成文件的扩展名为 。A、.c B、.h C、.obj D、.exe 8、 (A)。C语言属于 。A、高级程序设计语言 B、汇编语言 C、机器语言 D、编译语言
共 52 页 第 11 页
9、 (B)。用C语言编写的源文件经过编译,若没有产生编译错误,则系统将- 。 A、生成可执行目标文件 B、生成目标文件C、输出运行结果 D、自动保存源文件
10、 (D)。在C集成环境执行菜单命令“运行”,若运行结束且没有系统提示信息,说明---。A、源程序有语法错误 B、源程序正确无误C、源程序有运行错误 D、源程序无编译、运行错误,但仅此无法确定其正确性
11、 (C)。程序运行输出了错误的结果,可以排除下列哪一个因素。 A、算法错误 B、运行时输入数据错误 C、未通过编译 D、系统资源配置不当 12、 (D)。软件是指:A、程序B、程序和文档C、算法加数据结构D、程序、数据和相关文档的完整结合 13、 (A)。软件调试的目的是:A、发现错误B、改正错误C、改善软件的性能D、验证软件的正确性
14、 (D)。以下关于long,int和short类型数据占用内存大小的叙述中正确的是:A、均占用4个字节B、根据数据的大小决定C、由用户自己定义D、由c语言编译系统决定
15、 (B)。若程序中有宏定义行:#define N 100,则以下叙述中正确的是:A、宏定义行中定义了标识符N的值为整数100 B、在编译程序对c源程序进行预处理时,用100替换N C、对c源程序进行编译时用100替换标识符N D、在运行时用100替换标识符N
16、 (D)。结构化程序设计主要强调的是 A)程序的规模 B)程序的效率C)程序设计语言的先进性 D)程序易读性 17、 (D)。以下描述错误的是 A)C程序中,函数可以直接或间接的调用自己 B)函数调用时,函数名必须与所调用的函数名字完全一致 C)函数说明语句中的类型必须与函数返回值的类型一致 D)实参数可以与形参个数不一致
18、 (D)。下列不合法的指针变量的定义是A)int *_k; B)char *_245;C)int *p; D)double *5_is 19、 (D)。以下对一维数组c进行正确的定义初始化的语句是
A)int c[10]=0; B)int c[10]={0}*10;C)int c[1]={0,0,0,0,0,0,0}; D)int c[10]={0}; 20、 (C)。以下二维数组c的定义形式是 A)int c[3][] B)float c[3,4]C)double c[3][4] D)float c(3)(4) 21、 (C)。已知:int c[3][4];则对数组元素引用正确的是 A)c[1][4]B)c[1.5][0]C)c[1+0][0]D)以上表达都错误 22、 (C)。若有以下语句,则正确的描述是
char a[]=\ char b[]={′t′,′o′,′y′,′o′,′u′};
A)a数组和b数组的长度相同 B)a数组长度小于b数组长度 C)a数组长度大于b数组长度 D)a数组等价于b数组 23、 (D)。已知:char a[15],b[15]={\则在程序中能将字符串I love china赋给数组a的正确语句是 A)a=\)strcpy(b,a);C)a=b; D)strcpy(a,b); 24、 (A)。阅读下面程序,则执行后的结果 为#include \main()
{ char *str=\
共 52 页 第 12 页
while(*str++!=′e′);
printf(\\n\);}A)f B)a C)e D)q
25、 (A)。C语言源文件的扩展名为 。A、.c B、.h C、.obj D、.exe
26、 (C)。C源程序中调用了库函数putchar(),在程序的一开始没有使用文件包含命令,则: A、程序可正常运行 B、程序在编译时提示出错 C、程序在连接是提示出错 D、以上说法都不对 27、 (C)。以下说法正确的是()A、在C程序中无论是整数还是实数都能被准确无误的表示 B、C程序由若干主函数构成 C、C程序有若干函数构成 D、C程序中只允许包含一个函数 28、 (C)。以下叙述不正确的是 。A)用C程序实现的算法必须要有输入和输出操作。
B)用C程序实现的算法可以没有输出但必须要有输入。 C)用C程序实现的算法可以没有输入但必须要有输出。 D)用C程序实现的算法可以既没有输入也没有输出。
29、 (D)。C语言程序的三种基本结构是 .A. 循环结构 转移结构 顺序结构 B、递归结构 循环结构 转移结构 C、嵌套结构 递归结构 顺序结构 D、顺序结构 选择结构 循环结构
30、 (C)。若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52
31、 (A)。已知变量的类型说明如下:int i =8,k,a,b; unsigned long w=5;double x=1.42,y=5.2; 则以下符合C语言语法的表达式是 。A、a+=a-=(b=4)*(a=3) B、a=a*3=2 C、x%(-3) D、 y=float(i) 32、 (B)。假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 A)7 B)8 C)6 D)2 33、 (B)。下面四个选项中,均是合法的用户标识符的选项是 。 A) void B)as_b3 C)For D)2c define _123 -abc DO WORD IF case SIG
34、 (C)。C语言中的标识符第一个字符 。A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符
35、 (C)。判断char 型变量ch是否为大写字母的正确表达式是 。A、’A’<=ch<=’z’ B、(ch>=’A’)&(ch<=’Z’) C、(ch >=’A’)&&(ch<=’Z’) D、(‘A’<=ch)AND(‘Z’>=ch)
36、 (D)。设x、y和z是 int型变量,且x=3, y=4, z=5,则下面表达式中值为0的是 。A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x 37、 (B)。设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值 。A、1 B、2 C、3 D、4 38、 (B)。若有语句 int a=5 ; 则执行语句a+=a*=10 ; a的值是 。A、55 B、100 C、60 D、105 39、 (A)。设有 int x=11; 则表达式(x++*1/3)的值 。 A、3 B、3.6 C、4 D、4.0 第 13 页 共 52 页 40、 (B)。下列语句输出结果是 。 int a=1,b=1,c=1; a=a+++b+++c; printf(“%d”,a);A、3 B、4 C、5 D、6 41、 (B)。下列语句合法的是 A、4+c=b=0 ; B、a=++c; C、a=2=b=6; D、a=4++; 42、 (C)。语句组 int x ; printf(“%d”,((x=4*5,x*5),x+25)) A、125 B、100 C、45 D、20 43、 (C)。下列输出结果是 。main(){double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(“%d”,d*y);}A、3 B、3.2 C、0 D、3.07 44、 (B)。若变量a, i已经正确定义,且i已经正确赋值,合法语句是 。A、a==1 B、++i; C、a=a++=5 ; D、a=int(i); 45、 (C)。在c语言中,char型数据在内存中以 形式存储。A、原码 B、补码C、ASCII码 D、反码 46、 (C)。关于运算符优先顺序的描述正确的是 .A、关系运算符<算术运算符<赋值运算符<逻辑运算符 B、逻辑运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 47、 (D)。int a;float f;double i;表达式15+i*f+’A’-a的值是 型A、float B、int C、char D、double 48、 (A)。已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为A)D B)68 C)不确定的值 D)C 49、 (A)。若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为 A) 7 B) 8 C) 9 D) 10 50、 (D)。在C语言中,int、char和short种类型数据在内存中所占用的字节数A)由用户自己定义 B)均为2个字节C)是任意的 D)由所用机器的机器字长决定 51、 (A)。若有说明语句:char c='\\72'则变量c A)包含1个字符 B)包含2个字符C)包含3个字符 D)说明不合法,c的值不确定 52、 (A)。若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2?500000 B)2.7500OO c) 3.500000 D) 0.000000。 53、 (C)。设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为 A)int B) float C) double D)不确定 54、 (C)。设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为:A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 55、 (D)。执行语句组 int a,b;b=(a=4*9,a*2),a-3;后,b的值是 。 A) 36 B) 69 C) 33 D) 72 56、 (A)。字符常量‘\\101’是 。 A) 字符A B)字符a C) 字符e D) 非法的常量 57、 (C)。若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是。 A) 1 B) 2 C) 2.0 D) 2.5 58、 (D)。设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 。 A)6.500000 B) 6 C) 5.500000 D) 6.000000 59、 (C)。以下非法的赋值语句是 。 A) n=(i=2,++i); B) j++; 2 C) ++(i+1); D) x=j>0; 60、 (A)。下列选项中可以正确表示字符型常量的是 。 A)‘\\r' B)\ 61、 (A)。下列用于printf函数的控制字符常量中,代表“退格”的转义字符常量是 。 A)‘\\b' B)‘\\t' C) ‘\\r' D) ‘\\f' 62、 (D)。以下不能定义为用户标识符是 。(A)Main (B)_0 (C)_int (D)float 63、 (A)。有以下程序 main(){ int m=12,n=34; 共 52 页 第 14 页 printf(\ 程序运行后的输出结果是 。 (A)12353514 (B)12353513 (C)12343514 (D)12343513 64、 (A)。设x、y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和z的值是_____. A. x=10 y=15 z=10 B. x=10 y=10 z=10 C. x=10 y=10 z=15 D. x=10 y=5 z=10 65、 (D)。以下不正确的语句(设有int p,q)是( )。A.p*=3; B.p/=q; C.p十=3; D.p&&=q; 66、 (A)。设n=10,i=4、则赋值运算n%=i+1执行后,n的值是( ). A.0 B.3 C.2 D.1 67、 (D)。巳知字母A的ASCII码是65,以下程序的执行结果是( )。 main(){char c1='A',C2='Y';printf(\ 68、 (A)。下面四个选项中,是不合法的用户标识符的选项是 。A、 abc.c B 、file C、Main D、PRINF 69、 (C)。下面四个选项中,是不合法的用户标识符的选项是 。A、 _123 B 、printf C、A $ D、Dim 70、 (B)。c语言中基本数据类型包括 。A.整型、实型、逻辑型 B.整型、实型、字符型 C.整型、字符型 、逻辑型 D.整型、实型、逻辑型、字符型 71、 (B)。按照c语言规定的用户标示符命名规则,不能出现在标示符中的是 。A.大写字母 B.连接符0 C.数字字符 D.下划线 72、 (A)。合法的c语言标示符是 。A._1 B.1_ C.1 D.#1. 73、 (A)。以下常量正确的是 。A.“abc” B.'abc' C.3.1E-1.5 D.12B 74、 (D)。“e2”是 。A、实型常数100 B、值为100的整型常数 C、非法标识符 D、合法标识符 75、 (C)。在C语言中,变量所分配的内存空间大小 。A、均为一个字节 B、由用户自己定义 C、由变量的类型决定 D、是任意的 76、 (C)。要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的 。 A、float x,y,z=3.14; B、float x,y,z=3*3.14; C、float x=3.14,y=3.14,z=3.14; D、float x=y=z=3.14; 77、 (C)。下列不正确的转义字符是 。A、'\\\\' B、'\\\、'074' D、'\\0' 78、 (C)。若有说明和语句: int a=5; a++; 此处表达式a++的值是 。A、7 B、6 C、5 D、4 79、 (C)。设以下变量均为int类型,则值不等于7的表达式是A) (x= y= 6, x+y,x+1) B)(x= y= 6,x+y,y+1) C) (x= 6,x+1,y= 6,x+y) D) (y=6,y+l,x = y,x+1) 80、 (C)。下面正确的字符常量是:A)\81、 (A)。已知各变量的类型说明如下: int k,a,b; unsigned long w= 5; double x=1.42; 则以下不符合C语言语法的表达式是:A) x%(一3) B) w+=-2 C)k=(a=2,b=3,a十b) D)a十= a一=(b=4)*(a=3) 共 52 页 第 15 页