![[其它]C语言总复习题.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-2/24/aba3e128-1ca9-4447-95e0-4936b8a9bd35/aba3e128-1ca9-4447-95e0-4936b8a9bd351.gif)
![[其它]C语言总复习题.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-2/24/aba3e128-1ca9-4447-95e0-4936b8a9bd35/aba3e128-1ca9-4447-95e0-4936b8a9bd352.gif)
![[其它]C语言总复习题.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-2/24/aba3e128-1ca9-4447-95e0-4936b8a9bd35/aba3e128-1ca9-4447-95e0-4936b8a9bd353.gif)
![[其它]C语言总复习题.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-2/24/aba3e128-1ca9-4447-95e0-4936b8a9bd35/aba3e128-1ca9-4447-95e0-4936b8a9bd354.gif)
![[其它]C语言总复习题.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-2/24/aba3e128-1ca9-4447-95e0-4936b8a9bd35/aba3e128-1ca9-4447-95e0-4936b8a9bd355.gif)
已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
“C语言程序设计”复习题一一单项选择题1组成C程序的基本单位是_。A)表达式与语句 B)若干文件 C)函数 D)main函数2下列为字符常量的是_。A)HE B)I C)Z D)She3若变量c为char类型,能正确判断c为小写字母的表达式是_。A)a=c= a)|(c= z) C) (a=c) D)(c=a)&(c=a & ch=z)?ch:ch-A+a;printf(%c , ch);A)A B)a C)Z D)z23int (*ptr) ();说明了_。A)ptr是指向一维数组的指针变量B)ptr是指向int型数据的指针变量C)ptr是指向函数的指针,该函数返回一个int型数据D)ptr是一个函数名,该函数的返回值是指向int型数据的指针26如果在一个函数的复合语句中定义一个变量,以下叙述正确的是_。A)该变量在该函数中有效 B)该变量只在该复合语句中有效C)该变量为不合法的变量 D)该变量在本程序范围内有效27能表示x为偶数的表达式是_。A)x %2=0 B)x%2=1 C)x%2 D)x%2!=028C语言中运算对象必须是整型的运算符是_。A) % B) / C)= D) =29下列数组定义正确的是_。A)int a5,b2,3; B)char no(30); C)char x; D)int x5=1,2,3;30变量定义如下:int x;float y;以下输入语句正确的是_。A)scanf(%f%f,&y,&x); B)scanf(%f%d, y, x);C)scanf(%f%d,&y,&x); D)scanf(%5.2f%2d,&y,&x);32函数形参与实参之间的传递是“值传递”,以下叙述正确的是_。A)实参和与其对应的形参共用一个存储单元B)实参和与其对应的形参各占用独立的存储单元C)当实参和与其对应的形参同名时才共用一个存储单元D)形参是形式的,不占用存储单元33以下if语句错误的是_。A)if (xy) x+; y+; else x-; y-;B)if (x) x+y; C)if (xy); D)if (x!=y) scanf ( %d,&x) ; else x+;34若有定义:int (*p)3; 则p 。A)是一个指向整型变量的指针B)是一个指针数组名C)是一个指针,它指向一个含有3个整型元素的一维数组D)定义不合法35t为int类型,进入下面的循环之前t的值为0,以下叙述正确的是_。while( t=l ) A)循环控制表达式的值为0 B)循环控制表达式的值为1C)循环控制表达式不合法 D)以上说法都不对36以下说法正确的是_。A)C语言源程序无论包含了多少函数,总是从main函数开始执行。B)main是由C语言提供的,并不需要用户自己编写。C)调用C语言标准库函数时,程序中要用到include命令,它也是C语言的一种语句。D)在C语言中,要调用的函数必须在main函数中定义。37若0=ic|a+cb| c+ba)printf(这三条边能组成一个三角形n);C) int a,b,c; scanf (%d%d%d ,&a,&b,&c); if(a=b&b=c) printf(这是一个等边三角形n);D) int a,b,c; scanf (%d%d%d ,&a,&b,&c); if(a=b|b=c) printf(这是一个等腰三角形n)40下列关于#include命令的叙述中,错误的是_。A)#include命令中,文件名可以用双引号或尖括号括起来B)一个被包含文件中又可以包含另一个被包含文件C)一个#include命令中可以指定多个被包含文件D)一个#include命令中只能指定一个被包含文件41若a为整型变量,则以下语句_。a=-2L;printf (“%dn”,a);A)赋值不合法 B) 输出值为-2 C)输出为不确定值 D)输出值为242若有说明语句:int y4=0,0,0,0,0,0; 则正确的叙述是_。A)数组y的每个元素都可得到初值0B)二维数组y的行数为1C)该说明等价于int y04=0;D)有元素y00至y05可得到初值,其余元素均得不到初值044已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是_。A)int B)char C)double D)float46若有以下变量说明和数据的输入方式,则正确的输入语句为_。变量说明:float x1,x2;数据的输入方式:4.52 3.5A)scanf(“%f,%f”,&x1,&x2); B)scanf(“%f%f”,&x1,&x2);C)scanf(“%3.2f,%2.1f”,&x1,&x2); D)scanf(“%3.2f%2.1f”,&x1,&x2);47若变量已正确定义,与语句 if(ab)k=0;else k=1;等效的是_。A)k=(ab)?1:0? B)k=ab;C)k=a=b; D)a=b?0:1;48若有定义:int x,*pb;则正确的赋值表达式是_。A)pb=&x B)pb=x C)*pb=&x D)*pb=*x49已知:int a,*p=&a; 则为了得到变量a的值,下列错误的表达式为_。A)p0 B)*p C)&*a D)*&a50在语言中,引用数组元素时,其数组下标的数据类型允许是_。A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式51若有定义:int b5;则以下对b 数组元素的正确引用是_。A)*&b5 B)b+2 C)*(*(b+2) D)*(b+2)52设有定义语句“char s=”123”;”,则表达式“s3”的值是_。A)1 B)3 C)0 D)语法出错53语句if (!i ) i+; 中的条件表达式 !i 等价于_。A)i=0 B)i!=1 C)i!=0 D)-i54设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句_。if (x=y) printf( x is equal to y.); A)语法错 B)不能判断x和y是否相等C)编译出错 D)能判断x和y是否相等55C语言中规定,if语句的嵌套结构中,else总是与_配对。A)与最近的if 配套 B)与第一个if 配套C)按缩进位置相同的if配套 D)与最近的且尚未配对的if 配套56以下有关switch语句的正确说法是_。A)break语句是语句中必须的一部分B)在switch 语句中可以根据需要使用或不使用break语句C)break语句在switch 语句中不可以使用D)在switch 语句中的每一个case都要用break语句58当执行以下程序时,_。#includevoid main() int a; while(a=5) printf(%d ,a-); A)循环体将执行5次 B)循环体将执行0次C)循环体将执行无限次 D)系统会当机。59以下函数的类型是_。int sum(double x, double y) double s; s=x+y; return s;A)字符型 B)不确定 C)整型 D)实型60以下叙述不正确的是_。A)一个C源程序文件必须包含一个main( )函数B)一个C源程序文件可由一个函数组成C)一个C源程序文件是一个编译单位D)一个C源程序文件可由多个函数组成61若用数组名作为函数调用时的参数,则实际上传递给形参的是_。A)数组元素的个数 B)数组的第一个元素值C)数组中全部元素的植 D)数组首地址63以下叙述正确的是_。A)函数的定义和函数的调用均不可以嵌套B)函数的定义和函数的调用均可以嵌套C)函数的定义可以嵌套,但函数的调用均不可以嵌套D)函数的定义不可以嵌套,但函数的调用均可以嵌套67下列对字符串的定义中,错误的是_ 。A)char str5= abcde B)char str = abcdeC)char *str =abcde D)char str = a, b, c, d, e, 068若有定义char x = 12345; char y = 1, 2, 3, 4, 5;则 。A)x数组与y数组的长度相同 B)x数组长度大于y的长度C)x 数组长度小于y数组长度 D)x数组等价与y 数组二程序阅读题1阅读以下程序,若输入60,写出程序运行结果。#includevoid main() int x; scanf(%d ,&x); if (x=60) printf(pass); else printf(fail);2阅读以下程序,若输入5,写出程序运行结果。#include int main( ) int i, n; double fact; scanf(%d, &n); fact=1; for(i=1;i=n;i+) fact*=i; printf(%.0fn, fact);3阅读以下程序,若输入a,写出程序运行结果。#include int main( ) char ch; ch=getchar(); if(ch=a&ch=A&ch=A) ch=ch-A + a; putchar(ch);6写出以下程序的运行结果。#includeint fun(char *s) char *p=s; while(*p!=0) p+; return(p-s);void main( ) printf(%dn ,fun(hello world);7阅读以下程序,若输入1 9 3 4 0,写出程序运行结果。#include int main( ) int x, sum; scanf(%d, &x); sum=0; while(x0) if(x%2=0) sum+=x; scanf(%d, &x); printf(%dn, sum);8阅读以下程序,若输入4 5 7 9 5,写出程序运行结果。#include int main( ) int i, index, n; int a10; scanf(%d, &n); for(i=0; in; i+) scanf(%d, &ai); index=0; for(i=1;in;i+) if(aiaindex) index=i; printf(min=%d,index=%dn, aindex,index);9写出以下程序的运行结果。#include void main() int num=0; while (num=2) printf(%d ,num); num+; 10写出以下程序的运行结果。#includevoid increment()static int x=0; x+=1; printf(%d,x);void main() increment(); increment(); increment();11阅读以下程序,若输入10,写出程序运行结果。#include stdio.hint main( )int n;void dectobin(int n);scanf(%d,&n);dectobin(n);printf(n); void dectobin(int n) int a16=0; int i=0; while(n!=0) ai=n%2; i+; n/=2; i=i-1; while(i=0) printf(%d,ai); i-; 12写出以下程序的运行结果。#includeint x;void cude() x=x*x*x; void main() x=5; cude(); printf(%dn,x);13写出以下程序的运行结果。#includevoid main() int a =1,3,5,7,9; int y=0,x,*p; p=&a0; for(x=0; x3; x+) y+=*(p+x); printf(%dn,y); 14阅读以下程序,写出运行结果。#includeint add(int a,int b) int c; c=a+b; return c; void print(int t) printf(z=%dn,t); void main() int x,y,z; void print(int t); x=1;y=2; z=add(x,y); print(z); 15写出以下程序的运行结果。#includestruct mine int qa, qb, qc; ; void main() struct mine s2 = 1,2,3,4,5,6; int answer; answer = s0.qa * s1.qb; printf(%d n, answer); 16写出以下程序的输出结果。#includevoid main() int y=5; for( ; y0; y-) if(y%2=0) continue; printf(%d, y); 17阅读以下程序,写出程序的功能。#includevoid main() int a10=2,4,0,-5,10,6,-8,9,6,7; int i,s=0,count=0; for(i=0; i0) s+=ai,count+; else continue; printf (s= %d , count=%dn, s ,count); 18阅读以下程序,写出程序的运行结果。#include#define N 6void main() int aN=4,5,8,3,6,1; int j,t; for(j=0; jaj+1) t=aj; aj=aj+1; aj+1=t; for(j=0; jN; j+) printf(%5d,aj); 19阅读以下程序,写出此程序的功能。#includevoid main() char ch; int c=0,s=0,n=0,other=0; while (ch=getchar()!=n) if (ch=a&ch=A&ch=0&ch=9) n+; else other+; printf(Char:%dnSpace:%dnNumber:%dnOther:%dn,c,s,n,other); 20阅读以下程序,写出此程序的功能。#define N 10#includevoid main() int k,i,p,t,aN+1; for (i=1; i=N; i+) scanf(%d,&ai); for (k=1; kN; k+) p=k; for (i=k+1; i=N; i+) if (apai) p=i; t=ap; ap=ak; ak=t; for (i=1; i=N; i+) printf(%d ,ai); printf(n); 21阅读下面的程序,写出它的运行结果。#includelong func(int m) long s; if (m=1) s=1; else s=m+func(m-1); return(s);void main() long y; y=func(4); printf( %2d,y);22阅读以下程序,写出程序运行的结果。#includeint f(int x,int y);void main() int a=1,b=2,c; c=f(a,b); printf(%dn,c);int f(int x, int y) int z; z=(xy)?x:y ; return(z);23写出以下程序输出结果。#include void main() int *p; int a6=1,2,3,4,5,6; p=a; for (;pa+6;p+) printf(%d ,*p); printf(n);24阅读程序,写出程序的输出结果。#includevoid main( ) static char a =street,b =string; char *ptr1=a, *ptr2=b; int k; for (k=0; k7; k+) if (*(ptr1+k)=*(ptr2+k) printf(%c,*(ptr1+k);25写出以下函数的功能。void fun1( char *s1, const char *s2 ) while ( *s1 != 0 ) +s1; for ( ; *s1 = *s2; s1+, s2+ ) ; 三程序填空题1以下程序的功能是计算xn,请填空。#include int main( ) int i, n; double x, mypow; scanf(%lf%d, &x, &n); ; for(i=1;i= ;i+) mypow*=x; printf(%.2fn, mypow);2以下程序的功能是计算11/21/31/4.的前n 项和,请填空。#include int main( ) int i, n; float sum; scanf(%d, &n); ; for(i=1;i=n; ) ; printf(%.3fn, sum); 3以下程序的功能是从键盘输入n个整数,输出其中的最大值,请填空。#include int main( )int a, max,i,n;scanf(%d, &n);scanf(%d, &max);for( ;in;i+) ; if( ) max=a;printf(min is %dn, max); 4以下程序用于计算职工的个人所得税,即输入一个职工的月薪salary,输出应交的个人所得税tax(保留2 位小数)。个人所得税的计算公式tax = rate * (salary-1500) (当salary 1500 时,rate = 0, 当1500 salary 5000 时,rate = 0.15,当5000 salary 时,rate = 0.20)。#include int main( ) float rate, salary, tax; scanf(%f, &salary); if( ) rate=0; else if( ) rate=0.15; else rate=0.20; tax = rate * (salary-1500) ;printf(tax=%0.2fn, tax);5以下程序的功能是计算n!,请填空。#include int main( ) int i, n; double fact; scanf(%d, &n); (1) ; for(i=1; (2) ;i+) fact*=i; printf(%.0fn, fact);6以下程序的功能是计算11/21/31/4.前n 项和,请填空。#include int main( ) int i, n, flag; float sum; scanf(%d, &n); (3) ; sum=0; for(i=1;i=n; (4) ) sum+=(float)flag/i; (5) ; printf(%.3fn, sum); 7以下函数conj把两个字符串str1和str2连接起来,请填空。void conj(char str1,char str2)int i=0,j=0;while(str1i!= 0 ) ;while(str2j!= 0) =str2j+;str1i= 0;8以下程序的功能是输出数组中所有元素的和,请填空。#includevoid main( ) int a =0,1,2,3,4,5,6,7,8,9; int s=0 , i, *p; p= ; for (i=0; i10; i+) ; printf(sum=%d, s);9以下程序的功能是从键盘输入n个整数,输出其中的最小值,请填空。#include int main( )int a, min,i,n;scanf(%d, &n);scanf(%d, &min);for( ;in;i+) ; if(amin) ;printf(min is %dn, min);10以下程序对输入的1000以下的整数,求出其相应的个位数、十位数和百位数。#includevoid main() int x,a,b,c; do printf(输入一个1000以下的整数:); scanf(%d,&x); printf(n); while( ); a=x/100; b=(x-a*100)/10; c= ; printf(%d的个位数是%d,十位数是%d,百位数是%dn,x,c,b,a); 11以下程序主函数main中由键盘输入一维数组各元素值,并输出它们的平均值,数组元素平均值由average函数求得。请填写缺少的语句。#define N 20#includefloat average (float *p,int n) ; void main( ) float aN,av; int i; for (i=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 融资租赁协议模板
- 签署一项协议书
- 夫妻协议书怎么写
- 离婚协议书签字了
- 小公司让签培训协议书
- 股票协议书买卖
- 苹果18w快充芯片协议书
- 三方协议书可以用别人的
- 分红协议书合同模板
- 2025出口信贷抵押外汇借款合同(合同版本)
- 塔吊租赁服务技术实施方案技术标
- 员工组织承诺的形成过程内部机制和外部影响基于社会交换理论的实证研究
- 优质课件:几代中国人的美好夙愿
- 2023年真空镀膜机行业市场分析报告及未来发展趋势
- 物业礼仪规范培训方案
- 约谈记录表模板
- 外科护理学阑尾炎教案
- 注塑成型技术培训之工艺理解课件
- 广西佑太药业有限责任公司医药中间体项目环评报告书
- 海绵城市公园改造施工组织设计
- 上体自编教材-体育运动概论-模拟
评论
0/150
提交评论