《C语言》综合复习资料 含答案_第1页
《C语言》综合复习资料 含答案_第2页
《C语言》综合复习资料 含答案_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

PAGE1616页《C语言》综合复习资料一、单选题C语言中基本数据类型有( )A)整型、实型、逻辑型 B)整型、字符型、逻辑型C)整型、实型、字符型 D)整型、实型、字符型、逻辑在C语言中,数字029是一个( )A)八进制数 B)十进制数 C)十六进制数 D)非法数在以下关于C语言的不严格的叙述中,错误的说法是( )A)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算的变量和右边的值可以是不同类D)同一个运算符号在不同的场合可以有不同的含义已知inta=4,b=5;,这执行表达式a=a>b后,变量a的值为( )A)0 B)1 C)4 D)5设有定义inta=3,b=4,c=5;,则以下表达式中,值为0的表达式是( )A)a&&b B)a<=b C)a||b+c&&b-c D)!((a<b)&&!c||1)以下不合法的赋值语句是( )A)x=(1,y=2); B)++x; C)x=y=15; D)y=int(x);已定义c为字符型变量,则下列语句中正确的( )A)c='97'; B)c="97"; C)c="a"; 能将高级语言编写的源程序转换为目标程序的软件( )A)汇编程序 B)编辑程序 C)解释程序 D)编译程设有定义char*p=“abcde\0fghjik\0”;则printf(“%d\n”,strlen(p));输出结果是( A)12 B)15 C)6 D)5以下选项中合法的实型常数是( )A) 5E2.0 B) E-3 C) .2E0 D) 1.3E以下非法的赋值语句是( )A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;已定义c为字符型变量,则下列正确的赋值语句( )A)c='66'; B)c="66"; C)c="B"; 13.设a=3,b=4,c=-5,则逻辑表达式||b+c&&b==c的值是( A)1 B)0 C)非0 D)语法错以下能正确定义数组并正确赋初值的语句是( )A)intN=5,b[N][N]; B)inta[1][2]={{1},{3}};C)intc[2][]={{1,2},{3,4}}; D)intd[3][2]={{1,2},{34}};结构化程序设计的三种基本结构( )A)顺序结构、选择结构、循环结构 B)if、switch、C)for、while、do-while D)ifforcontinue在一个C程序( )A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置以下合法的字符常量( )A‘’ B)’ C)‘x43’ 18.用8位无符号二进制数能表示的最大十进制数( )A)127 B)128 C)255 D)256设有定义:int x=0,y=1,z=1;则运行表达式后,x,y,z的值分别( )A)1,1,1 B)1,2,0 C)0,1,1 D)0,2,0设有int则表达(x++*1/3)的值( )A)3 B)4 C)11 D)12若有:intx=1,n=5;则执行语句x%=(n%2)后,x的值( A)3 B)2 C)1 D)0结构化程序的3种基本控制结构是( )if-else结构、while结构、for结构 B) 顺序结构、分支机构、循环结构C) while结构、do-while结构、for结构 D) 以上三种都不对下面程序段的输出结果是( intk=11;printf(“%d,%o,%x”,k,k,k)A)11,12,11 B)11,13,13 C)11,013,0xb D)11,13,b在微型计算机系统中,存储一个汉字的国标码所需要的字节数是( A) 1 B) 2 C) 3 D) 4以下非法的赋值语句是( )A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;26.语句:printf("%d",(a=2)&&(b=-2));的输出结果( )A)无输出 B)结果不确定 C)1 D)设有定义语句:charstr[][20]={"Hello","Beijing"},*p=str;( )则printf("%d\n",strlen(p+20));输出结果是A)0 B)5 C)7 D)20以下选项中,与k=++n完全等价的表达式是( )A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1二、读程序,写出程序执行结果#include<stdio.h>voidmain(){ inta=10,b=0;if(a==12){a++;b++;}else{a=a+3;b=b+3;}printf(“%d,%d\n”,a,b);}#include<stdio.h>voidmain(){ints,i;for(s=0,i=1;i<5;i++,s+=i);printf(“%d\n”,s);}#include“stdio.h”voidmain(){ charn=‘c’;switch(n++){ default:printf(“error!”);break;case‘a’:case‘A’:case‘b’:case‘B’:printf(“good!”);break;case‘c’:case‘C’:printf(“pass!”);case‘d’:case‘D’:printf(“warm!”);}}#include<stdio.h>voidmain(){intk=4,n=0;for(;n<k;){ n++;if(n%3!=0)continue;k--;}printf("%d,%d\n",k,n);}#include<stdio.h>intf(intb[],intm,intn){inti,s=0;for(i=m;i<=n;i+=2)s+=b[i];returns;}voidmain(){intx,a[]={1,2,3,4,5,6,7,8,9,10};x=f(a,3,8);printf(“%d\n”,x);}#include<stdio.h>voidcopy_str(char from[],charto[]){ int k=0;while(from[k]!=‘\0’){ to[k]=from[k]; k++; }to[k]=‘\0’; /**/}voidmain(){ char str1[80]=”red”,str2[80]=”green”;copy_str(str1,str2);puts(str2);}#include<stdio.h>intd=1;voidfun(intp){intd+=p++;printf(“%d”,d);}voidmain(){inta=3;fun(a); printf("%d\n",d);}#include<stdio.h>voidmain(){ inti,j;for(i=0;i<3;i++){for(j=0;j<=i;j++)printf("*");printf("\n");}}#include<stdio.h>voidmain(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}#include<stdio.h>intws(int x){ if(x/100>0)elseif(x/10>0)return(2);else}void

return(1);{ int a=123;printf("%d是%d位数\n",a,ws(a));}#include<stdio.h>#include<string.h>voidmain(){ char char b[]="defg";puts(a);puts(b);puts(strcat(a,b));}#include<stdio.h>voidmain(){ int i,n[]={1,2,3,4,5};for(i=0;i<2;i++){ n[i]=n[4-i]+1;printf("%d",n[i]);}for(i=0;i<5;i++)printf("%d}#include<stdio.h>voidmain(){inta[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};inti,j,row=0,colum=0,max;max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){ max=a[i][j];row=i;colum=j;}printf("max=%d,row=%d,colum=%d",max,row,colum);}#include<stdio.h>voidcopy_str(char from[],charto[]){ int k=0;while(from[k]!=‘\0’){ to[k]=from[k]; k++; }to[k]=‘\0’;/**/}voidmain(){ char str1[80]="good",str2[80]=copy_str(str1,str2);puts(str2);}#include<stdio.h>voidmain(){inta=0;a+=(a=8);printf(“%d\n”,a);}#include<stdio.h>voidmain(){intx=4;if(x++>=5)printf(“%d\n”,x);elseprintf(“%d\n”,x--);}#include<stdio.h>#defineMAX(a,b) (a>b?a:voidmain(){inti=6,j=8;printf(“%d\n”,MAX(i,j));}#include<stdio.h>voidmain(){inti,j,m=0,n=0,k=0;for(i=6;i<=9;i++)for(j=2;j<=3;j++)switch(i%j){ case0:m++;break;case1:n++;break;case2:k++;break;default:}printf("%d%d%d\n",m,n,k);}#include<stdio.h>voidmain(){ inti;for(i=1;i<5;i++){ if(i%2)elsecontinue;}putchar(‘#’);}#include<stdio.h>voidmain(){ int i,n[]={1,2,3,4,5};for(i=0;i<2;i++){ n[i]=n[4-i]+1;printf("%d",n[i]);}for(i=0;i<5;i++){ printf("%d",n[i]);}}#include<stdio.h>intm=13;intfun(intx,inty){intm=3;return(x*y-m);}voidmain(){inta=7,b=5;printf("%d\n",fun(a,b)/m);}#include<stdio.h>voidmain(){intn=2;printf(“%d,%d,%d\n”,++n,n+=2,--n);} #include<stdio.h>voidmain(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}#include<stdio.h>voidmain(){ints,t,a=-2,b=6;s=t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b)elset=2*s;printf("t=%d",t);} #include<stdio.h>#define S(a,b) voidmain(){ inta=3,area;area=S(a,a+3)printf("area=%d\n",area);} #include<stdio.h>voidmain(){inti=0,a=0;while(i<20){ for(;;)if((i%10)==0)break;elsei--;i+=11;a+=i;}

}printf("%d\n",a);#include<stdio.h>void main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][2];printf(“%d\n”,s);}#include<stdio.h>fun(inta,intb){if(a>b)return(a);elsereturn(b);}voidmain(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);}三、编程题设有分段函数:x (x<1)Y= 2x-1 (1≤x<10) xy的值。3x-11 (x≥10)ab编程任意输入两个实数a和b,计算下面函数的值,并输出y值aby= a<ba*b a=b编程序求如下分段函数的值 x3

x0y

1x2

0x1x2xx

x1写一个判断素数的函数。要求在主函数中输入一个整数并输出相应的判断信息。5编程序计算s=!-!+!-!+……-16.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。7.编程计算:s=1+12+123+1234+12345+123456(必须用循环控制语句实现)编写函数change例如输入是:12345abcde,则输出为:edcba54321编程,在NN矩阵中(即N行N列的数组,求主对角线和次对角线上的各元素之和。10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分(平均分)《C语言》综合复习资料参考答案一、单选题题号12345678910答案CDAADDDDDC题号11121314151617181920答案CDACABCCDA题号2122232425262728答案DBCBCCCB二、读程序写出程序执行结果题1、13,32、143、pass!warm!4、3,35、186、7、848、***9、01112210、123是3位数、abcdefgabcdefg12、656534513、max=10,row=1,colum=214、good15、1616、517、918、43119、<><>#20、656534521、222、4,3,123、a=2,b=124、t=225、26、3227、2928、12三、编程题设有分段函数:x (x<1)Y= 2x-1 3x-11 (x≥10)#include<stdio.h>voidmain(){intx,y;printf(“输入x:”);scanf(“%d\n”,&x);if(x<1){y=x;printf(“x=%3d,y=x=%d\n”,x,y);}else if(x<10){y=2*x-1;printf(“x=%3d,y=2*x-1=%d\n”,x,y);}else{y=3*x-11;}

写一程序,输入x,输出y的值。}编程任意输入两个实数a和b,计算下面函数的值,并输出y值a-b a>bay= a<bba*b a=b#include<stdio.h>voidmain(){floata,b,y;scanf(“%f,%f”,&a,&b)if(a<b)y=a/b;elseif(a==b)y=a*b;elsey=a-b;printf(“y=%f\n”,y)}编程序求如下分段函数的值 x3

x0xyx

1x2

0x1#include<stdio.h>#include<math.h>voidmain(){floatx,y;scanf(“%d”,&x)if(x<=0)y=fabs(x)+3;else{y=1+x*x;}else{y=2*x+sqrt(x);

2x

x1printf(“x=%f,y=%f\n”,x,y)}写一个判断素数的函数。要求在主函数中输入一个整数并输出相应的判断信息。#include<stdio.h>voidmain(){intn,i;printf(“pleaseenteraintegernumber,n=?”);scanf(“%d”,&n);for(i=2;i<=n-1;i++)if(n%i==0)break;if(i<n)printf(“%disnotaprimenumber.\n”,n);elseprintf(“%disaprimenumber.\n”,n);}求素数的问题方法有很多,同学们可以到教材或网络上进行查找学习。5编程序计算s=!-!+!-!+……-1#include<stdio.h>voidmain(){inti,k=1,njie=1;floatsum=0;for(i=1;i<=10;i++){njie=njie*i;sum=sum+njie*k;k=-1*k;}printf("%f\n",sum);}6.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。#include<stdio.h>voidmain(){inti;chara[80];gets(a);puts(a);for(i=0;i<80;i++)if(a[i]>=65&&a[i]<=90)a[i]=a[i]+32;puts(a);}7.编程计算:s=1+12+123+1234+12345+123456(必须用循环控制语句实现)#include<std

温馨提示

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

评论

0/150

提交评论