《C程序设计基础 复习题.docx》由会员分享,可在线阅读,更多相关《C程序设计基础 复习题.docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C程序设计基础复习题C程序设计基础-复习题C语言规定,任何非0的数像17等都被认为是真,而0被认为是假为假试题一、单选题1 .已知intk,m=l;执行语句k=-m+;后,k的值是。【知识点:难度:正确答案: aa. -lb. Oc. la. (intk) %mb. int (k) %mc. int (k%m)d. -2d. (int) k%m2 .未知定义intm;floatk;恰当的语句就是。【知识点:难度:恰当答案:d3 .当k的值不为。时 在下列选项中能够将k的值赋给变量叫n的是 o【知识点:难度:正确答案:ba. m=k=nb. (m=k) & (n=m) c. (m=k) | |
2、(n=k) d. (n=m) & (m=k) 4.未知 intx=5;表达式6xl值就是o【知识点:难度:恰当答案:aa. Ob. lc. 5d.表达式语法错表达式6xl,先判断6x为0,再判断01,所以值为0。(6x为1,再推论11,所以值0。)5 .下列程序段执行后c值为 o【知识点:难度:正确答案:dintk=7,c=0;while(-k)if(k%3)continue;elsec+;a. 5b. 4c. 3d. 26 .已知字母a的ascii码为十进制数97,且ch为字符型变量,则执行语句 ch=?a?+?d?-?a?;后,ch中的值 o【知识点:难度:恰当答案:c a. db. cc
3、. lOOd.不确认7 .设%n已正确定义,执行语句for (ni=0, n=10;m【知识点:难度:正确答案:c a. 6, 7b. 7, 6c. 9, 7d. 7, 98.已知 char*t= how” , “ are , “ you!” ;则 t是 o【知识点:难度:正确答案:b】a.指向char变量的指针b.指向字符指针的指针常量c.指向 how的指针变量d.指向?h?的指针9.假设scanf语句执行时输入 abcde,能使puts (s)语句正确输出abcde字符串的程序段是。【知识点:难度:正 确答案:c】a. chars5 = b. chars5 = ?a?, ?b?, ?c?,
4、 ?d?, ?e?;puts(s);c. charts;s=d. charts ;scanf ( ,s);puts(s);c程序设计基础及实验10.以下程序有错,错误原因是 o【知识点:难度:正确答案:d main ()int*p, i ; char*q, ch; p=&i; q=&ch; *p=40; *p二*q;a.p 和 q 的类型不一致,不能执行*P二*q;语句b.*p中存放的是地址值,因此不能执行*p=40;语句c.q没有指向具体的存储 单元,所以*q没有实际意义d.q虽然指向了具体的存储单元,但该单元中没有确定的值, 所以执行*P二*q;没有意义,可能会影响后面语句的执行结果11.
5、若有定义: 1成,二2为二5二8;则表达式。|=(&处)1(处)的值为 o【知识点:难度:4正确答案:b a. 14b. 8c. 112.设打1=5,1)二7,表达式(+a=b) ?+a:b 的值是。【知识点:难度:2正确答案:c a. 7b. 6c. 513.设a=3,b=2,那么表达式(a二b=7,b=a!二7)的值是。【知识点:难度:2正确答案:d a. lb. 2c. 7的值为0逗号 运算符只取最右边的子表达式的值,但每个子表达式都要运行14.设有:inta= 1, b=2, c=3, d=4, m=2, n=2;执行语句(m=ab) & (n=cd);后 n 的值是。【知 识点:难度
6、:3正确答案:a a. 2b. 1c. Od. 3d. 0逗号(,)也可以是运算符,逗号表 达式最右边的子表达式的值即为逗号表达式的值。而b=a!=7d.4d. 0&和&都可以用作逻 辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运 算结果才为true,否则,只要有一方为false,则结果为false。&还具有短路的功能, 即如果第一个表达式为false,则不再计算第二个表达式,15.下列程序段的输出结果是o 【知识点:难度:3 正确答案:b intk=2, s=0; switch(k) case2: s+;k+;c 程 序设计基础及实验easel:s+;c
7、ase3:s+=l;switch(s)case2:s+=2;break;default:k+;break; default:s+= 3;printf(a. l#3#b. 6#4#c. 3#2#d. 3#4#16.下列程序的输出结果是。【知识点: 难度:2正确答案:cintf(intx)staticintk;return+k+x;main()intk;for(k=l;k0) z=0; elsez+=l;printf () ; a. z=0b. z=lc. z=8d. z=9c 程序设计 基础及实验esle子句与其之前最近的不完整if配对。c语言中等号“二”为赋值运算符, 不用于判断相等,判断相等
8、应用“二二”,因此执行x=y后,x=5, if (5)相当于if(true),执行if (x0) z=0,所以z=019,下列程序段的输出是。【知识点: 难度:3 正确答案:b #definesq(a, b) (a*a-2*a*b+b*b)main() intk=4; printf (a. lb. -18c. T5#define 定义一个宏(不是一个函 数),用于字符串的替换,注意替换不是用数值去替换,也不会自动加括号,因此sq(k,k- l)=k*k-2*k*k-l+k-l*k-l=-k*k-2sq(4, 3)=-4*4-2=-18d. -820.若运行以下程序时,从键盘输入hello_ev
9、eryone!(表示回车),则下面程序的运行结果是。【知识点: 难度:2正确答案:cmain () chare; intvl=O, v2=0; do switch (c=getchar () casea : casea : casee : case e : case,i,: case,i: case o : case o : case,u : case,u : vl+=l; default: vl+=l; v2+=l; while(c!= n ) jprintf (vl, v2) ;a. 6, 10b. 21, 10c. 22, lOd. 6, 921.下列程序段输 出 o【知识点:难度:4正
10、确答案:dmain() charstr2 5 = strcpy (str0, strcpy(str1, str0 3=,;c 程序设计 基础及实验printf (a. you&meb. abcdc. abc&d, you&22.对于函数 f,调用 f(12345) 的输出是o【知识点:难度:3正确答案:avoidf(intn)if(n10)printf(elsef(n/10);printf(a. 12345b. 54321c. llllld. 543223,下列程序段的输出结果是.【知识点:难度:2正确答案:bvoidfun(charfname, charst)file*myf;inti;my
11、f=fopen(fname, for(i=0;ivoidmain() fun(fun(!a. c_is_funb. is_func. test_is_fund. c_试题二、程序阅读题 1.以下程 序的输出结果是 o【知识点:难度:3正确答案:c main () charch 2 5= 2 ; inti, j, s=0; for (i=0; i2; i+) p i =ch i ;for (i=0; i 0 ;j+=2) s=10*s+p i j - 0z ;printf() ;a. 1537b. 2468c. 1357d. 26482.运行下列程序的输出结果是。【知 识点:难度:3正确答案:dc程序设计基础及实验