C语言习题库
C语言概述
一、单选题
一个C程序的执行是从
A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
以下叙述正确的是
在C程序中,MAIN函数必须位于程序的最前面。
C程序的每行中只能写一条语句。
C语言本身没有输入输出语句。
在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
C语言规定,在一个源程序中,MAIN主函数的位置是在:
必须在最前面。
必须在系统调用的库函数的后面
可以在任意位置。
必须在最后面
一个C程序是由:一个主程序和若干子程序组成
函数组成
若干过程组成
若干子程序组成
以下叙述不正确的是:一个C源程序可由一个或多个函数组成
一个C源程序必须包含一个MAIN函数
C程序的基本组成单位是函数
在C程序中,注释说明只能位于一条语句的后面
二、填空题
C源程序的基本单位是( )
一个C源程序至少应包括一个( )
在一个C源程序中,注释部分两侧的分界符分别为( )和( )
在C语言中,输入操作是由库函数( )完成的,输出操作是由库函数( )完成的。数据类型、运算符与表达式
一、单选题
若x, i, j, k都是int型变量,则计算下面表达式后,x的值为
x=( i=4, j=16, k=32)
A、4
B、16
C、32
D、52
下列四组选项中,均不是C语言键字的选项是
A、define , IF, type
B、getc, char, printf
C、include, scanf, case
if, struct, type
下面四个选项中,均是不合法的用户标识符的选项是
A、A,P_0,do
B、float,1a0, _A
C、b-a, goto, int
D、_123, temp, INT
若有代数式3ae/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 w5;
double x1.42;
则以下不符合C语言语法的表达式是
A、x%-3
令数组全部的值为0
B、w+-2;
C、ka2,b3,a+b
D、a+a-b4*a3
二、填空题
在C语言中(以16位机为例),一个char型数据在内存中所占的字节数为( ),一个int 型数据在内存中所占的字节数为( )。
在C语言中,实型变量分为两种类型,它们是( )和( )。
若a是int型变量,则计算表达式a25/3%3后,a的值为( )。
C语言中的标识符只能由三种字符组成,它们是( ),( )和( )
表达式8/4*int2.5/int1.25*3.7+2.3值的数据类型为( )。
三、判断题
C语言所提供的基本数据类型包括:整型、实型和字符型。
在C程序中,逗号运算符的优先级最低。
当从键盘输入数据时,对整型变量只能输入整型数据,对实型变量只能输入实型数据。
C语言中的标识符只能由字母、数字和下划线三种字符组成。
在C语言中,char型的数据在内存中的存储形式是原码形式。
简单C程序设计
一、单选题
(1)putchar函数可以向终端输出一个
A、整型变量表达式值
B、实型变量值
C、字符串
D、字符或字符型变量值
(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是
A、s canf“%d%lx,%le”,&x,&y,&z;
B、scanf“%2d*%d%lf”,&x,&y,&z;
C、scanf“%x%*d%o”,&x,&y,&z;
D、scanf“%x%o%6.2f”,&x,&y,&z;
3当输入数据的形式为:25,13,10回车时,以下程序的输出结果为
main
int x,y,z;
scanf“%d%d%d”,&x,&y,&z;
printf“x+y+z%d\n”,x+y+z;
A、x+y+z48
B、x+y+z35
C、x+z35
D、不确定值
以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是
A、int abc5;
B、int a, b, c5;
C、a5, b5, c5;
D、abc5;
若有以下定义,则不正确的赋值语句是
int a,b; float x;
A、a1, b2;
B、b++;
C、ab5;
D、b(int)x;
二、填空题
(1)以下程序的输出结果是()。
main
int x1,y2;
printf“x%d y%d *sum*%d\n”,x,y,x+y;
printf“10 squared is :%d\n”,10*10;
(2)以下程序的输出结果是()。
#include
main
int a325;double x3.1415926;
printf“a%+06d x%+e\n”,a,x,;
3假设变量a和b均为整型,以下语句可以下借助任何变量把a、b中的值进行交换。请填空。a+;ba-;a- ;
4设x,y和z都是int型变量,m为long型变量,则在16位微型机上执行下面的赋值语句后,x 值为( ),y值为( ),z值为( )。yx32767,x-1;zm0xFFFF
5若x为int型变量,则执行以下语句后x的值是( )
x7;
x+x-x+x;
三、判断题
当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf“%4.2f”,&f。
整型变量的输出格式控制符只有%d一种。
putchar函数可以向终端输出一个字符串。
pirntf函数中用到格式符%5s,其中数字5表示输出的字符串占5列,如果字符串长度大于5,则输出按原字符长度从左向右全部输出。
输入项可以是一个实型常量,如scanf“%f”,2.3。
选择结构程序设计
一、单选题
(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是
A、x1&&x10&&x.200&&x210
B、x1││x10 ││x.200 ││x210
C、x1 &&x10 ││x.200 &&x210
D、x1││x10&& x.200 ││x210
(2)以下程序的运行结果是
#include “stdio.h”
main
int a,b,d241;
ad/100%9;
b-1&&-1;
printf“%d,%d”,a,b;
A、6,1
B、2,1
C、6,0
D、2,0
(3)请阅读以下程序:
main
int a5 , b0 , c0;
if a+b+c printf“* * *\n”;
elseprintf“$ $ $\n”;
以上程序。
有语法错误不能通过编译
可以通过编译但不能直接通过连接
输出* * *
输出$ $ $
(4)以下程序的运行结果是。
main
int m5;
ifm++5printf“%d\n”,m;
else printf“%d\n”,m??;
4
5
6
7为了避免在嵌套的条件语句中if-else中产生二义性,c语言规定:else子句总是与相配对。
A)缩排位置相同的if
B)其之前最近的if
C)其之后最近的if
D)同一行上的if
二、填空题
(1)当a3,b2,c1时,表达式fabc的值是()。
(2)在C语言中表示逻辑“真”值用( )。
(3)设x,y,z均为int 型变量,请写出描述“x 或y中有一个小于z”的表达式( ).
(4)当m2,n1,a1,b2,c3时,执行完dma!b&&nbc后;n的值为(),m的值为()。
(5)有int a3,b4,c5;则表达式a||b+c&&b c的值为()。
三、判断题
逻辑运算符两侧的运算对象可以是任何基本类型的数据。
C语言中只提供了三种逻辑运算符:&&, ||,和!。
若a6,b4,c3则表达式a&&b+c||b-c的值是0。
关系运算式的结果都是逻辑值。
若a1,b2,则表达式ab?a:b+1的值是3。
四、编程题
(1)编程实现:输入一个整数,判断它能否被子3,5,7整除,并输出以下信息之一:
1)能同时被3,5,7整除;
2)能被其中两数(要指出哪两个)整除;
3)能被其中一个数(要指出哪一个)整除;
4)不能被3,5,7任一个整除。
(2)用switch编程实现: -1x0
y 0 x0    1 x.0
循环控制
一、单选题
1设有程序段int k10
while k0 kk-1
则下面描叙正确的是。
while k0 kk-1;
循环是无限循环
循环体语句一次也不执行
循环体语句执行一次
(2)下面程序段的运行结果是。
int n0;
whilen++2; printf“%d”,n;
2
3
4
有语法错
(3)C语言中while和do-while循环的主要区别是。
do-while的循环体至少无条件执行一次
while 的循环控制条件比do-while的循环控制条件严格
do-while允许从外部转到循环体内
do-while允许从外部转到循环体内

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。