首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷448

国家二级(C语言)机试模拟试卷448

本单篇文档共13867字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 模拟试卷 7937人下载
价格: 1.00 原价:¥7.00
收藏

国家二级(C语言)机试模拟试卷448

选择题

1.假定已建立以下数据链表结构,且指针p和q已指向如下图所示的结点:

(D)

A. (*)p.next=(*q).next;free(p)

B. b=q—>next;free(q)

C. p=q;free(q)

D. p—>next=q—>next;free(q)

解析:要删除结点q,应首先由q的上一个结点p的指针域指向q的指针域所指向的结点,即p—>next=q—>next;,然后才能释放结点q,即free(q)。

2.有以下字符串,说明表达式strlen(s)值的是( )。

char s[10]={’a’,’\n’,’a’,’b’,’\t’,’c’};(C)

A. 10

B. 1

C. 6

D. 7

解析:strlen(s)返回s字符串中字符的个数,若s是一个数组,则返回数组元素的个数。

3.若有定义语句:

char*s1=\\(B)

A. if(strcmp(s1,s2)!=0)puts(s2);

B. if(strcmp(s1,s2)!=0)puts(s1);

C. if(strcmp(s1,s2)==1)puts(s1);

D. if(strcmp(s1,s2)==0)puts(s1);

解析:strcmp(s1,s2)是字符串比较函数,比较规则是两个字符串自左向右逐个字符相比(按照ASCII码值大小),以第一个不相同的字符的大小作为比较结果。因为;’0’<’0’,所以strcmp(s1,s2)为负值,只有B选项正确。

4.有以下程序:

# include <stdio.h>

typedef struct { int b, p; } A;

void f(A c) /* 注意:c是结构变量名 */

{ int j;

 c.b += 1; c.p+=2;

}

main()

{ int i;

 A a={1,2};

 f(a);

 printf(\\(B)

A. 2,4

B. 1,2

C. 1,4

D. 2,3

解析:结构体变量可以作为函数的参数和返回值。作为函数的实参时,可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被调用函数中改变形参值对于调用函数中的实参没有影响。所以选择B。

5.以下不正确的转义字符是( )。(D)

A. ’\\\\\\\\’

B. ’\\\\d’

C. ‘\s’

D. ‘088’

解析:‘\\\\\\\\’是反斜线符,‘\\\\d’是整型变量转义字符,‘\s’是字符串型转义字符,C语言中没有规定’088’为转义字符。

6.设有定义:

char s[81]; int i=0;

以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。

A

解析:函数scanf()输入字符串时默认空格为间隔符,所以不能输入空格,答案选A)。

7.在一个C源程序文件中所定义的全局变量,其作用域为(  )。(A)

A. 由具体定义位置和extern说明来决定范围

B. 所在程序的全部范围

C. 所在函数的全部范围

D. 所在文件的全部范围

解析:全局变量的作用域是从声明处到文件的结束。所以选择A

8.有以下程序:

#include<stdio.h>

int furl()

{static int x=1;

x*=2;

return x;

}

main()

{int i,s=1;

for(i=1;i<=3;i++)s*=fun();

printf(\\(D)

A. 10

B. 30

C. 0

D. 64

解析:本题目中静态局部变量x,在静态存储区内分配存储单元。在程序整个运行期间都不释放。所以第一次循环s的值为2,第二次循环中,返回的x的值为4,所以s的值为8,第三次循环,返回的x的值为8,所以s的值为64。

9.若变量已正确定义并赋值,则错误的赋值语句是( )。(D)

A. a+=a+1;

B. a=sizeof(double);

C. a=d‖c;

D. a+1=a;

解析:赋值号“=”的左边必须是一个变量名。

10.下列选项中,不能作为合法常量的是( )。(B)

A. 1.234e04

B. 1.234e0.4

C. 1.234e+4

D. 1.234e0

解析:用指数形式表示的实型常量需注意两点:①e或E后面的指数必须是整数:②指数必须是不超过数据表示范围的正负整数,并且在e或E前必须有数字。

11.以下是while语句的基本形式:

while(表达式){语句;}

其中“表达式”( )。(D)

A. 必须是逻辑表达式

B. 必须是关系表达式

C. 必须是逻辑表达式或关系表达式

D. 可以是任意合法的表达式

解析:本题考查while表达式。while(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(一)误写为赋值号(=)时不会报错的,但是其值恒为1。

12.以下叙述中错误的是( )。(A)

A. 使用三种基本结构构成的程序只能解决简单问题

B. 结构化程序由顺序、分支、循环三种基本结构组成

C. C语言是一种结构化程序设计语言

D. 结构化程序设计提倡模块化的设计方法

解析:已经证明,由顺序、分支、循环这三种基本结构组成的算法可以解决任何复杂的问题。选项A)叙述有误。

13.有以下程序:

#include

int flint t[],int n);

main()

{ int a[4]={1,2,3,4},s;

s=f(a,2);printf(“%d\n”,s);

}

int flint t[],int n)

{ if((n>0)&&(n<5))return t[n+1]+f(t,n—1);

else return 0:

}

程序运行后的输出结果是( )。(B)

A. 4

B. 7

C. 10

D. 6

解析:本题主要考查的是函数的递归调用,子函数f是一个递归函数,所以主函数中执行ffa,2)时,其执行过程是a[3]+f(a,1)=a[3]+a[2]+f(a,0)=7。

14.有以下程序段

本文档预览:3600字符,共13867字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级(C语言)机试模拟试卷448

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号