C语言各章节练习题(含答案)

上传人:细水****9 文档编号:152596843 上传时间:2022-09-16 格式:DOC 页数:7 大小:30KB
返回 下载 相关 举报
C语言各章节练习题(含答案)_第1页
第1页 / 共7页
C语言各章节练习题(含答案)_第2页
第2页 / 共7页
C语言各章节练习题(含答案)_第3页
第3页 / 共7页
点击查看更多>>
资源描述
一、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,*(p+1);a)3 b)4 c)1 d)2二、填空题5若有定义:int a=2,4,6,8,10,12,*p=a;则*(p+1)的值是_4_. *(a+5)的值是_12_.3.写出下面程序的输出结果main()intx,y,z;x=y=2;z=3;y=x+ -1;printf(%dt%dt,x,y);y=+x-1;printf(%dt%dt,x,y);y=z-+1;printf(%dt%dt,z,y);y=-z+1;printf(%dt%dn,z,y);2,13,23,42,3
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 群众团体


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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