C语言程序设计复习资料(答案.doc

上传人:飞****2 文档编号:56398739 上传时间:2022-11-01 格式:DOC 页数:24 大小:91.50KB
返回 下载 相关 举报
C语言程序设计复习资料(答案.doc_第1页
第1页 / 共24页
C语言程序设计复习资料(答案.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《C语言程序设计复习资料(答案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计复习资料(答案.doc(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C语言程序设计复习资料一、填空题1、C语言程序是函数构成的,其中有且只有1个 主 函数,程序的的执行总是从该函数开始。2、用条件运算符写出求两个整数x,y中大数的表达式 z xy?x:y 。3、定义一个符号常量PI,其值为3.,格式是#define PI 3. 。4、设整型变量X=5,Y=6,Z=7,执行X%=Y+Z后,X = 5 。5、执行语句“for(j=15 ;j =5 ;j- );”后,变量j的值为 4 。6、在一个函数中有定义int a=60,*p=&a ; 执行*p=*p +15;后,a的值为 。7、结构化程序设计的三种基本结构是顺序结构、选择结构和 循环结构 。8、定义一个长度为

2、100的整形一维数组a ,且前5个元素的初值为3,6,9,12,15,定义的格式为: int a100=3,6,9,12,15 。9、写出表达式2515&6525|8875的值 1 。10、函数的传值调用中,实际参数把它的值传递给 形式 参数。11、表达式 (int)(20+2.5*3+6+5.3) 的值是 38 。12、若有以下定义:char a; int b; float c; double d; 则表达式a*b+dc的值的类型是 。13、写出表达式6665&6585|8595的值 1 。14、在C语言中,允许在程序中用typedef来定义新的类型名代替已有的类型名,例如typedef i

3、nt INTEGER;。15、C语言采用编译方式将源程序转换为二进制的目标代码,编写好一个C程序到完成运行一般经过以下几个步骤:编辑、 编译 、连接、执行;16、C程序是由函数组成的,一般情况下函数体由说明部分和执行部分组成,其中说明部分的作用是 ; 17、表达式m = a b ? ab : b5 当a=15,b=11时,m的值为: 26 ; 18、函数的传值调用中,实际参数把它的值传递给 形式 参数;19、写出表达式14&75的值 ;20、在C语言中,字符串是用双引号引起来的一串字符。在机器中,字符串ABcdEFgn 需占用字节的内存空间;21、结构化程序设计的三种基本结构是顺序结构、选择结

4、构和 循环结构 ; 22、定义一个长度为2行3列的整形二维数组a ,元素的初值为6,12,18,24,30,36定义的格式为: int a23=6,12,18,24,30,36 ; 23、表达式 (int)(5.5*3+11+5.5) 的值是 ;二、选择题:1下列各组字符序列中,可用作C语言程序标识符的一组字符序列上()。 (A)M.b, sum, average, _above (B)class, day, lotus_1, 2day(C) #md, &12x, month, student_n1 (d) D56, r_1_2, name, st_12.下列变量说明语句中,正确的是()。(A

5、)char:a b c; (B) char a;b;c; (C) int x;y; (D) int x,y;3.设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为()。(A)25 (B)7(C)47 (D)2.754.下列语句中,不正确的()。A、static int a23=1,2,3,4,5,6;B、static int a23=1,4,5;C、static int a 3=1,4;D、static int a =1,2,3,4,5,6;5.下列定义数组的语句中正确的是()。(A)#define size 10 (B) char str ; char

6、 str1size,str2size+2;(C) int num10; (D) int n=5; int ann+2;6.以下程序的输出结果是()。#include main()int i,j,k,a=3,b=2;i=(-a=b+)? - -a;+b;j=a+;k=b;Printf(“i=%d,j=%d,k=%dn”,i,j,k);(A)i=2,j=1,k=3 (B)i=i,j=1,k=2(C)i=4,j=2,k=4 (D)i=1,j=1,k=37. 一个C语言的源程序中(C)。(A)必须有主函数和其它函数 (B)可以有多个主函数(C)必须有一个主函数 (D)可以没有主函数8写出程序的运行结果

7、( A )。main()int n;for(n=1;ny?x:y; int z; z=xy?x:y;(C) int max(x,y) return(z);int x,y,z; z=xy?x:y; (D) int max()return(z); 11.在函数内,定义变量时存储类型符可省略的是(A) A.auto B.static C.extern D.register12.下列表达式的值为0的是() A.35 B.3/5.0 C.3/5 D.35 13.正确的C语言用户自定义标识符是(A) A.print B.float C.when? D.random2 14.设inta=3;则表达式a1的运

8、算结果和a的值分别是() A.0和2 B.0和3 C.1和2 D.1和315.设charx=a;则printf(x=c,y=cn,x,97);的输出是() A. x=a,y=97 B. x=97,y=a C. x=97,y=97 D. x=a,y=a16.设charstr100;inti=5;则引用数组元素的错误形式是() A.stri+10 B.(str+i) C.(str+i-1) D.(str+)+i)17. 执行下列程序 inta33=1,2,3; intb33=1,2,3; main() printf(dn,a10+b00); 后输出的结果是(D) A.0 B.1 C.2 D.318

9、.执行下列程序 inta=3,b=4; voidfun(intx1,intx2) printf(d,dn,x1+x2,b); main() inta=5,b=6;fun(a,b); 后输出的结果是(C) A.3,4 B.11,1 C.11,4 D.11,619.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf(i=%d,f=%f ,&i, ,&f); 为了把100和765.12分别赋给i和f,则正确的输入为 ( B )A) .12 B) i=100,f=765.12 C) .12 D) x=100y=765.1220. 设x和y均为int型变量,则执行下的

10、循环后,y值为 ( )for(y=1,x=1;y=y)&(y=z) B(x=y)AND(y=z) C)(x=y=z) D)(x=y)&(y=z) 22 设有如下定义: int x=10,y=3,z; 则语句 printf(%dn,z=(x%y,x/y); 的输出结果是_ A)1 B)0 C)4 D)3 23 以下程序的输出结果是_ main() int x=10,y=10; printf(%d %dn,x-,-y); A)10 10 B)9 9 C)9 10 D)10 9 24定义如下变题和数组: int i; int x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是_ f

11、or(i=0;i3;i+) printf(%d,xi2-i); A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9 25 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_ A)a0 B)!a C)a=0 D) a 26 以下说法中正确的是 C A) C语言程序总是从第一个的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 27 执行下面的程序后,a的值为 _main() int a,b; for (a=1,b=1;a

12、=20)break; if(b%3=1) b+=3; continue; b-=5; A)7 B)8 C)9 D)10 28能正确表示a和b同时为正或同时为负的逻辑表达式是_A、(a=0|b=0)&(a0|b=0&b=0)&(a0&b0)&(a+b029 定义如下变量: int n=10; 则下列循环的输出结果是 while(n7) n-; printf(%d ,n); A)10 9 8 7 B)9 8 7 6 C)10 9 8 D)9 8 7 30两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是_ main( ) int x; scanf(%d,&x); if(x + + 5)p

13、rintf(%d,x); else printf(%dn,x - -); A)7和5 B)6和3 C)7和4 D)6和4 31 C语言中运算对象必须是整型的运算符是_ A) %= B) / C) = D) =31 若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是_ A) 0 B) 0.5 C) 1 D) 232 能正确表示逻辑关系:“a10或a0”的C语言表达式是_ A) a=10 or a=0|a=10 &a=10a=032 有如下程序 main0 int x=1,a=0,b=0; switch(x) case 0: b+; case

14、1: a+ case 2: a+;b+ printf(“a=%d,b=%dn”,a,b); 该程序的输出结果是_ A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=233 阅读下列程序: main( ) int n3,i,j,k; for(i=0;i3;i+) ni=0; k=2; for (i=0;ik;i+) for (j=0;jk;j+) nj=ni+1; printf(%dn,n1); 上述程序运行后输出结果是 _A)2 B)1 C)0 D)334 在函数内,定义变量时存储类型符可省略的是_A_A.auto B.static C.extern D.re

15、gister35 下列程序的输出结果是_ main( ) int a5=2,4,6,8,10,*P,* *k; p=a; k=&p; printf(%d,*(p+); printf(%dn,* *k); A)4 4 B)2 2 C)2 4 D)4 636 以下程序的输出结果是_main()int i;for( i=0;ib)if(bc)printf(%d,d+1);elseprintf(%d,+d+1);printf(%dn,d);A) 2 B)3 C)43 D)4438 执行下列程序 inta=3,b=4; voidfun(intx1,intx2) printf(d,dn,x1+x2,b);

16、 main() inta=5,b=6;fun(a,b);后输出的结果是_C_ A.3,4 B.11,1 C.11,4 D.11,639下列标识符中,合法的标识符是(C)A、123abcB、123abcC、123abcD、do40C语言源程序文件的扩展名是(D)A、.comB、.objC、.exeD、.c41在C语言中,不合法的int型常量是(D)A、32767B、0678C、0XABCD、32768L42设有语句char a=72;则变量(A)包含1个字符B、包含2个字符C、包含3个字符D、包含4个字符43以下所列语句中,合法的语句是()A、a=1,b=2B、+a;C、a=a+1=5;D、y=

17、int(a);44若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5);c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、245设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()A、52B、32C、16D、446假设已说明I为整型变量,f为单精度实型变量,d为双精度实型变量,则表达式10+a+I*fd最后所得值的数据类型为()A、字符型B、整型C、单精度实型D、双精度实型47设x为int型变量,则执行以下语句后,x的值为()x=10; x + = x - = x - x;A、10B、20C、30

18、D、4048已知int i=1,j;执行语句j=-i+;后,i 和j的值分别为()A、1,1B、1,1C、2,1D、2,249若有定义:int a,b;使用语句scanf(%d,%d,&a,&b);给变量a,b分别赋值10和20,则正确的输入格式为()A、10,20B、1020C、10回车20D、a=10,b=1050设x,y,t均为int型变量,则执行语句:x=y=3;t=+x|-y;后y的值为()A、4B、3C、2D、151以下关于if语句的错误描述是()条件表达式可以是任意的表达式条件表达式只能是关系表达式或逻辑表达式条件表达式的括号不可以省略与else配对的if语句是其之前最近的未配对

19、的if语句52以下程序的输出结果是()main( ) int m=5; if(m+5) printf(%dn,m); else printf(%dn,m- -); A、7B、6C、5D、453当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()A、c=b=a;B、(a=c)|(b=c);C、(a=c)&(b=c);D、a=c=b;54使条件表达式(year%4=0&year%100!=0)|(year%400=0)结果为假的值是()A、1950B、2000C、1996D、200455当执行以下程序段时()x=-1;do x=x*x;while(!x);A、循环体将执行一次B、循环

20、体将执行两次C、循环体将执行无限次D、系统将提示有语法错误56已知有语句:for(x=0,y=0;(y!=123)(xb?(ac?a:c):(b)); A、6B、5C、4D、不确定58以下程序段循环体的执行次数是()main( ) int i,j; for(i=0,j=1;i=j+1;i+=2,j-) printf(%dn,i); A、0B、1C、2D、3三判断题 1、C语言中,变量名只能是小写字母表示,符号常量名可用大写表示()2、在C语言中,变量可以不要定义,直接使用()3、一个C语言程序总是从主函数开始执行的()4、注释语句必须用/*和*/括起来,且只能位于某一语句的后面()5、a和a均

21、是占用1个字节的内存空间()6、在C语言中,逻辑“真”等价于不等于0的数()7、在与switch语句配套的case语句中所使用的表达式可以是变量或常量()8、执行以下程序段:int x;float y;y=(float) x;后变量x的类型不变()9、数学公式“x2+y”改写成C语言表达式为“x*x+y”()10在循环结构中可用break语句强行从循环中退出()四、程序阅读题1、 main() int x , y = 25 ; x = 5 + 5 * 5 + y ; printf ( x = %d y=%d n , x , y ) ; x = 10 + 2 * 3 7 ; y = y +10

22、+ 2 * 3 ; printf ( x = %d y=%d n , x , y ) ; x = (y + 6 ) % 5 + y ; y = x + y ;printf ( x = %d y=%dn , x , y) ; 输出结果:x=45 y=25 x=9 y=41 x=43 y=842、 include “ stdio.h ”main( )int sum = 0 , k = 10 ;while ( k = 100 ) sum = sum + k ;k = k+1 ; printf ( “sum %dn” , sum);输出结果:3、 include “ stdio.h ”main ( )

23、int i;int count (int i );for ( i = 10 ; i 13 ; i+)count( i ) ;int count ( int n) static int x = 10 ;printf ( “%d : x=%d , “ , n , x ) ;x = x+10 ;printf ( “x+10 = %d n, “ , x ) ;输出结果:4、# include main ( ) int a , b ; for ( a=1 ; a= 6 ; a+) for ( b=1 ; b= 14-2*a ; b+) printf (“ “ ) ; /*输出一个空格*/for ( b=

24、1 ; b= a ; b+) printf (“%4d “ , a ) ;printf (“ n“ ) ; 输出结果: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 65、 main() int x , y = 55 ; x = 25 + 5 * 5 + y /5 ; printf ( x = %d y=%d n , x , y ) ; x = y + 5 * 3 10 ; y = y +10 + 2 * 3 ; printf ( x = %d y=%d n , x , y ) ; x = (y + 6 ) % 5 + y ; y = x + y ;print

25、f ( x = %d y=%dn , x , y) ; 输出结果:6、 swap ( int *p1 , int *p2 ) int temp ; temp = *p1 ; *p1=*p2 ; *p2 = temp ; main ( ) int a, b ; int *pt1 , *pt2 ; scanf ( %d %d , &a , &b ) ; pt1=&a ; pt2= &b ;if ( ab) swap (pt1, pt2 ) ;printf ( %d %d ,*pt1 ,*pt2 ) ; 输入 55 66输出结果:66 557、# include main ( ) int a33=

26、21 , 22, 23, 24, 25, 26, 27, 28, 29 , j ; Long m = 1 ;for ( j=0 ; j3 ; j+)m=m*a j j ; printf ( “ m= %d “ , m ) ; 输出结果:8、 main() int x ; x = 3 + 5 * 5 6 ; printf ( x = %d n , x ) ; x = 10 + 2 * 3 7 ; printf ( x = %d n , x ) ; x = ( 7 + 6 ) % 5 + 2 ; printf ( x = %d n , x ) ; 输出结果:9、 main() int x , y=

27、10 ; x = 3 + 5 * 5 6 ; printf ( x = %d y=%d n , x , y) ; x = 10 + 2 * 3 7 ; printf ( x = %d n , x ) ; x = ( 7 + 6 ) % 5 + 2 ; y = x + y ;printf ( x = %d y=%dn , x , y) ; 输出结果:10、 include “ stdio.h ”main( )int sum=0 , k=1 ;do sum = sum + k ;k = k+2 ; while ( k=10 );printf ( “sum %d” , sum);输出结果:sum =

28、2511输入12时,程序运行结果为 12 is not prime number. 。若输入17时,程序运行结果为 17 is prime number. 。main()int number;scanf(%d,&number);if (prime(number) printf(n%d is prime number.,number);else printf(n%d is not prime number.,number);int prime(int number)int flag=1,n;for(n=2;nnumber/2&flag=1;n+)if (number%n=0) flag=0;re

29、turn(flag);12. 以下程序的输出结果是_. #include int fun(int x,int y) static int m=0,i=2; i+=m+1; m=i+x+y; return m main() int j=4,m=1,k; k=fun(j,m); printf(%d,k); k=fun(j,m); printf(%dn,k); 13 设有以下程序: main() int n1,n2; scanf(%d,&n2); while(n2!=0) n1=n2%10; n2=n2/10; printf(%d,n1); 程序运行后,如果从键盘上输入1298;则输出结果为_。14

30、 以下程序输出的最后一个值是_。 int ff(int n) static int f=l; f=f*n; return f; main() int i; for(I=1;I=5;I+ printf(%dn,ff(i); 15 下列程序的输出结果是_int ast( int x,int y, int * cp,int * dp) * cp=x+y;* dp=x-y;main( ) int a,b,c,d;a=4;b=3;ast(a,b,&c,&d);print(% d % d n,c,d);16 #includestdio.h main( ) int a=0,j;for(j=0;j y ) i

31、f ( z x ) m = z ; else if ( y x ) m = y ; return ( m ) ; main ( ) float a , b , c , ma ; scanf ( “ %f %f %f “ , &a , &b , &c ); ma = max ( a , b , c) ; printf (“ the max is %f “ , ma ) ; 2、采用选择法对一维数组中的n个数按升序进行排序。void sort ( int a , int n )int j , k , p , t ;for ( j = 0 ; j n-1 ; j+ ) p = j ;for ( k

32、= j+1 ; k n ; k+ ) if ( ak ap ) p=k ;if ( p != j ) t = ap ; ap = a j ; a j = t ; 3、求100 200 之间的全部素数 # include main ( ) int m , k ,i , n = 0 ; for (m=101 ; m=200 ;m= m+1 ) k = sqrt (m) ; for ( i=2 ;i=k+1) printf ( “ %d” , m ); 4、编程把100到200之间的不能被3整除的数找出来并输出 main ( ) int n ; for ( n=100 ; n=200 ; n+ ) if ( n%3 = =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com