C程序设计课后习题1-3(答案)

更新时间:2023-12-03 12:00:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C程序设计课后习题

第一章习题

1. 选择题

(1)C语言程序的执行总是从( A )开始。 A.main函数的入口 B.编译预处理命令 C.源程序的第一个函数 D.源程序的第一行语句 (2)在C语言的源程序中,主函数的位置( C )。 A.必须在编译预处理命令的后面 B.必须在源程序的最后 C.任意 D.必须在源程序的开头 (3)下列变量名中合法的是( C )。 A. B.C.Tom B.3a6b C._6a7b D.$ABC

(4)下面两对用户定义标识符哪个可读性更强:( C )

A.checkquality B.salarytotal C.check_quality C.sal_ary_tot_al (5)C程序是由( D )组成。

A.若干个过程 B.若干子程序 C.一个主程序和若干子程序 D.若干函数 2.填空题

(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。

(2)编译预处理命令___是_____(填“是”或“不是”)C语

言文本的一部分。

(3)一个C语言程序至少应包含一个__主函数或main()__。 (4)C语言的标准输入函数是_scanf()__,标准输出函数是

___printf()____。

(5)函数体用___{______符号开始,用_____}______符号结束。 (6)注释的开始和结束标志分别为__/*____和____*/____。为

增强程序的__可读性___,应该为程序写上清晰的注释。 3.编程题:参考本章例题,编写一个C程序,输出以下信息。 ********************** *The data is * * 2005-03-23 * ********************** 程序如下:

#include Void main()

{printf(“**********************\\n”); printf(“*The data is *\\n”); printf(“* 2005-03-23 *\\n”); printf(“**********************\\n”); }

第二章习题

1. 选择题

(1)设int m=10 ,则下列表达式的值不等于零的有( A F )。 A.1%2 B. m=10/11.0 C. m==8 D. 2/3 E. ~m&m F. ~(m|m) G. !m H.m^m

(2)设有int m=11,则表达式( B )使整型变量n的值为1。 A.n=m%3 B.n=m-1<11? 1.0:3.0 C.n=m/12 D.n=11-m

(3)设有int x=10,y=3;则下列表达式值为1的是( D )。 A.!(y==x/3) B. y!=x%7 C. x>0&&y<0 D.x!=y||x>=y (4)有如下定义

long m; char c; float x; double y;

则表达式2L+3*y+m*2+c+x*m*3的值的类型为( D )。 A.long B. char C. float D.double

(5)’a’在内存中占( A )个字节,“a”在内存中占( B )个字节。 A. 1 B. 2 C. 3 D.4

(6)设int x=25;则表达式(x&20 >>1)|(x>10|7&x^33)的值为( F )。

A.35 B. 43 C. 11 D. 3 F.41

2.填空题

(1)若int类型占2个字节,则long型数据占_4_字节,short类型占_2_字节,unsigned int占__2__字节,float类型占__4__字节。 (2)若有float x,执行表达式语句 x= 8.7+123.7*6-‘a’%7;后,x的值为__744.900024___。

(3)欲将一个16位二进制的整型变量的高8位清零,而只保留低8位,可用的方法__与八进制数377按位与即可______。 (4)下面程序段的输出结果为___0___。 Int a=1,b=2,c=3; printf(“%d\\n”,a=b==c);

(5)有如下语句,则输出输出结果为__k1=-1,k2=65535____。 int k=-1;

printf(“k1=%d,k2=%u”,k,k); 3.阅读程序,写出输出结果 (1)

# include main ()

{ char c1=‘H’,c2=c1+32; printf(“%o,%x,%d\\n”,c1,c1,c1); printf(“%c,-\\n”,c2,c2); }

输出结果为: 110,48,72 H,104

(2)

# include main() { int x=432; float f=69.20; char c; c=f-2; printf(“%c,”,c); x+=f;

printf(“%d,”,x); f=c+x;

printf(“%4.3f\\n”,f); }

输出结果为: C,501,568.000

第三章习题 1. 选择题 (1)

结构化程序设计的三种基本结构是( A )。

A. 顺序结构、选择结构、循环结构 B. 顺序结构、转移结构、递归结构 C. 嵌套结构、选择结构、递归结构 D. 嵌套结构、循环结构、顺序结构

(2)

C语言中,逻辑“真”等价于( C )。

A.大于零的数 B.大于零的整数 C.非零的数 D.非零的整数 (3)有程序段; int a;

scanf(“%d”,&a); if(!a)

printf(“continue”);

则if语句中的!a等价于( B )。

A. a!=0 B.a==0 C.a>0 D.a>=0 (4)若有int x,y;且x=20,则以下关于for循环语句的正确判断为( A )

for(y=20;x!=y;++x,y++)printf(“--\\n”); A.循环体一次也不执行 B.循环体只执行一次 C.死循环 D.输出---—

(5)有程序段; int x=20; do{ x/=2

}while(x--);

请问此循环执行( A )次

A. 4 B.3 C.5 D.不确定 (6)下列说法中不正确的是 ( A )。 A.switch语句中必须使用break语句。 B.switch后的括号中可以为任何表达式。 C.case后只能是常量或常量表达式。 D.以上结论不都正确。

(7)下面选项中与if(a)等价的是( B ) A.if(a==0) B.if(a!=0) C.if(a=0) D.if(a==1) (8)有如下程序段: int k ,m; k=5,m=1; switch (k) {

case 1:m++; case 5:m*=3; case 9:m+=4;break; case 11:m+=1;

default:m+=3; }

printf(“%d\\n”,m); 则输出结果是( B )。

A.10 B.7 C.3 D.11 2.程序填空题

(1)求各位数为7且能被3整除的6位数的个数。 # include“stdio.h” main()

{ long int i; int count;

count=_____0______;

for(i=_100007___;i<99999;__i++_____) if(__(i==7)&&(i%3==0)_______) count++; printf(“count=%d\\n”,count); }

(2)本程序判断某年(year)是否是闰年。 # include”stdio.h” main() {

int year;

printf(“please input year:”);

scanf(“%d”,&year);

if((year%4==0__&&__year0!=0)__||__year@0==0) printf(“a leap year.\\n”); }

(3)编程用公式:4(1-1/3+1/5-1/7+...)计算圆周率,精度要求为10(注:其中sign代表当前项符号(1表示+或-1表示-))。 # include # include void main() {

int sign=1;

float Pi=0,item=1,k=3;

while(fabs(item)___)=1E-5________;) {

pi+=item; sign*=-1;

item=__sign/k______; k_+=2_________; }

pi=__pi*4_______; printf(“pi=%f\\n”,pi);

-5

} 3.编程题

(1)请使用if...eles if...eles语句改写下面的程序。 # include void main() { int mark;

printf(“input the mark of a student(0

case 9:printf(“A\\n”);break; case 8:printf(“B\\n”);break; case 7:printf(“C\\n”);break; case 6:printf(“D\\n”);break; default:printf(“E\\n”);break; } } 结果为:

# include void main() { int mark;

本文来源:https://www.bwwdw.com/article/42xt.html

Top