admin 管理员组

文章数量: 1184232


2024年12月31日发(作者:winform 自定义控件)

学习-----好资料

2013江苏省计算机等级考试二级C语言考试模拟试卷一

第一部分计算机基础知识

1. 下列有关信息技术和信息产业的叙述中,错误的是_____(1)____ 。

A.信息技术与传统产业相结合,对传统产业进行改造,极大提高了传统产业的劳动生产率

B.信息产业专指生产制造信息设备的行业与部门,不包括信息服务业

C.信息产业已经成为世界范围内的朝阳产业和新的经济增长点

D.我国现在已经成为世界信息产业的大国

2. 下列有关数字技术与微电子技术的叙述中,错误的是___(2)___ 。

A.数字技术的处理对象是"比特",它只有两种状态(取值)

B.在计算机中,经常使用称为"触发器"的双稳态电路来存储比特,一个触发器可以存储1个比特

C.微电子技术以集成电路为核心,现代集成电路所使用的半导体材料主要是硅

D.所有的IC卡均只能存储数据,不能处理和收发数据

3. 下列四个不同进位制的数中,数值最小的是___(3)___。

A.十进制数63.1 B.二进制数.101

C.八进制数77.1 D.十六进制数3F.1

4. 下列有关PC机CPU的叙述中,错误的是___(4)___。

A.长期以来,多数PC机采用Intel公司生产的CPU芯片

Core i7是高端的CPU产品,其中i7表示它采用7个内核的结构

C.目前部分PC机使用AMD公司的CPU芯片,它们与Intel公司的CPU芯片指令系统基本一致,因此这些

PC机相互兼容 D.目前我国也能设计、生产PC机的CPU芯片 。

5. 下列有关PC机主板上CMOS和BIOS的叙述中.错误的是___(5)___ 。

A.主板上的CMOS芯片是一种易失性存储器,它通常使用电池供电

是存储在主板上闪烁存储器中的一组程序.每次机器加电时总是首先执行其中的程序

设置程序存储在CMOS存储器中,它与BIOS无关

芯片中存储了许多配置信息,包括当前的日期与时间、开机密码等

6. 下列是PC机使用的四种外设接口,其中最新的一种是___(6)___。

3.0 .1394b D.红外线接口(IrDA)

7. 下面关于液晶显示器的叙述中,错误的是___(7)_____。

A.它的英文缩写是LCD B.它的工作电压低,功耗小

C.它几乎没有辐射 D.它与CRT显示器不同,不需要使用显示卡

8. 下面关于存储卡的叙述中,错误的是_____(8)_____ 。

A.存储卡是使用闪烁存储器芯片做成的

B.存储卡非常轻巧,形状大多为扁平的长方形或正方形

C.存储卡有多种,如SD卡(包括Mini SD卡、Micro SD卡)、CF卡、Memory Stick卡和MMC卡等

D.存储卡可直接插入USB接口进行读写操作

9. 程序设计语言的编译程序或解释程序属于____(9)___。

A.系统软件 B.应用软件 C.实时系统 D.分布式系统

10.下列有关Windows 7操作系统的叙述中,错误的是___(10)___

s 7分为多种版本.例如家庭版、专业版

s 7采用并发多任务方式支持多个任务的执行

s7一般采用按时间片轮转的策略调度处理器来执行每个任务

D.虚拟存储器由主板上的RAM、ROM及显示卡的显存联合组成,它与硬盘无关

11. 关于计算机程序的下列叙述中,错误的是____(11)____。

A.程序是告诉计算机做什么和如何做的一组指令(语句)

更多精品文档

学习-----好资料

B.程序用于完成某一确定的信息处理任务

C.程序是使用某种计算机语言写成的

D.程序是常驻在内存中的

12. 下列关于Access数据库、Excel工作表数据处理的叙述中,错误的是___(12)__。

工作表可导入Access数据库,生成Access表

查询结果可导出为Excel工作表

C.在进行复杂数据处理时,Access数据库较Excel工作表方便

不能进行涉及多Excel工作表的数据统计工作

13.在下列有关调制解调技术、多路复用技术的叙述中,错误的是___(13)___

A.调制与解调技术中使用的"载波"信号,通常是低频正弦波信号

B.调制技术可以分为幅度调制、频率调制和相位调制

C.多路复用技术的作用主要是提高传输线路的利用率,降低通信成本

D.多路复用技术可以分为时分复用、频分复用等类型

14.目前IPv4协议只有大约36亿个地址.很快就会分配完毕。新的IPv6协议把IP地址的长度扩展到

___(14)___,几乎可以不受限制地提供IP地址。

A.32位 B.64位 C.128位 D.256位

15.下列与IP地址相关的叙述中.错误的是___(15)___ 。

地址由三个部分组成,从左到右分别代表类型号、网络号和主机号

B.因特网上的每台在线主机都必须有IP地址

C.通过ADSL上网时,用户主机的IP地址通常是由因特网服务提供者动态分配的

D.网络中的路由器不需要设置IP地址

16。下列关于无线接入因特网方式的叙述中,错误的是______(16)______。

A.采用无线局域网接入方式,可以在任何地方接入因特网

B.采用3G移动电话上网较GPRS快得多

C.采用移动电话网接入,只要有手机信号的地方,就可以上网

D.目前采用3G移动电话上网的费用还比较高

17. 为确保企业局域网的信息安全,防止来自Internet的黑客入侵,采用__(19)__可以提供一定的保护作用。

A.网络计费软件 B.垃圾邮件列表

C.防火墙软件 D.防病毒软件

18.下列有关文本与文本处理的叙述中,错误的是___(18)___ 。

A.文本信息在计算机中存储时,汉字均为双字节编码,非汉字字符均为单字节编码

B.文本输入可以是键盘输入,也可以是联机手写输入、语音输入等

文档、HTML网页、PDF文档均为丰富格式文本,但它们的格式标记方式不同

D.文本中的字符可以使用不同的字体,不同字体的同一个汉字,其机内码相同

19. 计算机中使用的图像文件格式有多种。下面关于常用图像文件的叙述中错误的是___(19)___。

图像文件不会在网页中使用

图像文件在Windows环境下得到几乎所有图像应用软件的广泛支持

图像文件在扫描仪和桌面印刷系统中得到广泛应用

图像文件能支持动画,数据量很小

20.文件扩展名通常用于标识文件的类型。下列4个文件扩展名中,属于数字波形声音文件的是___(20)___。

A. .WAV B. .MIDI C. .AVI D. .MPG

第二部分C语言程序设计

一、选择题(用答题卡答题,答案依次填在21—30答题号内,共10分)

21.下面能正确进行字符串赋值操作的语句是____(21)___。

A.char s[5]={"ABCDE"}; s[5]={'A'、'B'、'C'、'D'、'E'};

更多精品文档

学习-----好资料

C. char *s;s="ABCDEF"; *s; scanf("%s",s);

22.在以下各组标识符中,均可以用作变量名的一组是___(22)_____。

A.a01,Int B.table_1,a*.1

C.0_a,W12 D.for,point

23.若有声明"long a,b;"且变量a和b都需要通过键盘输入获得初值,则下列语句中正确的是_(23)_。

A.scanf("%ld%ld,&a,&b"); B.scanf("%d%d",a,b);

C.scanf("%d%d",&a,&b); D.scanf("%ld%ld",&a,&b);

24.以下表示中,不能用作C语言常量表示的是_(24)_。

A.0UL B.(long)123 C.1e0 D.'x2a '

25.若在一个C语言源程序中"el"和"e3"是表达式,"s;"是语句,则下列选项中与语句"for(el;;e3)S;"功能

等同的语句是___(25)___。

A.el;while(1)s;e3; B.el;while(1){s;e3;}

C.el;while(1){e3;s;} D.while(1){el;s;e3}

26.2以下表示数学式“a

A.a

C.!(a>=b)&&!(b>=c) D.!(a>=b||b>=c)

27.若有结构类型定义"typedef struct test{int x,y[2];}TEST;",则以下声明中正确的是__(27)___ 。

A.TEST x; B.struct x; C.test x;D.struct TEST x;

28.若有声明"void fun(int *x,int n,long *s);int a[4]={1,2,3,4};long b,c;",则以下函数调用形式

中正确的是_____(28)____ 。

A.fun(a,4,b); B.c=fun(a,4,&b);

C.fun(a[4],4,b); D.fun(a,4,&b);

29.若有枚举类型定义"enum listl{xl,x2,x3,x4=6,x5,x6};",则枚举常量x2和x6代表的值分别是___(29)___。

A.1,6 B.1,8 C.2,6 D.2,8

30.已知在函数f中声明了局部变量x,如果希望f函数第一次被调用返回后变量x中存储的数据保持到下次

f函数被调用时仍可以使用,则在声明x时必须指定其存储类型为______(30)_____ 。

A.auto B.register C.static D.extem

二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)

●基本概念

1.已有声明"float x;double y;int a;long b;char c;",则表达式x+y*a/x+b/y+c值的类型为_( 1 )__ 。

2.若有声明"char s[l0]="remind";",执行"puts(s+2);"后的输出结果是__( 2 )__。

3.若有声明"double x=10,y=5;",则计算x^y的库函数调用形式是__( 3 )__。

4.已知某程序中有预处理命令"#include",为使语句"zx=fopen("c:a.txt","r");"能正常执行,

在该语句之前必须有声明__( 4 )__。

5.若要使表达式p="jiangsu"无任何错误(包括语法错误和警告错误),p的声明形式应为__( 5 )__。

●阅读程序

6.以下程序运行时输出结果是__( 6 )__。

#define PT 3.14

#define S(x) PT*x*x

main() ’

{int a=2;

printf("%4.1f",6.28/S(a));

}

7.以下程序运行时输出结果为__( 7 )____。

#include "stdio.h"

更多精品文档

学习-----好资料

int m(int a)

{static int s;

return(++s)+(--a);

}

void main()

{int a=2;

printf("%d",m(m(a)));

}

8.以下程序运行时输出结果是___ (8) ___ 。

#include

#include

main()

{char *s="23a4";

int k=0,a=0,b=0;

do

{if(isdigit(s[k]))

{if(s[k]%2==0)

{a=a+s[k]-'0';

continue;

}

a=a+s[k]-'0';b=b+s[k]-'0';

}

}while(s[k+1]&&++k);

printf("%d,%d,%dn",k,a,b);

}

9.以下程序运行后输出结果中第一行为____( 9)____,第二行为____(10)____。

#include "stdio.h"

void main()

{int i=5;

do

{switch(i%2)

{case 0: i--; break;

case 1: i--; continue;

}

i--;

printf("%dn",i);

}while(i>0);

}

10.以下程序运行时输出结果的第一行是____ (11) ____;第二行是____ (12) ____ 。

#include

int fun(int *x,int n)

{ int i,j;

for(i=j=0;i

if(*(x+i)%2)

*(x+j++)=*(x+i);

更多精品文档

学习-----好资料

return j;

}

main()

{int a[10]={1,5,2,3,8,3,9,7,4,10},n,i;

n=fun(a,10);

for(i=0;i

{printf("%5d",a[i]);

if((i+1)%3==0)printf("n");

}

}

11.以下程序运行时输出结果是 ____ (13) ____ 。

main()

{int s,p[9]={1,2,3,4,5,6,7,8,9};

printf("n%d",add(p,5);

}

add(int *p,int n)

{if(n==1) return *p;

else return *p+add(p+1,n-1);

}

12.以下程序运行时输出结果中第一行是( 14 ),第二行是( 15 ),第三行是( 16 )。

#include

#include

#include

void fun(char str[][20],int n)

{ int i,j,k;

char s[20];

for(i=0;i

{ k=i;

for(j=i+1;j

if(strcmp(str[j],str[k])

strcpy(s,str[i]);

strcpy(str[i],str[k]);

strcpy(str[k],s);

}

}

main()

{

char str[6][20]={"PASCAL","BASIC","FORTRAN","C","COBOL","Smalltalk"};

int i;

fun(str,6);

for(i=0;i<6;i++) printf("%sn",str[i]);

}

13.以下程序运行时输出结果的第一行是 (17);第二行是(18) 。

int m=5,n=7,a[10]={0,1,2};

void fl(void);

更多精品文档

学习-----好资料

void f2(int m);

main()

{ int i;

for(i=0;i<7;i++)fl();

f2(1);printf("n%d,%d",a[m],a[n]);

}

void fl(void)

{static int n=3;

a[n]=a[n-1]+a[n-2]+a[n-3];n++;

}

void f2(int m)

{for(;m<3;m+=2)

{int m;

for(m=1;m<4;m++)

printf("%d,",a[m++]);

}

}

●完善程序

14.程序功能:寻找具有下列特性的四位正整数,其百位数为0,去掉百位数0可得到一个三位正整

数,而该三位正整数乘以9等于原四位正整数。例如,6075=675 X9,所以6075是具有上述特性的正整数。

#include

int fun(int n)

{ int a[4],i,k;

k=n;

for(i=0;k>0;i++)

{a[i]=____(19)_______ ;

k/=10;

}

if(____(20)____&&(a[3]*100+a[1]*l0+a[0]*9)==n)

return 1;

else

return 0;

}

main()

{ int i,n=0;

for(i=1000;i<10000;i++)

if(fun(i))

printf("%4dt",i);

printf("n");

}

15.程序中函数double,mycos(double x)的功能是:根据下列公式计算cos(x)的近似值。

cos(x)=1-x^2/2!+x^4/4!-x^6/6!+....+(-1)^n*(x^2*n/(2*n)!)

精度要求:当通项的绝对值小于等于10^-6时为止。

#include

#include< ____(21)_____>

更多精品文档

学习-----好资料

double mycos(double x)

{int n=1;

double sum=0,term=1.0;

while( ___(22)_________ >=le-6)

{sum+=term;

term*=--x*x/(n*(n+1));

n=n+2;

}

return sum;

}

main()

{double x;

scanf("%lf",&x);

printf("fx(%f)=%f,%fn",x,mycos(x),cos(x));

}

16.程序功能:选票统计。二维数组s中保存了投票后10张有效选票上所填写的候选人姓名,结构数组

stat中保存统计结果。程序运行后的输出结果是"liu:2 wang:5 zhao:3"。

#include

#include

typedef strnet

{char name[20]; /女候选人姓名}/

int count; /女候选人得票数}/

}COUNT;

int count(char x[][20],int n,____(23)_____)

{int i,j,k=0;

for(i=0;____ (24)___;i++)

{ for(j=0;j

if(strcmp(st[j].name,x[i])==0)

{ ______(25)_______ ;

break;

}

if(j>=k)

{ ________(26)_________;

st[k].count++;

k++:

}

}

return k;

}

main()

{char s[10][20]={"liu","wang","zhao","zhao","wang","liu","wang","zhao","wang","wang"};

COUNT stat[5]={0};

int i,n;.

n=count(S,10,stat);

for(i=0;i

更多精品文档

学习-----好资料

printf("%s:%dt",stat[i].name,stat[i].count);

}

17.设一个单向链表结点的数据类型定义为:

struct node

{ int x;

struct node *next;

};

fun函数从h指向的链表第二个结点开始遍历所有结点,当遇到x值为奇数的结点时,将该结点移到h

链表第一个结点之前,函数返回链表首结点地址。print函数输出p指向的链表中所有结点的x值。程序运行

后的输出结果是"1 3 4 2"。

#include

#define N 4

struct node

{ int x;

struct node *next;

};

void print(stmct node *p)

{ while_____(27)________

{printf("%4d", _________(28)_______);P=P->next;}

prinff("n");

}

struct node *fun(struct node *h)

{ struct node *pl,*p2,*p3;

pl=h;p2=pl->next;

while(p2)

{ if(p2->x%2)

{p3=p2;

pl->next=_______(29)_________ ;

p2=pl->next:

p3->next=h;

________(30)___________;

}

else

{pl=p2:p2=p2->next;}

}

retnm h;

}

main()

更多精品文档

学习-----好资料

{struct node a[N]={{4},{3},{2},{1}},*head=a;int i,num;

for(i=0;i

a[i].next=0;

head=fun(head);print(head);

}

更多精品文档


本文标签: 下列 使用 叙述 程序 技术