第六卷
一、单项选择题
1.C语言程序执行总是在 C 后结束。
A.最后一个函数的最后一条语句
printf是不是c语句B.程序文件的最后一条语句
C.main函数的最后一条语句
D.自定义位置
2.下列是合法的C语言常量 B 。
A.Oxh
B.3.14e2
C.3.14e2.5
D.1A
3.以下选项中可以作为变量名的是 A 。
A.Xyz
B.Int
C.<delete>
D.hp#
4.C语言程序中,运算对象必须是整型的运算符是 C 。
A.&&
B./
C.%
D.*
5.若定义:int i=3,j=4,x,y;,则执行语句:x=i++;y=j--;后,i,j,x,y的值分别是 B 。
A. 4,3,4,3
B. 4,3,3,4
C. 3,4,3,4
D. 3,44,3
6.设有定义;char c1=’b’,c2=’e’;,则执行语句printf(“%c”,(c2,c1));后输出结果是 A 。
A.b
B.e
C.1
D.2
7.设有float f1=2.6,f2=2.5;,则表达式(int)f1+f2的值为 B 。
A. 5
B. 4.5
C. 4
D. 5.5
8.已知:int x=0;,则表达式!x的值等于 B 。
A. 0
B. 1
C. 0.0
D. 1.0
9.有定义:float a=123.45;,执行语句printf("%4.2f\n",a);后,屏幕输出结果是___A___。
A. 123.45
B. 123.4
C. 23.45
D. 123.450000
10.已知:int x;,语句if(x);中的表达式x等价于_ _B___。
A. x == 0
B. x != 0
C. x == 1
D. x != 1
11.执行以下程序段后的输出结果是 B 。
int x=1,a=0,b=0;
switch(x)
{
case 0:a++;
case 1:b++;
case 2:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
A. a=2,b=1
B. a=1,b=2
C. a=1,b=1
D. a=2,b=2
12.设有int i;,则以下循环中printf("%d",i);语句执行_ C____。
i=1;
for(;i<=2;i++)
printf("%d",i);
A. 0次
B. 1次
C. 2次
D. 无限次
13.执行以下程序段后,输出的结果是___B___。
int y=0;
do
{
y=y+2;
}
while(y>10);
printf("%d\n",y);
A. 0
B. 2
C. 10
D. 11
14.执行以下程序段后,输出的结果是__A__。
int y;
for(y=1; ;y++)
{
if(y==5) break;
}
printf("%d\n",y);
A. 5
B. 6
C. 7
D. 8
15.设有定义:int a[10];,则对a数组元素引用不正确的是___A__。
A.a[10]
B.a[3+5]
C.a[10-10]
D.a[5]
16.若有定义int a[5][5];,则能正确对数组元素赋值的语句是____D___。
A. a[][]=10;
B. a[][0]=10;
C. a[0][]=10;
D. a[0][0]=10;
17.已知:char b[20];,若要从键盘输入字符串"Hello World!",则正确的输入语句是___C___。
A. scanf("%c",b);
B. scanf("%s",b[20]);
C. gets(b);
D. gets(b[20]);
18.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是___D___。
A. 函数调用可以出现在表达式中
B. 函数调用可以作为独立的语句存在
C. 函数调用可以作为一个函数的实参
D. 函数调用可以作为一个函数的形参
19.下面描述中正确的是_ A__。
A.全局变量定义在函数体之外
B.函数体内也可以定义全局变量
C.形参可以是全局变量,也可以是局部变量
D.局部变量可以被其它函数使用
20.执行以下程序后,输出结果是__ C _。
#include <stdio.h>
void fun(int a,int b,int c)
{
c=a*b;
}
void main()
{
int c=4;
fun(2,3,c);
printf("%d\n",c);
}
A. 0
B. 1
C. 4
D. 6
21.执行以下程序段后,a的值是___D___。
int a=10, *p = &a;
a++;
*p += 2;
A. 10
B. 11
C. 12
D. 13
22.已知:char b[6],*p=b;,则正确的赋值语句是__C__。
A. b="abcde";
B. *b="abcde";
C. p="abcde";
D. *p="abcde";
23.执行以下程序后,输出结果是__D__。
#include <stdio.h>
#define S(y) (y)*(y)
void main( )
{
int a=8,b=9;
printf("%d",S(a+b));
}
A. 64
B. 81
C. 89
D. 289
24.设有:
struct student
{
char name[10];
int age;
char sex;
}std={"Li Ming",19,'M'},*p;
p=&std;
则下面各输出语句中错误的是___D___。
A. printf("%d", (*p).age);
B. printf("%d", p->age);
C. printf("%d", std.age);
D. printf("%d", p.age);
25.在C语言中,若使用"r+"方式打开文件,以下选项中错误的是_ D___。
A. 文件必须存在
B. 可以进行读操作
C. 可以进行写操作
D. 只能进行读操作
程序改错题
每题15分,共30分
(1)程序中标有/*ERROR*/的程序行有错,请直接在该行修改。
(2)请勿删除或修改/*ERROR*/错误标志。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论