文档库 最新最全的文档下载
当前位置:文档库 › 江苏二级C模拟题2

江苏二级C模拟题2

江苏二级C模拟题2
江苏二级C模拟题2

江苏计算机等级考试二级C语言考前模拟试卷第2套

基础部分

1.下面关于集成电路(IC)的说法中错误的是_______(1)_______

A.集成电路是现代信息产业的基础

B.现代PC机中使用的微型处理器都是超大规模或极大规模集成电路

C.集成电路的特点是体积小,重量轻,可靠性强

D.IC卡分存储器卡与智能卡(CPU卡),比如手机的SIM卡就是一种存储器卡

2.下面关于通信技术的叙述中,错误的是_________(2)________

A.数字通信是当代通信技术的主流,它比模拟通信更能适应现代社会的要求

B.计算机网络中采用的最基本的多路复用技术是时分多路复用技术

C.信息在光纤中传输时,每隔一定距离需要加入中继器,将信号放大后再继续传输

D.无线通信可以按频率分成中波,短波,超短波和微波,其中微波的波长很短,通常在10m-100m之间

3.Pentinum处理器中的一个16位带符号整数,如果它的十六进制数是FFF0,那么它的实际数值是________(3)____

A.-16

B.32768

C.0

D.-8

4.下面关于微处理器的叙述中不正确的是___(4)______

A.微处理器通常以单片集成电路制成

B.它具有运算和控制功能,但不具备数据存储功能

C.Pentinum4及其兼容的微处理器是目前PC机中使用最广泛的一种处理器

D.Intel公司是国际上研制、生产CPU最著名的公司

5.下面关于PC机的主机叙述不正确的是_________(5)________

A.RAM代表随机存取存储器,ROM代表只读存储器,关机后前者所有存储的信息会丢失,而后者不会

B.保存在BIOS中的自举程序的功能是装入操作系统

C. 数码相机和优盘中使用的芯片类型是Flash Rom

D.I/O总线上有三类信号:数据信号、地址信号和控制信号

6. .磁盘存储器的下列叙述中,错误的是____(6)____。

A磁盘盘片的表面分成若干个同心圆,每个圆称为一个磁道

B.硬盘上的数据存储地址由两个参数定位:磁道号和扇区号

C.硬盘的盘片、磁头及驱动机构全部密封在一起,构成一个密封的组合件

D.每个磁道分为若干个扇区,每个扇区的容量一般是512字节

7. 在下列几种存储器中,速度慢、容量小的是_____(7)___。

A. 优盘

B. 光盘存储器

C. 硬盘存储器

D.软盘存储器

8.下列有关操作系统作用的叙述中,正确的是___(8)____。

A. 有效地管理计算机系统的资源是操作

系统的主要作用之一

B. 操作系统只能管理计算机系统中的软件资源,不能管理硬件资源

C. 操作系统提供的用户界面都是图形用户界面

D. 在计算机上开发和运行应用程序与安装和运行的操作系统无关

9.下面关于算法和数据结构的叙述中,错误的是___(9)__________

A.算法的基本特征是:确定性,有穷性,能行性,输出

B.算法的一个显著特征是,它解决的是一个问题而不是一类问题

C.算法的好坏除了考虑正确性外,还要看执行算法所占用的空间资源

D.数据结构研究如何根据实际问题组织数据与定义新数据类型,与具体的程序设计语言无关

10. 以太网是一种使用的最广泛的局域网,下面是关于以太网的叙述,

①以太网的节点每次只能发送一帧信息

②以太网中的每个节点都有一个唯一的地址,发送每一帧信息时,必须包含自己的地址和接收节点的地址,该地址就是IP地址

③以太网的数据传输速率为10Mbps—100Mbps,甚至更快

④以太网大多使用集线器组网,网络中每一个节点通过网卡和双绞线与集线器连接

正确的是_________(10)______

A. ①③④

B. ①②

C. ①②③④D①④

11.广域网是一种跨越很广的的计算机网络,下面关于广域网的叙述中,正确的是______(11)_____

A.广域网是一种公用计算机网,所有计算机都可无条件的接入广域网

B.广域网使用专门的通信线路,数据传输更高

C.广域网能连接任意多的计算机,也能将相距任意距离的计算机互相连接起来

D.广域网像很多局域网一样按广播方式通信

12.能将异构的计算机网络互相连接起来的基本设备是________(12)________

A.中继器

B.路由器

C.集线器

D.调制解调器

13.以下关于因特网提供的服务,错误的是_______(13)______

A.电子邮件必须要有邮件服务器才能使用,邮件服务器程序包括SMTP协议与POP3协议

B.Web服务器中的网页采用的是http超文本传输协议传输

C.把网络上一台计算机中的文件移动到另外一台计算机中,称为远程文件传输,简称mailto

D.远程登录的含义是用户可以把自己的机器作为一个终端,通过因特网连接到远程的计算机上,就可以使用这台计算机了,使用的协议是Telnet

14.下面对汉字编码标准叙述错误的是______(14)_____

A.采用GB2313,GBK,和GB18030三种不同的汉字编码标准时,一些常用的汉字如”中”,”国”等,它们在计算机中的表示(内码)都是相同的

B.GB2312,GBK主要在我国大陆使用,而台湾、香港地区使用的是BIG5汉字编码

C.GBK汉字编码比GB2312的汉字多,已经得到了较好的应用,微软公司的Windows操作系统均支持GBK 编码

D.Unicode是包含的汉字比GB18030的汉字多

15.下面关于图像压缩编码的叙述中,错误的是_____(15)_____

A.图像压缩编码的目的是为了节省压缩容量和减少在网络上的传输时间

B.图像数据压缩都是有损的,重建的图像与原始图像不会相同

C.大多数图像文件都对图像进行了压缩编码

D.GIF与JPEG是常用的两种文件格式,Gif图像是无损压缩,JPEG图像是有损压缩

16.下面关于计算机输入输出声音信息的叙述中,错误的是_____(16)_____

A.声卡的主要功能是实现波形声音和MIDI声音的输入和输出

B.无论是波形声音还是MIDI声音的输入,都需要使用麦克风

C. 无论是波形声音还是MIDI声音的输出,都需要使用扬声器

D.波形声音和MIDI声音可以混合在一起进行输出

17.数字视频信息的数据量很大,目前DVD光盘上存储的数字视频应用存储的数字视频采用的压缩编码标准是____(17)________

A.MPEG-1

B.MPEG-2

C.MPEG-4 DMPEG-7

18.用结构化生命周期方法进行信息系统开发,一般经过五个阶段,其正确顺序为____(18)__

A.系统分析,系统规划,系统设计,系统实施,系统维护

B. 系统规划,系统分析,系统设计,系统实施,系统维护

C. 系统分析,系统规划,系统设计,系统维护,系统实施

D. 系统分析,系统设计,系统规划,系统实施,系统维护

19. 在下列有关Microsoft Office 2000的应用程序功能的叙述中,正确的是___(19)____。

A.Word和Excel编辑的文档均可以另存为HTML语言

B.Word可以直接读取Excel文档(.xls),且Excel可以直接读取Word文档(.doc)

C.Word与Excel均支持表格的自动填充功能

D.用户不能利用“剪切板”功能在Word与Excel编辑的文档之间进行交换数据

20在使用Microsoft Word 97/2000编辑文档时,如果需要打印当前文档的第4、6-8页,则应___(20)_____,然后在出现的对话框中设置需打印的页码。

A.使用菜单命令“文件/打印”

B.单击“常用”工具栏上的“打印”按钮

C.按键盘上的PrtSc(PrintScreen)键

D.按组合键ALT+PrtSc(PrintScreen)

C语言部分

21.在定义任何一个函数时,下列选项中,______________是不可缺少的

A.函数名之前的数据类型

B.函数名之后的一对圆括号

C.形式参数声明

D.函数体内的语句

22.已知某程序如下:

float p=1.5;

#define p 2.5

main()

{printf("%f",p);}

则main函数中标识符P代表的操作数是(22) 。

A.float型变量B.double型变量C.float型常量D.double型常量

23.已有声明"int s[2][3]",以下选项中(23)正确地引用了数组S中的基本元素。

A.S[1>2][!1] B.S[2][0] C.S[1] D.S

24.已有数据类型定义和变量声明如下:

struct person

{ int num;

char name[20],sex;

strrut{int class;char prof[20];}in;

}a={20,"Li ning",'M',{5,"computer"}},*P=&a;

下列语句中正确的是(24)

A?printf("%s",a->name);B.printf("%s",P->in.prof);

C?printf("%s",*p.name);D.printf(" Ctr P->in->prof);

25.若有以下程序:

int x:

int f(int Y)

{return 标识符;}

#include

int w;

main()

{int z=2;f(z);…}

则在函数f中return语句后允许出现的标识符是(25) 。

A.x或w B.x或y C.z或w D.NULL

26.逻辑"异或"运算可描述为"a xor b",其中a和b为参加运算的两个操作数,运算结果为当

且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。以下表达式中

(26)可以正确表示逻辑"异或"运算。

A.a||b B.a&&b

C.(a&&b)&&!(a||b) D.(a||b)&&!(a&&b)

27.若有声明"int a [5],*b=a,(*c)[3],*d[3];",则在以下表达式中有语法错误的是

(27) 。

A.a[0]=0 B.b[0]=0 C.c[O]=0 D.d[0]=0

28.若有声明:

int k,a,b;

unsigned long y=5;

double x=1.23;

则以下表达式中正确的是(28) 。

A.x%(-5) B.x=y[6]

C.k=(a=l,b=2,&a+&b) D.a+=a-=(b=2)*(a=3)

29.以下跳转语句中,只有(29) 可以选择不唯一的跳转目的地。

A.continue;B.break;’C.goto标识符;D?return;

30.在缺省情况下,标准C的编译系统中预定义的标准输出流stdout直接连接的设备是

(30) 。

A.软盘B.硬盘C.键盘D.显示器

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

●基本概念题(共5分)

1.在声明变量时,类型修饰符unsigned一般用于修饰基本类型中的int和____(1)_________。2.已知某程序中有如下片段:

int i;float f;

/*P的声明*/

P=&i;P=&f;

若要保证该段程序没有任何语法错误,P应当声明为( 2 )

3.已有声明"float x;double y;int a;long b;chat c;",则表达式x+y*a/x+b/y+c值的类型为(3) 4.系统库函数scanf和gets在被调用执行时都可以读取从键盘输入的一串数字字符,其中函数(4)具有将读取的数字字符串转换为整型数的功能。

5.在文件中,以符号常量EOF作为文本文件(字符流文件)的结束标记,EOF代表的值是( 5 )

●阅读程序题(共11分)

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

#define PT 3.14

#define S(x) PT*x*x

main() ’

{int a=2;

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

}

7.已知int型变量的存储字节数为2,以下程序运行时输出结果是( 7 )。

#include

main()

{int a=3,b=2,c=7,d=6,e=8;

long f=a*10000+b*1000+c*100+d*10+e;

printf("%ld",f);

}

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

#include

main()

{char *P="student";

if(P=="student")

printf("yes");

else

printf("no");

}

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

#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,%d\n",k,a,b);

}

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

#include

int f(int a[],int m,int b[],int n,int c[])

{int i,j,k=0,t;

for(i=0;i

{for(t=1,j=0;j

if(a[i]==b[j])

{t=O;break;}

if(t) c[k++]=a[i];

}

return k;

}

void main()

{int x[]={7,2,3,6,5,4,1},y[]={5,10,7,9,8,6},z[10],w,j;w=f(x,7,y,6,z);

for(j=0;j

}

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

void fun(int *p1,int *p2);

main()

{int i,a[6]={1,2,3,4,5,6};

fun(a,a+5);

for(i=O;i<5;i++) printf("%2d",a[i]);

}

void fun(int *pl,int *p2)

{int t;

if(pl

{ t=*p1,*pl=*p2;*p2=t;

fun(p1+=2,p2-=2);

}

}

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

void swap(int *a,int *b)

{int c;

c=*a; *a=*b;*b=c;

}

main()

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

for(i=0:i<2:i++)

for(j=0;j<2-i;j++)

if(i==j)

swap(&a[i][j],&a[i+2][j+2]);

else

swap(&a[i][j],&a[i+1][j+1]);

for(i=0;i<3;i++)

{ for(j=0;j<3;j++)

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

printf("\n");

}

}

13.以下程序运行时输出结果的第一行是( 14 ) ,第二行是( 15 ) ,第三行是(16 ) 提示:函数int toupper(int ch)的功能是:将小写字母字符转换为对应的大写字母字符。

#include

#include

long fun(char *s)

{long n,sign,base=10,t;

for(;isspace(*s);s++);

sign=(*s=='-')?-1:1;

if(*s=='+'||*s=='-')s++;

if(*s=='0'&&s++)

{if(*s=='x||*s=='X')

{base=16;S++;}

else

base=8;

}

for(n=0,t=1;t&&(isdigit(*s)||isalpha(*s));s++)

switch(base)

{case 10:if(isdigit(*s)) n=n*base+*s-'0';

else t=0;

break:

case 8:if(*s>='0'&&*s<='7')n=n*base+*s-'0';

else t=0:

break;

default:if(isdigit(*s))n=n*base+*s-'0';

else

if(toupper(*s)>='A'&&toupper(*s)<='F')

n=n*base+toupper(*s)-'A'+lO;

else t=0;

}

return sign*n:

}

main()

{char c1[]="0x1f",c2[]="0409",c3[]="-33a";

printf("%ld\n%ld\n%ld",fun(c1),fun(c2),fun(c3));

}

●完善程序题(共14分)

14.程序中函数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< ____(17)____________> .

double mycos(double x) .

{int n=1;

double sum=0,term=1.0;

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

{sum+=term;

term*= ___(19)_________ ;

n=n+2:

}

return sum;

}

main()

{double x;

scanf("%lf",&x);

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

}

15.main函数内结构数组P中的元素已按结构成员index的值升序排列。以下程序先在P中插入s1和s2两组数据,再将数组的所有元素输出。要求插入数据后数组p中的元素仍按结构成员index的值升序排列。

#include

typedef struct s

{int index;

char text[10];

}T;

int inserttv(T *p,T s,int n)

{int k,j;

for(k=0;k

if( 20 )>s.index)

{for(j=n;j>k;j--)p[j]=p[j一1];

break;

}

( 21 ) =s;

return n+1;

}

main()

{int n;

T p[8]={{0,"a",},{5,"t",},{10,"e",},{15,"r"}};

T s1={3,"f"},s2={16,"s"},*q;

n=inserttv(p,s2,__________(22)__________ );

for(q=p;qindex,q->text);

}

16.以下程序的功能是:查找所有满足以下条件的两个整数对:(1)两个整数都是3位数;(2) 组成两个整数各位的数字各不相同并且不出现数字O;(3)第二个数等于第一个数的两

倍。例如,134和268就是满足该条件的一个整数对。

main()

{int a,b,c,j,k,w,s[6],sum;

for(a=1;a<=5;a++) /*a百位,b十位,c个位*/

for(b=1;b<=9;b++)

for(c=1;c<=9;c++)

{s[o]=a;s[1]=b;s[2]=c;

sum= ____(23)_________ ;

sum=2*sum;

if(sum>999) continue;

s[3]= ______(24)_____________ ;

s[4]=(sum-s[3]*100)/10;

s[5]=sum%10;

_____(25)___________________ ;

for(j=0;j<5;j++)

for(k=0;k<6;k++)

if(s[k]==0||j!=k&& ___(26)____________ w=0;

if(w)

for(k=0;k<2;k++)

printf("%d%d%d\n",s[k*3],s[k*3+1],s[k*3+2]);

}

}

17.设有一个线性单链表的结点定义如下:

struct node

{int d;

struct node next;

};.

函数int copy_dellist(struct node *head,int x[])的功能是:将head指向的单链表中存储的所有整数从小到大依次复制到x指向的整型数组中并撤消该链表;函数返回复制到x数组中的整

数个数。算法:找出链表中数值最小的结点,将其值存储到x数组中,再将该结点从链表中删

除,重复以上操作直到链表为空为止。

int copy_dellist(struct node *head,int x[])

{struct node *pk,*pj,*pm,*pn;

int data,k=O;

while(head!=0)

{pk=head;data=pk->d;pn=pk;

while(______(27)_______!=0)

{pj=pk->next;

if(_____(28)___________

{data=pj->d;pm=pk;pn=pj;}

pk=pj;

}

x[k++]=pn->d;.

if( ___29___________)pm->next=pn->next;

else head=pn->next;

free(pn);

} .

____(30)__________________ ;

参考答案

1.D

2.D

3.A

4.B

5.B

6.B

7.D

8.A

9.B10.A11.C12.C13.C14.D15.B16.B17.B18.B19.A20.A

21.B 22. D 23.A 24.B 25.B 26.D 27 C. 28.D 29.c 30.D

(1)char (2)void *p; (3)double (4) scanf (5)-1 (6)8.0 (7)-32768 (8) no (9)3, 9, 3

(10)2,3,4,1 (11)6,2,4,3,5,1 (12)9 6 3 (13)8 5 2 (14)31 (15)32

(16)-33 (17) math.h (18)fabs(term) (19)--x*x/(n*(n+1)) (20)p[k].index (21)p[k]

(22)inserttv(p,s1,4) (23)a*100+b*10+c (24)sum/100 (25)w=1; (26)s[j]==s[k]

(27)pk->next (28)pj->d (29)pn!=head (30)return k

一:改错题(20分)

题目:

函数find_replace的功能是:在s1串中查找s2子串,并用s3子串替换找到的所有s2子串,若s1串中没有出现s2子串,则不做替换并使函数返回0,否则返回1.

例如:若s1子串为”This is a test program and a test data.”,s2子串为”test”,s3子串为”actual”,若程序正确,输出结果应为:”This is a actual program and a actual data.”

含有错误的源程序如下:

#include

#include

int find_replace(char *s1, char *s2, char s3)

{

int i,j,k=0,t=0;

char temp[80];

if(*s1='\0' || *s2='\0')

return t;

for(i=0;s1[i]!='\0';i++)

{

for(j=0,k=0;s1[j]= =s2[k];j++,k++); /*比较s2是否在s1中*/

if(s2[k]= ='\0')

{

strcpy(temp, s1[j]);

strcpy(&s1[i],s3);

i=i+strlen(s3);

strcpy(&s1[i],temp);

t=1;

}

}

return t;

}

main()

{

char line[80]="This is a test program and a test data.",

substr1[10]="test",substr2[10]="actual";

puts(line);

if(find_replace(line,substr1,substr2)) puts(line);

else printf("not found");

}

编程题目:

[题目]

1. 编写函数int encode(int a[ ][4]),对二维数组中左下三角的全部元素(包括对角线上的元素)做如下变换:(1)若该元素不是素数则保持不变(2)若该数是素数,则用大于它的最小素数替换该数,函数返回二维数组左下三角的元素中素数的个数

2. 编写main函数,声明一个二维数组并用以下测试数据给二维数组赋初值。调用encode函数对该数组作变换,将变换后的数组全部元素(以二维数组形式)及左下三角元素中素数的个数写入文件myf2.out中

测试数据

3 6

4 7

8 5 9 10

12 19 7 20

4 14 21 23

变换后的数据

5 6 4 17

8 7 9 10

12 23 11 20

4 14 21 29

1.将源文件取名为myf2.c,输出结果文件取名为myf2.out。‘

2.数据文件的打开、使用和关闭等操作均用C标准库中缓冲文件系统的文件操作函数实现。

3.源程序文件和运行结果文件均须保存在T:盘的根目录下,供阅卷用。

4.不要将myf2.obj、myf2.exe保存到T:盘中。

改错题答案:

(1) int find_replace(char *s1, char *s2, char s3)

修改为:int find_replace(char *s1, char *s2, char *s3)

(2) if(*s1='\0' || *s2='\0')

修改为:if(*s1= ='\0' || *s2= ='\0')

(3) for(j=0,k=0;s1[j]= =s2[k];j++,k++);

修改为:for(j=i,k=0;s1[j]= =s2[k];j++,k++);

(4) strcpy(temp, s1[j]);

修改为:strcpy(temp, &s1[j]);

编程题答案:

#include

#include

int prime(int n) /*判断素数算法*/

{

int i,k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0) return 0;

return 1;

}

int encode(int a[][4])

{

int i,j,k=0;

for(i=0;i<4;i++)

for(j=0;j<=i;j++)

if(prime(a[i][j]))

{

while(!prime(a[i][j]+=2));k++;/*求大于它的最小素数*/

}

return k;

}

main()

{

FILE *fp;

int a[4][4]={3,6,4,17,8,5,9,10,12,19,7,20,4,14,21,23},i,j,count=0; if((fp=fopen("myf2.out","w"))==NULL)

{printf("create file myf2.out failed!\n");exit(0);}

count=encode(a);

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

{fprintf(fp,"%4d",a[i][j]);

printf("%4d\n",a[i][j]);

}

fprintf(fp,"\n");

}

fprintf(fp,"count=%4d\n",count);

fclose(fp);

}

C语言模拟试卷A

安徽农业大学经济技术学院 《C 语言程序设计》模拟试卷(A) 所有答案写在答题卡上,否则不得分 一、单项选择题(每题1分,共30分) 1.以下选项中叙述正确的是________。 A )C 语言程序总是从第一个定义的函数开执行 B )在 C 语言程序中,被调用的函数必须在main()函数中声明 C )C 语言程序总是从main()函数开始执行 D )C 语言程序中的main()函数必须放在程序的开始部分 2.C 语言程序的三种基本结构是顺序结构、选择结构和________结构。 A )循环 B )递归 C )转移 D )嵌套 3以下选项中不属于C 语言的基本数据类型的是________。 A )int B )double C )char D )bool 4.以下选项中正确的C 语言标示符是________。 A)2b B )x_1 C )a@b D)3#h 5.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为________。 A )0~255 B )0~32767 C )0~65535 D )0~2147483647 6.以下选项中,和语句k=n++;等价的是________。 A )k=n,n=n+1; B )n=n+1,k=n; C )k=++n; D )k=n+1; 7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是________。 A )8 B )10 C )12 D )14 8.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2);后,c 的值是________。 A )2 B )3 C )4 D )5 9.已知:int x,y;float z;,若要给变量x,y,z 输入数据,以下正确的输入语句是________。 A )scanf("%d,%d,%d",x,y,z); B )scanf("%d,%d,%f",&x;&y;&z); C )scanf("%d,%d,%f",&x,&y,&z ); D )scanf("%2d,%2d,%3.2d",x;y;z ); 10.华氏温度f 和摄氏温度c 的关系是)32(9 5-= f c 。已知:float c,f;,由华氏温度f 求摄氏温度c 的不正确的赋值表达式是________。 A )c=5/9(f-32) B )c=5.0/9*(f-32) C )c=5*(f-32)/9 D )c=(float)5/9*(f-32) 11.一个C 程序中要调用sqrt()函数时,应在程序中包含的头文件是________。 A )stdio.h B )math.h C )string.h D )stdlib.h 12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是________。 A )A B )65 C )97 D )出错 13.能正确表示逻辑关系“a ≥5或a ≤-1”的C 语言表达式是________。 A )a>=5.or.a<=-1 B) a>=5.and.a<=-1 C) a>=5&&a<=-1 D )a>=5‖a<=-1

c语言模拟试题

试卷编号:8156 所属语言:C语言 试卷方案:C语言201006模拟 试卷总分:100分 共有题型:5种 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1225 在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y 第2题(2.0分)题号:1279 循环结构while、do while、for不可以互相嵌套. 答案:N 第3题(2.0分)题号:1140 链表中的任何一个结点,必然要包括一个指针域. 答案:Y 第4题(2.0分)题号:1265 在书写C程序时,一行内只能写一条语句,一条语句也不能写在多行上. 答案:N 第5题(2.0分)题号:1280 C语言程序中用到的所有变量必须在使用之前进行定义. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:19 C语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的。 答案:Y 第8题(2.0分)题号:11 通过return语句,函数可以带回一个或一个以上的返回值。 答案:N 第9题(2.0分)题号:24

对于数值型数组,C语言中只能逐个引用数组元素而不能一次引用整个数组。答案:Y 第10题(2.0分)题号:33 int i,*p=&i;是正确的C说明。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:87 C语言源程序的基本单位是()。 A:过程 B:函数 C:子程序 D:标识符 答案:B 第2题(2.0分)题号:110 C语言中,char类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:A 第3题(2.0分)题号:112 下列程序的输出结果是()。 main() {char c1=97,c2=98; printf("%d %c",c1,c2); } A:97 98 B:97 b C:a 98 D:a b 答案:B 第4题(2.0分)题号:170 关于return语句,下列正确的说法是()。

C语言模拟试卷

一.单项选择题 1.一个C语言源程序由一个或多个( D )组成。 A.子程序B.过程C.函数D.主函数 2. 下列定义变量的语句中错误的是( C )。 A.int _int B.double int_1 C.char For D.float US$ 3.以下语句有语法错误的是( B )。 A.printf("%d",0xabc); B.printf("%f",1.234e2.0); C.printf("%d",057); D.printf("%c",'\\'); 4.若有定义int m=2,n=2;执行语句(m=0)&&(n=3);后m和n的值分别为( D )。 A.2 2 B.0 3 C.2 3 D.0 2 5.若有定义int k=4,a=3,b=2,c=1;则表达式kb) c=a,a=b,b=c; B.if(a>b){c=a,a=b,b=c;} C.if(a>b) c=a;a=b;b=c; D.if(a>b){c=a;a=b;b=c;} 10. 若变量已正确定义,要求程序段完成求10!的计算,不能完成此操作的程序段是( B )。 A.for(i=1,fac=1;i<=10;i++) fac*=i;

C语言模拟试题二

模拟试题二 一、选择题(本大题30分,每小题2分) 1.C语言中不能用来表示整常数的进制是。 A)十进制B)十六进制C)八进制D)二进制 2.C语言规定标识符由等字符组成。 A)字母数字下划线B)中划线字母数字 C)字母数字逗号D)字母下划线中划线 3.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式: (float)(a+b)/2+(int)x%(int)y的值是。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 4.以下表达式: 2+?a?+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。 A)int B)float C)char D)double 5.有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”); 执行语句后的最终结果为。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU, CMP . 6.以下if语句中语法错误的是。 A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a); else printf(“%f”,b); C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b); else printf(“%f”,b); else printf(“%f”,a); 7.能表示整数x符合下面两个条件的语句是。 (1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除. A)(x%4==0&&x%100!=0)||x%400==0 B)(x%4==0||x%100!=0)&&x%400==0 C)(x%4==0&&x%400!=0)||x%100==0 D)(x%100==0||x%4!=0)&&x%400==0 8.循环语句中的for语句,其一般形式如下: for(表达式1;表达式2;表达式3) 语句 其中表示循环条件的是。 A)表达式1 B)表达式2 C)表达式3 D)语句 9.以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。 A)地址传递B)单向值传递 C)双向值传递D)随机传递 10.将字符串str2连接到字符串str1中应使用。 A)strcpy(str1,str2) B)strcat(str1,str2) C)strcmp(str1,str2) D)strcat(str2,str1) 11.若有以下定义: int a[10],*p=a; 则*(p+3)表示的是。 A)元素a[3]的地址B)元素a[3]的值 C)元素a[4]的地址D)元素a[4]的值 12.若有如下语句: int *p1,*p2; 则其中int所指的是。 A)p1的类型B)*p1和*p2的类型 C)p2的类型D)p1和p2所能指向变量的类型

C语言程序设计模拟试题A(附答案)

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的是(C)。 A) int a[5]={0,1,2,3,4,5};B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果是(C)。 x = 9; while (x > 7) {printf(“*”); x- -; } A) ****B) ***C) **D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)。 解析: strcpy(str1,str2); 后,str1[] 里是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的是str1, 因为str1[] 里是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。

A)9B) 8C) 5D) 3 6、若用数组名作为函数调用的实参,则传递给形参的是(A)。 A) 数组的首地址B) 数组第一个元素的值 C) 数组中全部元素的值D) 数组元素的个数 7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为(C)。 A)void B)double C)int D)char 8、下面不能正确进行字符串赋值操作的语句是(C)。 A) char s[5]={"ABCD"};B) char s[5];s="ABCD"; C) char *s;s="ABCDEF";D) char *s="ABCD"; 解析:这样理论上的没错的把s指针指向字符串可以改变s指针但不能改变其指向的值正确的应该是这样char s[] = "ABCDEF"; 或char s[8];strcpy(s, "ABCDEF"); 9、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(C)。 A)++p B)++(*p)C) *(++p)D) *(p+=2) 解析: A是把p得地址后移一个int单位长度,即使p指向数组的第二个元素。 B是取得p当前指向的元素值然后加1,即1+1=2; C是先移动p,使其指向第二个元素,然后取得当前指针指向的元素值,即3. D是先使p指向数组的第三个元素,然后去的当前指针指向的元素的值,即5。 10、下面程序的输出结果是(B)。 int m=13; int fun( int x,int y) { int m=3; return( x*y-m); } main( ) { int a=7,b=5;

C语言模拟题

一.选择题 1、()是不正确的。 A、每条语句最后必须有一个分号; B、C源程序可由一个或多个函数组成; C、注释说明只能位于一条语句的后面; D、C源程序的基本组成单位是函数。 2、()是正确的叙述。 A、强制类型转换运算的优先级高于算术运算; B、表达式“m”+“M”是合法的; C、若变量X,Y为整型,则(a+b)++是合法的; D、表达式‘m’*‘n’是合法的; 3、()为正确的变量名 A. k.jeep B. int C.k_5 D. –k15 4、若有定义int m=4321, n=123, k=21; 语句printf( “%4d+%3d+%2d”,m,n,k); 执行后的输出结果是() A、4321432143211231231232121 B、432+123+021 C、432112321 D、4321+123+21 5、若定义int a= -5 , b= -8, c=21,则表达式a>=b|| b

C语言模拟试题

C语言模拟试题 一、单项选择题(共40分每题1分) 说明:答案必须填写在答题卡的相应位置上,否则不得分。 1.C语言中字符型(char)数据在内存中的存储形式是____D____。 A、原码 B、反码 C、补码 D、ASCII码 2.C语言中基本的数据类型包括___B_____。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 3.在C语言中,int类型数据在内存中占用____C____。 A、2字节 B、4字节 C、由编译系统决定 D、由用户决定4.运算符有优先级,C语言中关于运算符优先级的正确叙述是____B____。 A、逻辑运算符高于算术运算符,算术运算符高于关系运算符; B、算术运算符高于关系运算符,关系运算符高于逻辑运算符; C、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符; D、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符。 5.下面关于C语言语句的叙述,错误的是___C_____。 A、C语言一行可以允许写多条语句; B、C语言语句用分号结束; C、语句一行写不下时,可以用逗号换行; D、语句一行写不下时,可在任意一空格处回车换行。 6.下面数据中不属于字符型常量的是____A____。 A、“\n” B、…\0? C、…A? D、…\t? 7.11.以下选项中,当x为大于1的奇数时,值为0的表达式______D____ 。 A、x%2==1 B、x/2 C、x%2!=0 D、x%2==0 8.C语言源程序名的后缀是____B____ 。 A 、.exe B、.C C、.obj D、.cp 9.设所有变量均为int型,则表达式(a=5,b=2,b++,a-b)的值是____D____。 A、7 B、8 C、6 D、2 10.若有说明语句:int a;float b;,以下输入语句正确的是___C_____。 A、scanf("%f%f",&a,&b); B、scanf("%f%d",&a,&b); C、scanf("%d,%f",&a,&b); D、scanf("%6.2f%6.2f",&a,&b); 11.已知int a,b; 用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是_____A___。 A、, B、空格 C、回车 D、[Tab] 12.C语言对嵌套if语句的规定是:else总是与___D___配对。 A、与之前最近的if B、第一个if C、缩进位置相同的if D、其之前最近的且尚为配对的if 13.在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是___D___。 A、if(a)s1; else s2; B、if(a==0)s2; else s1; C、if(a!=0)s1; else s2; D、if(a==0)s1; else s2;

C语言模拟题

C语言模拟题(一) 一、选择题 1、以下字符中不是转义字符的是(A )。 A、'\c' B、'\b' C、'\\' D、'\a' 2、设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为(A)。 A、0 B、144 C、132 D、12 3、已定义float x=1.25,y=3.37; 根据下面的输出结果,正确的输出语句是(C ). y+x=4.62,y-x=2.12 A、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x); B、printf("y+x=%f,y-x=%f\n",y+x,y-x);,l C、printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x); D、printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x); 4 、执行下面程序段后,b的值为(A ). int s=35; char t='A'; int b; b=((s&&4)&&(t<'a')); A、1 B、3 C、2 D、0 5 k是整型,则以下程序段的执行结果是:(B ) k=-3; if(k<=0) printf("####") else printf("&&&&"); A、#### B、有语法错误,无结果 C、&&&& D、####&&&& 6 设j和k都是int类型,则下面的for循环语句(D)。 for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A、最多执行9次 B、是无限循环

C、循环体一次也不执行 D、最多执行10次 7 以下正确的描述是(A ). A、只能在循环体内和switch语句内使用break语句 B、continue语句的作用是终止整个循环的执行 C、从多层嵌套的外层循环中退出时,只能使用goto语句 D、在循环体内使用break和continue语句的作用相同 8 以下能对一维数组a进行正确初始化的语句是(B)。 A、int a[10]={}; B、int a[]={0}; C、int a[10]={10*1}; D、int a[10]=(0,0,0,0,0) 9 以下正确的说法是(A ). A、函数的类型决定返回值的类型 B、定义函数时,形参的类型说明可以放在函数体内 C、return后面不能为表达式 D、如果形参与实参的类型不一致,以实参类型为准 10 以下程序的输出结果为(C)。 int func(int x,int y) { return(x+y); } main() { int a=1,b=2,c=3,d=4,e=5; printf("%d\n",func((a+b,b+c,c+a),(d+e))); } A、9 B、15 C、13 D、函数调用出错 11 以下正确的说法是(D)。 A、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 B、用户若需调用标准库函数,调用前必须重新定义 C、系统根本不允许用户重新定义标准库函数 D、用户可以重新定义标准库函数,若如此,该函数将失去原有含义 12 在#include命令中,文件名可用双引号或尖括号括起来,对于二者的下列说法中正确的是 (A ). A、用尖括号时,直接按系统标准方式检索文件目录. B、用双引号时,直接按系统标准方式检索文件目录. C、用双括号和尖括号时,都不检查源文件所在的文件目录. D、以上说法都不对. 13 当说明一个结构体变量时系统分配给它的内存是(D)。 A、成员中占内存量最大者所需的容量 B、结构中第一个成员所需内存量

c语言模拟题1(有答案)

模拟题1 一、单选题(本大题10小题,每题2分,共20分) 1.C语言表达式a=15,a%6的值是_______A A.3 B.5 C.非法表达式 D.15 2.循环语句中,continue语句的作用是______A A.结束本次循环 B.跳出子函数 C.从本循环体内跳出 D.终止程序 3.定义一个返回值为int 的无参函数cacul的正确语句是______C A.void cacul(void); B.void cacul(int); C.int cacul(); D.int cacul; 4.下面运算优先级按从高到低的排列正确的是_____A A.条件运算赋值运算逗号运算 B.算术运算逻辑运算关系运算 C.逻辑运算关系运算赋值运算 D.位运算算术运算赋值运算 5.以下叙述中,正确的是_____B A.C程序中,main函数必须位于程序最前面 B.C语言本身没有输入和输出语句 C.在对一个C程序进行编译的过程中发现注释中的拼写错误 D.C程序中每行中只能写一个语句 6.数组age[2][4]的非法引用是________A A.age[3][0] B.&age[0][0] C.age[0][1] D.age[1][1+1] 7.变量定义int x, a=3, b=4;则语句x = ( a = 0 ) && ( b = 8 ); 执行之后各变量的值为______B A.x =0, a=3, b=4 B.x =0, a=0, b=4 C.x =0, a=3, b=8 D.x =0, a=0, b=8 8.下列_________语句正确定义字符数组。C A.char x[4]= "hello" B.char x[5]= "hello" C.char x[]= "hello" D.char x[4+1]= "hello"

C语言模拟试题(答案)

一、选择题 1.有如下程序: main() { int a=1,b=2; a+=b;b=a-b;a-=b; printf("%d,%d\n",a,b); } 该程序的输出结果是【】。 A.1,2 B.2,1 C.2,2 D.3,2 2.有以下程序: main() { int i; for(i=0;i<3;i++) switch(i) { case 1:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i); } } 执行后输出的结果是【】。 A.011122 B.012 C.012020 D.120。3.有以下程序: main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); } 执行后输出结果是【】。 A.5 B.4 C.6 D.不确定 4.有如下程序: f(int a) { int b=0; static int c=3; b++;c++; return(a+b+c) ;

} main() { int a=2,i; for(i=0;i<3;i++) printf("%2d",f(a)); } 该程序的输出结果是【】。 A.7 7 7 B.7 7 8 C. 7 8 9 D.7 8 8 5.有如下程序段: main() { int a,b,c=246; a=c/100%9; b=(-1) && (-1); printf("%d,%d\n",a,b); } 输出结果是【】。 A.2,1 B. 3,2 C. 4,3 D. 2,-1 6.有如下程序: main() { char str[ ][20]={"Hello","Beijing"}, *p=str; printf("%d\n",strlen(p+22)); } 该程序的输出结果是【】。 A.0 B.5 C.7 D.20 7.有如下程序: #define U 2 #define V U+2 #define X V*V/2 main() { printf("%d\n",5*X); } 该程序的输出结果是【】。 A.10 B.20 C.15 D.40 8.有以下程序: main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++) s+=a[i][1];

C语言基础知识复习题模拟试题一

模拟试题一 一、选择题(本大题30分,每小题2分) 1.下列说法正确的是 H 。 A)main函数必须放在C程序的开头 B)main函数必须放在C程序的最后 C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的 D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的 2.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组: A 。 A)整型实型字符型 B)整型数组指针 C)数组结构体共用体 D)指针逻辑型空类型 3.若有说明语句:char c= ‘\64’ ; 则变量C包含: A 。 A)1个字符 B)2个字符 C)3个字符 D)说明不合法,C值不确定 4.设有如下定义和执行语句,其输出结果为:。 int a=3,b=3; a = -- b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 3 语言中,运算对象必须是整型数的运算符是 A 。 A)% B)\ C)% 和 \ D)** 6.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 C 。 A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 7.程序段如下 int k=0; while(k++<=2); printf("last=%d\n",k); 则执行结果是last= B 。 A)2 B)3 C)4 D)无结果 8.下面有关for循环的正确描述是 A 。 A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 9.若二维数组a有m列,则a[I][j]元素前的数组元素个数为:。 A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1

C语言模拟试题四

模拟试题四 一、选择题(本大题30分,每小题2分) 1.在C语言中,反斜杠符是。 A)\n B)\t C)\v D)\ \ 2.表达式18/4*sqrt(4.0)/8值的数据类型为。 A)int B)float C)double D)不确定 3.设整型变量a值为9,则下列表达式中使b的值不为4的表达式。 A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:2 4.已知变量C1为字符型变量,下面不正确的赋值语句是:。 A)C1 = ...abc?B)C1= 0 C)C1 = …7?+ …9?D)C1= 7 + 9 5.以下程序的输出结果是:。(注:▂表示空格) main( ) { printf(“\n*s1=%8s*”, “china”); printf(“\n*s2=%-5s*”, “chi”) ; } A)*s1=china▂▂▂* B)*s1=china▂▂▂* *s2=chi* *s2=chi▂▂* C)*s1=▂▂▂china* D)*s1=▂▂▂china* *s2=▂▂chi * *s2=chi▂▂* 6.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:。A)‘a’+ …b?B)a<=b C)a||b+c&&b-c D)!( (ay||xz) { z=x; x=y; y=z;} A)x=10, y=20, z=30 B)x=20, y=30, z=30 C)x=20, y=30, z=10 D)x=20, y=30, z=20 8.下列字符串赋值语句中,不能正确把字符串C program赋给数组的语句是:。A)char a1[]={…C?, …?, …p?, …r?, …o?, …g?, …r?, …a?, …m?} B)char a2[10]; strcpy(a2, “C program”); C)char a3[10]; a3= “C program”; D)char a4[10]={ “C program”} 9.用scanf函数输入一个字符串到数组str中,下面正确的语句是:。 A)scanf(“%s”,&str); B)scanf(“%c”,&str[10]); C)scanf(“%s”, str) ; D)scanf(“%s”,str[10]); 10.C语言规定,C程序的各函数之间。 A)允许嵌套调用,但不允许嵌套定义; B)不允许嵌套调用,但允许嵌套定义; C)不允许嵌套调用,也不允许嵌套定义; D)允许嵌套调用,也允许嵌套定义;。

C语言模拟试题

(1)一:选择题(本题共15 小题,满分30 分) (1).以下叙述正确的是B A)C语言程序是由过程和函数组成的 B)C语言函数可以嵌套调用,例如:fun(fun(x)) C)C语言函数不可以单独编译 D)C语言中除了main函数,其他函数不可作为单独文件形式存在 (2)以下C语言用户标识符中,不合法的是D A)_1 B)AaBc C)a_b D)a—b (3)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是C A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a%11; D)i=!a; (4)以下程序的输出结果是(B)。 main() { int x=2, y=-1, z=2; if (x0;j--) {if((i*j)>3)break; m*=i*j; } } printf("m=%d\n",m); } 程序运行后的输出结果是A A)m=6 B)m=2 C)m=4

(7)有以下程序D #include "stdio.h" main() {int a=1;int b=2; for(;a<8;a++) {b+=a;a+=2;} printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)9,18 B)8,11 C)7,11 D)10,14 (8)以下关于return语句的叙述中正确的是b A)一个自定义函数中必须有一条return语句 B)一个自定义函数中可以根据不同情况设置多条return语句 C)定义成void类型的函数中可以有带返回值的return语句 D)没有return语句的自定义函数在执行结束时不能返回到调用处 (9)下列选项中,能正确定义数组的语句是D A)int num[0..2008]; B)int num[]; C)int N=2008; int num[N]; D)#define N 2008 int num[N]; (10).有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p,b; p=&a[3]; b=p[5]; b中的值是(D) A. 5 B. 6 C. 8 D. 9 (11)有以下程序 #include"stdio.h" main() {int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]; printf("%d\n", s); } 程序运行后的输出结果是c A)6 B)10 C)11 D)15 (12)有以下程序 #include "stdio.h" #define SUB(a) (a)-(a)

2016年C语言上机模拟题1

1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。 A. 实时控制 B. 计算机辅助设计 C. 数据处理 D. 科学计算 参考答案:C 2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。 A. 计算机的硬件系统 B. 计算机上配置的操作系统 C. 计算机的软件系统 D. 由硬件系统和软件系统组成 参考答案:D 3.微型计算机的微处理芯片上集成的主要组件包括______。 A. 控制器和运算器 B. 内存和控制器 C. 控制器和存储器 D. 运算器和I/O接口 参考答案:A 的对话框窗口不可以______。 A. 关闭

C. 任意改变大小 D. 最小化 参考答案:C 5.某用户在域名为的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。 A. xing%参考答案:D 6.下列对C语言程序的描述中,正确的是_______。 A. C语言程序总是从第一个定义的函数开始执行 B. C语言程序总是从最后一个定义的函数开始执行 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 参考答案:C 7.设有char ch='\\';,则变量ch包含______个字符。 A. 1 B. 2 C. 3 D. 4 参考答案:A 8.以下选项中合法的字符常量是____________。 A. '\101' B. '\97'

D. '\019' 参考答案:A 9.下面用户标识符中合法的是____________。 A. iPhone# B. 13a C. char D. _int 参考答案:D 10.已知int c1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是 _______。 A. 5 B. C. 3 D. 2 参考答案:D 11.设有定义int b=0;,表达式_______与其它表达式的值不相同。 A. b+=1 B. b++ C. ++b D. b+1

C语言模拟题(2014-5)答案

1、与下面代码运行效果相同的代码是__ i = 10; while( i

B 6、假定int类型变量占用两个字节,且有定义:int x[10]={0,2,4}; 则数组x 在内存中所占字节数是__ C 7、下面四个选项中,均是不合法的用户自定义标识符的选项是__ D 8、有以下定义:char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为__ D 9、函数调用语句y = func(a, b, max(d, e));中实参的个数为__

C 10、设有int a=3, *p=&a; 则*p的值是__ B 11、设有如下定义,struct sk{ int a; float b; } data, *p=&data; 则对 data 中的 a 成员的正确引用是__ D 12、设变量x为double类型,n为int类型,则以下能实现将x中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是__ C 13、在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型为__ D

C语言模拟试题

一、单项选择题(10道小题,共20分) 1、下列对C 语言特点的描述中, 错误的是()(2分) A、C 语言不是结构化程序设计语言 B、C 语言编程简洁明了 C、C 语言功能较强 D、C 语言移植性好 2、以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C 语言表达式是()(2分) A、x/y*z B、x*(1/(y*z)) C、x/y*1/z D、x/y/z 3、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()(2分) A、0 B、0.5 C、1 D、2 4、以下语句char c='a';if('a'b) B、if (strcmp(a,b)) C、if (strcmp(b,a)>0) D、if (strcmp(a,b)>0) 7、在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是( )。(2分) A、extern B、register C、auto D、static 8、若有定义int a[5], *p=1; 则对a数组元素的正确引用是()。(2分) A、*&a[5] B、a+2 C、*(p+5) D、*(a+2) 9、下列关于结构体变量的描述中,错误的是()(2分) A、一个结构体类型可以定义多个变量。 B、一个结构体变量所占用的内存空间是该结构体中占用最大内存单元的成员所需的存储空间。 C、结构体变量可以作数组的元素。 D、结构体变量可以作函数参数和返回值。 10、函数调用语句“fread(buffer,size,count,fp);”中fp表示()(2分) A、一个整数,代表要读入的数据项总数。 B、一个文件指针,指向要读的文件。 C、一个指针,指向要读入数据的存放地址。 D、一个存储区,存放要读的数据项。 二、填空题(10道小题,共20分) 1、C语言程序是由构成的。 2、若m是一个三位数,则十位数字为。 3、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是。 4、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是。 5、下面程序段中循环体的执行次数是。 a=10; b=0;

C语言模拟试题二

C语言程序设计》模拟试题二 一、选择题(每题1.5分,共45分) 1. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是 A) 3 B) 4 C) 11 D) 12 2. 下列程序的输出结果是 A) 3 B) 3.2 C) 0 D) 3.07 main() { double d=3.2; intx,y; x=1.2; y=(x+3.8)/5.0; x为整形自动舍去小数部分 printf("%d \n", d*y); } 3. 下列程序执行后的输出结果是(小数点后只写一位) A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0 main() { double d; float f; long l; inti; i=f=l=d=20/3; printf("%d %ld %f %f \n", i,l,f,d); } 4. 下列变量定义中合法的是 A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3; 5. 设 int x=1, y=1; 表达式(!x||y--)的值是 A) 0 B) 1 C) 2 D) -1 6. 与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是 A) if (x>0) y=1; B) if(x) else if(x<0)y=-1; if(x>0)y=1; else y=0; else if(x<0)y=-1; else y=0; C) y=-1 D) y=0; if(x) if(x>=0) if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; else y=-1; 7. 以下循环体的执行次数是 A) 3 B) 2 C) 1 D) 0 main() { inti,j; for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i); } 8. 以下叙述正确的是 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。

相关文档