C语言各章节练习题(含答案).doc_第1页
C语言各章节练习题(含答案).doc_第2页
C语言各章节练习题(含答案).doc_第3页
C语言各章节练习题(含答案).doc_第4页
C语言各章节练习题(含答案).doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

一、C语言概述练习题选择1 一个C程序的执行是从 。A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2 以下叙述不正确的是 。A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3 以下叙述正确的是 。A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4 一个C语言程序是由 。A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成二、数据类型、运算符与表达式选择. 1 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522 下列四组选项中,均不是C语言关键字的选项是 。A) define IF type B) getc char printfC) include casescanf D) while gopow3 下列四组选项中,均是不合法的用户标识符的选项是 。(C语言标识符由字 母, 数字,下划线组成,开头不能是数字)A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abcTEMP8 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2A+6-3后,c2中的值为 。A) DB) 68 C) 不确定的值 D) C填空 1 若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1】。-16 int m=5,y=2;7 若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。10 6x+=n+ /若改为x+=+n 则计算后X为11,n为610.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为【12】。 f三、简单的C程序设计选择 1 putchar函数可以向终端输出一个 D 。A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值3 阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为 A 。 main() int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z); A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值4 根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为 C 。main() char ch1,ch2,ch3; 输入语句 printf(“%c %c %c”,ch1,ch2,ch3); 输出形式:A B C 输入形式:A B CA) scanf(“%c%c%c”,&ch1,&ch2,&ch3); B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);C) scanf(“%c %c %c”,&ch1,&ch2,&ch3); D) scanf(“%c%c”,&ch1,&ch2,&ch3);5 intj=-1;if(j=1)printf(“*n”);elseprintf(“%n”);A、* B、% C、*n D、%n6. 有一输入语句scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是【8】和【9】。格式控制符应为%f;变量k前缺少&7、写出下面程序的输出结果。(1) main()char c1,c2;c1=65;c2=66;printf(%c %d,c1,c2);printf(%d %c,c1,c2);a ,66 65,b四、逻辑运算与判断选取控制2 判断char型变量ch是否为大写字母的正确表达式是 C 。A)A=ch=A)&(ch=A)&(ch=Z) D) (A= ch)4 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&(n=cd)后n的值为 A 。 A) 0 B) 2 C) 3 D) 45 以下程序的运行结果是 B 。main() int a,b,d=241; a=d/100%9; b=(-1)&(-1); printf(“%d,%d”,a,b); A) 6,1 B) 2,1 C) 6,0 D) 2,07 以下程序的运行结果是 C 。main() int m=5; if(m+5) printf(“%dn”,m); else; printf(“%dn”,m-); A) 4 B) 5 C) 6 D) 78 若运行时给变量x输入12,则以下程序的运行结果是 D 。main() int x,y; scanf(“%d”,&x); y=x12 ? x+10 : x-12;printf(“%dn”,y); A) 4 B) 3 C) 2 D) 07 以下程序的运行结果是_。main( ) int i , j; a = 3; b = 5; printf(“a=%d,b=%dn”, a,b); c = (+a) * b; printf(“a=%d,b=%dn”, a,b); printf(“c=%dn”, c); a=3,b=5a=4,b=5c=20五、循环控制选择1设有程序段 int k=10; while(k=0)k=k-1; 这下面描述中正确的是_C_. a)while循环执行10次 b)循环是无限循环 c)循环体语句一次也不执行 d)循环体语句执行一次5以下程序段_C_. x=-1; do x=x*x; while(!x); a)是死循环 b)循环执行二次 c)循环执行一次 d)有语法错误8若i为整型变量,则以下循环执行次数是_B_. for(i=2;i=0;)printf(%d,i-); a)无限次 b)0次 c)1次 d)2次10以下正确的描述是_B_.a)continue语句的作用是结束整个循环的执行 b)只能在循环体内和switch语句体内使用break语句c)在循环体内使用break语句或continue语句的作用相同 d)从多层循环嵌套中退出时,只能使用goto语句3下面程序的运行结果是_s=254_. #include main() int a,s,n,count; a=2;s=0;n=1;count=1; while(count=7)n=n*a;s=s+n;+count; printf(s=%d,s); 4下面程序段的运行结果是_369 【回车】_sum=20_. main() int i=1,sum=0; While(i=10) if ( i%3=0) sum+=i; printf(“%2d”,i); i+;printf(“”n); prinf(“sum=%d”,sum); 5下面程序段的运行结果是_D_.main() int n=3; switch(n) case 0: printf(“A”);break; case 1: printf(“B”);break; case 2: printf(“C”);break; case 3: printf(“D”);break;default:printf(“E”);7. 下面程序的运行结果是_3 6 9_. main() int i,sum=0; for (i=1;i=10;i+) if ( i%3!=0) continue;printf(“%2d”,i); printf(“”n); 六、数组1.已知int a10;则对a数组元素引用不正确的是( )Aa10Ba4+5Ca10-6Da2 2以下对二维数组a的正确说明是_C_.a)int a3; b)float a(3,4); c)double a14 d)float a(3)(4);6若有定义:int a6=1,2,3,4,5;则语句a1=a3+a2+2-a3-1;运行后a1的值为( ) 7下面程序段的运行结果是_D_. int main() int i,t,a10=25,40,29,8,17,6,15,4,3,2; t=a0; for(i=0;i10;i+) if(ait) t=ai; printf(“%dn”,t); return 0; a)29 b)40 c)15 d)2填空 1 若有定义:double x35;则x数组中行下标的下限为_0_,列下标的上限为_4_. 七、函数选择 2以下正确的函数定义形式是_A_.a)double fun(int x,int y) b)double fun(int x; int y) c)double fun(int x, int y); d)double fun(int x,y);3C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为_B_.A)地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式填空 1以下程序的运行结果是_.max is 2 #include int max(int,int); main() int a=1,b=2,c; c=max(a,b); printf(max is %dn,c); int max(int x,int y) int z; z=(xy)?x:y; return(z); 3以下程序的运行结果是_4+5=9_.#include int plus(int x,int y) return(x+y); void main() int a=4,b=5,c; c=plus(a,b); printf(%d +%d =%dn,a,b,c); 九、指针一、选择题1变量的指针,其含义是指该变量的_B_. a)值 b)地址 c)名 d)一个标志2若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是_D_. a)a,point,*&a b)&*a,&a,*point c)*&point,*point,&a d)&a,&*point ,point3若有说明;int *p,m=5,n;以下正确的程序段的是_D_. a)p=&n; b)p=&n; c)scanf(%d,&n); d)p=&n; scanf(%d,&p); scanf(%d,*p); *p=n; *p=m; 10若有以下定义,则对a数组元素的正确引用是_D_. int a5,*p=a; a)*&a5 b)a+2 c)*(p+5) d)*(a+2)12若有以下定义,则p+5表示_A_. int a10,*p=a; a)元素a5的地址 b)元素a5的值 c)元素a6的地址 d)元素a6的值13.下面程序的输出结果是main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(%dn,

温馨提示

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

评论

0/150

提交评论