C语言习题库(2)

2018-12-15 17:56

四、编程题

(1)编程实现:输入一个整数,判断它能否被子3,5,7整除,并输出 以下信息之一:

1)能同时被3,5,7整除;

2)能被其中两数(要指出哪两个)整除; 3)能被其中一个数(要指出哪一个)整除; 4)不能被3,5,7任一个整除。

(2)用switch编程实现: -1 (x<0)

y= 0 (x=0) 1 (x.0)

第五章 循环控制 一、单选题 (1)设有程序段 int k=10

while (k=0) k=k-1

则下面描叙正确的是 。 A) while (k=0) k=k-1; B) 循环是无限循环

C) 循环体语句一次也不执行 D) 循环体语句执行一次

(2)下面程序段的运行结果是 。 int n=0;

while(n++<=2); printf(―%d‖,n); A) 2 B) 3 C) 4

D) 有语法错

(3)C语言中while和do-while循环的主要区别是 。 A) do-while的循环体至少无条件执行一次

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); 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) 执行下面程序段后,K值是( )。

K=1; n=263;

Do{ k*=n ; n/=10} while(n); (2)下面程序段中循环体的执行次数是( )。 A =10; B=0;

Do { b+=2; a-=2+b;} while(a>=0); (3) 下面程序段的运行结果是( )。 X=2‘

Do { printf (―*‖); x--;} while (! x= =0); (4) 下面程序段的运行结果是( )。 I=1; a=0; s=1;

Do { a=a+s*i; s=-s; i++; } while(i<=10) Printf (―a=%d, a‖);

(5)鸡兔共有30只,脚共有90 个,下面程序段是计算鸡兔各有多少只,请填空。 For(x=1;x<=29;x++) {y=30-x;

if( ) printf (―%d, %d\\n ‖, x , y) ; }

三、判断题

(1) 设有以下程序段: int x=0,s=0;

while(!x!=0) s+=++x; printf(―%d‖,s);

则运行该程序段后输出为:0

(2) for循环只能应用于循环次数已经确定的情况。 (3) goto语句只能用于退出多层循环。 (4) switch语句中不能出现continue语句。 (5) 只能用continue语句终止本次循环。 四、编程题

(1)每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的倍,直至购买的苹果个数达

到不超过100的最大值。编写程序求每天平均花多少钱?

(2)编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。 第六章 数组 一、选择题

(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) 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 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]; 6 for(i=1;i<10;i++) a[0]=a[0]+a{i}; 7 printf(―%f\\n‖,a[0]); 8 } A) 没有错误 B) 第3行有错误 C) 第5行有错误 D) 第7行有错误 (5)若二维数组a有m列,则计算机一元素a[i][j]在数组中位置的公式为____。(假设a[0][0]位于数组的第一个位置上。)

A) i*m+j B) j*m+i C) i*m+j-1 D) i*m+j+1 二、填空题

(1)在C语言中,二维数组的定义方式为:类型说明符 数组名( ) ( ); (2)在C语言中, 二维数组元素在内存中的存放顺序是( )。

(3)若有定义:double x[3][5];则x数组中行下标的下限为( ),列下标的上限为( )。 (4)若二维数组a有m列,则计算机任一元素a [i][j]在数组中位置的公式为:( ).(假设a[0][0]

位于数组的第一个位置上。)

(5)若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是( ),a[2][1]

得到初值是( )。 三、判断题

(1) 两个字符串中所包含的字符个数相同时,才能比较字符串。 (2) 字符数组可以存放字符串。

(3) 不能用关系运算符对字符数组中的字符串进行比较。

(4) 如果定义了一个指向数组的指针,则该指针可以相当于数组名使用。 (5) 如果没有给一个整型数组的元素赋初值,则其元素的缺省初值全部为0。 四、编程题

(1)从键盘输入若干整数(数据个数应少于50),其值在0至4的范围内,用-1作为输入结束

的标志。统计每个整数的个数。试编程。

(2)若有说明:int a[2][3]={{1,2,3},{4,5,6}};现要将a 的行和列的元素互换后存到另一个二维数

组b中。试编程。 第七章 函数 一、选择题

(1)以下正确的函数定义形式是 。 A)double fun(int x,int y) C) double fun(int x;int y) D) double fun(int x,int y) 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;

z=x+y;return z;}

(3) C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 A)地址传递 B)单向值传递

C)由实参传给形参,再由形参传回给实参

D)传递方式

(4)C语言允许函数值型缺省定义,此时该函数值隐含的类型是 。 A)float型 B)int型 C)long型 D)double型

(5)下面函数调用语句含有实参的个数为 。 func((exp1,exp2),(exp3,exp4,exp5)); A)1 B)2 C)4 D)5

二、填空题

(1)C语言规定,可执行程序的开始执行点是( )。

(2)在C语言中,一个函数一般由两个部分组成,它们是( )和( )。

(3)下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是( );改正后为( )。

Void add(float a,float b) {float c; c=a+b; return c‘ }

(4)以下程序的运行结果是( )。 main()

{increment(); increment(); increment(); }

increment(); {int x=0; x+=1;

printf(―%d‖,x); } (5)以下Check函数的功能是对value中的值进行四舍五入计算,若计算后的值与ponse值相等,则显示“WELL DONE!!”,否则显示计算后的值。已有函数调用语句Check (ponse,value);请填空。 Void Check (int ponse,value) {int val; val=( );

printf(―计算后的值:%d‖,val);


C语言习题库(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2012年至2008年高考时态语态真题详解

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: