c练习三_11_06_09-答案_第1页
c练习三_11_06_09-答案_第2页
c练习三_11_06_09-答案_第3页
c练习三_11_06_09-答案_第4页
全文预览已结束

下载本文档

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

文档简介

1、综合强化练习三一、单选题(共30分)1下列叙述中错误的是(A )。A、主函数中定义的变量在整个程序中都是有效的B、在其他函数中定义的变量在主函数中不能使用C、形式参数也是局部变量D、复合语句中定义的变量只在该复合语句中有效2以下叙述中正确的是(C)。A、C语言比其他语言高级B、C语言可以不用编译就能被计算机识别执行C、C语言以接近英语国家的自然语言和数学语言作为语言的表达式D、C语言出现的最晚,具有其他语言的一切优点1(A)是C程序的基本构成单位。A、函数 B、函数和过程C、超文本过程 D、子程序2C语言规定,必须用(C)作为主函数名。A、function B、include C、main D

2、、stdio3以下(A)是C语言提供的关键字。A、continue B、procedure C、begin D、append4下列可以作为变量名的是(C)。A、+a B、e C、a3B D、5e+05在C语言中以下合法的字符常量是(C)。A、0824 B、x243 C、0 D、”0”6设d为字符变量,则下列表达式不正确的是(C)。A、d=m B、d=97 C、d=a D、d=1017表达式(double)(23/3)的值是(B)。A、4B、7.0C、7.7 D、38下列程序的输出结果是(B)。main( )int x=4, y=0,z;x*=3+2;printf(“%dt”,x);x*=(y=

3、 =(z=4);printf(“%d”,x);A、14 40 B、20 0 C、20 4 D、14 49已知year为整型变量,不能使表达式(year%4= =0&year%100!=0)|(year%400= =0)的值是1的整型数据是(A)。A、1990 B、1988 C、1992 D、200010若x=4,y=z=3,则下列表达式的值分别是(A)。(1)(z=y=x)?1:0(2)y+=z, x*=yA、0 24 B、1 8 C、0 8 D、1 1211若已定义a和b为double类型,则表达式:a=1,b=a+3/2的值是(C)。A、1.0 B、1.5 C、2.0 D、3.012若有定

4、义:int m, n; char a, b, c; 在程序运行时输入数据5 6(回车)YOU(回车)则把整数5赋值给m,把整数6赋值给n,把字符Y赋值给a,把字符O赋值给b,把字符U赋值给c,以下哪一个是正确的程序段(A)。A、scanf(“%d%d%c%c%c”,&m,&n,&a,&b,&c); (代表空格)B、scanf(“%d, %d”, &m, &n); a=getchar( ); b=getchar( ); c=getchar( );C、scanf(“m=%d,n=%d”,& m, &n); a=getchar( ); b=getchar( ); c=getchar( );D、sca

5、nf(“%d%d%c%c%c”,&m,&n,&a,&b,&c);13下列程序的运行结果是(D)。#includemain( )int x, y=1;if(y!=0)x=5;printf(“%dt”,x);if(y= =0)x=3;elsex=5;printf(“%dn”,x);A、1 3 B、3 5 C、5 3 D、5 514有程序段如下:i=1;for(; i=10; i+)sum=sum+i;B、for(i=1; i=10;)sum=sum+i; i+;与上面的语句不等价的是(C)。A、for(i=1; ;i+) sum+=i; if(i= =10) break;D、i=1;for( ;

6、; ) sum=sum+i; if(i= =10) break; i+;C、 i=1;for(; i22) n-; printf(“%dn”,n);则以上循环的输出结果是(B)。A、22 B、24 C、23 D、1 21 23 22 2 20 22 21 016以下能正确表示x的取值范围在15,80和-5,-1内的表达式是(B)。A、(x=-1) & (x=80)B、(x=-5)&(x=15)&(x=-5)|(x=15)|(x=80)D、(x=-1) & (x=80)17以下能正确判断字符型变量ch为小写字母的表达式是(C)。A、(ch=a)AND(ch=a)&(ch=a)&(ch=a)|(c

7、h=z)18有以下程序:#includemain( )int a=23, b=c=0;if(a=b+c) printf(“I like itn”);else printf(“I hate itn”);以上程序(D)。A、通过编译,但不能连接 B、输出I like it C、输出I hate it D、不能通过编译(因为有语法错误)19下列程序的输出结果是(B)。main( )int m, a, b;a=1; b=1; m=0;m=a+|b+;printf(“n%d %d %dn”, a, b, m);A、1 1 0 B、2 1 1 C、0 1 0 D、1 0 120下列语句正确的是(A)。A、

8、char string=”china”;B、char string;string=”china”;C、char string1, string2=”china”; string1=string2;D、char string1, string2; string2=”china”; strcpy(string1, string2);21如果在一个函数的复合语句中定义了一个变量,则该变量(A)。A、只在该复合语句中有效,在该复合语句外无效B、在该函数中任何位置都有效C、定义方法错误,其变量为非法变量D、在本程序的原文件范围内均有效22以下程序段的输出结果是(C)。int i;int a33=1,2,

9、3,4,5,6,7,8,9;for(i=0;i3;i+) printf(“%3d”,ai2-i);A、2 4 6 B、2 4 8 C、3 5 7 D、3 6 723假设arr是一个有20个元素的整型数组,则下列写法中正确的是(A)。A、arr0=2 B、arr=0 C、arr20=0 D、arr-2=024已知整型变量i的值为3,其内存地址为1000,p为指向int变量的指针变量。若使p指向i,则下列赋值正确的是(D)。A、&i=3 B、*p=3 C、*p=1000 D、p=&i25共用体类型变量在程序执行期间(B)。A、所有成员一直驻留在内存中B、只有一个成员驻留在内存中C、部分成员驻留在内

10、存中 D、没有成员驻留在内存中26以下循环体的执行次数是(C)。main( )int i, j;for(i=0, j=1; i120) ; printf(“%d”,x);A、100 B、101 C、120 D、12129以下叙述中正确的是(BC)。A、全局变量的作用域一定比局部变量的作用域范围大B、静态(static)类别变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于局部变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值30在对文件的操作中,对文件进行打开操作的标准库函数是(C)。A、fgetc B、fputc C、fopen D、fclose二、 填空题。

11、(共10分)1.若有语句“printf(“%0.2f”,23.528);”,则输出_23.53_。 2.在C语言中,输入操作是由库函数_scanf_完成的,输出操作是由库函数_printf_完成的。3.若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后,a、b、c的值分别为_6_、_4_、_2_。4. C语言中,数组名是一个_地址_常量,代表_数组的首地址_,不能对其进行赋值操作。5.定义一个包含4行5列共20个float型元素的二维数组arr的形式是_float arr45_。6.一个C源程序至少应包括一个_main_函数。 三、读程序写执行过程(共40分,每题5分)1、

12、#include main( ) int i, j, x, y;i=9;j=11;x=+i;y=j+; printf(“%d,%d,%d,%dn”,i, j, x, y); 10,12,10,112、#include main( ) int a, b, c;a=2;b=4;if(ab)c=1;elseif(a= =b)c=0;elsec=-1;printf(“%dn”,c); 3、#include main ( ) int m; scanf(“%d”,&m); switch(m+%4)case 0:case 1: printf(“%d5”, m); break;case 2: printf(“

13、%5d”, m*m);case 3: printf(“%5d”, m*m*m);程序运行后输入2,程序的输出结果是什么?4、#include main( )int i, s, t;s=0;for( i=1; i=10; +i)if(i%2=0)t=-i;elset=i;s+=t;printf(“s=%dn”, s);5、#include main( )char ch;int n=0;ch=getchar( );while(ch!=n)+n;ch=getchar( );printf(“%d”,n);程序运行后输入abcdef,程序的输出结果是什么?6、#include main() int i,

14、 j; for(i=2, j=10; ij; i+=2,j-=2)printf(“%d,%d “, i, j);7、#include main( )int n=12345, s=0;while(n)s+; n/=10;printf(“%d”,s);58、#include main( )char w5= 3,4,2,6,1, m,n;int i;m=w0; n=w0; for( i=1; im) m=wi;else if(win) n=wi;printf(“%c %cn”, m, n);6 1四、编程题(共20分,每题10分)1、编程输入一个四位整数n,求其倒序数nr。例如,输入1256,输出6521。#includevoid main()int n;printf(请输入一个四位整数);scanf(%d,&n);while(n!=0)printf(%d,n%10);n=n/10;2、输入一字符,判断该字符属于哪一类?大写字母 AZ小写字母az数字类09其他字符类3、定义一个包含5个整数的数组,找出其最大值和最小值,并将最大值和最小值交换位置,重新输出数组中的元素。(要求在程序运行过程中输入数组元素的值)#includevoid main()int a5,i,max,min,imax,imin,ite

温馨提示

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

最新文档

评论

0/150

提交评论