章节
1
题干
A B
C D E
F 答案
难度
图片
C 语言源程序的基本单位是()。 过程
中
87
函数
子程序 标识符
B
1 下列字符序列中,可用作 C 标识符的一组字符序列是()。 S.b,sum,average,_above
class,day,lotus_1,2day #md,&12x,month,student_n! D56,r_1_2,name,_st_1
D 中
88
1 以下标识符中,不能作为合法的 C 用户定义标识符的是()。 a3_b3
void _123
IF
B 中
89
1 以下数据中,不正确的数值或字符常量是()。 0
5L o13 9861
中
90
1 以下数值中,不正确的八进制数或十六进制数是()。 0x16
16
-16 0xaaaa
C 中
91
1 以下的选择中,正确的赋值语句是()。 a=1,b=2 j++ a=b=5;
y=int(x)
C
C
中
92
1 以下运算符中,优先级最高的运算符是()。 ?:
++ && ,
B 中
93
1 在 C 语言中,能代表逻辑值“真”的是()。 True 大于 0 的数 非 0 整数
数
1 下列变量说明语句中,正确的是()。 char:a b c;
char a;b;c;
D 中
94
非 0 的
int
x,z;
int x;z;
D 中
95
1 下列字符序列中,不可用作 C 语言标识符的是()。 b70 #ab symbol
a_1
B 中
96
1 以下不正确的叙述是()。 在 C 程序中所用的变量必须先定义后使用 程序中,APH
和 aph 是两个不同的变量 若 a 和 b 类型相同,在执行了赋值语句 a=b;后 b 中的值将放入
a 中,b 中的值不变 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只
能输入实型值
1 以下标识符中,不能作为合法的 C 用户定义标识符的是()。 For Printf WORD
D 中
97
sizeof(长度运算符)
D 中
98
1 以下标识符中,不能作为合法的 C 用户定义标识符的是()。 answer
to
signed
_if
C 中
99
1 以下标识符中,不能作为合法的 C 用户定义标识符的是()。 putchar _double
_123
INT
A 中
100
1 以下数据中,不正确的数值或字符常量是()。 8.9e1.2
10
0xff00
82.5
A 中
101
1 以下数据中,不正确的数值或字符常量是()。 c
66
0xaa50
102
1 以下运算符中,优先级最高的运算符是()。 *= >= (类型)
+
A 中
C 中
103
1 以下运算符中,优先级最高的运算符是()。 || % !
==
C 中
104
1 以下运算符中,优先级最高的运算符是()。 =
!= *(乘号)
()
D 中
105
1 以下叙述中不正确的是()。 一个好的程序应该有详尽的注释
值运算符的优先级最低
在 C 程序中,赋
在 C 程序中,j++;是一条赋值语句 C 程 序 中 的 #include 和
106
C 中
B 中
#define 均不是 C 语句
1 设 C 语言中,int 类型数据占 2 个字节,则 long 类型数据占()。 1 个字节 2 个 字
节 4 个字节 8 个字节
1 设 C 语言中,int 类型数据占 2 个字节,则 short 类型数据占()。 1 个字节 2 个 字
节 4 个字节 8 个字节
1
C 语言中,double 类型数据占()。 1 个字节 2 个字节 4 个字节 8 个字节
中
C 语言中,char 类型数据占()。 1 个字节 2 个字节 4 个字节 8 个字节
中
B 中
107
108
109
1
D
A
110
111
B 中
"下列程序的输出结果是()。
1 设 C 语言中,int 类型数据占 2 个字节,则 unsigned 类型数据占()。 1 个字节 2
个字节 4 个字节 8 个字节
1
main()
{char c1=97,c2=98;
printf(""%d %c"",c1,c2);
}"
1
y=10;x=y++;" x=10,y=10
97 98
"执行下列语句后变量 x 和 y 的值是()。
97 b a 98 a b
x=10,y=11
x=11,y=10
x=11,y=11
B 中
C 中
112
113
1 下列数据中,为字符串常量的是()。 A "house" How do you do.
$abc
B 中
114
1 先用语句定义字符型变量 c,然后要将字符 a 赋给 c,则下列语句中正确的是()。
c="a";
c='a';
"下列语句的结果是()。
c="97"; C='97'
1
main()
{ int j;
j=3;
A 中
115
printf(""%d,"",++j);
printf(""%d"",j++);
}"
1 设 a=12,且 a 定义为整型变量。执行语句 a+=a-=a*=a;后 a 的值为()。 12
3,3 3,4 4,3 4,4
D 中
116
144 0
C 中
132
"已知 year 为整型变量,不能使表达式(year%4==0&&year%100!=0)
1
||year%400==0 的值为“真”的数据是()。" 1990
1992
1996
2000
117
A 中
118
1 下列运算符中,不属于关系运算符的是()。 <
>
>= !
D 中
119
"假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b 的值
1
是()。"7
1 以下不符合 C 语言语法的赋值语句是()。 a=1,b=2 ++j; a=b=5;
B 中
120
8
9
2
y=(a=3,6*5);
A 中
121
1 以下不符合 C 语言语法的赋值语句是()。 j++; j=j=5;
k=2*4,k*4;
y=float(j);
D 中
122
1
"执行下列程序后,其输出结果是()。
a=9;
main()
{int
a+=a-=a+a;
printf(""%d\n"",a);
}"
1
printf(""%d\n"",(int)(2.5+3.0)/3);" 有语法错误不能通过编译 2
18
"下列语句的输出结果是()。
C 中
-18 -9
123
9
124
1
0
C 中
"下列程序的输出结果是()。
5
1 不确定值
0
"下列程序的输出结果是()。
a=7,b=5;
1
main()
{int
printf(""%d\n"",b=b/a);
}"
1
main()
{int
printf(""%d\n"",++a);
}"
1
main()
{
a=011;
11
A 中
125
126
10
12
"下列程序的输出结果是()。
9
C 中
printf(""%d\n"",null);
}"
1
int k=-1; printf(""%d,%u\n"",k,k);"
1
0 变量无定义 -1
"若 int 类型数据占两个字节,则下列语句的输出为()。
B 中
127
-1,-1-1,32767 -1,32768 -1,65535
D 中
6f
15
70
15
129
6f 16
128
"若 k,g 均为 int 型变量,则下列语句的输出为()。
D 中
printf(""%x\n"",g++);"
"若 k 为 int 型变量,则以下程序段的执行结果是()。
16
"以下程序段的执行结果是()。
x;x=218.82631; printf(""%-6.2e\n"",x);"输出格式描述符的域宽不够,不能输出 输
1
k=017; g=111; printf(""%d\t"",++k);
71
1
double
出为 21.38e+01 输出为 2.2e+02 输出为-2.14e2
1
k=-8567; printf(""|%06D|\n"",k);" 格式描述符不合法,输出无定值 输出为|%06D|输 出 为
|0-8567| 输出为|-8567|
1
则以下程序段的执行结果是()。
ch='a';
述符的类型不匹配,输出无定值
61,141,k=%d 61,141,k=%12
printf(""k=%%d\n"",k);" 因变量类型与格式描
输出项与格式描述符个数不符,输出为零值或不定值
"若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 十进制代码为 97),
printf(""%x,%o,"",ch,ch,k);
C 中
B 中
C 中
k=12;
130
131
132
1 若有以下定义:char
s 的值不确定 使 s 的值包含 4 个字符 使 s 的值包含 3 个字符
1 若 a 是 float 型 变 量 , b 是 unsigned 型 变 量 , 以 下 输 入 语 句 中 合 法 的 是 ( )。
s='\092'; 则该语句()。 使 s 的值包含 1 个字符 定义不合法,
B 中
133
scanf("%6.2f%d",&a,&b);
scanf("%f%n",&a,&b); scanf("%f%3o",&a,&b);
a--;
C 中
135
C 中
134
a=38.4,b=6.4,x;
"下列程序的输出结果为()。
scanf("%f%f",&a,&b);
"已知字母 a 的 ASCII 十进制代码为 97,则执行下列语句后的输出结果为()。
1
char a='a';
printf(""%d,%c\n"",a+'2'-'0',a+'3'-'0');" b,c a--运算不合法,故有语法错 98,c 格 式描 述和 输出
项不匹配,输出无定值
1
main()
{int m=7,n=4;
float
x=m/2+n*a/b+1/2;
printf(""%f\n"",x);
}"
136
1 若给定条件表达式(M)?(a++):(a--),则其中表达式 M()。 和(M==0)等价 和
(M==1)等价 和(M!=0)等价和(M!=1)等价
1
main()
{int
i=(--a==b++)?--a:++b;
j=a++;k=b;
printf(""i=%d,j=%d,k=%d\n"",i,j,k);
}"
1
i=2,j=1,k=3
a,b 为整型变量,二者均不为 0,以下关系表达式中恒成立的是()。 a*b/a*b==1
a/b*b/a==1
"以下程序的输出结果是()。
a/b*b+a%b==a
i,j,k,a=3,b=2;
i=1,j=1,k=3
i=4,j=2,k=4
i=1,j=1,k=2
28.500000
27.000000
27.500000
28.000000
a/b*b==a
C 中
137
D 中
138
C 中
139
A 中
1 为 了 提 高 程 序 的 运 行 速 度 , 在 函 数 中 对 于 整 型 或 指 针 可 以 使 用 ( ) 型 的 变 量 。
B 中
141
auto register
extern
"以下程序的输出结果为()。
static
i=010,j=10;
1
main()
{int
printf(""%d,%d\n"",++i,j--);
11,10
}"
1
C 语言中以下几种运算符的优先次序()的排列是正确的。 由高到低为:!,&&,||,算
术运算符,赋值运算符 由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符 由高到低为:
算术运算符,关系运算符,赋值运算符,!,&&,|| 由高到低为:算术运算符,关系运算符,!,&&,||,
赋值运算符
1 设 a 为整型变量,初值为 12,执行完语句 a+=a-=a*a 后,a 的值是()。 552 144 264
9,10 010,9
B 中
B 中
10,9
142
143
-264
"经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在
D 中
144
1
微机上的值分别为()。
char x=65;
float y=7.3;
int
a=100;
double
1
long
a=0xffffff;
b=4.5;"
2,2,2,4
"用下列语句定义 a,b,c,然后执行 b=a、c='b'+b,则 b,c 的值是()。
1,2,2,4
1,4,2,8
2,4,2,8
C 中
145
int
b;
char
146
c;" 0ffffff 和 0x61
-1 和 98 -1 和 97 指向同一地址
C 中
C 语言中要求对变量作强制定义的主要理由是()。 便于移植
便于写文件 便
B 中
147
D 中
148
-63,-64
"执行下列语句后,a 和 b 的值分别为()。
1
int a,b;
a=1+'a';
b=2+7%-4-'A';"
1
于编辑预处理程序的处理 便于确定类型和分配空间
1
main()
{float x=3.6;
"以下程序的输出结果是()。
98,-60
79,78
1,-60
i;
int
i=(int)x;
printf(""x=%f,i=%d\n"",x,i);
}"
x=3,i=3 x=3.600000,i=3
x=3.600000,i=4
149
"经过以下语句定义后,表达式 z+=x>y?++x:++y 的值为()。
x=3 i=3.600000
C 中
150
C 中
D 中
151
i=2,sum=1 运行出现错误
5
"以下程序的运行结果是()。
3
6
1
int x=1,y=2,z=3;" 2
1
main()
{
i=1,sum=0;
int
sum=sum+1;i++;
while(i<10)
printf(""i=%d,sum=%d"",i,sum);
i=10,sum=9
"以下程序的运行结果是()。
i=9,sum=9
}"
1
main()
{
int n;
for(n=1;n<=10;n++)
{
}
if(n%3==0) continue;
printf(""%d"",n);
}"
1
达式()。" 只能用逻辑表达式
式 可用任意表达式
1
表达式是()。"
1
k1=1;
k2=2;
k3=3;
x=15;
(!E==0)
12457810
"在 C 语言中,if 语句后的一对原括号中,用以决定分支的流程的表
1234567890
369 12
A 中
152
只能用关系表达式
只能用逻辑表达式或关系表达
D 中
153
"在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的
(E>0||E<0)
(E==0)
(E!=0)
C 中
154
"假定所有变量均已正确定义,下列程序段运行后 x 的值是()。
if(!k1)
else
if(k2)
x--;
else
x=4;
x=3;" 14
4
15
3
B 中
155
1
"执行下列语句后的输出为()。
int j=-1;
if(j<=1) printf(""****\n"");
else
printf(""%%%%\n"");" ****
%%%% %%%%c 有错,执行不正确
A
156
中
"下列程序的输出结果是()。
1
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{
case
1:switch(y)
{
}
case
case
0:a++;break;
1:b++;break;
case
case
2:a++;b++;break;
3:a++;b++;break;
}
printf(""a=%d,b=%d\n"",a,b);
a=1,b=0 a=2,b=1 a=1,b=1 a=2,b=2
"在 C 语言中,为了结束由 while 语句构成的循环,while 后一对圆括号
B 中
157
1
True 非 0
A 中
158
}"
1
中表达式的值应该为()。"0
1
"下列程序的输出为()。
main()
int
y=10;
{
while(y--);
printf(""y=%d\n"",y);
}" y=0 while 构成无限循环 y=1 y=-1
D 中
159
1
C 语言的 if 语句嵌套时,if 与 else 的配对关系是()。 每个 else 总是与它上面的最近
的 if 配对 每个 else 总是与最外层的 if 配对 每个 else 与 if 的配对是任意的 每 个
else 总是与它上面的 if 配对
1
for(j=0,k=-1;k=1;j++,k++) printf(""****\n"");()。" 循环结束的条件不合法
A 中
"设 j 和 k 都是 int 类型,则 for 循环语句
是 无 限 循 环
160
循环体一次也不执行 循环体只执行一次
B 中
1 下列数组说明中,正确的是()。 int array[][4]; int array[][];
array[3][];
1 下列数组说明中,正确的是()。 static char str[]="China";
str="China";
static
str1[],str2[];str2={"China"}; strcpy(str1,str2);
1 下列定义数组的语句中正确的是()。 #define size 10
static char str1[5],str2[]={"China"}; str1=str2;
A 中
A 中
163
char str[];int num['10'];
int n=5; int a[n][n+2];
char
A 中
161
int array[][][5];
int
static
char
str[];
char
164
str1[size],str2[size+2];
165
1 下列定义数组的语句中不正确的是()。 static int a[2][3]={1,2,3,4,5,6};
a[2][3]={{1},{4,5}};
static int a[][3]={{1},{4}};
static int a[][]={{1,2,3},{4,5,6}};
static
int
D 中
166
static int a[2]={'1','2'};
static
C 中
167
1 下列语句中,不正确的是()。 static char a[2]={1,2};
char a[2]={'1','2','3'};
1
main()
"若输入 ab,程序运行结果为()。
static char a[2]={'1'};
{
char
static
a[3];
scanf(""%s"",a);
printf(""%c,%c"",a[1],a[2]);
}"a,b a,
b, 程序出错
C 中
168
169
可
172
175
C 中
C 中
174
C 中
171
B 中
C 中
170
A 中
int
char
程 序 中 第 一
1 下列说法不正确的是()。 主函数 main 中定义的变量在整个文件或程序中有效 不
同函数中,可以使用相同名字的变量 形式参数是局部变量 在一个函数内部,可以在复合语
句中定义变量,这些变量只在复合语句中有效
1 关于 return 语句,下列正确的说法是()。 不能在主函数中出现且在其他函数中均
可出现 必须在每个函数中出现
可以在同一个函数中出现多次 只能在除主函数之外
的函数中出现一次
1 在 C 语言的函数中,下列正确的说法是()。 必须有形参 形参必须是变量名
以有也可以没有形参 数组名不能作形参
1 在 C 语言程序中()。 函数的定义可以嵌套,但函数的调用不可以嵌套 函 数 的 定 义
不可以嵌套,但函数的调用可以嵌套 函数的定义和函数调用均可以嵌套 函 数的 定义 和函
数调用不可以嵌套
1
个函数 程序中的 main 函数 包含文件中的第一个函数
1
173
C 语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为()。 void
double
C 语言程序中,当调用函数时()。 实参和虚参各占一个独立的存储单元
C 语言执行程序的开始执行点是()。 程序中第一条可以执行语言
实 参 和
可以由用户指定是否共用存储单元 计算机系统自动确定是否
A 中
1
虚参可以共用存储单元
共用存储单元
1 数组名作为实参数传递给函数时,数组名被处理为()。 该数组的长度
的元素个数 该数组的首地址 该数组中各元素的值
1 以下描述中,正确的是()。 预处理是指完成宏替换和文件包含中指定的文件的调
用 预处理指令只能位于 C 源文件的开始 C 源程序中凡是行首以#标识的控制行都是预
预处理就是完成 C 编译程序对 C 源程序第一遍扫描,为编译词法和语法分析作
处理指令
准备
1 以下对 C 语言函数的描述中,正确的是()。 C 程序必须由一个或一个以上的函数组
成 C 函数既可以嵌套定义又可以递归调用 函数必须有返回值,否则不能使用函数 C
程序中有调用关系的所有函数必须放在同一个程序文件中
1
exce((v1,v2),(v3,v4,v5),v6);" 3
1
func((e1,e2),(e3,e4,e5));"
1
达式一种
函数调用作为函数表
函数调用作为语句、函数表达式或函
C 语言中函数调用的方式有()。 函数调用作为语句一种
"以下函数调用语句中实参的个数是()。
"以下函数调用语句中实参的个数是()。
函数调用作为语句或函数表达式两种
5 语法错误
C 中
176
C 中
177
A 中
178
A 中
179
A 中
180
4
3
2
该 数 组
5
6
181
"执行下面程序后,输出结果是()。
D 中
数参数三种
1
main()
{ a=45,b=27,c=0;
c=max(a,b);
printf(""%d\n"",c);
}
int max(x,y)
x,y;
int
{ int z;
z=x;
z=y;
if(x>y)
else
return(z);
18
27
}"45
72
A 中
182
"以下程序的输出结果为()。
1
main()
{int a=1,b=2,c=3,d=4,e=5;
printf(""%d\n"",func((a+b,b+c,c+a),(d+e)));
}
int
func(int x,int y)
{
return(x+y);
}"
15
13
9 函数调用出错
B 中
183
#define S 345 int max(x,y);
int x,y;
C 中
}static char c;
"下列程序运行结果为:
1 下列定义不正确的是()。 #define PI 3.141592
{
1
#define P 3
#define S(a)
main()
{int
P*a*a
184
ar;
ar=S(3+5);
printf(""\n%d"",ar);
25
}" 192 29
27
B 中
185
"已知 p,p1 为指针变量,a 为数组名,j 为整型变量,下列赋值语句中
1
不正确的是()。"p=&j,p=p1;
186
1 经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。 p=p+2;
p=a; p=&a[j]; p=10;
D 中
p=a[2]+2;
p=&(j+2);
1 两个指针变量不可以()。 相加
A 中
比较
187
相减
指向同一地址
中
188
p=a[5];
A
int *p=x; int *p=&x;
1 若已定义 x 为 int 类型变量,下列语句中说明指针变量 p 的正确语句是()。 int
p=&x;
1 关于指针概念说法不正确的是()。 一个指针变量只能指向同一类型变量
量的地址称为该变量的指针
变量之中
一 个 变
只有同一类型变量的地址才能放到指向该类型变量的指针
指针变量可以由整数赋,不能用浮点赋
C 中
*p=*x;
189
D 中
190