文档库 最新最全的文档下载
当前位置:文档库 › 全国计算机等级考试二级笔试试卷基础部分和C语言程序设计1994年4月

全国计算机等级考试二级笔试试卷基础部分和C语言程序设计1994年4月

全国计算机等级考试二级笔试试卷基础部分和C语言程序设计1994年4月
全国计算机等级考试二级笔试试卷基础部分和C语言程序设计1994年4月

全国计算机等级考试二级笔试试题

基础知识与C 语言程序设计

(考试时间120分钟,满分100分)

1994年4月

一、选择题(1-30每小题1分,31-45每小题2分,共60分)

下列各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。答在试卷上不得分。

(1) 二进制数101110转换为等值的八进制数是 【1】 。

【1】 A) 45 B) 56 C) 67 D) 78

(2) CPU 是由 【2】 组成的。【】

【2】 A) 内存储器和控制器 B) 控制器和运算器

C) 内存储器和运算器 D) 内存储器、控制器和运算器

(3) DOS 是为IBM PC 系列微型计算机及其兼容机所配置的 【3】 磁盘操作系统。

【3】 A) 多用户多任务 B) 单用户单任务 C) 分时 D) 分布式

(4) 启动MS-DOS 操作系统后, 【4】 已驻留内存。

【4】 A) https://www.wendangku.net/doc/8a11824285.html, B) https://www.wendangku.net/doc/8a11824285.html, C) https://www.wendangku.net/doc/8a11824285.html, D) CCCC.EXE

(5) 设驱动器B 中软盘上的目录结构如下图所示。

设当前目录为F2,则把A 盘根目录下的PROG.BAS 文件复制到B 盘F3子目录中的命令是

【5】 。

【5】 A) COPY PROG.BAS B: B) COPY A:PROG.BAS B:\

C) COPY A:\PROG.BAS B:\F3 D) COPY A:PROG.BAS B:\F3\

(6) 下面四组DOS 命令中,意义完全相同的一组是 【6】 。

【6】 A) COPY 和DISKCOPY B) COMP 和DISKCOMP

C) DEL 和RD D) RENAME 和REN

(7) 防止软盘感染病毒的有效方法是 【7】 。

【7】 A) 不要把软盘和有毒软盘放在一起 B) 在写保护缺口上贴上胶条

C) 保持机房清洁 D) 定期对软盘格式化

(8) 双面高密度5英寸软磁盘的容量是 【8】 。

【8】 A) 360KB B) 720KB C) 1.2MB D) 1.44MB

(9) 在FOXBASE 中,可以使用的两类变量是 【9】 。

【9】 A) 内存变量和字段变量 B) 全局变量和局部变量

C) 字段变量和简单变量 D) 内存变量和自动变量

(10) 建立一个新子目录的DOS 命令是 【10】 。

【10】 A) CREATE B) RD C) MD D) CD

(11) 在C 语言中,如果下面的变量都是int 类型,则输出的结果是 【11】 。

sum=pad=5; pAd=sum + + ,pAd + + , + + pAd;

printf("%d\n",pad);

【11】 A) 7 B) 6 C) 5 D) 4

(12) 以下程序的输出结果是 【12】 。

B:\根目录 F22子目录 F1子目录

F2子目录

F3子目录 F21子目录 F11子目录 FA.TXT FB.BAS FC.TXT

# include

main()

{ int i=010 , j = 10;

printf("%d,%d\n",+ +i , j - -); }

【12】A) 11,10 B) 9,10 C) 010,9 D) 10,9

(13)已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是【13】。

# include

main()

{ char c1='A', c2='Y';

printf("%d,%d\n",c1,c2); }

【13】A) 因输出格式不合法,输出错误信息 B)65,90 C)A,Y D)65,89 (14)指针s所指字符串的长度为【14】。

char *s="\\"Name\\Address\n";

【14】A) 19 B) 15 C) 18 D) 说明不合法(15)设有说明int(*ptr)[m];其中的标识符ptr是【15】。

【15】A)M个指向整型变量的指针

B)指向M个整型变量的函数指针

C)一个指向具有M个整型元素的一维数组的指针

D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

(16)语句while(!E);中的条件!E等价于【16】。

【16】A)E = = 0 B)E!=1 C)E!=0 D)~E

(17)以下程序的输出结果是【17】。

# include

main()

{ printf("%d\n",NULL); }

【17】A) 不确定的(因变量无定义) B)0 C)-1 D)1

(18)以下函数调用语句中含有【18】个实参。

func((exp1,exp2),(exp3,exp4,exp5));

【18】A) 1 B) 2 C) 4 D) 5

(19)设有以下语句:

char a=3,b=6,c;

c=a^b<<2;

则c的二进制值是【19】。

【19】A) 00011011 B)00010100 C)00011100 D)00011000

(20)下面的程序中【20】有错误(每行程序前面的数字是行号)。

1 #include

2 main()

3 {

4 float a[3]={0,0};

5 int i;

6 for(i=0;i<3;i + + ) scanf("%d",&a[i]);

7 for(i=1;i<3;i + + ) a[0]=a[0]+a[i];

8 printf("%f\n",a[0]);

9 }

【20】A) 没有B)第4行 C)第6行 D)第8行

(21)设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是【21】。

【21】A)3 B)0 C)9 D)-12

(22)以下的for循环【22】。

for(x=0,y=0; (y!=123)&&(x<4); x + + );

【22】A) 是无限循环 B)循环次数不定 C)执行4次 D)执行3次

(23)设有语句char a='\72';则变量a 【23】。

【23】A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法(24)以下程序的输出结果是【24】。

# include

# include

main()

{ int a=1,b=4,c=2;

float x=10..5 , y=4.0 , z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

pritnf("%f\n",z); }

【24】A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000 (25)s izeof(double)是【25】。

【25】A)一种函数调用B)一个双精度型表达式

C)一个整型表达式D)一个不合法的表达式

(26)C语言中【26】。

【26】A)不能使用do-while语句构成的循环

B)do-while语句构成的循环必须用break语句才能退出

C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环(27)以下程序的输出结果是【27】。

# include

# include

main()

{ char str[12]={'s','t','r','i','n','g'};

printf("%d\n",strlen(str)); }

【27】A) 6 B) 7 C) 11 D) 12

(28)以下程序的输出结果是【28】。

# include

main()

{ int a=2,c=5;

printf("a=%%d,b=%%d\n",a,c); }

【28】A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d

(29)以下程序的输出结果是【29】。

# include

main()

{ int a ,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf("%d,%d\n",a,b); }

【29】A) 6,1 B) 2,1 C) 6,0 D) 2,0

(30)以下程序的输出结果是【30】。

# include

main()

{ int i;

for ( i=1;i<=5;i + + )

{ if ( i%2 ) printf("*");

else continue; printf("#");}

printf("$\n"); }

【30】A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$

(31)以下for语句构成的循环执行了【31】次。

# include

# define N 2

# define M N+1

# define NUM (M+1)*M/2

main()

{ int i , n=0;

for ( i=1;i<=NUM;i + + );

{n + + ; printf("%d",n); }

printf("\n"); }

【31】A) 5 B) 6 C) 8 D) 9

(32)设有以下语句,则【32】不是对a数组元素的正确引用,其中0≤i<10。

int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a;

【32】A) a[p-a] B) *(&a[i]) C) p[i] D) *(*(a+i))

(33)有以下程序:

# include

# define N 6

main()

{ char c[N]; int i=0;

for ( ;i

for ( i=0 ; i代表一个回车符: a

b

cdef

程序的输出结果是【33】。

【33】A) abcdef B) a C) a D) a

b b b

c c

d cdef

d

e

f

(34)以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空。

# include

findmax ( s , t , k )

int *s , t , *k;

{ int p;

for(p=0,*k=p;p

if ( s[p] > s[*k] )_________; }

main()

{ int a[10] , i , k ;

for ( i=0 ; i<10 ; i + + ) scanf("%d",&a[i]);

findmax ( a,10,&k );

printf ( "%d,%d\n" , k , a[k] ); }

【34】A) k=p B) *k=p-s C) k=p-s D) *k=p

(35)有以下程序:

#include

union pw

{ int i; char ch[2]; } a;

main()

{ a.ch[0]=13; a.ch[1]=0; printf("%d\n",a.i); } 程序的输出结果是【35】。(注意: ch[0]在低字节,ch[1]在高字节。)

【35】A) 13 B) 14 C) 208 D) 209

(36)有以下程序:

# include

main()

{ int c;

while((c=getchar())!='\n')

{ switch(c-'2')

{ case 0:

case 1: putchar(c+4);

case 2: putchar(c+4);break;

case 3: putchar(c+3);

case 4: putchar(c+2);break; } }

printf("\n"); }

从第一列开始输入以下数据,代表一个回车符。

2743

程序的输出结果是【36】。

【36】A) 668977 B) 668966 C) 6677877 D) 6688766

(37)以下程序的输出结果为【37】。

main()

{ char *alpha[6]={"ABCD","IJKL","MNOP","QRST","UVWX"};

char **p; int i;

p=alpha;

for(i=0;i<4;i + + ) printf("%s",p[i]); printf("\n"); } 【37】A) ABCDEFGHIJKL B) ABCD C) ABCDEFGHIJKLMNOP D) AEIM

(38)以下程序的输出结果是【38】。

# include

# define FUDGE(y) 2.84+y

# define PR(a) printf("%d",(int)(a))

# define PRINT1(a) PR(a);putchar('\n')

main()

{int x=2; PRINT1(FUDGE(5)*x); }

【38】A) 11 B) 12 C) 13 D) 15

(39)以下程序的输出结果是【39】。

# include

main()

{ int i=1,j=3;

printf("%d",i + + );

{ int i=0; i+=j*2; printf("%d,%d",i,j); }

printf("%d,%d\n",i,j); }

【39】A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3 (40)以下程序的输出结果是【40】。

# include

main()

{ int k=4,m=1,p;

p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p);} func(a,b)

int a,b;

{ static int m=0,i=2;

i+=m+1; m=i+a+b; return(m); }

【40】A) 8,17 B) 8,16 C) 8,20 D) 8,8

(41)设有以下语句:

char str[4][12]={"aaa","bbbb","ccccc","dddddd"},

*strp[4];

int i;

for(i=0;i<4;i + + )strp[i]=str[i];

【41】不是对字符串的正确引用,其中0≤k<4。

【41】A) strp B) str[k] C) strp[k] D) *strp

(42)设有以下语句:

char str1[]="string",str2[8],*str3,*str4="string";

则【42】不是对库函数strcpy的正确调用,此库函数用业复制字符串。

【42】A) strcpy(str1,"HELLO1"); B) strcpy(str2,"HELLO2");

C) strcpy(str3,"HELLO3"); D) strcpy(str4,"HELLO4");

(43)C语言中形参的缺省存储类别是【43】。

【43】A)自动(auto) B)静态(static) C)寄存器(register) D)外部(extern) (44)设有以下语句:

struct st {int n; struct st *next;};

static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;

p=&a[0];

则表达式【44】的值是6。

【44】A)p + + ->n B) p->n + + C) (*p).n + + D) + + p->n (45)以下四个程序中,【45】不能对两个整型变量的值进行交换。

【45】A)# include

main()

{ int a=10,b=20; swap(&a,&b);

printf("%d %d\n",a,b);

}

swap(p,q)

int *p,*q;

{

int *t;

t=(int )malloc(sizeof(int));

t=p;*p=*q;*q=*t; }

B) # include

main()

{

int a=10,b=20;

swap(&a,&b);

printf("%d %d\n",a,b);

}

swap(p,q)

int p,q;

{

int *t;

t=*p;*p=*q;*q=t;

}

C) # include

main()

{

int *a,*b;

*a=10,*b=20;

swap(a,b);

printf("%d %d\n",*a,*b);

}

swap(p,q)

int *p,*q;

{

int t;

t=*p;*p=*q;*q=t;

}

D) # include

main()

{

int a=10,b=20;

int x=&a,y=&b;

swap(x,y);

printf("%d %d\n",a,b);

}

swap(p,q)

int *p,*q;

{

int t;

t=*p;*p=*q;*q=t;

}

二、填空题(每空2分,共40分)

请将每空的正确答案写在答题卡1-20序号后的横线上,答在试卷上不得分。

(1)结构化程序设计所规定的三种基本控制结构是【1】结构.选择结构和循环结构。(2)在七位ASCII码中,除了表示数字、英文大小写字母外,还有【2】个其它符号。(3)把B盘BAS子目录下第三个字符为A,且没有扩展名的全部文件拷贝到C盘ABC子目录下的命令是【3】。

(4)微机中ROM的中文意义是【4】存储器。

(5)启动MS-DOS系统后,能自动执行的批处理文件是【5】 .BAT。

(6)设当前盘为C盘,删除B盘FOX子目录中扩展名为.TXT的所有文件的命令是【6】。(7)十进制数53转换为十六进制数为【7】。

(8)数据库管理系统常见的数据模型有层次、网状和【8】三种。

(9)买来一张新盘后,在存入文件前,必须进行【9】处理。

(10)在微机中,字符的比较就是对它们的【10】码进行比较。

(11)以下C语言程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出。

#include

main(argc,argv)

int argc; char *argv[];

{ FILE *f1,*f2; char ch;

if(argc< 【11】 )

{ printf("Parameters missing!\n"); exit(0); }

if( ((f1=fopen(argv[1],"r")) = = NULL)||((f2=fopen(argv[2],"w")) = = NULL))

{ printf("Can not open file!\n"); exit(0);}

while( 【12】 )fputc(fgetc(f1),f2);

fclose(f1); fclose(f2); }

(12)以下程序中的trap函数是一个用梯形法求定积分的通用函数。梯形法求定积分的公式为:

n-1 a-b

s=((f(a)+f(b))/2+∑ f(a+i*h))*h , h=|----|

i=1 n

其中,n为积分小区间数。以下程序调用trap函数求定积分,被积函数是:

f(x)=x*x+3*x+2,且n=1000,a=0,b=4。

#include

3include

double trap(fun,a,b)

double (*fun)(),a,b;

{ double t,h;

int i,n=1000;

t=0.5*((*fun)(a)+(*fun)(b)); h=fabs(a-b)/(double)(n);

for(i=1;i<=n-1;i + + ) t=t+ 【13】 ;

t=t*h; return(t); }

double mypoly(x)

double x;

{ return(x*x+3.0*x+2.0); }

main()

{ double y,(*pf)(); pf= 【14】 ;

y=trap(pf,0.0,4.0); printf("%f\n",y); }

(13)以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。素数是只能被1和本身整除且大于1的自然数。

#include

main()

{ int i,a[10],*p=a,sum=0;

printf("Enter 10 num:\n");

for(i=0;i<10;i + + ) scanf("%d",&a[i]);

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

if(isprime(*(p+ 【15】 )) = = 1){ printf("%d",*(a+i)); sum+=*(a+i); }

printf("\nThe sum=%d\n",sum); }

isprime(x)

int x;

{ int i; for(i=2;i<=x/2;i + + )

if(x%i = = 0) return (0); 【16】 ; }

(14)以下程序调用invert函数按逆序重新放置a数组中元素的值。a数组中的值在main 函数中读入。

#include

#define N 10

invert(s,i,j)

int *s,i,j;

{ int t; if(i

main()

{ int a[N],i;

for(i=0;i

invert(a,0,N-1);

for(i=0;i

printf("\n"); }

(15)以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data 域不放数据,表空的条件是ph->next

= = NULL).

#include

struct list { int data;struct list *next;};

【19】 creatlist()

{ struct list *p,*q,*ph; int a;

ph=(struct list *) malloc(sizeof(struct list));

p=q=ph; printf("Input an integer number,enter –1 to end:\n");

scanf("%d",&a):

while(a!=-1)

{ p=(struct list *)malloc(sizeof(struct list));

p->data=a; q->next=p; 【20】 =p; scanf("%d",&a); }

p->next='\0'; return(ph); }

main()

{ struct list *head; head=creatlist();}

[完]

1994年全国计算机等级考试二级笔试

C语言参考答案

选择题([1]——[30]每个选项1分,[31]——[45]每个选项2分,共60分)

(1)B (2)B (3)B (4)A (5)C (6)D (7)B (8)C (9)A (10)C (11)C (12)B (13)D (14)B (15)C (16)A (17)B (18)B (19)A (20)C (21)D (22)C (23)A (24)C (25)C (26)D (27)A (28)D (29)B (30)A (31)C (32)D (33)C (34)D (35)A (36)A (37)C (38)B (39)B (40)A (41)A (42)C (43)A (44)D (45)C

二` 填空题(每空2分,共40分)

(1)顺序

(2)66

(3) COPY B:\BAS\??A*.C:\ABC(或COPY B:\BAS\??A*.,C:\ABC)

(4)只读

(5)AUTOEXEC

(6)DEL B:\FOX\*.TXT

(7)35

(8)关系

(9)格式化(或初始化、FORMAT)

(10)ASCII

(11)3

(12)!feof(f1)或feof(f1)==0

(13)(*fun)(a+i*h)

(14) mypoly

(15)I

(16)return 1 或 return (1)

(17)i+1

(18) I

(19) struct list *

(20) q

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

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 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}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)

历年二级C语言笔试真题及答案

1 2009年9月全国计算机等级考试二级笔试 试卷 1)下列数据结构中,属于非线性结构的是 A )循环队列 B) 带链队列 C) 二叉树 D )带链栈 2)下列数据结果中,能够按照“先进后出”原则存取数据的是 A) 循环队列 B) 栈 C)队列 D)二叉树 3)对于循环队列,下列叙述中正确的是 A )队头指针是固定不变的 B )队头指针一定大于队尾指针 C )队头指针一定小于队尾指针 D )队头指针可以大于队尾指针,也可以小于队尾指针 4)算法的空间复杂度是指 A )算法在执行过程中所需要的计算机存储空间 B )算法所处理的数据量 C )算法程序中的语句或指令条数 D )算法在执行过程中所需要的临时工作单元数 5)软件设计中划分模块的一个准则是 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 6)下列选项中不属于结构化程序设计原则的是 A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精 7)软件详细设计产生的图如下: 该图是 A) N-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是 A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统 9)在E-R 图中,用来表示实体联系的图形是 A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为 A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机 B )程序设计的任务就是确定所用数据结 构 C )程序设计的任务就是确定所用算法 D )以上三种说法都不完整 12)以下选项中,能用作用户标识符的是 A )void B )8_8 C )_0_ D )unsigned 13)阅读以下程序 #include main() { int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f \n”,case,printF); } 该程序编译时产生错误,其出错原因是 A )定义语句出错,case 是关键字,不能 用作用户自定义标识符B )定义语句出错,printF 不能用作用户自定义标识符 C )定义语句无错,scanf 不能作为输入函 数使用 D )定义语句无错,printf 不能输出case 的值 14)表达式:(int)((double)9/2)-(9)%2的值是 A )0 B )3 C )4 D )5 15)若有定义语句:int x=10;,则表达式 x-=x+x 的值为 A )-20 B )-10 C )0 D )10 16)有以下程序 #include main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d \n”,a=2*b); } 程序运行后的输出结果是 A )0,0 B )1,0 C )3,2 D )1,2 17)设有定义:int a=1,b=2,c=3;,以下语 句中执行效果与其它三个不同的是 A )if(a>b) 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;} 18)有以下程序 #include main() { int c=0,k; for (k=1;k<3;k++) switch (k) {default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d \n”,c); } 程序运行后的输出结果是 A )3 B )5 C )7 D )9 19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A )if((a>b)&&(b>c)) k=1;else k=0; B )if((a>b)||(b>c) k=1;else k=0; C )if(a<=b) k=0;else if(b<=c) k=1; D )if(a>b) k=1;else if(b>c) k=1; else k=0; 20)有以下程序 #include main() { char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>=?a?&&s[i]<=?z?) n++; printf(“%d \n”,n); } 程序运行后的输出结果是 A )0 B )2 C )3 D )5 21)有以下程序 #include main() { int n=2,k=0; while(k++&&n++>2); printf(“%d %d \n”,k,n); } 程序运行后的输出结果是 A )0 2 B )1 3 C )5 7 D )1 2 22)有以下定义语句,编译时会出现编译错误的是 A )char a=?a? B )char a=?\n?; C )char a=?aa?; D )char a=?\x2d?; 23)有以下程序 #include main() { char c1,c2; c1=?A?+?8?-…4?; c2=?A?+?8?-…5?; printf(“%c,%d \n”,c1,c2); } 已知字母A 的ASCII 码为65,程序运行后的输出结果是

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

《高级语言程序设计》期末考试试卷

武汉大学计算机学院 2006-2007学年度第2学期2006级 《高级语言程序设计》期末考试试卷A卷 姓名:学号:专业: 说明:开卷考试,答案请全部写在答题纸上,写在试卷上无效。 一.单项选择题:(选择最合适的答案填空,每小题2分,共16分) ()1、在执行以下程序时,从键盘上输入9,则该程序输出结果是__________。 #include int main( ) { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); return 0; } A、8 B、9 C、10 D、11 ()2、表达式0156637&~0777的结果是____________。 A、0156000 B、156000 C、0637 D、637 ()3、假设有如下定义:int m=1,n=1; 则执行表达式(m=’5’<’3’)&&(n=’7’>’9’)后,m和n的值分别是_____________________。 A、1和1 B、1和0 C、0和1 D、0和0 ()4、表达式-11%3+7/2的结果是____________。 A、5.5 B、5 C、1.5 D、1 ()5、设有如下宏定义: #define BOOK(x) 8-x 则执行赋值语句v=BOOK(2)*BOOK(4); /*v为int型变量*/ 后,变量v的值为。 A、-12 B、0 C、24 D、44 ()6、设有如下定义: int a[6][4]; int (*p)[4]; p=a; 则与表达式*p+3等价的选项是_________。 A、a[0][3] B、&a[0][3] C、a[3][0] D、&a[3][0] ()7、假设有以下定义: static char *a=”h\te\nY\0W\0o\b”;

C++语言程序设计试题试题和答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B )。 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式 a

高级语言程序设计期末考试试卷及答案(-E卷)

高级语言程序设计期末考试试卷及答案( E卷)2005-2006学年上学期考试科目: 考试类型:(闭卷)考试时间:120分钟 考试须知: 1.答案必须写在“答题卡”上,写在试卷上不得分。 2.必须在答题卡上正确填写班级、学号、姓名等内容。 一、选择题(共20小题,每小题1分) 1. 下列C常量中不合法的是( ) A.'\500' B.0500 C.'500' D."500" 2. C语言中,若对函数类型未加显示说明,则函数的隐含类型为()类型 A.void B.int C.空D.char 3. C语言程序的三种基本结构是() A. 嵌套结构、递归结构、顺序结构 B.递归结构、循环结构、转移结构 C. 顺序结构、选择结构、循环结构 D.循环结构、转移结构、顺序结构 4. 一个可执行C程序的开始执行点是() A.名为main()的函数B.包含文件的第一函数 C.程序中的第一个语句D.程序中的第一个函数 5. 下面程序段的执行结果是() int a=5, b=4, c=3; if(a>b>c) printf("a>b>c"); else printf("no"); A.a>b>c B.no C.编译错误D.运行错误

6. 合法的数组定义是( ) A .int a[] = “string ” B .int a[5] = {0,1,2,3,4,5} C .char a[] = {0,1,2,3,4,5} D .char s = “string ” 7. 在C 语言中,提供的合法关键字是( ) A .printf B .cher C .case D .Else 8. 在C 语言中,合法的字符常量是( ) A .’\081’ B .’\0’ C .’ab ’ D .”a ” 9. putchar 函数可以向终端输出一个( )。 A)字符串 B)实型变量值 C)整型变量表达式 D)字符或字符型变量 10. 在C 语言中,一个char 变量占( )字节。 A .1 B .2 C .4 D .8 11. 调用scanf(“%d,%d ”,&a,&b);时,正确的键盘输入是( ) A .12,23 B . a=12,b=23 C .12:23 D . 12 23 12. 若有int s[4] = {1,2,3,4};,则s[s[0]+ s[3]-s[2]] 的值是( ) A . 1 B . 2 C . 3 D . 4 13. 在C 语言中,一般1个float 类型变量占4个字节,则设float x[2][4];假设数组 x 开始于内存1000单元,则x[1][2]的存储始于( ) A.1004 B.1012 C.1020 D.1024 14. 下面对C 语言运算符的优先级叙述正确的是( )。 A . !(非) > 关系运算符 >算术运算符 > &&(与) > ||(或) > 赋值运算符 B . !(非) > 算术运算符 > 关系运算符 > &&(与) > ||(或) > 赋值运算符 C . 算术运算符 > 关系运算符 > !(非) > &&(与) > ||(或) > 赋值运算符 D . 算术运算符 >!(非) >关系运算符 > &&(与) > ||(或) > 赋值运算符 15. 若有代数式bc y x 32,则正确的C 语言表达式是( ) A . x^2*y/3*b*c B .x*x/b/c*y/3 C . x*x*y/3*b*c D .x^2*y/3/b/c

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) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

全国计算机二级C语言笔试试题及答案

2010年9月全国计算机二级C语言笔试试题及答案 一、选择题((1)-(10),(21)-(40)每题2分,(11)-(20)每题1分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 1. 下列叙述中正确的是 A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D 上述三种说法都不对 答案:B 2. 下列叙述中正确的是 A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D 上述三种说法都不对 答案:C 3. 软件测试的目的是 A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误 D 发现程序中的错误 答案:B 4. 下面描述中,不属于软件危机表现的是 A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制 D 软件成本不断提高 答案:A 5. 软件生命周期是指 A 软件产品从提出、实现、使用维护到停止使用退役的过程 B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程 D 软件的运行维护过程

答案:A 6. 面向对象方法中,继承是指 A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和操作的机制 答案:D 7. 层次型、网状型和关系型数据库划分原则是 A 记录长度 B 文件的大小 C 联系的复杂程度 D 数据之间的联系方式 答案:D 8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是 A 一对一 B 一对多 C 多对多 D 多对一 答案:C 9. 数据库设计中反映用户对数据要求的模式是 A 内模式 B 概念模式 C 外模式 D 设计模式 答案:C 10. 有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是 A 自然连接 B 交 C 投影 D 并 答案:A

暨南大学 2008高级语言程序设计试卷及答案

暨 南 大 学 考 试 试 卷 一、单项选择题(共20小题,每小题2分,共40分) 1、以下叙述中正确的是___________(C ) A 、C 语言程序总是从第一个的函数开始执行 B 、在 C 语言程序中,要调用的函数必须在main ()函数中定义 C 、C 语言程序总是从main ()函数开始执行 D 、C 语言程序中的main ()函数必须放在程序的开始部分 2、以下值不等于3的表达式是_____________(D ) A 、'D'-'A' B 、'6'-'3' C 、'\011' D 、3+'\0' 3. 能正确表达字母c 为大写字母的C 语言表达式是__________(D ) A )c>=’A’ and c<=’Z’ B )c>=’A’ || c<=’Z’ C )c>=’A’ or c<=’Z’ D )c>=’A’ && c<=’Z’ 4. 设变量a 是整型,f 是实型,i 是双精度型,则表达式10+'a'+i*f 值的数据类型为_____(C ) A )int B )float C )double D )不确定 5. 有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));,此语句的实参数为________(A )

A、3 B、4 C、5 D、有语法错误 6. 设有语句int a=5,b; b=a>3&&0, a++; 执行后变量b的值为__________(C) A)5 B)6 C)0 D)1 7. 判断两个字符串s1和s2是否相等,应该使用____________(D) A)if (s1= =s2) B)if (s1=s2) C)if (strcpy(s1, s2)) D)if (strcmp(s1,s2)= =0) 8. 下面程序的执行结果是____________(B) main() { int n=1; n++; printf("%d%d%d",n,n++,――n);} A、2 2 1 B、2 2 2 C、2 3 2 D、2 1 1 9. 循环语句while(!E);中的表达式!E等价于________(C) A)E!=0 B)E!=1 C)E==0 D)E==1 10. 设有数组定义: char array []="China"; 则数组array所占的存储空间为___________(C)A)4个字节B)5个字节C)6个字节D)7个字节 11. 下列关于C语言的函数参数说法不正确的是__________(B) A)实参可以是常量,变量或表达式B)形参可以使常量,变量或表达式 C)在函数定义时必须指定形参的类型D)形参与实参的类型应相同或赋值兼容 12. 下列程序执行后的输出结果是__________(A) void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d\n", b[0]);} A、6 B、7 C、8 D、9 13. 若有语句:int s[3][3],(*p)[3];p=s; 则对s数组元素的引用形式正确的是__________(C)A)p+1 B)*(p+1) C)p[1][2] D)*(p+1)+2 14. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________(B) A、地址传递 B、单向值传递

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

江苏省二级C笔试模拟练习题(7)

江苏省高等学校非计算机专业学生 计算机基础知识和应用能力等级考试 二级C语言全真模拟试卷(7) (本试卷包括计算机基础知识部分和程序设计部分,考试时间共120分钟) 说明: 1.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型。 2.选择题用答题卡答题。每一项有A、B、C、D四个可供选择的答案,请选择其中一个你认为正确的答案,用HB铅笔涂写在答题卡的相应答题号内。每选对一项得1分,不选或选错不得分。 3.填空题用答题纸答题。请将答案填写在答题纸的相应答题号内,每个答案只占一行,不得换行。每填对一个答案得1分,不填或填错不得分。 4.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是否填写正确。 第一部分计算机基础知识 1.现代信息技术的主要特征是以数字技术为基础,以1为核心,采用电子技术进行信息的收集、传递、加工、存储、显示与控制,它包括通信、广播、计算机、微电子、遥感遥测、自动控制、机器人等诸多领域。 A.微电子B.自动控制C.计算机D.机器人2.现代集成电路使用的半导体材料通常是2。 A.硅B.碳C.铜D.铝3.为提供线路的利用率,数据通信中常用多路复用和交换技术,下面说法中错误的是__3 。 A.多路复用技术主要有时分多路复用和频分多路复用 B.电路交换时节点之间有一条专用物理线路,通信完毕后,通信链路即被拆除 C.分组交换线路利用率较高, 适宜用于实时或交互通信方式的应用 D.目前有线电视采用频分多路复用技术在同一电缆上传输多套电视节目4.十进制数1989对应的二进制数是4。 A.11111000101 B.11000111101 C.11111100101 D.11111101001 5.当一个PC机要扩充内存时,装上内存条后却不能正常工作,产生这种现象的原因多半是5。 A.所扩内存条与主板不匹配B.操作系统不支持所扩的内存条 C.CPU可支持的存储空间已不能再扩大D.不是同一公司生产的内存条6.关于I/O接口的叙述中,正确的是12。 A.I/O接口即I/O控制器,它用来控制I/O设备的操作 B.I/O接口在物理上是一些插口,它用来连接I/O设备与主机 C.I/O接口即扩充卡(适配卡),它用来连接I/O设备与主机 D.I/O接口即I/O总线,它用来传输I/O设备的数据 7.使用一个像素为320万的数码相机时,它所拍摄的数字图像能达到的最大分辨率是7。 A.1280×960 B.1920×1440 C.2048×1536 D.2560×1920

语言程序设计》试题四及答案

《C语言程序设计》试题四 一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

高级语言程序设计期末试卷

2017年秋季《高级语言程序设计》期末试卷 批次专业:2017年春季-电气工程及其自动化(专升本)课程:高级语 言程序设计(专升本) 1. ( 单选题 ) 能将高级语言编写的源程序转换为目标程序的是 _____________ 。(本题2.0分) A、链接程序 B、解释程序 C、编译程序 D、编辑程序 学生答案:C 标准答案:C 解析: 得分:2 2. ( 单选题 ) C语言程序编译时,程序中的注释部分()。(本题 2.0分) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 学生答案:D

标准答案:D 解析: 得分:2 3. ( 单选题 ) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题2.0分) A、 必须为下划线 B、 可以是字母、数字和下划线中的任意一种 C、 必须为字母或下划线 D、 必须为字母 学生答案:C 标准答案:C 解析: 得分:2 4. ( 单选题 ) 一个 C 程序的执行是从( )(本题2.0分) A、 本程序的main函数开始,到main函数结束 B、 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、 本程序的main函数开始,到本程序文件的最后一个函数结束 D、 本程序文件的第一个函数开始,到本程序main函数结束 学生答案:C 标准答案:C 解析: 得分:2

5. ( 单选题 ) C 语言提供的合法关键字是( ) (本题2.0分) A、swicth B、chan C、case D、default 学生答案:D 标准答案:D 解析: 得分:2 6. ( 单选题 ) C语言程序的基本单位是()(本题2.0分) A、程序行 B、语句 C、函数 D、字符 学生答案:C 标准答案:C 解析: 得分:2 7. ( 单选题 ) 组成C语言程序的是( )。(本题2.0分) A、过程 B、函数

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

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() {

float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x

_k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

二级C笔试

试题5(每小题3分,共12分) 【程序】 int f1(int n) { if(n==1) return 1 ; else return f1(n-1) + n; } int f2(int n) { switch(n){ case 1: case 2:return 1; default: return f2(n-1) + f2(n-2); } } void f3(int n) { printf(“%d”,n%10); if(n/10 !=0) f3(n/10); } void f4(int n) { if (n/10 !=0) f4(n/10); printf(“%d”, n%10); } #include main() { printf(“%d\n”,f1(4)); printf(“%d\n”,f2(4)); f3(123); printf(“\n”); f4(123); printf(“\n”); } (17) 程序运行时,第1行输出(17) 。 A、10 B、24 C、6 D、1 (18) 程序运行时,第2行输出(18) 。 A、1 B、3 C、2 D、4 (19) 程序运行时,第3行输出(19) 。 A、123 B、3 C、321 D、1 (20) 程序运行时,第4行输出(20) 。 A、1 B、123 C、3 D、321 试题6(每小题3分,共12分) #include struct num{ int a,b;}; void f(struct num s[], int n) { int index, j, k; struct num temp; for(k=0;k< n-1;k++){ index=k; for(j=k+1;j

C.语言程序设计试题试题与答案

C 语言程序设计试卷,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C 语言规定:在一个源程序中, main 函数的位置(C). A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是 A. +1e+15e-9.403e2 B. -.6012e-4-8e5 C. 123e1.2e-.4+2e-1 D. -e3.8e-45.e-0 3.若a=-14,b=3,则条件表达式 avb?a:b+1的值为(A)。 A. -14 B.-13 C.3 D.4 4. 已知:intn,i=1,j=2; A.1,2B.1,3C.2,2D.2,3 5. 为了判断两个字符串s1和s2是否相等,应当使用(D) A.if(s1==s2) B.if(s 仁s2) C. if(strcm p( s1,s2)) D. if(strcm p( s1,s2)==0) 6. 以下正确的描述是(B) o (B)。 执行语句n=ivj?i++:j++; 则i 和j 的值是(c).

A. 函数的定义可以嵌套,但函数的调用不可以嵌套。 B. 函数的定义不可以嵌套,但函数的调用可以嵌套。 C. 函数的定义和函数的调用均不可以嵌套。 D. 函数的定义和函数的调用均可以嵌套。 7. 在C 语言中,下面对函数不正确的描述是 A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。 B. 允许函数递归调用。 C. 函数形参的作用范围只是局限于所定义的函数内。 D. 子函数必须位于主函数之前。 8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是 A. 该变量只在该复合语句中有效 B. 该变量在该函数中有效 C. 该变量在本程序范围内均有效 D. 该变量为非法变量 9. 以下正确的函数形式是(D)。 A. doublefun(intx,inty){z=x+y;retum z;} B. fun(intx,y){int z; return z;} C. fun(x,y){intx,y;doublez;z=x+y;returnz;} D. doublefun(intx,inty){doublez;z=x+y;returnz;} 10. 以下程序的输出结果是(B)。 #includevstdio.h> (D)。 (A) o

相关文档
相关文档 最新文档