|
《C语言》模拟自测题3 一选择题
1下面四个选项中,均是不合法的用户标识符的选项是( )。
A)A B) float C) b-a D) _123
p_0 lao goto temp
do _A int INT
2下面四个选项中,均是不合法浮点数的选项是( )。
A)160. B) 123 C)-018 D) -e3
0.12 2e4.2 123e4 .234
e3 .e5 0.0 1e3
3下面四个选项中,均是不正确的八进制或十六进制数的选项是( )。
A)016 B)0abc C)010 D)0a12
0x8f 017 -0x11 7ff
018 0xa 0x16 -123
4 C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。
(A)地址传递 (B)单向值传递 (C)有实参传给形参,再由形参传回给实参 (D)由用户指定传递方式
5可用作用户标识符的一组标识符是( )。
A)void B)a3_b3 C)For D)2a
define _xyz -abc DO
WORD IF Case sigeof
6 以下描述中,正确的是( ) 。
A)预处理是指完成宏替换和文件包含中指定的文件的调用
B)预处理命令只能位于C源程序的开始
C)凡是以"#"标识的控制行都是预处理命令 D)预处理是在编译之前处理
答案为D
7在下列for循环中,其循环次数是( )
for(x=1,y=0;(y!=123)&&(x<4); x++);
A)4 B)3 C)1 D)无数多次
8 语句while(!e==0);什么时候将会陷入死循环( )
A)e==0 B)e!=0 C)e!=1 D)e!=-1
9现已定义整型变量inti=1;
执行循环语句while(i+ +<5);后,i的值为( )。
A)1 B)5 C)6 D)以上三个答案均不正确
10设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。
A)int B)float C)double D)不确定
11若有说明语句:charc='\72';则变量c ( )。
A)包含1个字符 B)包含2个字符
C)包含3个字符 D)说明不合法,c的值不确定
12设X、Y、Z都是int整型变量,且x=2,y=3, z=4,则下面的表达式中,值为0的表
达式是( )。
A)'x'&&'z' B) (!y==1)&&(!z= = 0)
C)(x<y)&&!z||1 D)x||y+y&&z-y
13以下叙述中正确的是( )。
A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示
B)若在定义语句double a,b;之后,因为变量a,b已正确定义,因此立刻执行这样的表达式:a=b+9.381是正确的
C)在C程序中,常量、变量、函数调用,都是表达式的一种
D)在main函数中,变量一经定义,系统将自动赋予初始值
14设有说明:charw;int x;float y;double z;则表达式w*x+z-y值的数据类型为( )。
A)float B) char C) int D) double
15假定所有变量均已定义, ok1=1; ok2=2; ok3=3; x=15;
if(!ok1) x--;
else if (ok2) if (ok3) x=3;
else x=4;
上面程序段运行后x的值是:( )
A)14 B)4 C)15 D)3
16在C语言中,逻辑值"真"的表示是用( )。
A)true B) 整型值0 C) 非另整型值 D) T
17以下不正确的叙述是( )。
A)在C程序中,逗号运算的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
18以下结果为整型的表达式(设有int i; char c; float f;)是( )。
A)i+f B)i*c C)c+f D)i+c+f
19设有逗号表达式(a=3*5,a*4),a+15,a的值为( )。
A)60 B)30 C)15 D)90
20设Intn=3;则有表达式n++,n的结果是( )。
A)2 B)3 C)4 D)5
21若在scanf函数语句中没有非格式字符作输入数据的间隔,则可用( )。
作为输入数据的间隔。
A)空格 B)逗号 C)TAB D)回车
22使用scanf函数时,在源程序开头( )。
A)书写#include"stdio.h" B)书写#include <stdio.h>
C)不必写#include<stdio.h> D)书写#include"scanf.h"
23下述程序执行后,变量i的结果是( )
int i;
char *s="a\045+045\''b";
for (i=0;*s++;i++)
A.7 B.8 C.9 D.10
24在C语言中,对函数而言的概念有( )。
A) 函数可以嵌套定义 B) 函数不能嵌套定义 C) 函数可以嵌套调用
D) 函数可以递归调用 E) 函数可以没有返回值
25在下列程序中,调用f(8)的值是( )
int f(int n)
{ if(n==1) return(1);
else if(n==2) return(2);
else return(f(n-1)+f(n-2));
}
(A) 13 (B) 21 (C) 55 (D) 34
二判断题
1、C语言规定标识符只能由字母、数字和小数点三种字符组成。
2、C语言使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。
3、C语言中定义了一个变量,代表内存中的一个地址。
4、表达式3.5+ 1/2 + 56%10的计算结果是7.5 。
5、由赋值运算符将一个变量和一个表达式连接起来的式子称为"赋值表达式"。
6、设C语言中,一个int型数据在内存中占2个字节,则int数据的取值范围为-32768-32769。
7、在使用scanf函数之前应包含头文件"math.h"。
8、在scanf("%c%c",&c1,&c2)函数中,当输入为字符a,b时,将a赋给c1,将b赋给c2。
9、C程序中,函数调用时用数组名作为函数的实参,则传递给形参的是数组的首元素值。
10、假定变量x,y,z在说明时已赋初值,则if ((x=y+5)>0) z=x; 是正确的
11、在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。
12、在printf函数中,格式字符"%5c"可用来输出5个字符。
13、可以对两个实型表达式进行“相等”的判断。
14、C语言的编译系统对宏命令的处理是在对源程序中其他成份正式编译之前进行的。
15、算术运算符的优先级别高于关系运算符
16、inta=0,b=1,c=2,x,y;,则!(x=a)&&(y=b)&&c的值为1
17、return语句可以带有表达式也可以不带。
18、求n!既可以用递归的方式,也可以用递推的方式。
19、与下列程序段等价的赋值语句是 y=x>0?1:x<0?-1:0
if(x>0)y=1;
else if(x<0) y=-1;
else y=0;
20、在C语言中,for语句既可以用于计数类型循环又可以用于条件类型循环。
三、填空题
1、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后,x的值为( )。x%=(n%=2)
2、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为【 】。
3、若a是int型变量,则执行下面表达式后,a的值为【 】。a=25/3%3
4、表达式1/3*3的计算结果是【 】。
5、若a是int型变量,则计算表达式后a的值为【 】。a=25/3%3
6、在输入字符数据时,若"格式控制字符串"中没有非格式字符,则认为所有输入的字符均为【 】字符。
7、在scanf函数中,【 】表示变量a的地址。
8、以下程序的运行结果是【 】。
main()
{printf("%s,%5.3s","computer","computer"); }
9、在C语言中,表示逻辑"真"值用【 】
10、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b/3+c/2的值是【 】
11、设a=-1,b=0,c=1,则表达式a||b+c&&b==c的值是【 】
12、有inta=3,b=4,c=5,x,y;,则以下表达式的值为【 】
!(x=a)&&(y=b)&&c
13、以下程序的输出结果是 ( )。
#define M(x,y,z) x*y+z
main( )
{ int a=1,b=2, c=3;
printf("%d\n", M(a+b,b+c, c+a)); }
14、以下程序中,printf语句执行的次数是( )。
#define N 2
#define M N+1
#define NUM 2*M+1
main( )
{int i;
for(i=0;i<=NUM;i++)
printf("%d\n",i); }
15、若有int i = 10,j=0; 并执行下列程序段:
switch ( i )
{
case 9: i += 1; break;
case 10:
case 11: i -= 2; break;
default: j+= 3; break;
}
则变量i的结果是( )。
以下为本试卷的标准答案:
一选择题
1、C
2、B
3、D
4、B
5、B
6、D
7、B
8、B
9、B
10、C
11、C
12、A
13、B
14、C
15、D
16、D
17、C
18、D
19、B
20、C
21、ACD
22、ABC
23、B
24、BCD
25、D
二判断题
1、错
2、对
3、对
4、错
5、对
6、错
7、错
8、错
9、错
10、错
11、对
12、对
13、错
14、对
15、对
16、错
17、对
18、对
19、错
20、对
三、填空题
1、0
2、9
3、2
4、0
5、2
6、有效
7、&a
8、computer,com
9、非零数
10、1
11、1
12、0
13、12
14、7
15、8
|
|