




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计复习题判断题: C语言程序中,任何英语单词均可以作标识符。() C语言编写的源程序经过编译、连接后,如果没有错误,则运行结果一定正确。() 在对程序进行编译的过程中,可发现注释中的拼写错误。() 在C语言中,变量是不区分大小写的,如:sum和SUM是同一个变量。() C的任何类型数据在计算机内部都是以二进制形式存储的。() 对C语言中用到的任何一个变量都要规定其类型。() double类型数据的输入必须用格式“%lf”。() 用%f输出实型数据时,如果不指定保留小数位数,则自动保留6位,第7位四舍五入。() 若有定义int a = 2,则语句printf(“%d”,a+); 的输出结果为3。() 表达式3 * 5 / 2 和表达式3 / 2 * 5的值相等。() 若x, y为整型变量,则 (x+y)+是合法的。() 表达式(double)1/2的值为0.5。() 若有int a=0,b=10;则表达式!a&b的值为1。() 若有定义int a=0,b; 执行语句if(a=0) b=0; else b=1; 后,b的值是1。() C语言中用于结构化程序设计的三种基本结构是if、switch、break。() 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则计算表达式:(m=ab)&(n=cd)后,n的值为2。() 表达式4.0 *(1 / 2) 的值为2.0。() n是一个字符常量。() 表达式 3.5%2 是合法的C语言表达式。() 在可执行的C语言程序中有且只有一个主函数main(),并且应该写在程序的最前面。() 设int x = 7,y = 5,则x *= y - 3后,x的值为14。() 如果i的原值为3,则执行语句:j = i+;后,j的值为3。() do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。() 在循环体中,使用continue语句,可以跳出该循环。() 语句while(!E);中的条件!E等价于E=0。() 以下的for循环:for(x=0,y=0;(y!=123)&x53 D. !(a-97)l 设x和y均为int型变量,则语句“x+=y;y=x-y;x-=y;”的功能是( D )A把x和y按从小到大排列 B把x和y按从大到小排列C无确定结果 D交换x和y中的值l 下列可以正确表示字符型常量的是 ( B )。A.“a” B.t C.”n” D.18l 执行x=(6*7%8+9)/3;后,x的值为( C )。A1 B2 C3 D4l 若有定义:int k=2,x;则能使变量x的值为3的表达式是( B )。A.x=5/k+0.5 B.x=5/k+1; C.x=x+k D.x=2*kl 若有定义:int a=8,b=5,c;,则执行语句c=a/b+0.4;后,c的值为( B )。A1.4 B1 C2 D2.2l 设整型变量a为9,使b不为4的表达式是( B )。A. b=a/2 B. b= (-a)-5 C. b=a3?4:5 D. b=a%5l 设char c=y;,表达式c=a&c=A&c=A|ch=A&ch=A&chA&chZ)?ch+32:ch;l 设有定义int a=0,b=0,t;,则执行语句:t = a+&+b;后,a和b的值是( C )。A. a=0,b=0 B. a=0,b=1 C. a=1,b=0 D. a=1,b=1l 设int a=3,b=6,c=9;,下列表达式中值为0的是( D )。A. 2*a=b B. a&b C. (3*a-c)|b D. b-a=-6 and x=4 B. -6=x=-6 | x=-6 & xs)t=u;t=s; B. t=u;if(us)t=s;C. t=s;if(us)t=u; D. if(us)t=s;else t=u;l 已知int x=10,y=20,z=30;,执行if(xy)z=x; x=y; y=z;后x,y,z的值是( B )。A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,20l 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与( B )配对。A. 缩排位置相同的if B. 其之前最近的没有else配对的ifC. 其之后最近的if D. 同一行上的ifl 执行下面程序段,若从键盘输入33后,其输出结果是( D )。 int x; scanf(“%d”,&x); if(x60) printf(“%d”,x); else if(x30) printf(“%d”,x);else if(x20) printf(“%d”,x);A.333333 B.3333 C.33 D.33 33 33l 假设变量x、k都已定义,下列语句片段中,无语法错误的是( B )A. switch(x) B. switch(x) case x=80: putchar(A); case 2+4: k=A; case x70: putchar(E); defualt: k=E; case 3*5: k=B; C. switch(x) D. switch(x) case 3+x: k=x-2; case 4.5: k=0.5*x;case 5*x: k=x+3; case 6.8: k=8*x;default: k=0; default: k=0; l 判断下面的while循环体的执行次数( D )int i=5, k=10;while(i=1) i=k-;A0次 B10次 C2次 D无数次l 以下关于switch语句和break语句的描述,只有( C )是正确的A在switch语句中必须使用break语句Bbreak 语句只能用于switch语句中C在switch语句中,可以根据需要使用或不使用break语句Dbreak语句是switch语句的一部分l 以下程序段的循环次数是( A )for (i=3; i=0; ) printf(“%d”, i-) ;A. 0次 B. 3次 C. 2次 D. 无数次l while(scanf(“%f”,&n),n0的值时循环终止 B. 当输入n=0的值时循环终止 C.scanf(“%f”,&n),n=0 ) s+=k-;A. 0次 B. 1次 C. 10次 D. 11次l 循环语句 for(x=0,y=0;(y!=123)|(x4);x+);执行( A )。A. 无限次 B. 4次 C.3次 D. 0次l 以下4个选项中,不能看作一条语句的是( D )。A. ; B. a=0,b=0,c=0; C. while(i-); D. if(b=0) m=1;n=2;l 以下程序段输出结果是( C )。 int x=3; do printf(“%3d”,x-=2);while(!(-x);A1 B 3 0 C 1 -2 D死循环l 下列语句中,哪一个可以输出26个大写英文字母( D )。Afor(a=A;a=Z;printf(%c,+a);Bfor(a=A;aZ;a+)printf(%c,a);Cfor(a=A;aZ;printf(%c,+a);Dfor(a=A;a0;i- );后变量i的值是( B )。A-1 B0 C1 D不确定l 程序段int n=10; while (n7) n-;printf(%d ,n);的输出结果是( D )。A10 9 B9 8 C10 9 8 D9 8 7l 设有函数调用语句: m=max(a , max(b,c); 则函数max有( C )个实参A. 1 B. 4 C. 2 D. 0l 以下叙述不正确的是( B )。A. main函数在C语言中必须有且只有一个BC程序的执行从main函数开始,所以main函数必须放在程序最前面C. 函数可以带参数,也可以不带参数D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句l 在C程序中,若对函数返回类型未加说明,则函数的隐含类型为( A )。Aint Bdouble Cvoid Dcharl C语言中函数返回值的类型是由( C )决定的。 A调用该函数的主调函数类型 Breturn语句中的表达式类型C定义函数时所指定的返回函数值类型 D调用函数时临时l 以下正确的函数说明是( A )。Aint fun(int , int); Bint fun(int x,y); Cint fun(x,y); Dint fun(int x; int y);l 以下正确的函数定义是( D )。Adouble fun(int x, int y) Bdouble fun(int x,y) z=x+y ; return z ; int z ; return z ;Cfun (x,y) Ddouble fun (int x, int y) int x, y ; double z ; double z ;z=x+y ; return z ; z=x/y; return z ; l 有一个函数调用f( (1,2), 3*4 ),则此次调用的是下面哪个函数f( B )?A. void f (int a);B. void f (int a, int b);C. void f (int a, int b, int c);D. void f (int a, int b, int c,int d);l 若有定义语句“int a10;”则下列对a中数组元素正确引用的是( C )。Aa10 Ba2.5 Ca5%2 Da5+6l 设有定义语句char s =abcDE;,则s5的值是( C )。A未知字符 B0 C0 DEl 当调用函数时,实参是一个数组名,则向函数传送的是( B )。A数组的长度 B数组的首地址 C数组每一个元素的地址 D数组每个元素中的值l 能对一维数组正确初始化的语句是( C )。Aint a5=0,1,2,3,4,5; Bint a5=;Cint a5=10; Dint a5=1,5; l 在C语言中,下面关于数组的描述正确的是( C )。A数组的大小是固定的,但可以有不同类型的数组元素B数组的大小是可变的,但所有数组元素的类型必须相同C数组的大小是固定的,所有数组元素的类型必须相同D数组的大小是可变的,可以有不同的类型的数组元素l 假定int类型变量占用4个字节,有定义:int x10=0,2,4;,则数组x在内存中所占字节数是( D )。A3 B12 C10 D40l 下列程序段执行后,s的值是( A )。char ch=123; int i,s=0;for(i=0;chi=0&chi=9;i+) s=10*s+chi-0;为A123 B1 C3 D6l 要将20,30,40,50 存入数组b中, 下列正确的程序段是( A )。Aint i,b4; for (i=0; i4; i+) bi=(i+2)*10;Bint b4; b=20,30,40,50; Cint b4; b1=20,b2=30,b3=40,b4=50; Dint b4; b4=20,30,40,50;l 已知数组的初始化语句为:int a10 = 1,2,3,4,5;则表达式a5的值为( D )。A. 5 B. 1 C. 不确定的值 D. 0l 下列哪个语句存在语法错误( C )?A. char c = A; B. char c = A;C. char c = AB; D. char c = AB;l 已知”char s = “ab0cd”;”,则数组s的长度为( ),s所存放的字符串的长度为( )。 BA.6和 5 B. 6和2 C. 5和2 D. 5和5l 若有定义char s=141141abct;,则s中所存放的字符串的长度是( A )。l A. 9 B. 12 C. 13 D. 14l 下列能正确定义一维数组a的语句是( D )。Aint a(20); Bint n=20,an;Cint n;scanf(%d,&n); D#define n 20int an; int an;l 下列程序段的运行结果为( B )。char s=mn0gy; printf(%s,s);Amn0 Bmn CMngy Dmn gyl 若已有定义 char str10; 要将键盘输入的字符串a pear 赋给str,应使用( B )。Ascanf(%s,str); Bgets(str); Cstr=a pear; Dgetchar(str);l 定义char s4=Max,t; 执行下面语句段后输出结果是( B )。t=s0;s0=s2;s2=t; printf(%s n, s);A、Max B、xaM C、axM D、 xMal 有数组定义语句“char a20;”,则正确的输入语句为( D )。Ascanf(%s,&a); Bscanf(%s, a);Cgets(a20); Dgets(a) ;l 若有 int a8=1,9,8,0,4,2,5,3;则数值为2的表达式是( C )。A.*a B.a6 C.*a+1 D.*(a+1)+5l 若有定义char s8=broke,*ps=s;则不能代表字符k的表达式是( A )。Aps+3 Bs3 Cps3 D*(ps+3)l 下面的程序段中循环体执行次数( B )。char a5,*t=Boy,*s=t; int i=0;while( *s!=0 ) ai=*s; s+;A、4次 B、3次 C、0次 D、无数次l 函数定义如下:void fun(int x, int y, int *a, int *b) *a=x+y; *b=x*y; 能够正确调用fun函数的是( B )。其中m、n是已经定义过的int型变量。 A、fun(5,8,m,n); B、fun(5,8,&m,&n); C、fun(5,8,*m,*n); D、fun(m,n,5,8);l 若有说明:int i,j=1,*p=&i;则与i=j;等价的语句是( B )。Ai=*p; B*p=j; Ci=&j; Dp=&j;l p和q同为指向int类型的指针,则下面哪个表达式会导致语法错误?( A )Ap+q Bp-q Cp=q Dp=ql 下列语句定义p为指向double型变量x的指针,其中正确的是( B )。Adouble x,*p=*x; Bdouble x,*p=&x;Cdouble *p=&x, x; Ddouble x; int *p; p=&x;l 已定义以下函数:int fun(int *p) return *p;,fun函数返回值是( C )。A不确定的值 B形参p中存放的值 C一个整数 D形参p的地址值l 下面程序的运行结果为( A )。int a = 1,2,3,4, *p=a;printf(%d , *p+);printf(%d , *p);A1 2 B1 1 C2 3 D2 2l 表达式“c=*p+”的执行过程是( A )。A复制*p的值给c后再执行p+ B复制*p的值给c后再执行(*p)+C复制p的值给c后再执行p+ D执行p+后将*p的值复制给cl 变量的指针,其含义是指该变量的( B )。A值 B地址 C名字 D一个标志l 若int a=1,b=2,*pa=&a,*pb=&b;,执行语句*pa*=3;b*=2;printf(“%d,%d”,*pa,*pb);后输出( D )。A1,2 B1,4 C3,2 D3,4l 若有int a=100,b=200,t,*temp,*pa=&a,*pb=&b;则下列各语句组中,不能实现变量a,b值互换的是( C )。At=a; a=b; b=t; Bt=*pa;*pa=*pb;*pb=t;Ctemp=pa;pa=pb;pb=temp; Da=a+b; b=a-b; a=a-b;l 下面程序段的输出结果是( A )。char a10= abcd;char b4= ABC;strcat(a,b);printf(“%s”,a);AabcdABC Babcd CABC DABCabcdl 设有下列定义 char s =12345, *p=s;则下列表达式中错误的是( D )。A*(p+1) B*(s+2) Cp=ABC Ds=ABC l 设有如下定义: int a=1,3,5,7,9;int *p; 则下列程序段的输出结果为( A )。 p=a;*(p+2)+=2;printf (“%d,%dn”,*p,*(p+2);A1,7 B1,5 C5,9 D3,7l 判断字符串s1与s2是否相等,应当使用的语句是( D )。A.if(s1= =s2) B.if(s1=s2)C.if(s1= =s2) D.if(strcmp(s1,s2)= =0)l 对变量定义及初始化为:FILE *p=fopen(d:aa.txt,r); int x; float a; char s;能正确的将文件中的整数、实数、字符输入到各变量的是( D )。A、fgets(x,a,s,p); B、fprintf(p,”%d,%f,%c”,x,a,s);C、fgetc(x,a,s,p); D、fscanf(p,”%d,%f,%c”,&x,&a,&s);l 已知有语句FILE *fp; int x=123; fp=fopen(out.dat,w);,如果需要将变量x的值以文本形式保存到磁盘文件out.dat中,则以下函数调用形式中,正确的是( B )。Afprintf(%d,x); Bfprintf(fp,%d,x);Cfprintf(%d,x,fp); Dfprintf(out.dat,%d,x);l 下面( C )语句是从文件中读取一个字符。Ach=getc(); Bfputc(ch,fp); Cfscanf(fp,%c,&ch); Dscanf(%c,&ch);l 以“只读”方式打开文本文件c:1.txt,下列语句中哪一个是正确的( B )。A fp=fopen(c:1.txt,a); B fp=fopen(c:1.txt,r); C fp=fopen(c:1.txt,wb); D fp=fopen(c:1.txt,r);程序阅读题:说明:阅读下列程序,在每小题提供的程序运行结果若干可选答案中,挑选一个正确答案。l #include stdio.h 答案:Cint main() int a; float b,c; scanf(%2d%3f%4f,&a,&b,&c); /输入12345654321printf(a=%d,b=%.1f,c=%.1fn,a,b,c);return 0;A.a=12,b=345,c=6543 B.a=12,b=123,c=1234C.a=12,b=345.0,c=6543.0 D.a=12.0,b=345.0,c=6543.0l #include 答案:A int main() int i,j,k,a=3,b=2; i= (-a=b+)?-a:+b; j=a+; k=b; printf(i=%d,j=%d,k=%dn,i,j,k);return 0;A. i=1,j=1,k=3 B. i=1,j=1,k=2 C. i=4,j=2,k=4 D. i=2,j=1,k=3l 程序运行时,输入20,输出_ 。答案:D#include int main( ) int x, y = 0;scanf(%d, &x);if(x 20) if(x 10) y = 9;else y = 20;printf(%dn, y);return 0;A.20 B.10 C.9 D.0l #include 答案:Dint main() char grade; scanf(%c, &grade); / 输入 B switch(grade) case A: printf(=85); case B: case C: printf(=60); case D: printf(=85=60=60=60 D. =6060Error.l 程序运行时,输入5,输出_。答案:A#include int main() int i,m;scanf(%d,&m); for(i=2;i=m/2;i+) if(m%i=0) printf(%d#,i); break; printf(%d,i);return 0;A. 3 B. 3#3 C. 3#4 D. 3#5l 程序运行时,输入15+2/3=,输出_。答案:D#include int main() int op1,op2,res; char opertor; scanf (%d,&op1); opertor=getchar(); while(opertor!=) scanf (%d,&op2); switch(opertor) case +:res=op1+op2;break; case -:res=op1-op2;break; case *:res=op1*op2;break; case /:res=op1/op2;break; default:res=0; op1=res; opertor=getchar(); printf(%dn,res);return 0;A. 16 B. 15 C. 6 D. 5l 程序运行时,第1行输出_。答案:D#include int main() int i, j, n = 4;for(i = 1; i n; i+)for(j = 1; j = 2*(n-i)-1; j+)putchar(*);putchar(n);return 0;A. * B. * C. * D. *l #include 答案:Bint main() int a,b; for(a=1,b=1;a=10) break; if(b%3=1)b+=3;continue; b-=5; printf(%dn,a);return 0;A.3 B.4 C.5 D.6l #include 答案:B int main( ) int a=1,b=0; do switch(a) case 1: b=1;break; case 2: b=2; break; default : b=0; b=a+b; while(b=0); printf(a=%d,b=%d n,a,b); return 0; A. a=1,b=3 B. a=1,b=2 C. a=1,b=1 D. a=1,b=0l #include 答案:A int main() int n; for(n=1;n=10;n+) if(n%3=0) break; printf(%d,n); return 0; A.12 B.369 C. 12457810 D. 12345678910l #include stdio.h 答案:Aint main() int j,x=0; for(j=0;j=3;j+) if(j%2) continue; x+; printf(x=%dn,x); return 0;A.x=2 B.x=4 C.x=3 D.x=1l #include 答案:Dint main() int i,n;scanf(%d,&n); /输入24i=2; while(n1) if(n%i=0) printf(%d ,i); n/=i; else i+; printf(n);return 0;A. 2 2 6 1 B. 2 3 4 1 C. 3 2 2 2 D. 2 2 2 3l #include 答案:Aint main() int i, m=15, y = -1;for(i=2; i=m/2;i+) if (m%i=0) y=0;else y=1; printf(%d#,y);return 0;A. 1# B.2# C. 0# D.3#l #include 答案:Cint main() int j,k,s1,s2; s1=s2=0; for(j=1;j=5;j+) s1+; for(k=1;k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园伴舞基础知识培训总结课件
- 2025年贵港市平南县事业单位选调小学教师考试笔试试题(含答案)
- 维生素基础知识练习题(附答案)
- 2025年汽车驾驶员技师资格证书考试及考试题库含答案
- 2024年多重耐药菌医院感染预防与控制试题试题(附答案)
- 意外伤害急救知识与技能考核试题及答案
- 2025全国减税降费知识竞赛试题库(含答案)
- (2024)口服给药制度考试试题及答案
- 基础护理学试题库及答案
- 2025年计算机组装与维护试题及答案
- GB/T 6663.1-2007直热式负温度系数热敏电阻器第1部分:总规范
- GB/T 5184-1996叉车挂钩型货叉和货叉架安装尺寸
- GB/T 19355.2-2016锌覆盖层钢铁结构防腐蚀的指南和建议第2部分:热浸镀锌
- 小沈阳《四大才子》欢乐喜剧人台词
- 机械制造技术基础(课程精完整版)课件
- 护士注册健康体检表下载【可直接打印版本】
- 缝纫机线迹图示教学课件
- 地质技能竞赛-预赛试题-答案
- 2022年衡阳市南岳区社区工作者招聘笔试题库及答案解析
- DB12T 127-2018 归档文件整理规范
- 住建部《建筑业10项新技术(2017版)》解读培训课件
评论
0/150
提交评论