[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc

上传人:周芸 文档编号:503337 上传时间:2018-11-29 格式:DOC 页数:25 大小:71.50KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc_第1页
第1页 / 共25页
[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc_第2页
第2页 / 共25页
[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc_第3页
第3页 / 共25页
[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc_第4页
第4页 / 共25页
[计算机类试卷]国家二级(C语言)笔试模拟试卷177及答案与解析.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 177及答案与解析 1 下列选项中,不是一个算法的基本特征的是 ( )。 ( A)完整性 ( B)可行性 ( C)有穷性 ( D)拥有足够的情报 2 结构化分析方法是面向 ( )的自顶向下、逐步求精进行需求分析的方法。 ( A)对象 ( B)数据结构 ( C)数据流 ( D)目标 3 下列工具中为需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 4 对线性表进行二分法检索,其前提条件是 ( )。 ( A)线性表以顺序方式存储,并按关键码值排好序 ( B)线性表以顺序方式存储,并按关键码的检索频率排好序 (

2、C)线性表以链式方式存储,并按关键码值排好序 ( D)线性表以链式方式存储,并按关键码的检索频率排好序 5 下列选项中不属于结构化程序设计方法的是 ( )。 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 6 关于结构化程序设计原则和方法描述错误的是 ( )。 ( A)选用的结构只准许有一个入口和一个出口 ( B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 ( C)不允许使用 GOTO语句 ( D)语言中所没有的控制结构,应该采用前后一致的方法来模拟 7 软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及 ( )。 ( A)阶段性

3、报告 ( B)需求评审 ( C)总结 ( D)都不正确 8 下列对于软件测试的描述中正确的是 ( )。 ( A)软件测试的目 的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序符合结构化原则 9 用链表表示线性表的优点是 ( )。 ( A)便于随机存取 ( B)花费的存储空间较顺序存储少 ( C)便于插入和删除操作 ( D)数据元素的物理顺序和逻辑顺序相同 10 在数据库设计中,将 E-R图转换为关系模式的过程属于 ( )。 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D

4、)物理设计阶段 11 C语言可执行程序的开始执行点是 ( )。 ( A)包含文件中的第一个函数 ( B)程序中第一个函数 ( C)程序中的 main()函数 ( D)程序中第一条语句 12 可以在 C语言程序中用做用户标识符的一组标识符是 ( )。 ( A) void ( B) aa 123 abc BBN cas ( C) as+b3 ( D) 6f -123 Do If SIG 13 下列正确的实型常量是 ( )。 ( A) E3.4 ( B) -12345 ( C) 2.2eO.8 ( D) 4 14 下列表达式中,可以正确表示 的关系是 ( )。 ( A) (x 1)10(x 0) (

5、 B) x 1x 0 ( C) x 1 ORx 0 ( D) X 1 ( B) scan(“%d,%d, %d“, ( C) scan(“%do/od%d“, ( D) scanf(“i %d,j %d,k %d“, 17 下列程序的输出结果是 ( )。 main() intp8 11,12,13,14,15,16,17,18,i 0,j 0; while(i+ 7) if(pi%2)j+ pi; printf(“%dXn“,j); ( A) 42 ( B) 45 ( C) 56 ( D) 60 18 若有下列定义 (设 int类型变量占 2个字节 ): int i 8,j 9; 则下列语句:

6、 printf(“i %u,j %xn“.i,j); 输出的结果是 ( )。 ( A) i 8,j 9 ( B) 8.9 ( C) 89 ( D) i 8,i 8 19 设有定义: intk 1,m 2;noat f 7;则下列选项中错误的表达式是 ( )。 ( A) k k k ( B) -k+ ( C) k%int(f) ( D) k f m 20 若执行下列程序时从键盘上输入 2,则输出结果是 ( )。 #inclUde stdio.h main() int a; scanf(“%d“, if(a+ 3) printf(“%dn“,A); else printf(“%dn“,a-); (

7、 A) 1 ( B) 3 ( C) 2 ( D) 4 21 已定义下列函数: int fun(int*p) return *p;) fun函数返回值是 ( )。 ( A)不确定的值 ( B)一个整数 ( C)形参 p中存放的值 ( D)形参 p的地址值 22 下列程序的输出结果是 ( )。 #include stdio.h main() iut a 2,b 3,p; p f(a,B) printf(“%d“,p); intf(a,b) int c; if(a B) c 1; e1Seif(a B) c 0; else(3 -1; return(C) ; ( A) -1 ( B) 0 ( C)

8、1 ( D) 2 23 有下列程序: fun (int x,int y) static int m 0,i 2;i+ m+1; m i+x+y;return m; main() int j 1,m 1,k; k fun0,m);printf(“%d,“k); k fun0,m);printf(“%dn“,k); 执行后的输出结果是 ( )。 ( A) 5,5 ( B) 5,11 ( C) 11,11 ( D) 11,5 24 下列循环体的执行次数是 ( )。 #include stdio.h main() int i,j; for(i 0,j 1;i j+1;i+ 1,j-) printf(“

9、%dn“,j); ( A) 3 ( B) 2 ( C) 1 ( D) 0 25 设变量 x和 y均已正确定义并赋值。下列 if语句中,在编译时将产生错误信息的是 ( A) ifx+); ( B) it(x y ( C) if(x 0)x- ( D) if(y 0); else y+; else x+; 26 下列字符数组初始化语句中,不正确的是 ( )。 ( A) charc goodmorning; ( B) char,c20 “goodmoming“; ( C) charc a,b,c,d; ( D) charc “goodmoming“; 27 下列程序的输出结果是 ( )。 #incl

10、ude stdio.h voidp(int*x) printf(“%d“,+*x); voidmain() int y 3; p( ( A) 3 ( B) 4 ( C) 2 ( D) 5 28 下列程序的运行结果为 ( )。 #include stdio.h voidabc(char*str) int a,b,i,j; for(i j 0;stri! 0;i+) if(stri! a) strj+ strj; strj 0; void main() char Str “abcdef; abc(str); printf(“str %s“,str); ( A) str bcdef ( B) str

11、 abcdef ( C) str a ( D) str ab 29 变量 m的值为 8,m的地址为 1010,若欲使 p为指向 m的指针变量,则下列赋值正确的是 ( )。 ( A) ( B) int(*q)0; ( C) int*q; ( D) int*q(); 31 下列二维数组初始化语句中,不正确的是 ( )。 ( A) intb2 1,2,3,4,5,6,7; ( B) intb35 0,0,0; ( C) intb4 1,2,3,4,5,6; ( D) intb32 (1,2),(3,4),(5,6); 32 下列程序中函数 sort()的功能是对数组 a中的数据进行由大到小的排序。

12、#include stdio.h void sort(inta,int n) int i,j,t; for(i 0;i n-1;i+) for(j i+1; n;j+) if(ai aj) t ai;ai aj;aj t; main() int a10 1,2,3,4,5,6,7,8,9,10,i; sort( for(i 0;i 10;i+)printf(“ ( A) 1,2,3,4,5,6,7,8,9,10, ( B) 10,9,8,7,6,5,4,3,2,1, ( C) 1,8,7,6,5,4,3,2,9,10, ( D) 1,2,10,9,8,7,6,5,4,3, 33 下列判断正确的

13、是 ( )。 ( A) char a “ABCD“;等价于 char*a;*a “ABCD“; ( B) char str10 ABCD“;等价于 char str10; str “ABCD“; ( C) char*s “ABCD“;等价于 char s;*s “ABCD“; ( D) char c5 “ABCD“,d5 “ABCD“;等价于 char c5 d5 “ABCD“; 34 下列语句中,在字符串 s1和 s2相等时显示 “they are Equal“的是 ( )。 ( A) if(*s1 *s2) ( B) if(!strcmp(s1,s2) puts(“they are Equ

14、al“); puts(“they are Equal“); ( C) if(s1 s2) ( D) if(strcmp(s1,s2) Puts(“they are Equal“); puts(“they are Equal“); 35 下列叙述中错误的是 ( )。 ( A)在 C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 ( B)在 C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 ( C)在 C语言中,外部变量的隐含类型 是自动存储类别 ( D)在 C语言中,函数形参的存储类型是自动 (auto)类型的变量 36 下列程序的输出结果是 ( )。 #include st

15、dio.h #defineF(x)2.84+x #definew(y)printf(“%d“,(int(y) #defineP(y)w(y)pmchar(n main() int x 2; P(F(5)*x); ( A) 12 ( B) 13 ( C) 14 ( D) 16 37 若有下列说明和语句,则对结构体变量 st中成员 i的引用方式不正确的是( )。 Struct stu inti; intname; st,*#p; p ( A) st.i ( B) *p.i ( C) (*p).i ( D) p- i 38 下列说法错误的是 ( )。 ( A)下列结构体定义时,占据了 5个字节的空间

16、 struct student int num; int age; char sex; ( B)结构体的成员名可以与程序中的变量名相同 ( C)对结构体中的成员可以单独使用, 它的作用相当于普通变量 ( D)结构体可以嵌套定义 39 若 x 10010111,则表达式 (3+(int)(x)&(3)的运算结果是 ( )。 ( A) 10011000 ( B) 10001100 ( C) 10101000 ( D) 10110000 40 若要用函数 fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件 ( )。 ( A) wb ( B) wb+ ( C) rb+ (

17、D) rb 40 对长度为 10的线性表进行冒泡排序,对坏情况下需要比较的次数为 _ 40 一棵二叉树第六层 (根节点为第一层 )的节点数最多为 _。 40 下列软件系统结构图的宽度为 _。 40 模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块 )。其中 _的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 40 在数据库系统中,实现各种数据管理功能的核心软件称为 _。 40 定义 char ch “$“; int i=1, j;执行 j ! ch&i+以后, i的值为 _。 40 下列程序运行时输入 1234567 CR,则输出结果是 _。 #

18、include stdio.h main() int a=1, b; scanf(“%2d%2d“, &a, &b); printf(“%d %dn“, a, b); 40 若有定义: int k;,以下程序段的输出结果是 _。 for(k=2; k 6; k+,k+)printf(“#%d“, k); 40 以下程序运行后的输出结果是 _。 main() char c1, c2; for(c1=0, c2=9; c1 c2; c1+, c2-)printf(“%c%c“, c1, c2); printf(“n“); 40 以下程序的功能是输入任意整数给 n后,输出 n行由大写字母 A开始构成

19、的三角形字符阵列图形。例如,输入整数 5时 (注意: n不得大于 10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main() int i, j, n; char ch=A; scanf(“%d“, &n); if(n 11) for(i=1; i =n; i+) for(j=1; j n-i+1; j+) printf(“%2c“, ch); 10 ; 11 ; 40 以下程序的输出结果是 _。 #include stdio.h main() inta5=2, 4, 6, 8, 10, *p; p=a; p+; printf(“%d

20、“, * p); 40 下面程序的运行结果是 _。 #include stdio.h int f(inta, int n) if(n 1) return a0+f(a+1, n-1); else return a0; main() int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, s; s=f(aa+2, 4); printf(“%dn“, s); 40 有以下程序: int sub(int n) return(n/10+n%10); main() int x, y; scanf(“%d“, &x) y=sub(sub(sub(x); printf(“%dn“,

21、y); 若运行时输入: 1234回车,程序的输出结果是 _。 40 以下程序运行后的输出结果是 _。 struct NODE int hum; struct NODE *next; ; main() structNODE s3=1, 0, 2, 0, 3, 0, *p, *q, *r; int sum=0; s0 next=s+1; s1.next=s+2; s2.next=s; p=S; q=p- next; r=q- next; sum+=q= next- num; sum+=r- next- next- num; 国家二级( C语言)笔试模拟试卷 177答案与解析 1 【正确答案】 A

22、【试题解析】 作为一个算法,一般应该具有 4个特征: 可行性,即考虑到实际的条件能够达到一个满意的结果: 确定性,算法中的第一个步骤都必须是有明确定义的; 有穷性,一个算法必须在有限的时间内做完; 拥有足够的情报。 2 【正确答案】 C 【试题解析】 结构化分析方法是面向数据流进行需求分析的方法,采用 自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 3 【正确答案】 D 【试题解析】 需求分析常用的工具有数据流图 (DFD)、数据字典 (DD)、判定树和判定表。 PAD(问题分析图 )、 PFD(程序流程图 )、 N-S(盒式图 )都是详细设计的常

23、用工具,不是需求分析的工具。 4 【正确答案】 A 【试题解析】 对线性表进行二分法检索,要求线性表是按顺序方式存储的,并按关键码值的大小排好序,而不是按关键码的检索频率排序。 5 【正确答案】 D 【试题解析】 结构化程序设计的主要原则概括为自顶向下、逐步求精和限制使用 GOTO语句。 6 【正确答案】 C 【试题解析】 限制使用 GOTO语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO语句。其他 3项为结构化程序设计的原则。 7 【正确答案】 B 【试题解析】 需求分析是软件定义时期的最后一个阶段。可以概括为 4个方面: 需求获取; 需求分析; 编写需求规格说明书; 需

24、求评审。 8 【正确答案】 C 【试题解析】 软件测试是为了尽可能多地发现程序中的 错误,尤其是发现至今尚未发现的错误。 9 【正确答案】 C 【试题解析】 在链表中因为除了存放数据元素之外,还要存放指针,所以链表花费的存储空间要比顺序表还要多。在插入和删除数据元素时,只需要移动相应的记录指针即可。在链表中数据的物理结构与逻辑结构不一定相同,因为是靠指针来实现对数据的指定的,所以不能进行随机存取。 10 【正确答案】 B 【试题解析】 数据库设计阶段主要包括需求分析、概念设计、逻辑设计和物理设计。其中,逻辑设计的主要工作是将 E-R图转换为关系模式。 11 【正确 答案】 C 【试题解析】 每

25、个 C程序有且只有一个主函数 main(),且程序必须从 main函数开始执行,并在 main()函数中结束。 12 【正确答案】 B 【试题解析】 C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。 13 【正确答案】 B 【试题解析】 实型常量有两种书写形式: 小数形式,它由符号、整数部分、小数点及小数部分组成; 指数形式,由十进制小数形式加上指数部分组成,其形式为十进制小数 e指数或十进制小数 E指数。 14 【正 确答案】 A 【试题解析】 题中要求 x的取值是小于等于 0或者大于等于 1,这说明表达式是或的关系,所以在写成 C语言表达式应是逻辑或的

26、关系,逻辑或运算符是 “。 15 【正确答案】 A 【试题解析】 本题考查 “%“运算符的使用。运算符 “%“要求两个运算对象都为整型,其结果是整数除法的余数。本题中表达式 ao% (b%2)等价于 aa%o(b%2) 5%(7%2) 5%1 0。 16 【正确答案】 B 【试题解析】 函数 scan()的调用形式是: scanf(格式字符串,输入项地址表 )。其中, “格式字符串 ”是要输入的变量的格式符: “输入项地址表 ”是要输入的变量的地址。 17 【正确答案】 B 【试题解析】 在 C语言中,数组的下标默认为 0,因此数组 p的下标范围为:0 7。程序循环过程为:第 1次循环 i 0

27、,执行循环,并且 i自加,得 i 1,因此pi为 p1 12,12%2 0,不执行后面的语句:接着进行第 2次循环,此时 i 1,小于 7执行循环,并且 i自加,得 i 2,因此 pi为 p2 13,13%2 1,执行后面的语句;这样一直到退出循环。最后, i的值为 i 13+15+17 45。 18 【正确答案】 A 【试题解析】 本题考查函数 printf()的格式。 “%x”表示以十六进制输出整型数据; “%u”表示以十进制无符号型输出整型数据。 printf函数中格式说明符之前插入的任何字符都原样输出。 19 【正确答案】 C 【试题解析】 在 C语言中,求余运算符 “%”两边的运算对

28、象都应为整型数据,所以需要对变量 f进行强制类型转换,正确的写法为 k%(int)f。在 C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是: !(逻辑 “非 ”)、算术运算符、关系运算符、 &(逻辑 “与 ”)、 (逻辑 “或 ”)、赋值运算符。根据运算符的优先级与结合性,对于选项 A),先计算 k k的值 (为真,即 1),再用 1对 k进行赋值。对于选取项 B),先计算 k什的值,再对其取负数。对于选项 D),先计算 k f的值 (为假,即 0),再用 0与 m进行比 20 【正确答案】 B 【试题解析】 本题考查 if else语句。程序中首先使用函数

29、 scanf()通过键盘读入 a的值,并通过第 1个 if语句,先判断条件,取 a的值 2和 3比较,然后将 a的值加 1,发现条件成立,执行下列的 printf语句,输出 a的值 3。 21 【正确答案】 B 【试题解析】 由函数 int fun(int *p)return*p; 的定义可知,返回值为整型指针变量 p所指向的数据。 22 【正确答案】 A 【试题解析】 本题考查 if else语句。在 intf(a,B)中:第一个 if语句,先判断条件,发现 a b条件不成立,则执行与其配对的 else语句:第二个 if语句,先判断条件,发现 a b条件不成立,则执行与其配对的 else语句

30、, c -1。 23 【正确答案】 B 【试题解析 】 子函数 fun(intx,inty),将变量 m和 i声明为局部静态变量,因此第 1次调用主函数后,局部静态变量 m和 i的值为 5和 3,第 1次函数调用结束时,它们的值不释放保持不变,所以第 2次调用时,局部静态变量 m和 i的初始值分别为 5和 3,即在执行 “i+ m+1”时, i的值为 9,因此,最终 m的值为 11。 24 【正确答案】 C 【试题解析】 本题考查 for循环。第一次循环前先判断循环条件,此时 i 0,j1,i j+1成立,循环第一次;第二次循环前先判断循环条件,此时 i 1,j 0,(j-是先使用 j的值再减

31、 1), i j+1不成立,结束循环。 25 【正确答案】 C 【试题解析】 选项 A)和选项 B)在条件判断语句的后面是空语句,什么都不做;在选项 D)中, if后面是一个复合空语句;而在选项 C)中,在 X-后面少了一个分号,所以程序段在编译时,会出现语法错误。 26 【正确答案】 A 【试题解析】 本题考查两个概念: 用单引号括起来的一个字符常量只能存放一个字符; C语言中没有字符串变量,只能用字符数组来存储字符串。 选项 A)中一个单引号内放了若干个字符是错误的;选项 B)和选项 D)中 将一个字符串赋值给一个字符数组是允许的。 27 【正确答案】 B 【试题解析】 本题考查函数调用时

32、的参数传递。在函数调用时,形参是指向实参的指针变量,则 printf的执行结果为 3+1 4。 28 【正确答案】 A 【试题解析】 本题考查函数调用时的参数传递。通过函数 abc的执行,将字符串中的字母 a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。 29 【正确答案】 D 【试题解析】 指针变量是通过指向变量地址来指定变量值的。这里只要取 m的地址赋给 p,即可实现使 p为指向 m的指针变量。 30 【正确答案】 B 【试题解析】 本题考查的是指针函数。指针函数定义的基本格式:类型说明符 (*函数名 )()。其中,类型说明符表示返回的指针值指向的数据类型。 31 【正确答案

33、】 D 【试题解析】 在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取 0; C语言规定,对于二维数组,只可以省略第 1个方括号中的常量表达式,而不能省略第 2个方括号中的常量表达式;赋的初值不能多于事先定义好的数组元素个数。 在选项 D)赋值表达式中,对每一维的元素赋初值 应用 ,而不是 ()。 32 【正确答案】 C 【试题解析】 本程序中的函数 sort(int a,int n)实现的功能是将数组 a中的前 n个数进行从大到小排序。 sort(&a1,7)是将数组中从 a1到 a7这 7个数进行从大到小排序,其他数不变。 33 【正确答案】 D 【试题解析】 a “

34、ABCD“书写错误,因为 “ ”左边不能出现常量;数组名 s是代表 s数组首地址的地址常量,而不是变量;字符串只有在定义时维数可以省略。 34 【正确答案】 B 【试题解析】 字符串比较不能用两个等于号 ( )来进行比较,应使用函数strcmp(s1,s2)来比较。函数 strcmp(s1,s2)的功能:当字符串 s1和 s2相等时,返回值为 0。因此,当表达式 !strcmp(s1,s2) 1时,条件成立,执行后面的语句,输出they are Equal。 35 【正确答案】 C 【试题解析】 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。 36 【正确答案】

35、 A 【试题解析】 本题考查带参数的宏的定义及相关运算。 P(F(5)*x) P(2.84+5*2) P(12.84),调用 w(12.84),输出 (int)(12.84) 12。 37 【正确答案】 B 【试题解析】 本题主要考查结构指针: p &st,访问结构体的成员,可以通过结构变量访问,即 st.i,也可以用等价的指针形式即 (*p).i和 p- i。 38 【正确答案】 A 【试题解析】 本题主要考查定义结构体的几个特点: 结构的定义明确了结构的组成形式,定义了一种 C语言中没有而用户需要的新的数据类型。与其他的数据类型不同,在程序编译的时候结构的定义并不会使 系统为该结构分配内存

36、空间,只有在说明结构变量时才分配内存空间; 结构体的成员名可以与程序中的变量名相同; 结构体中的成员可以单独使用,它的作用相当于普通变量; 结构体可以嵌套定义。 39 【正确答案】 A 【试题解析】 本题主要考查运算表达式的运算。 3+(int)(x)的结果是 10011010,3的结果是 11111100,二者逻辑与得 10011000。 40 【正确答案】 B 【试题解析】 本题考查文件使用方式标识符。方式 wb为输出打开一个二进制文件;方式 “wb+”为读写建立一个新 的二进制文件;方式 “rb+”为读写打开一个二进制文件;方式 “rb“为输入打开一个二进制文件。 40 【试题解析】 在

37、最坏情况下冒泡排序法需要比较的次数为 n(n-1)/2。 40 【试题解析】 在二叉树的第 k层上,最多有 2k-1(k 1)个结点。 40 【试题解析】 宽度用整体控制跨度 (最大模块数的层 )来表示。 40 【试题解析】 在进行单元测试时,要用一些辅助模块去模拟与被测模块相联系的其他模块,即为被测模块设计和搭建驱动模块和桩模块。其中,驱动模块相当于被测模块的主程序,它接收测试 数据,并传给被测模块,输出实际测试结果;而桩模块是模拟其他被调用模块,不必将子模块的所有功能带入。 40 【试题解析】 数据库管理系统 (DBMS):一种系统软件,负责数据库中的数据组织、数据操纵、数据维护 ”、控制

38、及保护和数据服务等,是数据库的核心。 40 【试题解析】 用 “&”连接两个表达式时,若第 1个表达式的值为 “假 ”,则运算结果与第 2个表达式无关,此时第 2个表达式将不再进行计算。本题中第 1个表达式 “j !ch”值为 0,所以第 2个表达式 i+将不再进行计算, i的值为 1。 40 【试题解析 】 本题考查的重点是 scanf函数的调用。 scanf(“格式化字符串 ”,地址表 ),格式化字符串后可以加上场宽,本题中两个变量的场宽都为2,所以输入 1234567 CR后,变量 a的值为 12。变址 b的值为 34,从而输出为12 34。 40 【试题解析】 本题主要考查 for循环

39、语句。 for循环的增量表达式为逗号表达式,相当于 k+ 2;,即每次循环后 k增加 2。第一次循环时, k 2,因此输出#2;第二次循环时 k 4,输出 #4。此后 k 6,不满足循环条件。 40 【试题解析】 for循环的循 环变址 c1的初值为 0,c2的初值为 9,由于 c1 c2为真。输出字符 c1、 c2,也就是 09。执行 c1+和 c-后, c1的值为 1, c2的值为 8,由于 c1 c2为真,输出字符 c1、 c2,也就是 18。执行 c1+和 c-后, c1的值为2, c2的值为 7,由于 c1 c2为真,输出字符 c1、 c2,也就是 27。执行 c1+和 c-后, c

40、1的值为 3, c2的值为 6,由于 c1 c2为真,输出字符 c1、 c2,也就是 36。执行 c1+和 c-后, c1的值为 4, c2的值为 5,由于 c1 c2为真,输出字符 c1、 c2 40 【试题 解析】 C语言允许字符数据与整数进行直接的算术运算,故输出大写字母 A开始的连续字符,可通过白加运算 ch+完成。三角形字符阵列第 i行的字符个数为 n-i+1,在每行结尾以回车字符 n换行。 40 【试题解析】 指针 P指向数组 a的首地址,执行语句 p+;后 p指向数组 a的第 2个元素的地址,即 a1的地址,因此 *p a1 4。 40 【试题解析】 本题主要考查函数的嵌套调用和

41、数组名作为实参。实际程序运行结果应为 aa2+aa3+aa4+aa5 18。 40 【试题解析】 1234作为实参传递给形参 n, sub(x)的值为 1234/10+ 1234%10123+4: 127, sub(sub(x)=sub(127) 127/10+127%10 12 +7 19, ysub(sub(sub(x) sub(19) 19/10+19%10 1+9 10。所以程序输出结果为 10。 40 【试题解析】 程序通过语句 “s0next s+1; s1.next=s+2; s2.next s; ”将结构体变量 s中各结点连接成了一个循环链表,即最后一个结点的指针域指向了头结点,整个 链表形成了一个环,并通过语句 “p s; q p- next; r q- next; ”将结构体指针变量 p、 q、 r指向了各结点。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1