C复习练习题.pdf
《C复习练习题.pdf》由会员分享,可在线阅读,更多相关《C复习练习题.pdf(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C程序设计期末复习题一、填空题1 .C语言符号集包括(英文字母,数字,下划线和一些有特定含义的标点符号)。2 .一个C程序有且只有一个(主函数)。main()3 .结构化设计中的三种基本结构是(顺序结构,选择结构,循环结构)。4.设int x=9,y=8;表达式x=y+1的结果是(1).5.定 义intx,y;执行y=(x=1,+x,x+2);语句后,y的值是 。6.以下程序运行的结果是(end)o#i ncIude main()(i nt a,b,c;a=2;b=3;c=1;if(a b)if(a c)pr intf(%dn”,a);elsepr intf(,%dn/,,b);pr intf
2、(endn);)7.以下程序运行的结果是(d=2 0)。#includemain()(int a,b,c,d,x;a=c=O;b=1;d=2 0;if(a)d=d-1 0;else if(!b)if(!c)x=1 5;else x=2 5;printf(d=%d ,d);)8.以下程序(当输入值为2,1 时)运行的结果是(s=2,t=3)o#includemain()(int s,t,a,b;scanf(%d,%d,&a,&b);s=1 ;t=1;if(a 0)s=s+1;/s=2if(a b)t=s+1;/t=3else if(a=b)t=5;else t=2*s;pr intf(s=%d,
3、t=%dn”,s,t);9.以下程序运行的结果是(s=7)。#includemain()(i nt s=0,k;for(k=7;k=0;k)(switch(k)(case 1:case 4:case 7:s+;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;1 )pr intf(s=%dn”,s);1 0 .C语言源程序文件的后缀是(.C ),经过编译后生成文件的后缀是(.O bj),经过链接后生成的文件的后缀是(.exe)o1 1 .表达式1 0/3 的结果是(3 )o1 2 .执行下列语句后,a 的值是(-2 64)。in
4、t a=1 2;a+=a-=a*a;1 3 .以下程序输入1 0 0 后的执行结果是(n=64)。#includemain()(int n;scanf(“o”,&n);pr intf(n=%dn”,n);)1 4.以下程序执行时输入Language P rogramming C R 的结果是(str二 Language)。#includemain()(char str 3 0 ;s c a n f s t r);pr i ntf(z zstr=%sn,z,str);)1 5.以下程序执行的结果是(1 2 3 4)。#includemain()(int a =1,2,3,4),i,j,s=0;j
5、=1;for(i=3;i=0;i)(s=s+a i*j;j=j*1 0;)pr intf(s=%dn”,s);)1 6.以下程序执行的结果是(1 2 3 )。#includemain()(char str 口=“1 a2 b3 c”;int i;for(i=0;str i!-0*;i+)if(str i =f 0*&str !=*9,)pr i n t f s t r i );printf C n/Z);)1 7.一个C源程序有(1 )个1 由()函 数 和(若 干)个其他函数。1 8.C程序是从(主函数ma in的第一个可执行语句)开始执行的。1 9 .设int x;当x的 值 分 别 为1
6、,2,3,4时,表达式(x&1=1)?1:0 的值分别是(1 ),(0 ),(1 ),(0 )。2 0 .执行下列语句后,a,b,c的值分别是(8),(8),(1 0)。int x=1 0,y=9;int a,b,c;a=(x=y+)?x:+y;b=x+;c=y;2 1.以下程序的执行结果是(6,8,6,8)。#include main()(int i,j,x,y;i=5;j=7;x=+i;y=+j;pr intf(%d,%d,%d,%dn,z,i,j,x,y);)2 2.以下程序输入A B C 后的执行结果是(c=A)。#include main()(char c;scanf(z z%3 c
7、z z,&c);pr intf(,c=%cn/,c);)23.以 下 程 序 输 入 1 2 3 456 后 的 执 行 结 果 是(a=1 2,b=3 45)#include main()int a,b;scanf(%2 d%3 d”,&a,&b);pr intf(a=%d,b=%dn”,a,b);2 4.以下程序运行后的输出结果是(sum=3 3 )。#include ma i n()(int i,j,sum,m,n=4;sum=O;for(i =1;i =n;i +)(m=1;for(j=1;j=i;j+)m=m*j;sum=sum+m;)pr intf(sum=%dn”,sum);)2
8、 5.以下程序的执行结果是(1 2 )0#include main()int a 1 2 =1,2,3,4,5,6,7,8,9,1 0,1 1,1 2),*P 4,i;for(i =0;i 4;i +)p i=&a i*3 ;printf(%dn,p 3 2 );)2 6.C程序的基本单位是(函 数)02 7.函数是由(函数的说明部分)和(函数体)组成。2 8.表达式1 0%3的结果是(1 )o2 9 .以下语句的输出结果是(T)ouns igned i nt b=6553 5;pr i ntf b);3 0 .以下语句的输出结果是(ffff)。int a=-1;pr i ntf a);3 1
9、 .以下程序的执行结果是(1 )o#includemain()int x=3 5;pr in tf(%dn”,(x&15)&(x115);)32.以下程序的执行结果是(-4 )。#includemain()(int n=2;n+=n-=n*n;pr intf(n=%dn”,n);)33.以下程序的执行结果是(s=24)。#includemain()(int a=2,3.4);i nt s,i,*p;s=1;P=a;for(i=0;i3;i+)s*=*(p+i);pr in tf(s=%dn”,s);)3 4.以下程序执行的结果是(8)。typedef union(long x 2 ;i nt
10、y 4;char z 8;JMY T Y P E;MY T Y P E a;main()(pr intf siz eof(a);)3 5.设 int*=1 0 二 5;执行表达式*2&y=1 之后,y 的值是(5)o二、选择题1 .以下不正确的C 语言的标识符是(D )。A.A B C B.abc C.a_bc D.ab.c2 .有一个名为newpr i nt的函数用于打印s in(x),cos(x)和ln(x)等函数的曲线模拟,其参数就是这些函数,则 newprint的说明是(C )。A.double newprint(double x)B.void newpr int(double(*f)
11、(double x)C.void newpr int(doubIe(*f)(),doubIe x)D.void(*newprint)(double f(doubIe x)3 .以下不正确的语句(设有int p,q)是(D )。A.p*=3;B.p/=q;C.p+=3;D.p&=q;4.设 char ch;以不下正确的赋值语句是(D )。A.ch=1 2 3 ;B.ch=xff;C.0 8,;D.ch=;5.为了避免嵌套的if-e I se语句的二义性,C 语言规定e I se总是与(C )组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的汗D.同一行上的if
12、6.选择出合法的if语句(设int x,a,b,c;)(A )。A.if(a=b)x+;B.if(a=b)x+;7.一个C 程序是由(B )。A.一个主程序和若干个子程序组成B,一个或多个函数组成C.若干过程组成D.若干子程序组成8.C 语言中规定函数的返回值的类型是由(D )oA.return语句中的表达式类型所觉定B.调用该函数时的主调用函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定9.如果 a=1,b=2,c=3,d=4,则条件表达式 a b?a:c d?c:d的值为(A )oA.1 B.2 C.3 D.41 0.设 int m=1,n=2,则+m=n
13、 的结果是(B )。A.0 B.1 C.2 D.31 1 .在说明一个结构体变量时系统分配给它的存储空间是(D )oA.该结构体中第一个成员所需存储空间B.该结构体中最后一个成员所需存储空间C.该结构体中占用最大存储空间的成员所需存储空间D.该结构体中所有成员所需存储空间的总和1 2.以下程序的执行结果是(B )。#inclu demain()int i=01 0,j=1 0;pr i nt f(%d,%d n”,+i,j);)A.1 1,1 0 B.9,1 0 C.01 0,9 D.1 0,91 3.以知字母A的A S C I I码是6 5,以下程序的执行结果是(D )。#inclu dem
14、ain()(char c1=A ,c2=Y ;pr int f(%d,%d n”,c1,c2);)A.A,Y B.65,65 C.65,90D.65.891 4.以下程序的执行的结果是(C )。#inclu de#inclu demain()int a=1,b=4,c=2;float x=1 0.5,y=4.0,z;z=(a+b)/c+s qrt (dou bI e)y)*1.2/c+x;pr int f r%f n,#,z);)A.1 4.000000 B.1 5.000000 C.1 3.700000D.1 4.9000001 5 .以下正确的C语言标识符是(C )。A.%x B.a+b
15、C.a1 23 D.t ex t!1 6.一个C程序的执行是从(A )。A.main()函数开始,直到main()函数结束。B.第一个函数开始,直到最后一个函数结束。C.第一个语句开始,直到最后一个语句结束。D.mian()函数开始,直到最后一个函数结束。1 7.在程序中,m a i n()的位置(C )。A.必须作为第一个函数。B.必须作为最后一个函数。C.可以任意。D.必须放在它所调用的函数之后。1 8.以下结果为整数的表达式(设有int i;char c;floatf;)(B )oA.i+f B.i*c C.c+f D.i+c+f2 0.以下使i的运算结果为4的表达式是(D)。A.int
16、 i=0,j=0;(i=3,(j+)+i);B.int i=1,j=0;j=i=(i=3)*2);C.int i=0,j=1;(j=1)?(i=1):(i=3);D.int i=1,j=1;i+=j+=2;2 1.设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)oA.0 B.3 C.2 D.12 5.有如下程序,输入数据:12 34 5仟1678Q后,x的值是(B),y的值是(A)o#includemain()(int x;float y;scanf(%3d%f”,&x,&y);)A.12 34 5B.12 3C.4 5D.345 A.45.000000 B.45 678.00
17、0000 C.678.000000D.1 23.00026.假定等级和分数有以下对应关系:等级:A 分数:85-1 00等级:B 分数:60-84等级:C 分数:60以下对于等级grade输入相应的分数区间区间,能够完成该功能的程序段是(D )。A.s wit ch(grade)(cas e A :print fC 85-1 00 n,z);cas e 1B*:pr i nt f(“60-84 n);cas e C :pr int f(60 以下 n);defau lt :print f(等级错误!n);)B.s wit ch(grade)(cas e A :print f(z,85-1 00
18、 nz,);break;cas e B :print f(“60-84 n);cas e C :pr i nt f(60 以下 n);defau lt :print f(等级错误!n);)C.s wit ch(grade)(cas e,A :print f(“85-1 00 n);break;cas e B :print f(“60-84 n);break;cas e*C :pr int f(60 以下 n);defau lt :print f(等级错误!n);)D.s wit ch(grade)(cas e,A :print f(“85-1 00 n);break;cas e B :prin
19、t f(“60-84 n);break;cas e 1 C :pr i nt f(60 以下 n);break;defau lt :print f(等级错误!n);)2 7.以下for循环是(C )ofor(x=0,y=0;(y!=1 23)&(x 4);x+);A.无限循环 B.循环次数不定 C.执行4次 D.执行3次28.以下关于数组的描述正确的是(C )。A.数组的大小是固定的,但可以有不同的类型的数组兀素。B.数组的大小是可变的,但所有数组元素的类型必须相同。C.数组的大小是固定的,所有数组元素的类型必须相同。D.数组的大小是可变的,可以有不同的类型的数组元素29.在定义int a口0
20、;之后,对a的引用正确的是(D )。A.a 1 0 B.a 6.3 C.a(6)D.a 1 0-1 03 0.以下程序的输出结果是(A )。#i ncI u de main()int k=4,m=1,p;p=fu nc(k,m);pr int f(%d,”,p);p=fu nc(k,m);pr int f(%d n,p);)fu nc(a,b)int a,b;(s t at ic int m=0,i=2;i +=m+1;m=i+a+b;ret u rn(m);)A.8,1 7 B.8,1 6 C.8,20 D.8,831.以下程序执行后的正确结果是(B )。s t ru ct t ree(in
21、t x;char*s;t;fu nc(s t ru ct t ree t)(t.x=1 0;t.s=compu t er;return(0);)main()(t.x=1;.r rt.s=minicomputer;func(t);pr i ntf(%d,%sn,z,t.x,t.s);)A.10,computer B.1,mi n icomputer C.1,computer D.10,minicomputer32.设a是一个八进制数想使a的最低一位为1,其它位不变,应采用下列那种运算 OA.a=a&1 B.a=a|l C.a=a&7776 D.a=a|77763 3.经过 int 234=1,2
22、,3,4,5,6,7,8,9,10,11,12)定义之后,元 素 的 值 是 oA.2 B.5 C.10 D.123 4.经 过int a 4=1,5,9定 义 只 后,元 素a 2 0的值是 oA.1 B.5 C.9 D.035.fopen()函数的m o d e取值r和w时,它们之间的差别是(B)oA.r”可向文件读入,w”不可向文件读入B.r”不可向文件写入,%”可向文件写入C.“r 不可由文件读出,“w”可由文件读出D.文件不存在时,r建立新文件,w”出错三、判断题1.C语言中规定函数的返回的类型在有调用该函数时系统临时决定。(X)2.数组的大小是可变的,但所有数组元素的类型必须相同。
23、(X)3.f o r循环体语句中,可以包含多条语句,但要用花括号括起来。(V)4.C语 言 中 不 能 使 用d o-w h ile语 句 构 成 的 循 环。(X)5.使 用fs eek函数可以改变文件的位置指针的当前位置。(V)6.一个程序应包括两个方面的内容:数据的描述和操作步骤。()7.凡 是C源程序中行首以#标识的控制行都是预处理命令。(J)8.C语言的编译系统对宏命令的处理在程序运行时进行的。(X)9.联合体类型在任何给定时刻所有成员一直驻留在结构中。(X )1 0 .数组的大小是固定的,所有数组元素的类型必须相同。(V )1 1 .fo r循环只能用次数已经确定的情况。(X )1
24、 2 .检 测 f p文件流的文件位置指针在文件头的条件是ftel I(fp)=0 o (V )1 3 .C语言中规定函数的返回值的类型是由调用该函数时的主调用函数类型所决定。(X )1 5.C语言的编译系统对宏命令的处理是在对源程序中其它语句正式编译之前进行的。(V )1 6.在 程序的一行中可以出现多个有效的预处理命令行。(X )1 7.联 合体类型在任何给定时刻没有成员驻留在结构中。(X )1 8.C 语 言 的 函 数 定 义 不 能 嵌 套 但 调 用 可 以 嵌 套。(V )1 9.C 语言中do-w h i I e语句构成的循环,当w h i l e语句中的表达式值为零时结束循环
25、。(J )2 0.C 语言用true表示逻辑“真 值。(X )2 1.f o r 循环是先执行循环体语句,后判定表达式。(X )2 2.数组的大小是可变的,可以有不同的类型的数组元素。X )2 3 .在 C 语言中,指向指针的指针称为多级指针。(V )2 4 .在 C 语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用“。(V )2 5 .C语言的编译系统对宏命令的处理是在程序连接时进行的。(X )2 6.宏定义不能出现在函数内部。(V )2 7 .对于C 语言的函数它们定义和调用都不能嵌套。(X )2 8 .C 程序在执行过程中对预处理命令进行处理。(X )2 9 .使 用 fs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习 练习题
限制150内