C语言程序设计(1)复习题_第1页
C语言程序设计(1)复习题_第2页
C语言程序设计(1)复习题_第3页
C语言程序设计(1)复习题_第4页
C语言程序设计(1)复习题_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计(1)复习题判断题:l 在计算机中,小数点和正负号都由专用部件来保存和表示。()l 二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。()l 在定点数的表示方法中,0的原码、反码都有两种形式。()l 大写英文字母“A”的ASCII码值比小写英文字母“a”大。()l 通常硬盘安装在主机箱内,因此它属于主存储器。()l 计算机区别于其他计算工具的本质特点是能存储数据和程序。()l 二进制是由1和2两个数字组成的进制方式。()l CPU只能访问内存信息,外存信息必须先读进内存再供CPU访问。()l 计算机软件系统包括系统软件和游戏软件。()l 运算器只能做算术运算,不能做

2、逻辑运算。()l 字长是指计算机能直接处理的十进制信息的位数。()l 计算机的硬件系统包括主机和打印机。()l 八进制数126对应的十进制数是86。()l 设某字符的ASCII码十进制数值为74,则其十六进制值为50。()l 计算机中的字符,一般采用ASCII编码方案。若已知“H”的ASCII码值为48H,则可推断出“J”的ASCII码值为50H。()l 操作系统是合理地组织计算机工作流程、有效地管理系统资源、方便用户使用的程序集合。()l 计算机内所有的信息都是以十六进制数码形式表示的,其单位是比特(bit)。()l C语言程序中,任何英语单词均可以作标识符。()l 在C语言的源程序中,注释

3、使用越多,编译之后的可执行程序的执行效率越低。()l C语言编写的源程序经过编译、连接后,如果没有错误,则运行结果一定正确。()l 在C语言中,变量是不区分大小写的,如:sum 和SUM是同一个变量。()l C的任何类型数据在计算机内部都是以二进制形式存储的。()l double类型数据的输入必须用格式“%lf”。()l 使用putchar函数时,必须在之前包含头文件stdio.h。()l 用scanf函数向已定义的变量中输入数据时,在变量名前面必须加&。()l scanf函数中的格式符“%d”不能用于输入实型数据。()l 当程序中有scanf(%d%d,&x,&y);则执行时,输入10,20

4、后,x、y变量的值分别是10和20。()l 有定义double x=2,y;表达式y=x+5/2的值是4.5。()l 若有定义int a = 2,则语句printf(“%d”,a+); 的输出结果为3。()l 在循环体中,使用continue语句,可以跳出该循环。()l 表达式3 * 5 / 2 和表达式3 / 2 * 5的值相等。()l 任何变量都必须要定义其类型。()l 表达式(double)(1/2)的值为0.5。()l 若有定义int a=0,b; 执行语句if(a=0) b=0; else b=1; 后,b的值是1。()l 若x的当前值为10, 执行语句“if(x=3) x=x+5;

5、”后,x的值依然是10。()l C语言中用于结构化程序设计的三种基本结构是if、switch、break。()l 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则计算表达式:(m=ab)&(n=cd)后,n的值为2。()l 若有int x,则(x+1)+是一个合法的C语言表达式。()l 设int x = 7,y = 5,则x *= y - 3后,x的值为14。()l 如果i的原值为3,则执行语句:j = i+;后,j的值为3。()l do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。()l n是一个字符常量。()l 表达式 3.5%2 是合法的

6、C语言表达式。()l 若x是int型变量,且x=5,则表达式x%2+(x+1)%2的值为1。()l 语句for(; ; ) 循环体 和 while(1) 循环体是等价的。()单选题:l 计算机硬件一般包括( C )和外部设备。A运算器和控制器 B.存储器 C.主机 D.中央处理器l 微型计算机的发展是以( A )的发展为表征的。A微处理器 B软件 C主机 D控制器l 十进制数123.25转换为二进制数=( B )。 A. 1101111.01 B. 1111011.01 C. 1101101.1 D. 1110111.001l 整数-12的8位补码机器数为( D )。 A. 00001100

7、B. 10001100 C. 01110011 D. 11110100l 在计算机中,最适合进行数值加减运算的数值编码是( C )。A. 原码 B. 反码 C. 补码 D. 移码l 计算机内每个储存单元,被赋予一个唯一的( D ),称为地址。A. 位 B. 字节 C. 容量 D. 序号l 在C语言中, char型数据在内存中的存储形式是(A )。A. ASCII码 B. 反码 C. 原码 D. 补码l 下列数据中,有可能是八进制数的是( B )。A.488 B.317 C.597 D.189l 下列(C )是C语言中的常量。A. e+2 B. 068 C. x41 D. l C语句以( C )

8、结束。A. , B. : C. ; D. /l 能正确地定义符号常量的是( B )。A. #define n=5 B. #define n 5 C. #define n 5; D. #DEFINE N 5l 下列不是合法标识符的是(A )。A. ab$3 B. hot_do C. calt D. _suml 以下不正确的C语言标识符是( C )。A_next Ba_1_2 Cf(x,y) DProgl 已有定义int x; float y;且执行scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据12345 678,则y 的值为(B )。A. 12.0 B. 45.0 C. 67

9、8.0 D.45678.0l 下列( C )表达式的值等于0。 A. 2%5 B. 1/2.0 C. 1053 D. !(a-97)l 设有定义double x=2.4, y=3.56;,则表达式(int)x+y的值为( A )。A. 5.56 B. 5.4 C. 5 D. 6 l 设有语句int n=10,i=4;,则语句 n%=i+1;执行后,n的值是( A )。A. 0 B. 1 C. 2 D. 3l 若x=12,执行语句y = x12 ? x+10 : x-12;后,y的值为( D )。 A. 22 B. 12 C. 10 D. 0l 下列( A )表达式不满足“当x的值为偶数时值为真

10、,为奇数时值为假”的要求。A. x%2!=0 B. x%2=0 C. (x/2*2-x)=0 D. !(x%2)l 表达式22/4*sqrt(4.0)/4的值是(B)。A. 2.0 B. 2.5 C. 2.75 D. 11.0l 若有定义:int a=3,b=2,c=1;并有表达式:a%b abc b&c+1 c+=1则表达式值相等的是( C )。A. 和 B. 和 C. 和 D. 和l 若有定义:int k=2,x;则能使变量x的值为3的表达式是( B )。A.x=5/k+0.5 B.x=5/k+1; C.x=x+k D.x=2*k-l 执行下列程序段后,变量x1,x2,x3的值分别是( A

11、 )。 int a=8,b=7,x1,x2,x3; x1=(-a=b+)?-a:+b; x2=a+; x3=b;A. x1=6,x2=6,x3=8 B. x1=8,x2=8,x3=10C. x1=6,x2=7,x3=8 D. x1=6,x2=6,x3=9l 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式ab?a:cd?c:d的值是( C )。A. 3 B.2 C. 1 D.4l 以下程序段( C )。 x=-1; do x=x*x; while (!x);A. 是死循环 B. 循环执行2次 C. 循环执行1次 D. 循环一次都不执行l 表达式:5=-6 and x=4 B.

12、 -6=x=-6 | x=-6 & x=80: putchar(A); case 2+4: k=A;case xs) t=u; t=s; B. t=u; if(us) t=s;C. t=s; if(us) t=u; D. if(us) t=s; else t=u;l 设整型变量a为5,使b不为2的表达式是( C )。A. b=a/2B. b=6-(-a) C. b=a%2 D. b=a3?2:1l 下列语句不具有赋值功能的是( C )。A. a+ B. a=1 C. a+1 D. a*=2l 设int a=3,b=6,c=9;,下列表达式中值为0的是( D )。A. 2*a=b B. a&b

13、C. (3*a-c)|b D. b-a=0; ) printf(“%d”, i-) ;A. 4次 B. 3次 C. 2次 D. 无数次l 执行for(i=0;i0;i-) for(j=0;j4;j+) printf(“%d %dn”,i,j);A. 20 B. 24 C. 25 D. 30l while(scanf(“%f”,&n),n0的值时循环终止 B. 当输入n=0的值时循环终止 C.scanf(“%f”,&n),n=a&c=A&c3?4:5 D. b=a%5l 循环语句 for(x=0,y=0;(y!=123)|(xy)z=x; x=y; y=z;后x,y,z的值是( B )。A. 1

14、0,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,20l 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与( B )配对。A. 缩排位置相同的if B. 其之前最近的没有else配对的ifC. 其之后最近的if D. 同一行上的ifl 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( C )。A. x=x*100+0.5/100.0; B. x=(x*100+0.5)/100.0;C. x=(int)(x*100+0.5)/100.0; D. x=(x/100+0.5)*10

15、0.0; l 下列各m的值中,能使表达式m%3=2&m%5=3&m%7=2值为1的是( A )。A. 23 B. 17 C. 8 D. 6l 以下4个选项中,不能看作一条语句的是( D )。 A. ; B. a=0,b=0,c=0; C. while(i-); D. if(b=0) m=1;n=2;l 逻辑运算符两侧运算对象的数据类型( D )。A. 只能是0或1 B. 只能是0或非0正数 C. 只能是整型或字符型数据 D. 可以是任何类型数据l 以下程序段输出结果是( C )。 int x=3; do printf(“%3d”,x-=2);while(!(-x);A1 B 3 0 C 1 -

16、2 D死循环l 有定义”int a=5;”, 语句”a+=a-=a+a;”, 执行后,变量a的值为( C )。l A. 10 B. 5 C. -10 D. -5l 下列可以正确表示字符型常量的是 ( B )。A.“a” B.t C.”n” D.18l 下列语句中,哪一个可以输出26个大写英文字母( D )。Afor(a=A;a=Z;printf(%c,+a);Bfor(a=A;aZ;a+)printf(%c,a);Cfor(a=A;aZ;printf(%c,+a);Dfor(a=A;a=A|ch=A&ch=A&ch=A|ch=Z)?ch+32:ch;l 设有定义int a=0,b=0,t;,则

17、执行语句:t = a+&+b;后,a和b的值是( C )。A. a=0,b=0 B. a=0,b=1 C. a=1,b=0 D. a=1,b=1l 循环语句 for(x=0;x7) n-;printf(%d ,n);的输出结果是( D )。A10 9 B9 8 C10 9 8 D9 8 7l 执行下面程序段,若从键盘输入33后,其输出结果是( D )。 int x; scanf(“%d”,&x); if(x60) printf(“%d”,x); else if(x30) printf(“%d”,x);else if(x20) printf(“%d”,x);A.333333 B.3333 C.3

18、3 D.33 33 33l 下列语句执行后,s的值为( D )。int i,s; for(i=0,s=1 ; i=10; i+ ) s=s+i;A55 B25 C30 D无法求出程序阅读题:说明:阅读下列程序,在每小题提供的程序运行结果若干可选答案中,挑选一个正确答案。l #include int main() 答案:C int a; float b,c; scanf(%2d%3f%4f,&a,&b,&c); / 输入12345654321printf(a=%d,b=%.1f,c=%.1fn,a,b,c);return 0; A.a=12,b=345,c=6543 B.a=12,b=123,c

19、=1234 C.a=12,b=345.0,c=6543.0 D.a=12.0,b=345.0,c=6543.0l #include 答案:B int main() int a=5,b=4,c=3,d=2; if (ab&dc) printf(%dn, d); else if (c-1=d)=1) printf(%dn, d+1); else printf(%dn, d+2); A. 2 B. 3 C. 4 D. 编译时有错,无结果l #include 答案:Cint main() int x=1,a=0,b=0; switch(x) case 0: b+; break;case 1: a+;

20、case 2: a+;b+; printf(a=%d,b=%dn,a,b); return 0;A. a=0,b=1 B. a=1,b=1 C. a=2,b=1 D. a=1,b=0l #include 答案:Aint main() int i; for( i=5;i=8;i+) if (i%3)=0) printf($); break; else printf(*); printf(#); return 0; A. *#$ B. *#$*#*# C. *# D. $# l #include 答案:Cint main( ) int x,i; for( i = 1,x=1; i = 3; i+)

21、 x=x+i; switch (x) case 1: putchar(a); break; case 2: putchar(b); break; case 3: putchar(c); break; case 4: putchar(d); break; default: putchar(e); break; return 0;A.abcde B.bcde C.bde D.cdel #include 答案:Dint main() int j,k,n,f,s; n=4; s=0; f=1; for(k=1;k=n;k+) for(j=1;jk;j+) f=f*k; s=s+f; printf(%d

22、#,s); return 0;A.24# B. 33# C. 1#2#6#24# D. 1#3#21#1173#l #include 答案:A int main() int n; for(n=1;n=10;n+) if(n%3=0) break; printf(%d,n); return 0; A.12 B.369 C. 12457810 D. 12345678910l #include 答案:Dint main() int i,n;scanf(%d,&n); /输入24i=2; while(n1) if(n%i=0) printf(%d ,i); n/=i;else i+; printf(n

23、);return 0;A. 2 2 6 1 B. 2 3 4 1 C. 3 2 2 2 D. 2 2 2 3l #include 答案:Aint main() int i, m=15, y = -1;for(i=2; i=m/2;i+) if (m%i=0) y=0;else y=1; printf(%d#,y); return 0;A. 1# B.2# C. 0# D.-1#l #include 答案:Cint main() int j,k,s1,s2; s1=s2=0; for(j=1;j=5;j+) s1+; for(k=1;k=j;k+) s2+; printf(%d %d, s1,

24、s2);return 0;A. 5 5 B.5 6 C.5 15 D. 5 21l #include 答案:Cmain()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0;j=3;j+) if(j%2) continue;x+;x+;printf(x=%dn,x);return 0;A. x=4 B. x=6 C. x=8 D. x=12l #include 答案:Dint main() char grade; scanf(%c, &grade); / 输入 B switch(grade) case A: printf(=85); case B: case C: pri

25、ntf(=60); case D: printf(=85=60=60=60 D. =6060error.l #include 答案:Bint main() int a,b; for(a=1,b=1;a=20) break; if(b%3=1)b+=3;continue; b-=5; printf(%dn,a);return 0;A.7 B.8 C.9 D.10l #include 答案:B int main( ) int a=1,b=0; do switch(a) case 1: b=1;break; case 2: b=2; break; default : b=0; b=a+b; whil

26、e(b=0); printf(a=%d,b=%d n,a,b);return 0; A. a=1,b=3 B. a=1,b=2 C. a=1,b=1 D. a=1,b=0l #include 答案:Cint main() int i,a,b; for(a=10;a=20;a+) b=1;for(i=2;i=a/2;i+) if(a%i=0) b=0; break; if(b=1) printf(%d , a); return 0;A. 10 12 14 16 18 20 B. 11 13 15 17 19C. 11 13 17 19 D. 10 14 18l #include 答案:Cint

27、main() int n, sum_p=0, sum_f=0; scanf(“%d”, &n); while(n != -1) if(n=60 & n= 0 & n60) sum_f+; scanf(“%d”, &n); printf(“%d,%d”, sum_p, sum_f);return 0;输入数据为23 67 87 98 26 101 -20 19 56 80 -1A. 5,6 B. 4,5 C. 4,4 D. 5,4l #include 答案:Dint main( ) int s=0,i,t,flag=1; for(i = 1; i 5; i+) t = flag*i*i; s +

28、= t; flag = -flag;printf(“%d”, s);return 0;A. 15 B. 10 C. -15 D. -10l #include 答案:Bint main()int i=0;while(i 3)switch(i) case 0: printf(%d,i); case 1:printf(%d,i);break; case 2: printf(%d,i); break; i+; return 0;A. 0112 B. 0012 C. 00112 D. 001122l #include 答案:C int main() int a=2,b=-1,c=2; if(ab) if

29、(b0) c=0; else c+; printf(%dn,c);return 0;A. 0 B. 1 C. 2 D. 3l #include 答案:Aint main() int i; for(i=1;i=5;i+) if(i%2) printf(“*”);else continue;printf(“#”); printf(“$n”);return 0;A. *#*#*#$ B. #*#*#*$ C. *#*#$ D. #*#*$l #include 答案:Cint main( ) int i,j,sum,m,n=4; sum=0; for(i=1;i=n;i+) m=1;for(j=1;j

30、=i;j+) m=m*j;sum=sum+m; printf(“sum=%dn”,sum);return 0;A.sum=10 B.sum=24 C. sum=33 D. sum=303l #include 答案:C int main() int k; for(k=1; k5; k+) if(k%2) printf(#); else break; printf(*); return 0; A.# B.*#*# C、#* D.#*#*l #include 答案:Aint main() int x=6, y=5;x+=1/8; x=(+x=y+)? x%3 : x/3;printf(x=%d,y=

31、%dn,x,y);return 0;A.x=2,y=6 B.x=1,y=5 C.x=2 y=6 D.x=1 y=5l #include 答案:Bint main( ) int k=1,sum=0;dok=k*(k+1)/2;sum+=k;while(sum%7);printf(“sum=%d”,sum);return 0;A.7 B.sum=7 C.7.0 D.sum=7.0程序填空题:说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。l 输入三角形三条边的边长,计算并输出三角形的面积。计算三角形面积的公式如下: #include #include int ma

32、in() double x,y,z,s,d; (1) 答案:A s=(x+y+z)/2; d= (2) ; 答案:B printf(“d=%fn”.d);return 0; (1) A.scanf(%lf%lf%lf,&x,&y,&z);B. scanf(%f%f%f,&x,&y,&z); C.scanf(%lf%lf%lf,x,y,z); D. scanf(%f%f%f,x,y,z);(2) A. sqrt(s(s-x)(s-y)(s-z) B. sqrt(s*(s-x)*(s-y)*(s-z) C. exp(s(s-x)(s-y)(s-z) D. exp(s*(s-x)*(s-y)*(s-

33、z)l 输入一批以 -1结束的整数,求偶数和。#include int main() int x, sum; sum=0;scanf(%d, &x);_(1)_ 答案:B if(_(2)_) sum=sum+x; 答案:C_(3)_; 答案:B printf(_(4)_); 答案:Creturn 0; (1) A. while(x = -1) B. while(x!=-1)C. if(x = -1) D. if(x != -1)(2) A. x=2 B. x%2=2 C. x%2=0 D. x/2=0(3) A. scanf(%d,x) B. scanf(%d, &x) C. sum=0 D. x=sum(4) A.sum=%d , &sum B.sum=%d , &sum C.sum=%d , sum D.sum=%d , sum l 输入一行字符(以回车结束输入),统计其中所有小写字母的个数。请填空。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论