C语言题库Word下载.docx
《C语言题库Word下载.docx》由会员分享,可在线阅读,更多相关《C语言题库Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
B、t[3]
C、&
t[3][2]
D、t[2]
7.下列说法中正确的是(B).
A、函数调用不占运行时间,只占编译时间.
B、宏替换不占运行时间,只占编译时间.
C、有参数的宏定义,就是函数.
D、在定义宏时,宏名与带参数的括弧之间可以加空格.
8.以下叙述中正确的是(C)。
A、全局变量的作用域一定比局部变量的作用域范围大
B、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
C、静态(static)类别变量的生存期贯穿于整个程序的运行期间
D、函数的形参都属于全局变量
9.下列叙述中正确的是(B)。
A、C语言的子程序有过程和函数两种
B、C语言所有函数都是外部函数
C、C语言的函数可以嵌套定义
D、C语言编译时不检查语法
10.函数的形式参数系统默认存储类型说明是(D)。
A、static
B、extern
C、register
D、auto
11.以下对C语言函数的描述中,正确的是(B)。
A、C函数既可以嵌套定义又可以递归调用
B、C程序必须由一个或一个以上的函数组成
C、函数必须有返回值,否则不能使用函数
D、C程序中有调用关系的所有函数必须放在同一个程序文件中
12.以下不能正确进行字符串赋初值的语句是(A)。
A、charstr[5]="
good!
"
B、charstr[5]={'
g'
'
d'
};
C、char*str="
D、charstr[]="
13.选择正确的输入语句(B).
(其中:
charstring[10];
)使得string的内容为"
.
A、scanf("
%c"
&
string);
B、scanf("
%s"
string);
C、scanf("
D、scanf("
14.以下对二维数组a的正确说明是(D)。
A、inta[3][]
B、floata(3,4)
C、floata(3)(4)
D、doublea[1][4]
15.下列数组说明中,正确的是(B)。
A、staticcharstr1[],str2[];
str2={"
China"
strcpy(str1,str2);
B、staticcharstr[]="
C、staticcharstr[];
str="
D、staticcharstr1[5],str2[]={"
str1=str2;
16.若有说明inta[3][4];
则对a数组元素的正确引用是(C)。
A、a[1,3]
B、a[2][4]
C、a[1+1][0]
D、a
(2)
(1)
17.以下正确的描述是(A).
A、只能在循环体内和switch语句内使用break语句
B、continue语句的作用是终止整个循环的执行
C、从多层嵌套的外层循环中退出时,只能使用goto语句
D、在循环体内使用break和continue语句的作用相同
18.在C语言中,为了结束由while语句构成的循环,while后一对圆括号
中表达式的值应该为(C)。
A、非0
B、1
C、0
D、True
19.针对for循环语句,for(表达式1;
表达式2;
表达式3),下列说法正确的是(C).
A、三个表达式和中间分隔分号均可省略
B、三个表达式和中间分隔分号均不能省略
C、三个表达式可省略,但中间分隔分号不能省略
D、三个表达式不能省略,但中间分隔分号可省略
20.若i为整型变量,则以下循环执行次数是(A)。
for(i=2;
i==0;
)printf("
%d"
i--);
A、0次
B、2次
C、无限次
D、1次
21.已知键盘输入a=4,b=3,下面程序输出的结果是(C).
main()
{inta,b,s;
scanf("
%d%d"
&
a,&
b);
s=a;
if(a<
b)s=b;
s=s*s;
printf("
%d\n"
s);
}
A、9
B、13
C、16
D、15
22.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为(A)。
A、算术运算、关系运算、赋值运算
B、关系运算、赋值运算、算术运算
C、算术运算、赋值运算、关系运算
D、关系运算、算术运算、赋值运算
23.在C语言中,能代表逻辑值“真”的是(B)。
A、大于0的数
B、非0的数
C、非0整数
24.表示关系x>
0且y<
=10的C语言表达式为(D).
A、(x<
=0)AND(y<
=10)
B、x>
0,y<
=10
C、(x<
=0)&
(y<
D、(x>
0)&
&
25.下列运算符优先级最低的是(A).
A、=
B、+
C、!
D、&
26.C语言中,逻辑"
真"
等价于(C)。
A、大于零的整数
B、大于零的数
C、非零的数
D、非零的整数
27.根据下面的输出结果,正确的输出语句是:
(D);
x=2.23000,y=4.35000
A、printf("
x=%f,y=%f\n"
x,y);
B、printf("
x=%7.2f,y=%7.2f"
C、printf("
x,&
y);
D、printf("
x=%7.5f,y=%7.5f\n"
28.已知i、j、k为int型变量,若从键盘输入:
1,2,3<
回车>
使i的值为1、j
的值为2、k的值为3,以下选项中正确的输入语句是(C)。
%d%d%d"
i,&
j,&
k);
%2d%2d%2d"
%d,%d,%d"
i=%d,j=%d,k=%d"
29.根据下面的程序,正确的输出形式是(A);
{
inti=5,j=10;
printf("
i=%d,"
i);
j=%d"
j);
30.若变量已正确定义并赋值,下面符合C语言语法的表达式是(A)。
A、a=b=c+2
B、a:
=b+1
C、int18.5%3
D、a=a+7=c+B
31.对于赋值语句charcx='
\037'
判断正确的是:
(D).
A、cx的值是四个字符
B、不合法,不能赋值
C、cx的值是三个字符
D、cx的值是一个字符
32.设有说明:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y值的数据类型为(D).
A、char
B、int
C、float
D、double
33.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(B)。
A、C='
97'
B、c='
a'
C、c="
97"
D、c="
a"
34.已定义ch为字符型变量,以下赋值语句中错误的是(A)。
A、ch='
\'
B、ch=NULL;
C、ch='
\xaa'
D、ch=62+3;
35.以下选项中合法的用户标识符是(D)。
A、long
B、A.dat
C、3Dmax
D、_2Test
36.下列正确的标识符是(C).
A、a+b
B、6a
C、_do
D、%y
37.执行下列语句后变量x和y的值是(A)。
y=10;
x=y++;
A、x=10,y=11
B、x=11,y=11
C、x=11,y=10
D、x=10,y=10
38.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(C)。
A、2
B、6
C、8
D、7
39.若inta=2,则执行完表达式a-=a+=a*a后,a的值是(C)。
A、-4
B、-8
D、-2
40.下列四组选项中,均不是C语言关键字的选项是(B)。
A、whilegopow
B、defineIFtype
C、includescanfcase
D、getccharprintf
41.在一个C程序中(A)。
A、main函数可以在任何地方出现
B、main函数必须出现在固定位置
C、main函数必须出现在所有函数之前
D、main函数必须出现在所有函数之后
42.C语言中用于结构化程序设计的三种基本结构是(B)。
A、if、switch、break
B、顺序结构、选择结构、循环结构
C、if、for、continue
D、for、while、do-while
43.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为(A)的可执行文件
A、.exe
B、.bas
C、.obj
D、.c
44.C语言的程序一行写不下时,可以(C).
A、用分号换行
B、用逗号换行
C、用反斜线换行
D、在任意标识符后用回车键换行
45.对字符数组不正确的赋值方式是_C____.
A、charc[]={"
china"
B、char*string;
string="
C、charc[10];
c[10]={"
D、char*string="
46.对auto存储类型的变量,若不赋值,则其值是(B).
A、'
\0'
B、随机的
C、系统自动赋值0
D、根据情况赋值
47.构成C语言程序的基本单位是(C)。
A、子例程
B、子程序
C、函数
D、过程
48.用下面的scanf函数输入数据,使得i=12,j=202,不正确的键盘输入方法是(C).
(用"
[CR]"
表示回车,U表示空格)
{inti,j;
%2d%3d"
j);
...
}
A、12[CR]202[CR]
B、12202[CR]
C、12,202[CR]
D、12U202[CR]
49.在位运算中,操作数每右移一位,其结果相当于(C)。
A、操作数乘以16
B、操作数除以16
C、操作数除以2
D、操作数乘以2
50.执行下面程序段后,b的值为:
_B___
intx=12;
charz='
A'
intb;
b=((x&
6)&
(z<
'
));
A、3
C、2
D、0
填空
1.C语言源程序的基本单位是_函数____.
2.表达式a+=b相当于表达式____a=a+ba=b+a。
3.intx=2;
z=++x+1;
则z的值为___4__.
4.已知i=5,写出语句i*=i+1;
执行后整型变量i的值是_30____.
5.执行下列语句的结果是__4,4___,a=3;
printf("
%d,"
++a);
a++);
6.输入整型变量a的值.inta;
__&
a___);
7.设x=5>
1+2,x的值为__1___.
8.已知a=10,b=15,c=1,d=2,e=0,则表达式a++&
e++&
c++的值为__0___.
9.以下do-while语句中循环体的执行次数是_3____.a=10;
b=0;
do{b+=2;
a-=2+b;
}while(a>
=0);
10.执行语句charstr[81]="
abcdef"
后,字符串str结束标志存储在str[___6__](在括号内填写下标值)中.
11.字符串的结束标志是__\0'
0___.
12.求字符串长度的库函数是_strlen____,只写函数名即可.
13.函数调用时的实参和形参之间的数据是单向的_值____传递.
14.C语言中一个函数由函数首部和_函数体____两部分组成.
15.设x的值为15,n的值为2,则表达式x*=n+3运算后x的值是_75____.
程序改错
1./***********ERROR***********/
/***********ERROR***********/
统计全班某门功课期末考试的平均分数和最高分数,设全班人数为30名。
#defineN30
main()
{inti,sum,score[N],high;
floataverage;
for(i=0;
i<
N;
i++)
sca
【参考答案】
score[i]);
2.#include"
stdio.h"
/**********ERROR**********/
int,student,a,b;
charc;
doublex=1.42;
x=x%(-3);
c='
student=30;
a+=a-=(b=4)*(a=3);
intstudent,a,b;
3.#include"
inta,b,t;
do
{
%d,%d"
}
while(a>
=0&
b>
if(a>
=b)
t=a;
a=b;
b=t;
a=%d,b=%d"
a,b);
while(a<
=0||b<
程序填空
1.
{
inti,j;
/***********FILL***********/
_____);
i++;
j++;
%d,%d\n"
i,j);
&
j
I
2.OutputUresult:
a1='
ASCIIUisU65
-------------------------------------------------------*/
#include"
chara1='
_____
printf(_____,a1);
OutputUresult:
\n"
);
intm,n,k,t;
m,&
n,&
if(_____)
t=m;
m=n;
n=t;
m=k;
k=t;
if(n<
k)
t=n;
n=k;
m,n,k);
m<
n
n>
m
/***********FILL***********/
_____
staticfloatx[M]={0.5,4.8,7.2};
inti;
floata,s;
M;
s+=x[i];
a=s/M;
a=%f"
a);
#defineUMU3
感谢下载!
欢迎您的下载,资料仅供参考