《C语言程序设计》习题.docx

上传人:b****7 文档编号:11095261 上传时间:2023-02-25 格式:DOCX 页数:47 大小:34.13KB
下载 相关 举报
《C语言程序设计》习题.docx_第1页
第1页 / 共47页
《C语言程序设计》习题.docx_第2页
第2页 / 共47页
《C语言程序设计》习题.docx_第3页
第3页 / 共47页
《C语言程序设计》习题.docx_第4页
第4页 / 共47页
《C语言程序设计》习题.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》习题.docx

《《C语言程序设计》习题.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》习题.docx(47页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》习题.docx

《C语言程序设计》习题

第1章习题

一、选择题

1.关于C语言的源程序的叙述中,错误的是()。

A)C语言的源程序由函数构成B)main函数可以书写在自定义函数之后

C)必须包含有输入语句D)一行可以书写多个语句

2.以下说法中正确的是()。

A)C语言程序总是从第一个定义的函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

3.在一个C语言程序中,main函数的位置()。

A)必须放在最开始B)必须在系统调用的库函数后面

C)必须在最后D)可以任意

4.C语言程序编译时,程序中的注释部分将()。

A)参加编译,并会出现在目标程序中B)参加编译,但不会出现在目标程序中

C)不参加编译,但会出现在目标程序中D)不参加编译,也不会出现在目标程序中

5.一个完整的可运行的C源程序是()。

A)至少要由一个主函数和(或)一个以上的辅函数构成

B)由一个且仅由一个主函数和零个以上(含零)的辅函数构成

C)至少要由一个主函数和一个以上的辅函数构成

D)至少由一个且只有一个主函数或多个辅函数构成

6.对于C语言源程序,以下叙述错误的是()。

A)可以有空语句

B)函数之间是平等的,在一个函数内部不能定义其它函数

C)程序调试时如果没有提示错误,就能得到正确结果

D)注释可以出现在在语句的前面

7.一个C语言程序是由()组成的

A)一个主程序和若干子程序B)若干过程C)函数D)若干子程序

8.以下叙述正确的是()。

A)C程序的每行只能写一条语句

B)在对一个C程序进行编译的过程中,可以发现注释中的拼写错误

C)C语言本身没有输入、输出语句

C)在C程序中,mian函数必须位于程序的最前面

9.以下叙述不正确的是()。

A)C程序的执行总是从main函数开始

B)一个C源程序必须包含一个main函数

C)C语言程序的基本组成单位是函数

D)在编译C程序源程序时,可发现注释中的拼写

10.C程序的基本单位是()。

A)子程序B)程序C)子过程D)函数

11.下面关于C语言用户标识符的描述,正确的是()。

A)不能区分大小写B)用户标识符不能描述常量

C)类型名也是用户标识D)用户标识符可以作为变量名

二、填空题

1.一个C语句中至少包含一个()。

2.C语言标识符由()、()和()来构造。

3.C程序执行过程生成的3种文件及扩展名为.C、.obj和()。

第2章

习题

一、选择题

1.以下选项中不合法的用户标识符是()

A)st.n   B)FILE   C)Main    D)GO

2.下列属于字符型常量的是()。

A)’AA’B)”B”C)‘\117’D)’\x93L’

3.以下()是正确变量名。

A)5fB)ifC)f.5D)_f5

4.char型变量存放的是()。

A)ASCⅡ码值B)字符本身C)十进制代码值D)十六进制代码值

5.C语言中最简单的数字类型包括()。

A)整型、实型、逻辑型B)整型、实型、字符型

C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型

6.下面叙述正确的是()。

A)强制类型转换运算的优先级高于算术运算

B)若a和b是整型变量,(a+b)++是合法的

C)”A”*’B’是合法的

D)”A”+”B”是合法的

7.不是C语言实型常量的是()。

A)55.0B)0.0C)55.5D)55e2.5

8.已知chara=’R’;则不正确的赋值表达式是()。

A)a=(a++)%4B)a+2=3C)ca+=256--D)a=‘\078’

9.以下选项中属于C语言数据类型的是()。

A)复数型B)逻辑型C)双精度型D)集合型

10.若已定义f,g为double类型,则表达式:

f=1,g=f+5/4的值是()。

A)2.0B)2.25C)2.1D)1.5D)1.5D)1.5D)1.5

11.设整形变量a为5,使b不为2的表达式是()。

A)b=(++a)/3B)b=6-(--a)C)b=a%2D)b=a/2

12.若t为double类型,表达式t=1,t*5,t的值为()。

A)1B)6.0C)2.0D)1.0

13.在C语言中,运算对象必须是整型数的运算符是()。

A)%B)\C)%和\D)**

14.字符串”abcd\tef\0g”的长度是()。

A)9B)7C)6D)4

二、填空题

1.C的整数可以用十、八和()三种进位制表示。

2.字符串”ab\034\\\x79”的长度为()。

3.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为()。

4.设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的结果类型为()。

5.若k为int型变量且赋值11。

请写出运算k++后表达式的值(  )。

6.表达式3.5+1/2的计算结果是()。

7.若A、b和c均是int型变量,则执行下面表达式后,c值为()。

c=(a=5)-(b=2)+a

8.条件”20

9.C语言的基本数据类型有整型、实型和(  )。

10.若有定义:

charc=′\010′;则变量c中包含的字符个数为()。

11.C语言中普通整型变量的类型声明符为()。

第3章

习题

一、选择题

1.结构化程序设计不包括()。

A)最优化B)自顶而下,逐步细化C)模拟化设计D)结构化编码

2.下面叙述中,()不是结构化程序设计中的三种基本结构之一。

A)数据结构B)选择结构C)循环结构D)顺序结构

3.已知:

inta,b;用语句scanf(“%d%d”,&a,&b);输入a、b的值时,不能作为输入数据分隔符的是()。

A),B)空格C)回车D)[TAB]

4.已知:

inty;执行语句y=5/2;则变量y的结果是()。

A)2B)-2C)2.5D)2.0

5.已知:

inty;执行语句y=5%-3;则变量y的结果是()。

A)2B)-2C)1D)-1

6.设inta=2,b=2;则++a+b的结果是()。

A)2B)3C)4D)5

7.getchar()函数的功能是从终端输入()。

A)一个整型量值B)一个实型变量值C)多个字符D)一个字符

8.putchar()函数的功能是向终端输出()。

A)多个字符B)一个字符C)一个实型变量值D)一个整型变量表达式

9.已有如下定义和输入语句

inta;charc1,c2;

scanf(“%d,%c,%c”,&a,&c1,&c2);

若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()。

A)10ABB)10,A,BC)10ABD)10AB

10.若有声明和语句:

inta=5,b=6;b*=a+1;则b的值为()。

A)5B)6C)31D)36

11.使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是()。

A)a=2.2,b=3B)a=2.2b=3C)2.23D)2.2,3

12.下列程序的运行结果是()。

#include

voidmain()

{inta=2,c=5;

printf("a=%d,b=%d\n",a,c);

}

A)a=%2,b=%5B)a=2,b=5C)a=d,b=dD)a=%d,b=%d

二、填空题

1.设有以下变量定义,并已赋确定的值,

charw;intx;floaty;doublez;

则表达式w*x+z-y所求得的数据类型是()。

2.若有定义inty=7;floatx=2.5,z=4.7;则下面表达式的值为()。

x+(int)(y/3*(int)(x+z)/2)%4

3.若有声明和语句:

inta=25,b=60;b=++a;则b的值是()。

三、程序分析题(写出程序运行结果)

1.#include

voidmain()

{inta,b,c;

a=-1;b=-2;

c=++a-b++;

printf("%d",c);

}

2.#include

voidmain()

{intx,y,z;

x=1;y=3;

z=++x+(++y);

printf("%d",z);

}

第4章

习题

一、选择题

1.若整型变量a,b,c,d中的值依次为1,4,3,2,则条件表达式a

a:

c

c:

d的值为()。

A)1B)2C)3D)4

2.若a是数值类型,则逻辑表达式(a==1)||(a!

=1)的值是()。

A)1B)0C)2D)不知道a的值,不能确定

3.在C语言中,switch语句后一对圆括号中表达式的类型()。

A)可以是任何类型B)只能是int类型

C)可以是整型或字符型D)只能是整型或实型

4.下列运算符的优先级最高的是()。

A)关系运算符B)算术运算符C)赋值运算符D)逻辑运算符

5.下列运算符中优先级最低的运算符是()。

A)||B)!

=C)<=D)+

6.设charc1=’a’,c2=’A’;则表达式c1==c2+32?

c1:

(c1=c2+32)的值是()。

A)1B)0C)’a’D)’A’

7.设intx=1,y=1;表达式(!

x||y--)的值是()。

A)0B)1C)2D)-1

8.能正确表示逻辑关系a≥10或a≤0的C语言表达式是()。

A)a>=10ora<=0B)a>=0|a<=10

C)a>=10&&a<=0D)a>=10||a<=0

9.若希望当a的值为奇数时,表达式的值为真,a的值为偶数时,表达式的值为假,则不能满足要求的表达式是()。

A)a%2==1B)!

(a%2==0)C)!

(a%2)D)a%2

10.如果a=3,b=2,c=1,则下列表达式的值为0的是()。

A)a>bB)(a>b)==cC)b+cb

11.表示关系12<=x<=y的C语言表达式为()。

A)(12<=x)&(x<=y)B)(12<=x)&&(x<=y)

C)(12<=x)|(x<=y)D)(12<=x)||(x<=y)

12.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A)缩排位置相同的ifB)在其之前未配对的if

C)在其之前未配对的最近的ifD)同一行上的if

13.若有定义inta=1,b=2,c=3,d=4,x=5,y=6则表达式(x=a>b)&&(y=c>b)的值为()。

A)0B)1C)5D)6二、填空题

1.C语言中逻辑值真用()表示。

2.C语言中逻辑值假用()表示。

3.在C语言中,当表达式值为0时表示逻辑值假,当表达式值为()时表示逻辑值真。

4.设x为int型变量,请写出一个关系表达式(),用以判断x同时为3和7的倍数时,关系表达式的值为真。

5.C语言中逻辑运算符优先级按由低到高分别是()。

三、程序分析题

1.以下程序的功能是

#include

voidmain()

{

charch;

scanf(“%c\n”,&ch);

ch=(ch>=’A’&&ch<=’Z’)?

ch+32:

ch;

printf(“char=%c\n”,ch);

}

2.若inti=10;则执行下列程序后,写出变量i的正确结果。

switch(i)

{

case9:

i+=1;

case10:

i+=1;

case11:

i+=1;

default:

i+=1;

}

3.有以下程序

#include

voidmain()

{

inta=1,b=2,c=3,d=0;

if(a==1)

if(b!

=2)

if(c!

=3)d=1;elsed=2;

elseif(c!

=3)d=3;

elsed=4;

elsed=5;

printf(“%d\n”,d);

}

写出程序运行后的输出结果。

四、程序填空题

1.输入三角形的三条边a,b,c,求三角形的面积。

#include“math.h”

#include“stdio.h”

voidmain()

{

floata,b,c,d,t,s;

printf(“请输入三角形的三条边:

”);

scanf(“%f,%f,%f”,&a,&b,&c);

if

(1)

printf(“%f%f%f不能构成三角形!

”,a,b,c);

else

{

t=(a+b+c)/2;

s=

(2)

printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”,a,b,c,s);

}

}

五、程序设计题

1.请编程序,输入一个4位数字,要求输出这4个数字字符,每个数字间空一个空格。如输入1990,应输出1990。

第5章

习题

一、选择题

1.有以下程序

#include

voidmain()

{inty=10;

while(y--);

printf(“y=%d\n”,y);

}

程序执行后的输出结果是()。

A)y=0B)y=-1C)y=1D)while构成无限循环

2.运行下面程序段的输出结果是()。

inti;

for(i=0;i<10;i++);

printf(“%d”,i);

A)9B)10C)8D)11

3.设有程序段

intk=10;

while(k=0)k=k-1;

则下面的描述正确的是()。

A)while循环执行10次B)循环是无限循环

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

4.关于break语句的描述正确的是()。

A)break语句只能用于循环体中

B)break语句可以一次跳到多个嵌套循环体之外

C)在循环结构中可以根据需要使用break语句

D)在循环结构中必须使用break语句

5.C语句中while和do-while循环的主要区别是()。

A)do-while的循环体至少无条件执行一次

B)while的循环控制条件比do-while的循环控制条件严格

C)do-while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

6.对于整型变量x,与while(!

x)等价的是()。

A)while(x!

=0)B)while(x==0)C)while(x!

=1)D)while(~x)

7.下列do-while循环的循环次数为()。

已知:

inti=5;

do

{printf(“%d\n”,i--);

i--;

}while(i!

=0);

A)0B)1C)5D)无限

8.要求以下程序的功能是计算:

s=1+1/2+1/3+……+1/10

#include

voidmain()

{

intn;floats;

s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf("%6.4f\n",s);

}

程序运行后输出结果错误,导致错误结果的程序行是()。

A)s=1.0;B)for(n=10;n>1;n--)C)s=s+1/n;D)printf("%6.4f\n",s);

9.下面关于for循环的正确描述是()。

A)for循环是先执行循环体语句,后判断循环条件

B)若for循环的循环体中包含多条语句,多条语句必须用括号括起来

C)for循环只能用于循环次数已经确定的情况

D)在for循环中,不能用break语句跳出循环体

10.以下程序的输出结果是()。

#include

voidmain()

{

inti;

for(i=1;i<6;i++)

{

if(i%2){printf(“#”);continue;}

printf(“*”);

}

printf(“\n”);

}

A)#*#*#B)#####C)*****D)*#*#*

二、填空题

1.若for循环用以下形式表示

for(表达式1;表达式2;表达式3)循环体语句

则执行语句for(i=0;i<3;i++)printf(“*”);时,表达式3执行()次。

2.设有如下程序段:

inti=0,sum=1;

do

{sum+=i++;}while(i<2);

printf(“%d\n”,sum);

上述程序的输出结果是()。

3.若intx=5;while(x>0)printf(“%d”,x--);的循环执行次数为()。

三、程序分析题

1.#include

voidmain()

{

intx=2;

while(x--);

printf(“%d”,x);

}

写出程序运行结果。

2.当执行下面的程序段后,i、j、k的值分别为()、()、()。

inta,b,c,d,i,j,k;

a=10;

b=c=d=5;

i=j=k=0;

for(;a>b;++b)

i++;

while(a>++c)

j++;

do

k++;

while(a>d++);

四、程序填空题

1.鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空

for(x=1;x<=29;x++)

{

y=30-x;

if()printf(“%d,%d\n”,x,y);

}

2.下面程序的功能是计算1-3+5-7+…-99+101的值,请填空。

#include

voidmain()

{inti,t=1,s=0;

for(i=1;i<=101;i+=2)

{;s=s+t;;}

printf(“%d\n”,s);

}

3.爱因斯坦的阶梯问题。设有一阶梯,每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;只有每步跨7阶时,正好到阶梯顶。问至少有多少阶梯。

#include

voidmain()

{

inta=7;

while()

a+=();

printf("Flightofstairs=%d\n",a);

}

4.以下程序的功能是从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。

#include

voidmain()

{floatx,amax,amin;

scanf(“%f”,&x);

amax=x;amin=x;

while()

{if(x>amax)amax=x;

if()amin=x;

scanf(“%f”,&x);

}

printf(“\namax=%f\namin=%f\n”,amax,amin);

}

五、程序设计题

1.设m,n为正整数,且m

2.请编写一个程序,求序列2/1+3/2+5/3+8/5……前20项之和

3.编写程序,打印出所有的对等数。对等数是指一个三位数,其各位数字的和与各位数字的积的积等于该数本身。例如:

144=(1+4+4)*(1*4*4)

第6章

习题

一、选择题

1.已知chars[5],c;intb;则调用函数scanf的正确语句是()。

A)scanf(“%s%c”,s,c);B)scanf(“%d%c”,&b,c);

C)scanf(“%d%c”,b,&c);D)scanf(“%s%c”,s,&c);

2.下列描述中不正确的是()。

A)字符型数组中可以存放字符串

B)可以对字符型数组进行整体输入、输出

C)可以对整型数组进行整体输入、输出

D)不能在赋值语句中通过赋值运算符=“对字符型数组进行整体赋值

3.在inta[5]={1,3,5};中,数组元素a[1]的值是()。

A)1B)0C)3D)2

4.若要定义一个具有5个元素的整型数组,以下错误的定义语句是()。

A)inta[5]={0}B)intb[]={0,0,0,0,0}C)intc[2+3]D)inti=5,d[i]

5.已知inta[10];则对a数组元素的正确引用是()。

A)a[10]B)a[3.5]C)a(5)D)a[10-10]

6.以下能对一维数组a进行正确初始化的语句是()。

A)inta[5]=(0,0,0,0,0,)B)inta[5]=[0]

C)inta[5]={1,2,3,4,5,6,7}D)inta[]={0}

7.若有定义inta[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为()。

A)0B){1,2}C)1D)3

8.若有声明inta[5][4];则对其数组元素的正确引用是()。

A)a[3+1][2]B)a(3)

(2)C)a[0,2]D)a[3][5]

9.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。

A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式

10.若有inta[3][5]={{2,2},{2,6},{2,6,2}};则数组a共有个元素()。

A)8B)5C)3D)15

11.设有如下程序段:

inta[3][3]={1,0,2,1,0,2,1,0,1},i,j,s=0;

for(i=0;i<3;i++)

for(j=0;j

s=s+a[i][j];

则执行该程序段后,s的值是()。

A)0B)1C)2D)3

12.设有如下定义charstr[8]={“Fujian”};则分

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1