欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言知识理论复习材料题.doc

    • 资源ID:2742615       资源大小:390.28KB        全文页数:62页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言知识理论复习材料题.doc

    +练习题一、C语言基础知识11 选择题1. 以下不是C语言的特点的是( B)。A 语言简洁紧凑 B 能够编制出功能复杂的程序 C C语言可以直接对硬件操作 D C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是( B )。Aabc123 Bno.1 C_123_ D_ok 3. 正确的C语言标识符是 (A )。A_buy_2 B2_buy C?_buy Dbuy?4. 请选出可用作C语言用户标识符的一组标识符(B )。 Avoid Ba3_b3 CFor D2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是( B)。 A B0xAA Ct D06. 不属于C语言关键字的是(D )。 Aint Bbreak Cwhile Dcharacter 7. 是C语言提供的合法关键字的是( B )。 AFloat Bsigned Cinteger DChar8. 以下不能定义为用户标示符的是(D )。 Ascanf BVoid C_3com_ Dint 9. 一个C程序是由(B )。 A 一个主程序和若干子程序组成B 一个或多个函数组成C 若干过程组成D 若干子程序组成10. C语言程序的基本单位是(C )。 A程序行 B语句 C函数 D字符20下列变量定义中合法的是 A Ashort _a=1-.le-1; Bdouble b=1+5e2.5; Clong do=0xfdaL; Dfloat 2_and=1-e-3;21与数学式子对应的C语言表达式是(C )。 A9*xn/(2*x-1) B9*x*n/(2*x-1) C9*pow(x,n)*(1/(2*x-1) D9*pow(n,x)/(2*x-1)22若有代数式,则不正确的C语言表达式是(C )。 Aa/c/d*b*3 B3*a*b/c/d C3*a*b/c*d Da*b/d/c*323已知各变量的类型说明如下: int m=8,n, a, b; unsigned long w=10; double x=3.14, y=0.12; 则以下符合C语言语法的表达式是(A )。 Aa+=a-=(b=2)*(a=8) B n=n*3=18 Cx%3 Dy=float (m)24以下符合C语言语法的赋值表达式是(B )。 Aa=9+b+c=d+9 Ba=(9+b, c=d+9) Ca=9+b, b+, c+9 Da=9+b+=c+925 已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=A+6-3;后,S中的值为( A)。 AD B68 C不确定的值 DC26在C语言中,要求运算数必须是整型的运算符是(D )。 A/ B+ C*= D%36若有以下定义,则正确的赋值语句是( )。int x,y; float z;Ax=1,y=2, Bx=y=100 Cx+; Dx=int (z);37设x、y均为float型变量,则不正确的赋值语句是(C )。A+x ; Bx*=y-2; Cy=(x%3)/10; Dx=y=0;38下列语句中符合C语言的赋值语句是( D)。Aa=7+b+c=a+7; Ba=7+b+=a+7;Ca=7+b,b+,a+7 Da=7+b,c=a+7;39putchar函数可以向终端输出一个( D)。A整型变量表达式值。 B字符串C实型变量值。 D字符或字符型变量值。40以下程序段的输出结果是( C )。int a=12345; printf(”%2dn”, a); A12 B34 C12345 D提示出错、无结果41若x和y均定义为int 型,z定义为double型,以下不合法的scanf()函数调用语句为( D )。Ascanf(”%d%lx,%le”,&x,&y,&z);Bscanf (”%2d*%d%lf ”, &x, &y, &z);Cscanf(”%x%*d%o”, &x,&y);D。scanf(”%x%o%6.2f”, &x,&y,&z);42有如下程序段: int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是( A )。(注:代表空格)A10A20B B10A20BC10 A20 B D10A20B45已有定义int a=-2;和输出语句:printf(”%8lx”,a);以下正确的叙述是(D)。A整型变量的输出格式符只有%d一种B%x是格式符的一种,它可以适用于任何一种类型的数据C%x是格式符D%8lx不是错误的格式符,其中数字8规定了输出字段的宽度46有如下程序段,对应正确的数据输入是(A )。float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A2.04<回车> B2.04,5.67<回车> 5.67<回车>CA=2.04,B=5.67<回车> D2.055.67<回车>12 填空题1 C语言的符号集包括_、_、_。2 结构化设计中的三种基本结构是_、_、_。3 C语言源程序文件的后缀是_,经过编译后生成文件的后缀是_,经过链接后生成文件的后缀是_。4 C语言的关键字都用_大写或小写。5 一个函数由两部分组成,它们是_、_。6 函数体一般包括_、_。7 C语言是通过_来进行输入和输出的。8 以下程序的执行结果_。 #include ”stdio.h” main() short i=-1,j=1; printf(”dec:%d,oct:%o,hex:%x,unsigned:%un”,i,i,i,i); printf(”dec:%d,oct:%o,hex:%x,unsigned:%un”,j,j,j,j);9 以下程序的执行结果是_。#include ”stdio.h”main() char s=b; printf(”dec:%d,oct:%o,hex:%x,ASCII:%cn”, s,s,s,s);10以下程序的执行结果是_。(注:代表空格)#include ”stdio.h”main() float pi=3.1415927; printf(”%f,%.4f,%4.3f,%10.3f”,pi,pi,pi,pi); printf(”n%e,%.4e,%4.3e,%10.3e”,pi,pi,pi,pi);11以下程序的执行结果是:_。#include ”stdio.h”main() char c=c+5;printf(”c=%cn”,c);12以下程序输入123后的执行结果是_。(注:代表空格)#include ”stdio.h”main() int i,j; char k; scanf(”%d%c%d”,&i,&k,&j); printf(”i=%d,k=%c,j=%dn”,i,k,j);13有以下程序,若输入9876543210后的执行结果是_;若输入为:9876543210后的执行结果是_;若输入为:9876543210后的执行结果为:_。(注:代表空格)#include ”stdio.h”main() int x1,x2; char y1,y2; scanf(”%2d%3d%3c%c”,&x1,&x2,&y1,&y2); printf(”x1=%d,x2=%d,y1=%c,y2=%cn”,x,y);14若x和y均为int型变量,则以下语句的功能是_。 x+=y; y=x-y; x-=y;15有一输入函数scanf(”%d”,k);则不能使float类型变量k得到正确数值的原因是:_。16有如下程序段,输入数据:12345ffl678后,u的值是 【1】 ,v的值是 【2】 。int u;float v;scanf(“%3d%f”,&u,&v);1 答案:英文字母、数字、一些有特定含义的标点符号2 答案:顺序结构、选择结构、循环结构3 答案:C,OBJ,EXE4 答案:小写5 答案:函数说明部分和函数体6 答案:变量定义部分和执行部分7 答案:输入和输出函数8 答案:dec:-1,oct:177777,hex:ffff,unsigned:65535dec:1,oct:1,hex:1,unsigned:19 答案:dec:98,oct:142,hex:62,ASCII:b10答案:3.141593,3.1416,3.142, 3.142 3.141593e+00,3.1416e+00,3.142e+00,3.142e+00(注:由于c编译系统不同,我们上机使用的机器,其第二个printf语句实际结果为:3.14159e+00,3.142e+00,3.14e+00,3.14e+00,即:小数点后取5位。)11答案:c=h12答案:i=1,k=,j=213答案:第一种情况的执行结果:x1=98,x2=765,y1=4,y2=1 第二种情况的执行结果:x1=98,x2=76,y1=,y2=3第三种情况的执行结果:x1=98,x2=765,y1=4,y2=214答案:交换x和y的值15答案:(1)格式符应为:%f;(2)变量前边未加取地址符&, 即应为scanf(”%f”,&k);16答案:【1】123 【2】45.000000二、选择结构21 选择题1 已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2的值是(D)。A6 B0 C2 D12 设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为(B)。A1 B2 C3 D43 设x、y和z都是int类型变量,且x=3,y=4,z=5, 则下面的表达式中,值为0的表达式为()。 Ax && y Bx<=y Cx|y+z && y-z D!(x<y)&&!z|1)4为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。A缩排位置相同的ifB在其之前未配对的ifC在其之前未配对的最近的ifD同一行上的if5 逻辑运算符两侧运算对象的数据类型(D)。 A只能是0或1 B只能是0或非0正数 C只能是整型或字符型数据 D可以是任何类型的数据6 以下关于运算符优先顺序的描述中正确的是(C)。 A关系运算符<算术运算符<赋值运算符<逻辑与运算符 B逻辑与运算符<关系运算符<算术运算符<赋值运算符 C赋值运算符<逻辑与运算符<关系运算符<算术运算符 D算术运算符<关系运算符<赋值运算符<逻辑与运算符7 下列运算符中优先级最高的是(C)。 A< B&& C+ D!=8 选择出合法的if语句(设int x,a,b,c;)(A)。 Aif(a=b) c+; Bif(a=<b) c+; Cif(a<>b) c+; Dif(a=>b) c+;9 能正确表示“当x的取值在-58,-40和40,58范围内为真,否则为假”的表达式是(C)。 A(x>= -58) && (x<= -40) && (x>=40) && (x<=58) B(x>= -58) | (x<= -40) | (x>=40) | (x<=58) C(x>= -58) && (x<= -40) | (x>=40) && (x<=58) D(x>= -58) | |(x<= -40) && (x>=40) | (x<=58)10判断char型变量s是否为小写字母的正确表达式是(C)。 Aa <= s<=z B(s>=a) & (s<=z) C(s>=a) && (s<=z) D(a<=s) and (z>=s)11若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(C)。 Ax%2=1 B!(x%2=0) C!(x%2) Dx%212已知 x=45, y=a, z=0; 则表达式(x>=z && y<z | !y)的值是(C)。 A0 B语法错 C1 D“假”13指出下列程序段所表示的逻辑关系是(B)。if(a<b)if(c=d)x=10;else x=-10;A BCD14有一函数: ,以下程序段中不能根据x值正确计算出y值的是(C)。Aif (x>0) y=1;else if (x=0) y=0; else y= -1;By=0; if (x>0) y=1; else if (x<0) y= -1;Cy=0; if (x>=0) if(x>0) y=1; else y= -1;Dif (x>=0) if (x>0) y=1; else y=0; else y= -1;15执行以下语句后,y 的值为(A)。int x,y,z;x=y=z=0;+x | +y && +z;A0 B1 C2 D不确定值16已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是(B)。if(a>b)c=a; a=b; b=c;Aa=1, b=2, c=3 Ba=2, b=3, c=3Ca=2, b=3, c=1 Da=2, b=3, c=217请阅读以下程序:该程序(C)。#include ”stdioh”main() int x=-10, y=5, z=0;if (x=y+z) printf(”*n” );else printf(”$n”);A有语法错不能通过编译 B可以通过编译但不能通过连接C输出* D输出$18以下程序的运行结果是(C)。#include ”stdio.h”main() int a=1;if (a+>1) printf(”%dn”, a);else printf(”%dn”, a-);A0 B1 C2 D319当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是(B)。 if (a<b)if (c<d) x=1;else if (a<c) if (b<d) x=2; else x=3;else x=4;else x=5;A1 B2 C3 D420执行以下程序段后,变量x,y,z的值分别为(B)。 int a=1,b=0, x, y, z;x=(-a= =b+)?-a:+b;y=a+;z=b;Ax=0,y=0,z=0 Bx= -1,y= -1,z= 1Cx=0,y=1,z=0 Dx= -1,y= 2, z= 1三、循环结构22 填空题1 若从键盘输入58,则输出结果是_。#include ”stdio.h”main() int a; scanf(”%d”, &a); if (a>50) printf(”%d”, a); if (a>40) printf(”%d”,a); if (a>30) printf(”%d”,a);2 设int x=9,y=8;表达式x=y+1的结果是_。3 定义int x,y;执行y=(x=1,+x,x+2);后, y的值是_。4 定义int x=10,y,z; 执行y=z=x; x=y=z;后, x的结果是_。1答案:585858 解析:虽然三个if语句按照嵌套方式书写,但是程序仍然是依顺序运行的,会分别对每一个if的条件表达式进行判断,若其条件表达式为真,就执行其后的语句,否则,不执行。2答案:1 解析:注意该表达式是关系表达式的双等号,所以其结果只能为1或0。3答案:44答案:18 以下程序的运行结果是_。 #include ”stdio.h” main() int a,b,c,d,e;a=c=1;b=20;d=100;if (!a) d=d+;else if (!b) if (d) d= -d;else d= d-;printf(”%dnn”, d);9 以下程序的运行结果是_。#include ”stdio.h”main() int a, b= 250, c;if (c=b)<0) a=4;else if (b=0) a=5;else a=6;printf(”t%dt%dn”,a,c);if (c=(b=0)a=5;printf(”t%dt%dn”,a,c);if (a=c=b) a=4;printf(”t%dt%dn”,a,c);8答案:1009答案: 6 2505 10 013以下程序的功能是判断输入的年份是否是闰年。请在【】内填入正确内容。#include ”stdio.h”main() int year, flag;printf(”please input the year to jude whether it is a leap year:”); scanf(”%d”,&year);if (year%400=0) flag=1; else if (【1】) flag=1;else 【2】; if (flag) printf(”%d is a leap yearn”,year);else printf(”%d is not a leap year!n”,year);14以下程序是对用户输入的字母进行大小写转换。请在【】内填入正确内容。#include ”stdio.h”main() char ch; printf(”please input a letter:”);scanf(”%c”,&ch);if (【1】) ch=ch+32;else if (ch>=a && ch<=z) 【2】;printf(” the converted letter is: %cn”,ch);15以下程序是对从键盘输入的任何三个整数,求出其中的最小值。请在【】内填入正确内容。 #include ”stdio.h” main() int a,b,c,min;printf(”please input three numbers:”);scanf(”%d%d%d”,&a,&b,&c);if (【1】) min=b;else min=a;if (min>c)【2】;printf(”min=%dn”,min);13答案:【1】(year%4=0)&&(year%100!=0) 【2】flag=014答案:【1】ch>=A && ch<=Z 【2】ch=ch-3215答案:【1】a>b 【2】min=c;21以下程序运行后的输出结果是_。 #include ”stdio.h” main() int x=10, y=20, t=0; if (x=y) t=x; x=y; y=t; printf(”%d,%dn”,x,y);22执行以下语句后,x、y和z 的值分别为_。int x,y,z;x=y=z=0;+x | +y && +z;21答案:20,022答案:1,0,031 选择题1 以下程序的输出结果是( A )。main() int n=4;while (n-)printf(%d,-n);A.20 B.31 C.321 D.2102 以下程序的输出结果是( D )。main()int x=10,y=10,i;for(i=0;x>8;y=+i)printf("%d%d",x-,y);A.10192 B.9876 C.10990 D.1010913 当执行以下程序段时。 Ax=-1;do x=x*x;while (!x);A.循环体将执行一次 B.循环体将执行两次C.循环体将执行无数多次 D.系统将提示有语法错误4 执行以下程序后输出的结果是( D )。main() int y=10;doy-;while(-y);printf("%dn",y-);A.-1 B.1 C.8 D.05 下面程序的输出结果是( D )。main() int x=3,y=6,a=0;while (x+!=(y-=1)a+=1;if (y<x) break;printf("x=%d,y=%d,a=%dn",x,y,a);A.x=4,y=4,a=1 B.x=5,y=5,a=1 C.x=5,y=4,a=3 D.x=5,y=4,a=16若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是 ( A )。for (i=5;i;i-)for (j=0;j<4;j+)A.20 B.24 C.25 D.307 请读程序:#include<stdio.h>main()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y) case 0:a+;break; case 1:b+;break;case 2:a+;b+;break;printf("a=%d,b=%dn",a,b);上面程序的输出结果是( D )。A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2 11在下列选项中,没有构成死循环的程序段是( C )。A.int i=100;while (1)i=i%100+1;if(i>100) break; B. for ( ; ;);C.int k=1000;do +k;while (k>=10000);D.int s=36;while (s) ;-s;12若输入B,以下程序的运行结果为( C )。main()char grade;scanf("%c",&grade);switch(grade)caseA:printf(">=85.");caseB:caseC:printf(">=60.");caseD:printf("<60.");default:printf("error.");A.>=85. B.>=60. C.>=60.<60.error. D.error.13列程序运行的情况是(D )。main() int i=1,sum=0;while(i<10)sum=sum+1;i+;printf("i=%d,sum=%d",i,sum);A.i=10,sum=9 B.i=9,sum=9 C.i=2,sum=1 D.运行出现错误14有以下语句:i=1;for(;i<=100;i+) sum+=i;与以上语句序列不等价的有( C )。A. for(i=1; ;i+) sum+=i;if(i=100)break;B. for(i=1;i<=100;)sum+=i;i+;C. i=1;for(;i<=100;)sum+=i;D. i=1;for(; ;)sum+=i;if(i=100)break;i+;15下面程序的运行结果为( A )。main() int n;for(n=1;n<=10;n+) if(n%3=0)continue;printf("%d",n);A.12457810 B.369 C.12 D.1234567891016下面程序的运行结果是( C )。main()int x,y,z;x=0;y=z=-1;x+=-z-y;printf("x=%dn",x);A.x=4 B.x=0 C.x=2 D.x=317标有/*/的语句的执行次数是( C )。int y,i;for(i=0;i<20;i+)if(i%2=0)continue;y+=i;/*/A.20 B.19 C.10 D.918在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式。DA.只能用逻辑表达式 B.只能用关系表达式C.只能用逻辑表达式或关系表达式 D.可用任意表达式19在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是(C )。A.(!E=0) B.(E>0|E<0) C.(E=0) D.(E!=0) 20假定所有变量均已正确定义,下列程序段运行后x的值为( B )。k1=1;k2=2; k3=3; x=15; if(!k1)x-;else if(k2) if(k3)x=4;else x=3;A.14 B.4 C.15 D.321执行下面语句的输出为(A )。int i=-1;if(i<=0)printf(“* * * *n”);else printf(“% % % % n”);A.* * * * B.% % % % C.% % % % c D.有错,执行不正确28C语言的if语句嵌套时,if与else的配对关系是( A )。A. 每个else总是与它上面的最近的if配对B. 每个else总是与最外的if配对C. 每个else与if的配对是任意的D. 每个else总是与它上面的if配对29下列程序的输出为(C )。#include<stdio.h>main()int i=0,j=0,a=6;if(+i>0)|(+j>0)a+;printf("i=%d,j=%d,a=%dn",i,j,a);A.i=0,j=0,a=6 B.i=1,j=1,a=7 C.i=1,j=0,a=7 D.i=0,j=1,a=730下列程序段的输出结果为( C )。main()int x=3;do printf("%3d",x-=2);while(!(-x);A.1 B.3 0 C.1 -2 D.死循环32 填空题:1 当输入19,2,21时下列程序运行的结果是_21_。main()int a,b,c,max;printf("please scan three number a,b,c:n");scanf("%d,%d,%d",&a,&b,&c);m

    注意事项

    本文(C语言知识理论复习材料题.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开