c教材习题 下载本文

内容发布更新时间 : 2024/12/27 12:21:13星期一 下面是文章的全部内容请认真阅读。

第2章 C语言基础 二、选择题

1.下列合法的字符常量是________。

A) \ B) c C) 'char' D) '\\n' 2. 下列合法的字符串常量是________。 A) 56 B) '56' C) \ D) '\\t' 3.合法的C语言标识符是__。

A)2a B) sum C) default D) a*b 4.不合法的C语言标识符是__。 A) _8_

B) j2_KEY

C) 4d D) Double

5. 以下语句的输出结果是__。

printf(\

A) 6 B) 14 C) 8 D) 输出项不合法,无正常输出 6.在C语言中,要求运算数必须是整型的运算符是__。 A) % B) / C) < D) !

7.已知字母A的ASCII码为十进制的65,下面程序的输出是__。 A) 67,D B) B,C C) C,D D) 不确定的值 void main() {

char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';

printf(\}

8.下面程序的输出是__。

A) 0 B) 1 C) 3 D) 不确定的值 void main() {

int x=10,y=3;

printf(\}

9. 有关运算符的正确描述是________。 A) 运算符优先级最高的是圆括号运算符 B)“.”仅是小数点,不能作为运算符 C)圆括号只能用于算术表达式 D)赋值号的运算优先级是最低的

10.语句float x=3.0 ,y=4.0;下列表达式中y的值为9.0的是________。 A) y/=x*27/4 B) y+=x+2.0

C) y-=x+0.8 D) y*=x-3.0 11. 若有下列类型说明语句:

char w; int x ; float y ; double z ;

则表达式w*x+z-y值的正确数据类型为________。 A) float B) char C) int D) double 12. 下列浮点数的表示中不正确的是__。

A) 22.3 B) .719e22 C) e23 D) 12. e2

三、编程题

1.编写程序,输出 | -6 |+16.3*5.4的值。

2.编写程序,输入a、b两个整数值,输出两个数中较大值的平方根。 3.编写程序,从键盘输入的一个实数,输出他的平方和立方。 4.编写程序,从键盘输入的4个实数,输出他们的平均值。

5.编写程序,从键盘输入一个5位正整数,然后分别求出它的个位数、十位数、百位数、千位数和万位数,并打印出这五位数字的和。如输入12345,打印出15(1+2+3+4+5=15)。

第3章 顺序结构程序设计

二、选择题

1.运行下面程序,输出结果是______。 void main() { int a= 5;

printf(\

A) a=6 B) 8 C) a= 5 D) a=8

2.putchar函数可以向屏幕输出一个_________。 A) 整型变量值 B) 实型变量值

C) 字符串 D) 字符或字符变量值

3.运行以下程序,从键盘输入25,13, 10<回车>,则输出结果是______。 void main() {

int a1,a2,a3;

scanf(\,&al,&a2,&a3); printf(\+a2+a3=%d\\n\,al+a2+a3); }

A) al+a2+a3=48 B) al+a2+a3=25 C) al+a2+a3=10 D) 不定

4.设有以下程序段,则输出结果是__________。

char c1='b', c2='e';

printf(\,%c\\n\,c2-c1,c2-'a'+'A'); A) 2, M B) 3,E

C) 2, E D)输出结果不确定

5.下面程序的执行结果是_______。 void main()

{ int a,b;

a=20;b=10; a+=a+b; a-=a-b;

printf(\%d\\n\;

}

A) 10 B) -10 C) 30 D) 0

ax36.下面哪个语句正确地描述了计算公式y?

x?bA) y = ax*x*x / x – b B) y = ax*x*x / (x – b) C) y = (a*x*x*x) / (x – b) D) y = a*x*x*x / x – b 7.有以下程序 ,叙述中正确的是_______。 void main()

{ char a1='M',a2='m'; printf(\ }

A) 程序输出大写字母M B) 程序输出小写字母m

C) 程序运行时产生出错信息 D) 格式说明符不足,编译出错 三、编程题

1.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。想得到以下的输出结果,请写出程序(包括定义变量和输出设计)。

要求输出的结果如下: a= 3 b= 4 c= 5

x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1='a' or 97(ascii)

c2='b' or 98(ascii)

2.编写程序,输入圆的半径,计算并输出其周长和面积。常量pi的值取3.14159,周长和面积取小数点后2位数字。

3.编写程序,把整数华氏温度f,转换为浮点型的摄氏温度c。转换公式为c=5/9(f-32),输出要有文字说明,取2位小数。

4.编写程序,输入三角形的三边的边长,求三角形面积。三角形面积的计算公式为:p=(a+b+c)/2 ,S=sqrt(p(p-a)(p-b)(p-c))。

5.编写程序,使用类似printf(\语句,分别测试以下10个转义字符的显示效果:\\a, \\b, \\n, \\r, \\t, \\v, \\’ ,\\” ,\\\\, \\? 。

6.编写程序,输入一个小写字母,输出其对应的大写字母。

7.编写程序,从键盘输入两个字符分别存放在变量c1和c2中,要求交换c1和c2的值并输出。

8.编写程序,设银行定期存款的年利率rate为3.25%,存款期为n年,存款本金为capital元,计算并输出n年后的本利之和deposit。

interest(利息) = principal(本金)* rate(年利率)* n(年)

9.编写程序,输入销售员的销售额,计算并输出其月工资。公司规定销售人员的工作

由底薪加提成构成。底薪为1000元,提成为当月总销售额的9%。

第4章 选择结构 一、选择题

1.若变量c为char类型,能正确判断出c为小写字母的表达式是___________。 A) 'a'<=c<='z' B) (c>='a')||(c<='z') C) ('a'<=c)and('z'>=c) D) (c>='a')&&(c<='z') 2.有如下程序,运行后的输出结果是_ 。 void main()

{ int a=10,b=4, C=3; if(a

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

A)3,4,10 B)4,4,3 C)3,4,3 D)10,4,3 3.有如下程序段,执行该程序段后,x的值为__________。 int a=14,b=15,x; char c='A';

x=(a&&b)&&(c<'B');

A) ture B) false C) 0 D) l

4.运行以下程序,如果从键盘上输入5,则输出结果是________。 void main() { int x;

scanf(\,&x);

if ( x--< 5) printf(\%d\,x); else printf(\%d\,x++); }

A) 3 B) 4 C) 5 D) 6 5.下列关于if语句的描述中,错误的是( )。

A) if语句中可以没有else if子句,也可以没有else子句 B) if语句中只能有1个else子句

C) if语句中只能有不超过5个的else if子句 D) if语句中的条件可以是任意表达式 6.以下程序的输出结果是___________。 main()

{ int a= -1,b=1;

if ((++a<0)&& !(b--<=0)) printf(\; else

printf(\,b,a);

A) –1 1 B) 0 1 C) 1 0 D) 0 0 7.有如下程序, 该程序的输出结果是_________。 void main() {float x=2.0,y;

if (x<0.0) y=0.0;

else if(x<10.0) y=1.0/x; else y= l.0; printf(\ }

A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000 8.以下语法不正确的语句是___________。 A) if(x>y);

B) if(x<y){x++;y++;}

C) if(x=y)&&(x!=0) x+=y;

D) if(x!=y) scanf (\&x);else scanf(\; 9.以下程序输出结果为_________。 main()

{int x=2,y=-1,z=2; if(x<y)

if(y<0) z=0; else z+=1; printf(\,z); }

A) 3 B) 2 C) 1 D) 0 10.若输入字符B,以下程序的运行结果为___________。 main()

{ char grade;

scanf(\,&grade); switch(grade)

{ case 'A': printf(\; case 'B':

case 'C': printf(\; case 'D': printf(\; default: printf(\; }

A) >=85 B) >=60 C) >=60<60error D) error 11.有如下程序段: int score=5;

switch(score)

{ case 5: printf(\ good!\); case 4: printf(\!\); default : printf(\ error ! \

}

程序输出结果为_ 。

A) Very good! B) Good!

C) data error! D) Very good!Good! data error! 12.下列关于 switch语句和 break语句的说法中,只有___________是正确的。