二级C语言笔试183

上传人:无*** 文档编号:85031491 上传时间:2022-05-05 格式:DOC 页数:16 大小:181KB
收藏 版权申诉 举报 下载
二级C语言笔试183_第1页
第1页 / 共16页
二级C语言笔试183_第2页
第2页 / 共16页
二级C语言笔试183_第3页
第3页 / 共16页
资源描述:

《二级C语言笔试183》由会员分享,可在线阅读,更多相关《二级C语言笔试183(16页珍藏版)》请在装配图网上搜索。

1、二级 C 语言笔试 -183( 总分: 98.00 ,做题时间: 90 分钟 )一、选择题 (总题数: 40,分数: 69.00)1. 在数据库管理技术的发展中,数据独立性最高的是 ( ) 。(分数: 2.00 )A. 人工管理B. 文件系统C. 数据库系统 VD. 数据模型解析: 解析 在人工管理阶段,数据无法共享,冗余度大,不独立,完全依赖程序:在文件系统阶段,数 据共享性差;在数据库系统阶段,共享性好,独立性高。2. 以下程序中函数 sort 的功能足对 a 数组中的数据进行由大到小的排序void sort(int a, int n)int i,j , t ;for(i=0 ; i n-

2、1 ; i+)for(j=i+1;j n;j+)if(ai aj)t=ai; ai=aj; aj=t ;main()int aa10=1,2,3,4,5,6,7,8,9,10,i ;sort(&aa3 ,5) ;for(i=0 ; i 10; i+)printf(%d , ,aai) ;printf(/n) ;程序运行后的输出结果是 ( ) 。(分数: 2.00 )A. 1 ,2,3,4,5,6,7,8,9,10,B. 1 0 ,9,8,7,6,5,4,3,2,1,C. 1 ,2,3,8,7,6,5,4,9,10, VD. 1 ,2,10,9,8,7,6,5,4,3,解析: 解析 程序中 so

3、rt 函数的功能是对数组中的数据进行从大到小的排序。主函数 main 中调用函数 sort(&aa3,51 ;,使得数组 aa 中从第 4 个元素开始的 5 个元素进行从大到小的排序,数组 aa 中的元素变为: 1,2,3,8,7,6,5,4,9,10。并输出这些元素。3. 以下不正确的转义字符是 ( ) 。(分数: 2.00 )A. /B. /tC. /nD. 088V解析:解析/是反斜线转义字符;7t是水平跳格转义字符;7n是换行转义字符;C语言中没有规定088 是转义字符。4. 关系模型允许定义 3 类数据约束,下列不属于数据约束的是 ( )(分数: 2.00 )A. 实体完整性约束B.

4、 参照完整性约束C. 属性完整性约束VD. 用户自定义的完整性约束解析: 解析 关系模型允许 3 类数据约束,它们是:实体完整性约束该约束要求关系的主键中属性值不能为空值,这是数据库完整性的最基本要求。参照完整性约束该约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联 关系中实际存在的元组,要么就为空值。用户定义的完整性约束 用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体麻用所涉及的数据必须满足 的语义要求。5. 有以下程序#include #include Struct Aint a ;char b10 ;double c ;st

5、ruct A f(struct A t);main()struct A a=1001,ZhangDa,1098.0 ;a=f(分数: 2.00 )A. ;printf(%d,%s,%6.1f/n ,a.a ,a.b,a.c) ;struct解析:解析在主函数中定义结构体 A的变量a,并对其赋初值,再调用函数 f(a),在函数f(a)中对结 构体变量a的各个成员重新进行了赋值操作,并把其值返回在屏幕上输出。6. 有下列程序,其中u表示按无符号整数输出。main()unsigned int x=0xFFFF;/*x 的初值为十六进制数 */printf(%u/n , x) ;程序运行后的输出结果是

6、 ( ) 。(分数: 2.00 )A. -1B. 65535VC. 32767D. 0xFFFF解析:解析“u格式符表示以十进制形式输出无符号整形变最。本题中无符号整形变量x=0xFFFF表示的是十六进制无符号整型变量的最大值 65535,所以最后输出的结果为 65535。7. 下面4个关于C语言的结论中错误的是()(分数: 2.00 )A. 可以用dowhile语句实现的循环一定可以用while语句实现B. 可以用 for 语句实现的循环一定可以用 while 语句实现C. 可以用 while 语句实现的循环一定可以用 for 语句实现D. dowhile 语句与while语句的区别仅是关键

7、字“ while 出现的位置不同V解析:解析本题考查几个循环语句的关系。dowhile语句、while语句、for语句所实现的循环可以相互替代;dowhile 语句和while语句的区别是dowhile语句至少执行一次,再判断循环条件, while 语句是先判断条件再执行。8. 可在C程序中用作用户标识符的一组标识符是()。(分数: 2.00 )A. void define WORDB. as_b3 _123 IfVC. For -abc caseD. 2c DO SIG解析: 解析 C 语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划 线,关键字不能用作用户标识

8、符。9. 若变量已正确定义并赋值,则以下符合C语言语法的表达式是()。(分数: 2.00 )A. a=a+7;B. a=7+b+c , a+ VC. int(12.3%4)D. a=a+7=c+b解析:解析选项A)是一个C语句,不是表达式;选项B)是利用一个逗号表达式给 a赋值;选项C)中的“求余运算符要求两个运算对象都必须是整型;选项 D)中,不能用表达式给表达式赋值,但是变量可 以给自身赋值,例如: a=a+1。10. 以下( ) 不属于对象的基本特征。(分数: 2.00 )A. 继承性 VB. 封装性C. 分类性D. 多态性解析: 解析 对象具有如下特征:标识惟一性。指对象是可区分的。分

9、类性。指可以将具有相同属性和操作的对象抽象成类。多态性。指同一个操作可以是不同对象的行为。封装性。从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法。模块独立性好。对象是面向对象的软件的基本模块,对象内部各种元素彼此结合得很紧密,内聚性强。11. 一棵二叉树的前序遍历结果是 ABCEDF中序遍历结果是 CBAEDF则其后序遍历的结果是()。(分数: 1.00 )A. DBACEFB. CBEFDA VC. FDAEBCD. DFABEC解析:解析由于该二叉树的前序遍历结果是ABCEDF显然A结点为根结点,所以后序遍历时A结点是最后遍历的,其后序遍历的结果为CBE

10、FDA。12. 函数 rewind(fp) 的作用是 ( ) 。(分数: 1.00 )A. 使 fp 指定的文件的位置指针重新定位到文件的开始位置 VB. 将fp指定的文件的位置指针指向文件中所要求的特定位置C. 使 fp 指定的文件的位置指针向文件的末尾D. 使 fp 指定的文件的位置指针自动移至下一个字符位置解析:解析位置指针重返文件头函数rewind()的调用形式为:rewind(fp)。其中,“ fp ”是指向文件的文件型指针。rewind(fp) 的功能是:使 fp 指定的文件的位置指针重新定位到文件的开始位置。13. 设有定义: int k=0 ;,下列选项的 4 个表达式中与其他

11、 3个表达式的值不相同的是 ( ) 。(分数: 1.00 )A. k+ VB. k+=1C. +kD. k+1解析:解析因为题中有语句“ int k=0;”,所以选项B)、C)、D)都是对k的值加1,选项A)的语句k+ 表示先利用 k 的值进行运算,然后 k 的值才加 1 。14. 下面程序的运行结果是 ( ) 。for(i=3 ; i v 7 ; i+)printf(i%2)?(*%d/a): (#%d/n) ,i);(分数:A.*3#41.00 )*5*6B.#3*4#5C.#3#5#6D.*3*5#6 V解析:解析本题考查printf函数的输出格式和条件表达式“ ?:”的使用。print

12、f 函数输出时“ *%d/n 和“#%d/n”中的“#”和“*”都是直接输出。条件表达式的基本格式为:“a?b: c”。它的运算规则为:当a为非0时,整个表达式的值取b的值,当a为0时,整个表达式取c的值。15. 有以下程序:#include #define X 5+6main()int a=2 , c;C=X*2:printf(%d , c) ;程序运行后的输出结果是 ( ) 。(分数: 1.00 )A. 17 VB. 22C. 16D. 11解析: 解析 define 语句仅进行简单替换,因此e=5+6*2=17。16. 设有语句:if(a=1)b=2; c=3 ;,以下语句中与之等价的是

13、 ()(分数: 1.00 )解析:解析在C语言中,用分号表示一条语句的结束,用17. 下面程序的输出结果是 ( ) 。typedefunion long x1;int y4;char z10;M;M t;main()printf(%d/n , sizeof(t) ;(分数: 1.00 )A. 32B. 26C. 10 VD. 4解析: 解析 “联合体”所占用的内存空间为最长的成员所占用的空间。题中联合体的z10 成员联合体中占空间最长的成员。18. 当用“#define F 37.5f ”定义后,下列叙述正确的是()。(分数: 1.00 )A. F 是 float 型数B. F 是 char

14、型数C. F 无类型D. F是字符串V解析: 解析 字符替换定义格式为: #define 标识符 ( 形参表 ) 形参表达式。题中 F 是代表形参表达式的标 识符 (字符串 ) 。19. 设有定义: char s10 ;int i=0 ;,以下不能将一行 (不超过 100个字符)带有空格的字符串正确读入 的语句或语句组是 ( ) 。(分数: 1.00 )A. gets(s) ;B. scanf(%s ,s) ;VC. while(si+=getchar()!=/n); si=/0 ;D. doscanf(%c ,&si) ;while(si+!=/n);si=/0;解析: 解析 本题考查标准输

15、入输出函数和循环语句。 gets(s) 函数的作用是将输入的字符读入字符串s,直到遇到回车。而scanf()数接收字符串时的结束标志为回车或者空格。因此选巧B)不能,选项C)和选项D)中按字符逐个读入字符串s中,直到读入的字符是换行符为止,因此正确。20. 以下叙述错误的是 ( ) 。(分数: 1.00 )A. C 语言区分大小写B. C 程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改C. 整数和实数都能用 C语言准确无误地表示出来VD. 在 C 程序中,正整数可以用十进制、八进制和十六进制的形式来表示解析:解析本题涉及C语言最基本的3个概念:C语言是区分大小写的

16、,q和Q是两个不同的变量;变量的实质就是在内存中占据一定的存储单元,存储单元里存放的是该变量的值,变量的值可以根据需 要进行修改;整数在允许的范围内可以准确的表示出来,但不可能表示无限度的实数。正整数可用二进 制、十进制、八进制和十六进制表示。21. C 语言中规定,程序中各函数之间 ( ) 。(分数: 2.00 )A. 既允许直接递归调用也允许间接递归调用 VB. 不允许直接递归调用也不允许间接递归调用C. 允许直接递归调用不允许间接递归调用D. 不允许直接递归调用允许间接递归调用解析: 解析 本题考查函数调用的基本概念。在函数调用时,只要符合函数的使用,程序中的各个函数间 既可以直接调用其

17、他函数,也可以递归调用其自身。22. 在数据处理中,其处理的最小单位是 ( ) 。分数: 2.00 )A. 数据B. 数据项 VC. 数据结构D. 数据元素解析: 解析 数据元素是由多个数据项组成,数据是能够被计算机识别、存储和加工处理的信息载体,数 据处理的最小单位是数据项。23. 若有以下程序段: struct st int n ; int*m ; int a=2 ,b=3,c=5; struct st s3=(101,&a,102,&c,103,&b;main() struct st*p ; p=s;则以下表达式中值为 5 的是( ) 。(分数: 2.00 )A. (p+)- mB. *

18、(p+)- mC. (*p).mD. *(+p)- m V解析: 解析 本题考查如何通过指针引用数组元素。首先定义了一个结构体,然后定义了一个结构体变量s3,并赋了初值。在主程序中,定义了一个指向结构体变量s的指针p,要使表达式的值为 5t就应该引用 s1.m 的值,使指针 p 指向 s1 ,+p 可以实现将 p 指针加 1,指向 s1 。24. 若有代数式*,(其中P仅代表自然对数的底数,不是变量 ),则下列能够正确表示该代数式的 C语言 表达式是 ( ) 。(分数: 2.00 )A. sqrt(abs(nAx+eAx)B. sqrt(fabs(pow(n,x)+pow(x ,e)C. sq

19、rt(fabs(pow(n, x)+exp(x)VD. sqrt(fabs(pow(x, n)+exp(x)解析:解析n和e的x幂次方,要分别调用 C语言的数学库函数 double pow(n,x)和double exp(x), 因为这两个函数的返回值都为 double 型,对两者的和计算绝对值,调用库函数 doublefabs(pow(n,x)+exp(x) ,求出和的绝对值,再调用开平方函数 doublesqrt(fabs(pow(n,x)+exp(x) 这样计算出的结果就是题干中表达式的值。25. 以下程序的输出结果是 ( ) 。#include main()int a33=0,1,2,

20、0,1,2,0,1,2,i ,j ,s=1;for(i=0 ;i 3;i+)for(j=i ;j =i ;j+) s+=aiajj;printf(%d/n ,s) ;分数: 2.00 )A. 3B. 4VC. 1D. 9解析: 解析 当外层循环为 i 时,内层循环 i 只能取 j=i ,所以 s+=aiajj ,其实就是 s+=aiaii ,当 i=0 时, s=s+a0a010=s+a00=1 ,当 i=1 时, s=s+a1a111=s+a11=1+1=2 ,当 i=2 时, s=s+a2a22=s+a22=2+2=4。26. 下列叙述中错误的是 ( ) 。(分数: 2.00 )A. 计算

21、机不能直接执行用 C 语言编写的源程序B. C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C. 后缀为 .obj 的文件,经连接程序生成后缀为 .exe 的文件是一个二进制文件D. 后缀为.obj和.exe的二进制文件都可以直接运行V解析: 解析 C 源程序经过程序编译之后生成一个后缀为“ .obj ”的二进制文件 (称为目标文件 ) ,然后由 称为“连接程序”的软件包文件与C语言提供的各种库函数连接起来生成一个后缀为“.exe ”的可运行文件。27. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) 。(分数: 2.00 )A. 软件矛盾B. 软件危

22、机 VC. 软件藕合D. 软件产生解析: 解析 随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以 保证,软件开发费用上涨,生产效率急剧下降,从而出现了入们难以控制软件发展的局面,即所谓的“软 件危机”。28. 在一介C源程序文件中,要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使削的存储类别是 ( ) 。(分数: 1.00 )A. autoB. registerC. externD. staticV解析:解析“auto”类定义的自动变:鞋实质上是一个函数内部的局部变量,作用域是在所说明的函数 中;“register ”说明只能用于说明函数中的变量

23、和参数中的形参,因此不允许将外部变量或静态变量说 明为 register ;“extern ”是定义在所有函数之外的全局变量,它可以被所有的函数访问,在所有函数体 的内部是有效的,所以函数之间可以通过外部变量直接传递数据;“ static ”为允许本源文件中所有函数 使用的全局变量。29. 有以下程序#include void main()int a=1 , b=0;printf(%d , , b=(a+)+(a+) ;pfintf(%d/n,a+b) ; 程序运行后的输出结果是 ( ) 。(分数: 2.00 )A. 4 , 6B. 2 , 5 VC. 3 , 5D. 2, 6解析:解析在主函

24、数中定义了两个整型变量a和b,并把它们的初值分别设置为1和0;在第二条语句中,首先计算b=a+a,然后a自增两次,因此第二句结束时,b=2,a=3,然后第三句,a+b=5。30. 下列程序的运行结果是 ( ) 。#include void sub(int*s, int*y)static int m=4;*y=s0 ;m+;void main()int a=1, 2, 3, 4, 5, k;int x ;printf(/n) ;for(k=0 ; k =4; k+)sub(a , &x);printf(%d , , x) ;(分数: 2.00 )A.1 , 1,1,1,1,VB.1 , 2,3,

25、4,5,C.0, 0,0,0,0,D.4 , 4,4,4,4,解析: 解析 本题中sub(int*s , int*y) 函数的参数是两个指针型变量,在函数体内将数组s 的第一个元素赋给y。主程序内,首先定义了一维数组并赋初值,然后通过for循环,5次调用sub(a,&x)函数,每一次调用都是将数组a的第一个元素1赋给x,并输出。31. 数据厍系统的核心是 ( ) 。(分数: 2.00 )A. 数据模型B. 软件开发C. 数据库设计D. 数据库管理系统 V解析:解析数据库管理系统 DBMS是数据库系统的核心。DBMS是负责数据库的建立、 使用和维护的软件 DBMSt立在操作系统之上,实施对数据库

26、的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过 DBMS另外,DBM逐承担着数据库的安全保护工作,按照DBA所规定的要求,保证数据库的完整性和安全性。32. 在数据库系统的内部结构体系中,索引属于( ) 。(分数: 2.00 )A. 模式B. 内模式 VC. 外模式D. 概念模式解析: 解析 内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结 构、索引、集簇及 hash 等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未 深入到设备级上 ( 如磁盘及磁盘操作 ) 。33. 有以下程序:#include int f

27、un(int x , int y)if(x!=y)return(y) ;else return(x+y)/2) ;main()int a=4 , b=5, c=6 ;printf(%d/n , fun(2*a , fun(b , c) ;程序运行后的输出结果是 ( ) 。(分数: 2.00 )A. 3B. 6VC. 8D. 12解析:解析fon(b ,c)即 fun(5,6),5!=6,所以返回 6;fun(2*a,6) 即 fun(8,6),8!=6 ,所以返回 634. 关系表中的每一行记录称为一个 ( ) 。(分数: 2.00 )A. 字段B. 元组 VC. 属性D. 关键码解析: 解析

28、 在关系表中,每一列称为一个属性,对应表中的一个字段;每一行称为一个元组,对应表中 的一条记录。35. 判断 char 型变量 c1 是否为小写字母的正确表达式为 ( ) 。(分数: 2.00 )A. a =c1=a)&(c1 =c1|(z =a)&(cl =a和cl 99)s=3;else if(num 9)s=2;elses=1 ;i=num/100 ;j=(num-i*100)/10 ;k=(num-i*100-j*10) ;switch(s)case 3:printf(%d%d%d/n , k,j , i) ;break ;case 2:printf(%d%d/n , k , j) ;

29、case 1:printf(%d/n , k) ;(分数: 2.00 )A. 123VB. 1,2,3C. 321D. 3,2,1解析:解析本题考查if-else 语句和switch语句。scan函数通过键盘读入 nUm的值。因为num=321 99,所以s=3,i=3,i=2k=1。因为s=3,所以执行case 3,输出k,j,i的值,然后通过breed结束程序。38. 有以下程序段char ch ;int k ;ch=a ;k=12;printf(%c , %d, , ch, ch, k) ;printf(k=%d/n , k) ;已知字符a的ASCII十进制代码为97,则执行上述程序段后

30、输出结果是()。(分数: 2.00 )A. 因变量类型与格式描述符的类型不匹配输出无定值B. 输出项与格式描述符个数不符,输出为零值或不定值C. a ,97,12k=12D.a , 97, k=12 V解析: 解析 在用基本输出函数 printf 时,格式说明与输出项的个数应该相同。如果格式说明的个数少 于输出项的个数,多余的输出项不予输出;如果格式说明个数多于输出项个数,则对于多余的格式项输出 不定值或 0。39. 以下说法正确的是 ( ) 。(分数: 2.00 )A. 宏定义是 C 语句,要在行末加分号B. 可以使用 #undefine 提前结束宏名的使用 VC. 在进行宏定义时,宏定义不

31、能嵌套D. 双引号中出现的宏名也要进行替换解析:解析本题考查宏的使用规则:字符替换格式:#define标识符字符串,行末不加分号;双引号中出现的宏名不替换;如果提前结束宏名的使用,程序中可以使用#ndefine ;在进行宏定义时,宏定义能层层置换,能够嵌套。40. 数据结构主要研究的是数据的逻辑结构、数据的运算和 ( ) 。(分数: 2.00 )A. 数据的方法B. 数据的存储结构 VC. 数据的对象D. 数据的逻辑存储解析: 解析 数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3 个方面的内容,即数据的逻辑结构、存储结构和数据的运算。二、填空题 (总题数: 15,分数:

32、 29.00)41. 在树形结构中,没有前件的结点是 。(分数: 2.00 )填空项 1: (正确答案:根结点)解析: 解析 树型结构具有如下特点:每个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称为树的根;每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点;一个结点所拥有的后件个数称为树的结点度;树的最大层次称为树的深度。42. 软件工程研究的内容主要包括:软件开发技术和 1 。(分数: 2.00 )填空项 1: (正确答案:软件工程管理)解析: 解析 软件工程研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开 发

33、方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括软件 管理学、软件工程经济学、软件心理学等内容。(分数: 2.00 )填空项 1: (正确答案:层次模型)解析: 解析 在数据模型中, 用二维表表示关系模型, 用有向图表示网状模型, 用树型结构表示层次模型。44. 在数据流图的类型中有两种类型,它们是变换型和 1 。(分数: 2.00 )填空项 1: (正确答案:事务型)解析: 解析 典型的数据流类型有两种:变换型和事务型。45. 当数据的物理结构 (存储结构、 存取方式等 )改变时,不影响数据库的逻辑结构,从而不致引起应用程序 的变化,这是指数据的 。(分

34、数: 2.00 )填空项 1: (正确答案:物理独立性)解析: 解析 数据的独立性一般分为物理独立性与逻辑独立性两种。物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理结构包括 存储结构、存取方式等改变时,如存储设备的更换、物理存储的更换、存取方式改变等,应用程序都不用 改变。逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,如修改数 据模式、增加新的数据类型、改变数据间联系等,用户程序都可以不变。46. 当 m=1, n=2, a=3, b=2, c=4 时,执行 d=(m=a!=b)&(n=b c)后,m的值为。(分数: 2.

35、00 )填空项 1: (正确答案: 1)解析:解析“sizeof、“%、“”、“tvvtsizeof;位运算的优先级顺序为:“” T“VV”T“”T“&T “人”。(b=2) (c=4) 不成立,逻辑为假,所以 n=0; (a=3)!=(b=2) 成立,逻辑为真,所以 m=1。, x/y) ;补充47. 若变量x、y已定义为int类型且X的值为33, y的值为3,请将输出语句printf(完整,使其输出的计算结果形式为: x/y=11 。(分数: 2.00 )填空项 1: (正确答案: x/y=%d/ )解析: 解析 本题考查 prinff 语句的输出格式。 printf() 函数是格式化输出

36、函数,一般用于向标准输出 设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:printf(v格式化字符串”,v参最表)其中,格式化字符串包括两部分内容。一部分足正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以“ %”开始,后跟一个或几个规定字符,用来确定输出内容格式。 参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间 用“,”分开,且顺序一一对应,否则将会出现不可意料的错误。48. 若运行输入:3v回车,则以下程序的输出结果是 。main()int a , b;scanf(%d , &a);b=(a

37、=O)?a:-a ;printf(b=%d ,b) ;(分数: 2.OO )填空项 1: (正确答案: b=3)解析: 解析 条件表达式的基本格式为:“表达式1?表达式 2:表达式 3”;其功能是:表达式1 的值若非0,则计算表达式2的值,且为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。因为a=3,则a =0成立,所以b=a=3。49. 以下程序的运行结果是 。#define MAX(a , b)(a b?a:b)+1main ()int i=6 , j=8 , k ;printf(%d/n , MAX(i, j) ;(分数: 2.00 )填空项 1: (正确答案: 9)解

38、析:解析本题考查的是条件运算符的应用。带参数的宏定义中定义的MAX函数的功能是选出a和b中较大的数然后加 1 ; main() 函数中显然 j 比 i 大,所以输出的是 j 加 1 后的值 9。50. 下面程序的运行结果是 。#include main()int a,b , c, n;a=2; b=0; c=1 ; n=1;while(n =3)c=c*a ; b=_b+c ; +n;printf(b=%d , b) ;(分数: 1.00 )A.B. VC.D.解析:解析分析程序可知,n的初始值为1,因此。while(n =3)循环3次。第1次:c=c*a=2 ; b=b+C=2; n=2。第

39、 2 次:c=c*a=4 ; b=b+c=6; n=3。第 3 次:c=c*a=8 ; b=b+e=14。当 n=4 时,判断条件不满足,退出 循环。51. 以下程序的输出结果是 。#include main()int i=10,j=0;doj=j+i ;while(i 5) ;printf(%d/n , j) ;(分数: 2.00 )填空项 1: (正确答案: 40)解析: 解析 分析程序,初始时 i=10 , j=0 ,这时 do 循环中的“ i=j+i ”52. 下列程序的功能是:求出 ss 所指字符串中指定字符的个数,并返回此值。例如,若输入字符串 123412132,输入字符 1,则

40、输出 3,请填空。#include #include #define M 81int fun(char*ss,char c) int i=0;for( ; ; ss+)if(*ss=c)i+;return i ;main(): ) ; gets(a) ;:) ;ch=getchar() ;: %d/n, fun(a ,ch) ;char aM ,ch;printf(/nPlease enter a string printf(/nPlease enter a char printf(/nThe number of the char is(分数: 2.00 )填空项 1: (正确答案: *ss!

41、=/0)解析:解析本题考查的是指针的应用。题目要求求出字符串 ss中指定字符的个数。分析整个程序,空 缺处是检验指针 ss 是否指向了字符串的末尾,如没有,即执行下面语句,判断指针 ss 指向的字符是否字 符c,若是,i自加1;所以空缺处填入*ss!=/0,作为循环终止的条件。53. 以下程序是求矩阵a、b的和,结果存入矩阵c中,请填空。#include main()int a44=1, 2, 6, 7, 0, 4, 2, -8, 1, 4, 5, 2, 2, 4, 6, 8;int b44=-4, 0, 7, 9, 2, -7, 7, 4), 6, 9, 0, 1), 8, 8, 6, 5)

42、;int i,j , c44;for(i=0 ; i 4; i+)for(j=0;j 4;j+)cij= ;for(i=0 ; i 4; i+)for(j=0;j =0; i- , i-)printf(%c,*pi);(分数: 2.00 )填空项 1: (正确答案: JD)解析:解析第一次循环,i=3 , *p3=JKL,但因为是以“ 匕格式输出,只能输出一个字符,所以只 能输出J。第二次循环,i=1,*p1=DEF,同样也只能输出 Do55. 以下程序的功能是: 从低位开始取出长整型变量 s 中奇数位上的数, 依次构成一个新数放在 t 中。 高位 仍在高位,低位仍在低位。请填空。#inclu

43、de main()long s , t , s1=10;pfintf(/n.Please enter s: ) ;scanf(%1d , &s);t=s%10;while(s 0)s=s/100 ;t= ;s1=s1*10 ;printf(The result is: %1d/n, t) ;(分数: 2.00 )填空项 1: (正确答案: s%10*s1+t )解析:解析题目要求从低位开始取出长整型变量s中奇数位上的数,设s为7654321,所要去除的为7531 os 在每次循环均除以 100,因此它的作用是将本次循环所需要得到的奇数位数放到最末一位,而要获得该数仅需在此后将 s 对 10 取余, s1 初始值为 10,且在每次循环后均乘以 10,因此可想到是为了将本次循环所 获得的奇数位数放到已有数的“前面”,即将上一步所得之数乘以s1,由于是逐次获得奇次位数,所以每次还要加上t的原债。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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