C语言试题库[完整版]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A ) i*m+j B) j*m+i C) i*m+j-1 D) i*m+j+1
(假设 a[0][0]
第七章 函数
( 1)以下正确的函数定义形式是

A )double fun(int x,int y)
C) double fun(int x;int y)
D) double fun(int x,int y)
B 、 必 须在系统调用的库函数的后面
C、 可 以在任意位置。
D 、 必须在最后面 ( 4)一个 C 程序是由:
A 、 一个主程序和若干子程序组成
B 、 函数组成
C、 若干过程组成 D 、 若干子程序组成 ( 5)以下叙述 不正确 的是:
A 、 一个 C 源程序可由一个或多个函数组成
B 、 一个 C 源程序必须包含一个 MAIN 函数
专业知识分享
WORD 格式整理
C) int a[2][4]={1,2,3,},{4,5},{6}};
D) int a[ ][3]={{1,0,1},{},{1,1}}; ) ( 3)若有说明: int a[3][4]={0}; 则下面正确的叙述是____。
A ) 只有元素 a[0][0] 可得到初值 0
第三章 简单 C 程序设计 (1) putchar 函数可以向终端输出一个 A、整型变量表达式值 B、实型变量值 C、字符串 D、字符或字符型变量值 (2)若 x,y 均定义为 int 型, z 定义为 double 型,以下合法的 scanf 函数调用语句是 A、 scanf( “%d%lx,%le”,&x,&y,&z); B、 scanf( “%2d*%d%l”f ,&x,&y,&z); C、 scanf( “%x%*d%”o ,&x,&y,&z); D、 scanf( “%x%o%6.2”f ,&x,&y,&z);
C、(x>=1) &&(x<=10) ││ (x.>=200) &&(x<=210)
D 、(x>=1) ││ (x<=10)&& (x.>=200)
││ (x<=210)
( 2)以下程序的运行结果是
#incl ude “ stdio.h ”
main()
{int a,b,d=241;
a=d/100%9;
C、 x+z=35
D、不确定值
(4) 以下能正确的定义整型变量 A、 int a=b=c=5;
a,b 和 c,并对它们赋初值为5的语句是
B、 int a, b, c=5;
C、 a=5, b=5, c=5;
D、 a=b=c=5;
(5) 若有以下定义,则正确的赋值语句是
int a,b; float x; A、 a=1, b=2;
则执行语句 z=2*(N+Y(5)); 后的结果是

A) 语句有错误
B) z=34
C) z=70
专业知识分享
D) z 无定值
WORD 格式整理
第九章 指针
(1) 以下程有错误,错误原因是
main() {int *p,I; char *q,ch;
p=&I;
q=&ch; *p=40;
*p=*q;
…… ..
B) 此说明语句不正确
C) 数组 a 中各元素都可得到初值,但其值不一定为
0
D) 数组 a 中每个元素均可得到初值 0 ( 4)下面程序___(每行程序前面的数字表示行号) 。
1 main()
2{
3
float a[10]={0};
4
int i
5
for(i=0;i<3;i++) scanf(
“ %d” ,&a[i];
} A) p 和 q 的类型不一致,不能执行 *P=*Q ;语句
B) P 中存放的是地址值,因此不能执行 *P=40 ;语句
E) double fun(int x,y);
(2) 以下正确的函数形式是 A) double fun(int x,int y)
{z=x+y; return z;} B) fun(int x,y)
{int z;

专业知识分享
return z;} C) fun(x,y)
{int x,y; double z; z=x+y;return z;} D) double fun(int x,int y) {double z;
b=(-1)&&(-1);
printf( “ %d,%d” ,a,b);
}
A 、6,1
B 、2, 1
C、6, 0
专业知识分享
D 、2,0 ( 3)请阅读以下程序:
main()
{int a=5 , b=0 , c=0;
if (a+b+c) printf(
n“”*)*; *
else
printf( “ $n$”$ );
B) while 的循环控制条件比 do-while 的循环控制条件严格
C) do-while 允许从外部转到循环体内
D) do-while 允许从外部转到循环体内
(4) 以下能正确计算 1*2*3* … *10 的程序段是

A) do {i=1;s=1; s=s*i; i++;
}while(I<=10);
printf( “ sum=%d” ,sum);
}
上面程序的运行结果是

A) sum=9
B) sum=10
专业知识分享
C) sum=12 D) sum=18
WORD 格式整理
(2) 以下程序的运行结果是

#define MIN(x,y) (x)<(y)? (x)+(y)
main()
{int I=10,j=15,k;
MAIN 函数结束。
A 、 在 C 程序中, MAIN 函数必须位于程序的最前面。
B 、 C 程序的每行中只能写一条语句。
C、 C 语言本身没有输入输出语句。 D 、 在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误。 ( 3)C 语言规定,在一个源程序中, MAIN 主函数的位置是在:
A 、 必须在最前面。

专业知识分享
( 2)下面程序段的运行结果是
WORD 格式整理

int n=0; while(n++<=2); printf( A) 2
“ %d” ,n);
B) 3 C) 4
D) 有语法错
( 3)C 语言中 while 和 do-while 循环的主要区别是

A) do-while 的循环体至少无条件执行一次
z=x+y;return z;}
WORD 格式整理
(3) C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 A) 地址传递 B) 单向值传递 C) 由实参传给形参,再由形参传回给实参 D) 传递方式
(4)C 语言允许函数值型缺省定义,此时该函数值隐含的类型是

A)float 型
B)int 型
}
以上程序

A ) 有语法错误不能通过编译 B ) 可 以通过编译但不能直接通过连接 C)输 出* * *
D ) 输出 $ $ $
( 4)以下程序的运行结果是

main()
{int m=5;
if(m++>5)printf(
else
printf(
“n”%,dm); “n%”d,m—— );
}
A) 4 B) 5
B) do {i=1;s=0;
s=s*i; i++;
}while(I<=10);
C) i=1;s=1; do {s=s*i;
i++; }while(I<=10); D) i=1;s=0;
do {s=s*i;
i++;
}while(I<=10);
第六章 数组 ( 1)在 c 语言中,引用数组元素时,其数组下标的数据类型允许是____。 A) 整型常量 B) 整型表达式 C) 整型常量或整型表达式 D) 任何类型的表达式 ( 2)以下能对二维数组 a 进行正确初始化的语句是____。 A) int a[2][ ]={{1,0,1},{5,2,3,}}; B) int a[ ][3]={{1,2,3},{4,5,6}};
C、 C 程序的基本组成单位是函数
D 、 在 C 程序中,注释说明只能位于一条语句的后面
第二章 数据类型、运算符与表达式 (1)若 x, i, j, k 都是 int 型变量,则计算下面表达式后, x=( i=4 , j=16 , k=32) A、4
x 的值为
专业知识分享
WORD 格式整理
B、16 C、32 D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、 define , IF, type B 、getc, char, printf C、include, scanf, case E、 i f, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是 A、A,P _0, do B、 float,1a0, _A C、 b-a, goto, int D 、_123, temp, INT (4)若有代数式3 ae/bc,则正确的C语言表达式是 A、 a/b/c*e*3 B、 3*a*e/bc C、 3*a*e/b*c D、 a*e/c/b*3 ( 5) 已知各变量的类型说明如下: int k, a, b; unsinged 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)
专业知识分享
WORD 格式整理
(3) 当输入数据的形式为:25,13,10 <回车 >时,以下程序的输出结果为
main()
{int x,y,z;
scanf(“ %d%d%”d ,&x,&y,&z);
printf( “ x+y+z=%n”d ,x+y+z);
}
A、 x+y+z=48
B、 x+y+z=35
C) 6
D) 7
WORD 格式整理
(5)为了避免在嵌套的条件语句中 相配对。
A )缩排位置相同的 if B )其之前最近的 if C)其之后最近的 if D )同一行上的 if
if-else 中产生二义性, c 语言规定: else 子句总是与
第五章 循环控制 (1) 设有程序段
int k=10 while (k=0) k=k-1 则下面描叙正确的是 A) while (k=0) k=k-1; B) 循环是无限循环 C) 循环体语句一次也不执行 D) 循环体语句执行一次
C)long 型
D)double 型
(5) 下面函数调用语句含有实参的个数为

func((exp1,exp2),(exp3,exp4,exp5));
A)1
B)2
C)4
D)5
第八章 编译预处理命令
( 1)请读程序 :
#define ADD(x) x+x
main()
wk.baidu.com
{
int m=1,n=2,k=3;
int sum=ADD(m+n)*k;
B、 b++;
C、 a=b=5;
D、 b=int(x);
第四章 选择结构程序设计
( 1)能正确表示“当 x 的值在 [1, 10] 和 [200, 210] 的范围为真,否则为假”的表达式是
A 、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)
B 、(x>=1) ││ (x<=10) ││ (x.>=200) ││ (x<=210)
#define Z Y*x/2
则执行以下 printf 语句后,输出结果是

int a; a=Y;
printf( “n%”d ,Z);
printf( “n%”d--,a);
A)7 B)12 C)12 D)7
6
6
5
5
(5) 若有以下宏定义:
#define N 2
#define Y(n) ((N+1)*n)
WORD 格式整理
C 语言试题库
一、 单项选择
第一章 C 语言概述
( 1)一个 C 程序的执行是从
A 、本程序的 MAIN 函数开始,到 MAIN 函数结束。
B 、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的 MAIN 函数开始,到本程序的最后一个函数结束。
D 、本程序文件的第一个函数开始,到本程序的 ( 2)以下叙述正确的是
6
for(i=1;i<10;i++) a[0]=a[0]+a{i};
7
printf( “n%”f ,a[0]);
8}
A) 没有错误 B) 第 3 行有错误
C) 第 5 行有错误 D) 第 7 行有错误 ( 5)若二维数组 a 有 m 列,则计算机一元素 位于数组的第一个位置上。 )
a[i][j] 在数组中位置的公式为____。
k=10*MIN(I,j); printf( “n%”d,k);
}
A)10
B)15
C)100
D)150
(3) 在宏定义 #define PI 3.14159 中,用宏名 PI 代替一个

A) 常量
B) 单精度数
C) 双精度数
D) 字符串
(4) 若有宏定义如下: #define X 5
#define Y X+1
相关文档
最新文档