欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:56398739       资源大小:91.50KB        全文页数:24页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    C语言程序设计复习资料一、填空题1、C语言程序是函数构成的,其中有且只有1个 主 函数,程序的的执行总是从该函数开始。2、用条件运算符写出求两个整数x,y中大数的表达式 z x>y?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、定义一个长度为100的整形一维数组a ,且前5个元素的初值为3,6,9,12,15,定义的格式为: int a100=3,6,9,12,15 。9、写出表达式25>15&&6525|88>75的值 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、写出表达式66>65&&6585|85>95的值 1 。14、在C语言中,允许在程序中用typedef来定义新的类型名代替已有的类型名,例如typedef int 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、结构化程序设计的三种基本结构是顺序结构、选择结构和 循环结构 ; 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)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 str1size,str2size+2;(C) int num10; (D) int n=5; int ann+2;6.以下程序的输出结果是()。#include <stdio.h>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写出程序的运行结果( A )。main()int n;for(n=1;n<=10;n+) if(n%3=0) continue;printf("%d",n);(A) (B)369(C)12 (D)9若输入ab,程序运行结果为( C ) 。 main()static char a2;scanf("%s",a);printf("%c,%c",a1,a2);(A)a,b (B)a, (C)b, (D)程序出错10下列函数定义不正确的有(A )。int max() (B) int max(x,y)int x,y,z; int x,y; z=x>y?x:y; int z; z=x>y?x:y;(C) int max(x,y) return(z);int x,y,z; z=x>y?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. 3<5 13. 正确的C语言用户自定义标识符是 (A) A. print B. float C. when? D. random2 14. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是 () A. 0和2 B. 0和3 C. 1和2 D. 1和315. 设 char x =a;则printf(x = c, y = c  n,x,97);的输出是() A.  x = a,y = 97 B.  x = 97,y = a C.  x = 97,y = 97 D.  x = a,y = a16.设char str100;int i = 5;则引用数组元素的错误形式是 () A. stri + 10 B. (str + i) C. (str + i - 1) D. (str + + ) + i)17. 执行下列程序 int a33=1,2,3; int b33=1,2,3; main() printf(d  n,a10 + b00); 后输出的结果是 (D) A. 0 B. 1 C. 2 D. 318.执行下列程序 int a = 3, b = 4; void fun(int x1, int x2) printf(d, d  n, x1 + x2, b); main() int a = 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型变量,则执行下的循环后,y值为 ( )for(y=1,x=1;y<=50;y+) if(x=10)break; if (x%2=1) x+=5; continue; x-=3; A) 2 B) 4 C) 6 D) 821 为表示关系xyz,应使用C语言表达式_A_ A)(x>=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; 则下面语句的输出结果是_ for(i=0;i<3;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)a<>0 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<=100;a+) if(b>=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)&&(a<0|b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>029 定义如下变量: int n=10; 则下列循环的输出结果是 while(n>7) 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)printf("%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 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10a<=032 有如下程序 main0 int x=1,a=0,b=0; switch(x) case 0: b+; case 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. register35 下列程序的输出结果是_ 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;i<3;i+)switch(i) case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i); B) C) D)01237 以下程序的输出结果是_main()inta=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d+1);elseprintf("%d",+d+1);printf("%dn",d);A) 2 B)3 C)43 D)4438 执行下列程序 int a = 3, b = 4; void fun(int x1, int x2) printf(d, d  n, x1 + x2, b); main() int a = 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=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、30D、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语句是其之前最近的未配对的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、循环体将执行两次C、循环体将执行无限次D、系统将提示有语法错误56已知有语句:for(x=0,y=0;(y!=123)(x<4);x+);则此for循环()A、是无限循环B、循环次数不定C、执行4次D、执行3次57以下程序的输出结果是() main( ) int a=5,b=4,c=6,d; printf(%dn,d=a>b?(a>c?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均是占用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 + 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 ( )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 <stdio.h> main ( ) int a , b ; for ( a=1 ; a<= 6 ; a+) for ( b=1 ; b<= 14-2*a ; b+) printf (“ “ ) ; /*输出一个空格*/for ( b=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 ;printf ( " 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 ( a<b) swap (pt1, pt2 ) ;printf ( " %d %d " ,*pt1 ,*pt2 ) ; 输入 55 66输出结果:66 557、# include <stdio.h> main ( ) int a33= 21 , 22, 23, 24, 25, 26, 27, 28, 29 , j ; Long m = 1 ;for ( j=0 ; j<3 ; 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=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 =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;n<number/2&&flag=1;n+)if (number%n=0) flag=0;return(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 以下程序输出的最后一个值是_。 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<3;j+) switch(j) case 0: case 1:a+=3; case 2:a+=2; default:a+=5; printf(%dn,a);运行结果:17 #includestdio.h main( ) int n1,n2;scanf(%d,&n2);while(n2!=0) n1=n2%10; n2=n2/10; printf(%d,n1); 若输入1259,则输出结果为:9521五 程序填空1、三个数中取大数 float max ( float x , float y , float z ) float m = x ; if ( z > y ) if ( 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 = 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 <math.h> main ( ) int m , k ,i , n = 0 ; for (m=101 ; m<=200 ;m= m+1 ) k = sqrt (m) ; for ( i=2 ;i<= k ; i+) if ( m%i=0) break ; if (i>=k+1) printf ( “ %d” , m ); 4、编程把100到200之间的不能被3整除的数找出来并输出 main ( ) int n ; for ( n=100 ; n<=200 ; n+ ) if ( n%3 = =

    注意事项

    本文(C语言程序设计复习资料(答案.doc)为本站会员(飞****2)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档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  

    收起
    展开