文档库 最新最全的文档下载
当前位置:文档库 › C程序设计试题及题解

C程序设计试题及题解

C程序设计试题及题解
C程序设计试题及题解

一、选择题

(1)C语言概述

1、C程序中main函数的位置(C)

A、必须在最开始

B、必须在系统库函数后面

C、可以在自定义函数后面

D、必须在最后

2、下面关于C语言用户标识符的描述,正确的是(D)

A、不能区分大小写

B、用户标识符不能描述常量

C、类型名也是用户标识

D、用户标识符可以作为变量名

3.关于C语言的叙述中,不正确的是(D)

A. C程序可由一个或多个函数组成

B. C程序必须包含一个main()函数

C. C程序的基本组成单位是函数

D. 注释说明只能位于一条语句的后面

括(A)4.若有说明语句:char C=‘\95’;则变量C包含(D)个字符

A.1

B.2

C.3

D.语法错误

5.结构化程序设计不包

A.最优化 B自顶而下,逐步细化 C 模拟化设计 D结构化编码

6.结构化程序设计的三种基本语句是(C)

A.函数结购

, 分支结构判结构

B.函数结构嵌套结构平行结构

C.顺序结构分支结构循环结构

D.分支结构循环结构嵌套结构

7.关于C语言数据类型的

A.枚举类型不是基本类型

B.数组不是构造类型

C.变量必须先定义后使用

D.不允许使用空类型

8.关于C语言的源程序的叙述中,错误的是(C)

A.C语言的源程序由函数构成

B.main函数可以书写在自定义函数之后

C.必须包含有输入语句

D.一行可以书写多个语句

9.下面叙述中,(A)不是结构化程序设计中的三种基本结构之一

A.数据结构 .

B.选择结构

C.循环结构

D.顺序结构

10.char 型变量存放的是(A)

A.ASCⅡ码值

B.字符本身 . C十进制代码值 . D十六进制代码值

11.已有如下定义和输入语句

int a; char c1,c2;

scanf(“%d,%c,%c”, &a, &c1, &c2);

若要求a、c1、c2的值分别为10、A和B,正确的数据输入是( B )

A.10AB B.10,A,B C.10A B D.10 AB

12.以下叙述不正确的是( D )

A、C程序的执行总是从main函数开始

B、一个C源程序必须包含一个main函数

C、C语言程序的基本组成单位是函数

D、在编译C程序源程序时,可发现注释中的拼写

13.已知如下定义和输入语句:

int a, b;

scanf (“%d, %d”,&a, &b);

若要求a、b的值分别为10和20,正确的数据输入是(B)

A、10 20

B、10,20

C、a=10, b=20

D、10;20

14、在C语言源程序中,以下叙述正确的是(C)

A、main函数必须位于文件的开头

B、每行只能写一条语句

C、程序中的每一语句可以写成几行

D、每个语句的最后必须有点号

15.对于C语言源程序,以下叙述错误的是( C )

A.可以有空语句

B.函数之间是平等的,在一个函数内部不能定义其它函数

C.程序调试时如果没有提示错误,就能得到正确结果

D.注释可以出现在在语句的前面

16.下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点

A.先判断后执行B.单入口,单出口,

C.程序中没有执行不到的语句D.无死循环

17.若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)

A.123412312

B. 12341234123412341231231231212

C.1234+1234+1234

D.1234+123+12

(2)数据类型,运算符和表达式

1、若定义:int x=2; y=3; float i;则以下符合C语言语法的表达式是(B)

A、x=x* 3=2

B、x=(y= = 1)

C、i=float(x)

D、i%(-3)

2、若有定义:int a=5, b=2, c=1;则表达式a-b

A、0

B、1

C、2

D、-1

3、若有68定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是(B)

A、3.75

B、3.5

C、3

D、4

4.若有定义:int a=1,b=2,c=3;语句++a||++b&&++a运行后b 的值为(D)

A.1 B.0 C.2 D.3

5.设单精度型变量+,g的值均为2.0,使+为4.0的表达式为(A)

A.1

B.0

C.2

D.3

9.对于整型变量x,下述计语句(B)与赋值句:x=x%2==0?1:0;不等价

A .if(x%2!=0)x=0;else x=1;

B if(x%2)x=1;else x=0;

C.if(x%2= =0)x=1;else x=0; D .if(x%2==1) x=0;else x=1;

12.下面语句正确的是( B C )

A int *P;*P=20;

B char *s=“abcdef”;printf(“%s\n”,s);

C char str[]=

“abcdf”;……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………000000000000……………………………………………………………………printf (“%s”,str);

D char str[]={…a?,?b?,?c?};printf(“%s”,str);

13.若有定义:inta=2;则正确的赋值表达式是(A)

A.a- =(a*3) B.double(-a) C.a* D.a*4=3

14.若有定义:int m=5. n=3则表达式(m+1,n+1,(--m)+(n--))的值是(B)

A.6

B.7

C.8

D.9

15.对于基类型相同的两个指针变量之间,不能进行的运算是(C)

A.<

B.=

C.﹢

D.﹣

16.若有定义:int a;则语句a=(3*4)+2%3;运行后a的值为(B)

A. 12

B.14

C.11

D.17

17.下面叙述中,错误的是(A)

A.其算术运算对象不包含函数

B.%(模拟运算符)的运算对象只能为整型量

C.算术运算的结合方向是“自左向右”

D.自加和自减运算符的结合方向是“自右向左”

18.已知int a=‘R’;则正确的表达式是(A)

A.a%10

B.a=int(3e2) C .2*a=a++ D.a=a+a=a+3

19.已知double a=5.2;则正确的赋值表达式是(A)

A.a+=a-=(a=4)*(a=3) B a=a*3=2 C a%3 D a=double(-3)

20.以下的计语句中,x的值一定被重新赋值的是(B)

A.if(x==y) x+=y; B if(x>y&&x!=y);x+=y;

C.if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);

D.if(x<y) {x++;y++}

21.设有double型变量a,b,c,e均有值,对代数式(3ae)/(bc),不正确的语言表达式是(C)

A.a/b/c*e*3

B.3*a*e/b/c

C.3*a*e/b*c

D.a*e/c/b*3

22.以下运算符中优先级最高的是(D)

A.>

B.||

C.&&

D.+

23.若有自定义:int a,b;double x.,则以下不符合C语言的表达是(A)

A.x%(-3)

B.a+=-2

C.a=b=2

D.x=a+b

24.若有定义:int a[3] [3];则表达式&a[2][1]-a的值为(B)

A.7

B.8

C.6

D.9

25.以下(D)是正确的变量名

A.a.bee

B.-P11

C.int

D.P_11

26.若有定义:int a=1,b=2 ,c=3,d=4,x=5,y=6 则表达式(x=a>b)&&(y=c>b)的值为(A)

A.0

B.1

C. 5

D.6

27.以下(D)是正确变量名

A.5f

B.if

C.f.5

D._f5

28.若有定义:int x=3,y=4,z=5 则值为0的表达式是(D)

A.‘x’&&‘y’

B. x<=y

C. x||y=z&&y-z

D. !((x<y)&&!z||1)

29.若有定义:int x,a;则语句x=(a=3,a+1);运行后x、a的值依次为( C )

A.3,3 B.4,4 C.4,3 D.3,4

30.若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是( B )

A.7 B.8 C.9 D.10

31.若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y 的值是(A)

A.3.5 B.3.0 C.2.5 D.2.0

32. 以下(B)是错误的整型常量

A、-0xcdf

B、018

C、0xe

D、011

33.语句a=(3/4)+3%2; 运行后,a的值为(B)

A、0

B、1

C、2

D、3

34.设整形变量a为5,使b不为2的表达式是(C)

A、b=(++a)/3

B、b=6-(--a)

C、b=a%2

D、b=a/2

35、已知char a=’R’;则不正确的赋值表达式是(D);

A、a=(a++)% 4

B、a+2=3

C、c a+=256--

D、a=‘\078’

36.下面叙述正确的是(B)

A、2/3与2.0/3.0等价

B、(int)2.0/3与2/3等价

C、++5与6等价

D、‘A’与“A”等价

37、getchar( )函数的功能是从终端输入(D)

A、一个整型量值

B、一个实型变量值

C、多个字符

D、一个字符

38、若有定义:int i=7, j=8; 则表达式 i >j||i

A、1

B、变量i的值

C、0

D、变量j的值

39、若有定义:int i ,j;则表达式(i=2, j=5, i++, i+j++)的值是(B)

A、7

B、8

C、9

D、10

40.若希望当a的值为奇数时,表达式的值为”真”,a的值为偶数时,表达式的值为”假”.则不能满足要求的表达式是( C )

A.a%2==1

B.!(a%2==0)

C.!(a%2)

D.a%2

41.下面叙述正确的是( A )

A.强制类型转换运算的优先级高于算术运算

B.若a和b是整型变量,(a+b)++是合法的

C.”A”*'B'是合法的

D."A"+"B"是合法的

42.以下程序段运行后变量a的值为(D)

int x=6,y=5;

int a;

a=(--x==y++)?x:y+1;

A.0B.1C.6D.5

43.下面程序段的运行结果是( D )

int a =5 b=6;printf (“%d”,a/b);

A. 5

B. 6

C. 7

D. 0

44.以下程序的运行结果是( D )

void main()

{

int a=65;

char c=’A’;

printf(“%x,%d”,a,c);

}

A.65,a

B.41, a

C.65,65

D.41,65

(3)选择结构程序设计

1.C语言对于计嵌套语句的规定:else总是与(B)配对

A.第一个if

B.之前最近且尚未配对

C.缩进位置相同的if

D.之前最近的if

2.以下的语句中,无内嵌的if语句是(D)

A.if(x==y)x+=y;

B.if(x>y&&x!=y)x+=y;

C.if(x!=y)scanf(“%d”,&x);else scanf (“%d”,&y);

D.if(x<y) {x++;y++}

3、以下程序运行结果是(D)

void main( )

{ int n=5;

if ( n++=6 )

printf( “% d\n” , n);

else

printf ( “%d\n” , ++n );

}

A、4

B、5

C、6

D、7

4.以下程序段运行后x的值为( B )

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

int *p,*q;

int i,x;

p=a;q=b;

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

if(*(p+i)==*(q+i))

x=*(p+i)*2;

A.2B.4C.6D.不确定

5.若有定义:int a=1,b=2,c=3;则执行以下程序后a,b,c的值分别为( D )

if(a<b) {c=a,a=b,b=c;}

A.a=1 b=2, c=3

B.a=2 b=3 c=1

C.a=2 b=3 c=3

D.a=1 b=1,c=1

6.以下程序的运行结果是(C)

void main ( )

{ int n=‘e’;

switch (n- -)

{default: printf (“error”);

case‘a’:

case‘b’: printf(“good”); break;

case‘c’: printf(“pass”);

case‘d’: printf(“warn”);

}

A、error

B、good

C、error good

D、warn

(4)循环控制

1.对于整型变量x,与while(!x)等价的是(B)

A.while(x!=0)

B.while(x==0)

C.while(x!=1)

D.while(~x)

2.以下程序运行后,循环体运行的次数为( B )

int i=10,x;

for( ;i<10;i++)

x=x+i;

A.10 B.0 C.1 D.无限

3.设有整型变量x,下述语句( B )不会出现死循环

A、for( ; ; x+=1);

B、for(; (x=getchar( ))!=‘\n’; );

C、while (1) {x++;}

D、for(x=10; ; x--);

4、在C语言中while循环和do—while循环的主要区别是( B )

A、do—while 循环体内可以使用break语句, while循环体内不能使用break语句

B、do—while的循环至少无条件执行一次,while的循环体不是

C、do—while 循环体内可以使用continue语句,while循环体内不能使用continue语句

D、while的循环体至少无条件执行一次,do—while的循环体不是

5、对于整型变量x和y,语句for (x=0, y=0 ; (y!=123) &&(x<4); x++) y++;中的“y++;”被执行( A )

A、4次

B、0次

C、123次

D、3次

6.以下程序段运行后变量n的值为( D )

int i=1,n=1;

for( ; i<3;i++)

{

continue;

n=n+i;

}

A.4B.3C.2D.1

7.设有如下程序段:

int a[3][3]={1,0,2,1,0,2,1,0,1},i,j,s=0;

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

for(j=0;j

s=s+a[i][j];

则执行该程序段后,s的值是( C )

A.0B.1C.2D.3

8.以下程序运行结果(C)

void main()

{

int sum=0,item=0;

while(item<5)

{

item++;

sum+=item;

if(sum>=6) break;

}

printf(“%d\n”,sum) ;

}

A.10

B.15

C.6

D.7

9.下面程序运行结果是( A )

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

do{

a[i]+=10;

}while(a[++i]>2);

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

printf(“%d”,a[i]);

A.11 2 3 4 5

B.1 2 3 4 5

C.11 12 13 14 15

D.11 12 3 4 5

10.若有定义:int i=0,x=0; int a[3][3]={1,2,3,4,5,6,7,8,9}则以下程序段运行后x的值为( C )

for( ;i<3;i++) x+=a[i][2-i];

A.0

B.12

C.15

D.18

11.以下程序的运行结果是( B )

void main()

{

int sum=0,item=0;

while (item<5)

{

item++;

sum+=item;

if(sum==5)

break;

}

printf(“%d\n”,sum);

}

A. 10

B.15

C.5

D.6

12.下面程序段的运行结果是( D )

int i=O, a[]={3,4,5,4,3};

do{

a[i]++;

}while(a[++i]<5);

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

printf(“%d”,a[i]) ;

A. 45654

B.34543

C.45554

D.45543

13.下面程序段的运行结果是( C )

int i=0,a[]={7,5,7,3,8,3};

do{

a[i]+=2;

}while(a[++i]>5);

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

printf(“%d ”,a[i]);

A. 9 7 9 5 10 5

B.9 5 9 3 10 3

C. 9 5 7 3 8 3

D.7 5 7 3 8 3

(5)数组

1、有如下定义 int a[ ][3]={1,2,3,4,5,6,7,8,};则数组a的行数( B )

A、 2

B、 3

C、 4

D、无法确定

2.以下数组定义中,正确的是( B )

A.int a[2] [3]={1,2,3,4,5,6,7};

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

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

D.int a[] [4]={6};

3.若有定义:int a=6,b=2;ch1ar C1=‘a’,C2=‘b’;则表达式a+b%5+C2-C1的值是( C )

A .7 B.8 C.9 D表达式错误

4.若有定义:char str[6]=“abcdm”,*ps,*str2=“abcdef”;正确的是( B )

A.stycpy(str1,str2);

B.表达式strcmp(str1,str2)的值>0

C.str1=str2;

D.表达式strlen(str1)的值为6

5.以下能对一维数组a进行正确初始化的语句是( D )

A.int a[5]=(0,0,0,0,0,)

B.int a[5]=[0]

C.int a[5]={1,2,3,4,5,6,7}

D.int a[]={0}

6.以下( A )是不正确的字符串常量

A.‘abc’

B.“12′12”

C.“O” D“”

7.设有如下定义:char str[8]={“Fujian”};则分配给数组str的存储空间是(C)字节

A.6

B.7

C.8

D.9

8.下列数组定义中,正确的是( A )

A.int a[10]

B.int n=10 a[n];

C.int N=10;int a[N];

D.int n; scant(“%d”,&n);int a[n]

9.若有定义int a[2][3];则对数组元素的非法引用是( D )

A.a[0][1/2]

B.a[1][1]

C.a[4-4][0]

D.a[0][3]

10.若有int a=2 则a=strcmp(“miss”,“miss”)运行后a的值为(B)

A.1

B.0

C.-1.

D.2

11.以下程序结束后屏幕输出(B)

char str[]=“ab\\cd”;printf(“%d”,strlen(str));

A.4.

B.5

C.6

D.7

12.已知int a[10];则对a数组元素引用不正确的是( A )

A.a[10] B.a[3+5] C.a[10-10] D.a[5]

13.设有以下变量定义:

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

则( A )是正确的

A.strcpy(str1,”china”); B.str2=”china”;

C.strcpy(*str3,”china”);D.strcpy(str4[0],”china”);

14、以下能对一维数组a进行正确初始化的语句是( D )

A、int a[5]=(0, 0, 0, 0, 0);

B、int a [s]=[0];

C、int a[5]={1, 2, 3, 4, 5, 6, 7 };

D、int a [ ] = {0};

15. 若有定义int a [ ] [ 3 ]={1,2,3,4,5,6,7,8,9};则表达式sizeof(a)/sizeof(a[0])

的值为( A )

A、3

B、4

C、5

D、9

16、下列数组定义中,正确的是( A )

A. int a[5]={0}; B、int a[ ]={0 1 2}; C、int a[5]=0 D、int a [ ]

17、以下数组定义中,正确的是( B )

A、int a[2][3]={1,2,3,4,5,6,7};

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

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

D、int a[ ][4]={6}

18.若有定义:int a[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为( A )

A.0.

B.{1,2}

C.1

D.3

19.若有定义:int a[3]={0,1,2};则a[1]的值为( B )

A.0

B. 1

C.2

D.3

20.若有定义:int a[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为( A )

A.6B.5C.1D.2

‘f’};则语句printf(“%s”,str);

21.有如下定义:char str[6]={‘a’,‘b’,‘\0’,‘d’,‘e’,

的输出结果是( D )

A.ab\

B.abdef

C.ab\0

D.ab

22.定义char a[]=“abcdef”;char b[]=“xyz”;以下程序运行后输出( B )

strcpy(a,b);

printf(“%c”,a[2]);

A. c

B. z

C.\0

D.d

23、以下程序段运行后屏幕输出为( A )

char str[80];

strcpy(str, “hello”);

printf( “%d” , strlen (str));

A、5

B、6

C、7

D、80

24.以下程序段运行后屏幕输出为( C )

char a[]=”abc\0mis”;

printf(“%d”,srelen(a));

A.5B.8C.3D.4

(6)函数

1.关于C语言函数的描述中,正确的是( B )

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可以嵌套,但函数的调用得意嵌套

C.函数的定义和函数的调用都可以嵌套

D. 函数的定义和函数的调用都不可以嵌套

2.已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是( B )

A.scanf(“%d”,&a);

B.scanf(“%lf”,&a);

C.scanf(“%c,&a);

D.scanf(”%u”,&a);

3.putchar()函数的功能是向终端输出( B )

A.多个字符

B.一个字符

C.一个实型变量值

D.一个整型变量表达式

4、已知int a;使用scanf()函数输入一个整数给变量a, 正确的函数调用是( B )

A、scanf(“%d”, a);

B、scanf(“%d”,&a);

C、scanf(“A”, &a );

D、scanf(“%df”, &a );

5.C语言的函数体由( B )括起来

A.( )

B.{} C.[]D./* */

6.如下fun函数的类型是( C )

fun(float x)

{

double y;

int z;

y=x*x;

z=(int)y;

return(z);

}

A.void B.double C.int D.float

7.设有如下函数定义:

int fun(char *str)

{

char *p;p=str;

if(p!=‘\0’)

p++;

return (p-str);

}

则以下语句执行后的输出结果是( A )

printf(“%d\n”,fun(“student”));

A. 7

B. 8

C. 9

D. 10

8.以下程序的屏幕输出为(B)

#include

void f(int i)

{

int a=2;

a=i++;

printf(“%d”,a);

}

main()

{

int a=1 ,c=3;

f(c);

a=c++;

printf(“%d”,a);

}

A. 4,3

B. 3,3

C.4,5

D. 3,5

9.若有以下函数定义:

int fun ()

{

static int k=0;

return ++k;

}

以下程序段运行后屏幕输出为( D )

int i;

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

fun();

printf(“%d”,fun());

A. 0

B. 1

C. 5

D. 6

10.以下程序运行的结果是(A)

int fun (int array[4][4])

{

int j;

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

printf(“%2d”,array[2][j]);

printf(“\n”);

}

main()

{

int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0}; fun(a);

}

A.2005

B.1004

C.0120

D.0450

11.以下程序运行后屏幕输出为( D )

#include〈stdio.h〉

int a=2 ,b=3;

int max(int a,int b)

{

int c;

c=a>b?a:b;

return(c);

}

main()

{

int a=4;

printf(“%d”,max(d,b));

}

A. 2,3

B. 2

C. 3

D. 4

12.以下程序运行后屏幕输出为( B )

#include

int f(int x,int y)

{

return(x+y);

}

main()

{

int a=2,b=3,c;

c=f(a,b);

printf(“%d+%d=%d\n”,a,b,c);

}

A.0

B.2+3=5

C.2+3=0

D.3+2=5

13、下面程序的输出结果是( D )

#include

int global=100;

fun ( )

{

int global=5;

return ++global;

}

void main( )

{

printf (“% d\n”, fun( ) )

}

A、100

B、101

C、5

D、6

(7)预处理命令

1.若有定义:#define PI 3,则表达式PI*2*2的值为( A )

A.12

B.4

C.3

D.不确定

2.设有如下定义typedef int *INTEGER;INTEGER P,*q;则( C )是正确的表述

A.P是int型变量 B .q是基类型为int的指针变量

C.P是基类型为int的指针变量

D.程序中可用INTEGER代替int类型名。

3、以下叙述中,正确的是( A )

A、宏展开不占用运行时间,只占用编译时间

B、预编译处理命令行必须以分号结束

C、一个源程序只能有一个预编译处理命令行

D、使用带参数的宏定义时,应该说明每个参数的数据类型

4、以下的叙述中不正确的是( C )

A、宏展开不占用运行时间,只占用编译时间

B、宏名无类型

C、宏名必须用大写字母表示

D、预处理命令行都必须以#号开始

5.以下叙述中,正确的是( B )

A."#define PRICE=30"定义了30等价的符号常量PRICE

B.预编译处理命令行都必须以"#"开头

C.宏名只能是含大写字母和数字字符

D.在程序的一行上可以书写几个有效的宏定义

6.下面程序的输出结果是(C)

#include〈stdio.h〉

#define ONE 1

#define TWO ONE+1

#define THREE TWO+1

void main ()

{

printf(“%d\n”,THREE-ONE);

}

A.产生错误,

B. 1

C. 2

D. 3

7.以下程序执行时,输入1 2 3 4 5<回车>输出为( A )

#include

#define N 5

void main()

{

int a[N];

int *p=a;

while(p

scanf(“%d”,p++);

while(p>a)

prinf(“%s”,*(--p));

}

A.5 4 3 2 1

B.1 2 3 4 5

C.2 3 4 5 1

D.4 3 2 1 5

8.若有以下定义

#define MOD(x,y) x%y

则执行以下程序段后,z的值是( D )

int z,a=15,b=100;

z=MOD(b,a);

A.100,

B.15

C.11

D.10

9、下面程序的输出结果是( A )

#include

#define SQR(x) (x*x)

void main()

{

int a,b=3;

a=SQR(b+2);

printf(“\n%d”,a);

}

A.11 B.25 C.不定值D.产生错误

(8)指针

1.若函数fun的函数头为:int fun(int i,int j)且函数指针变量P定义如下:int (*P)(int i,int j);则要使指针P指向函数fun的赋值语句是( B )

A. P=*fun

B. P=fun ;

C. P=fun (i ,j )

D. P=&fun

2.设有以下语句,则( D )是对a 数组元素的不正确引用,其中010i ≤<.int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a

A .a[p-a]

B .*(&a[i])

C .p[i]

D .*(*(a+i))

3、在16位编译系统上,若有定义int a [ ]={10,20,30},*p=&a ;当执行p++;后下列叙述错误的是( A )

A 、p 向高地址移了一个字节

B 、p 与a+1等价

C 、语句printf(“%d ”, p);输出20

D 、p 指向数组元素a[1]

4、以下程序段运行后*(++p )的值为(C )

char a[6]=“work ”;

char *p;

p=a;

A 、‘w ’

B 、存放‘w ’的地址

C 、‘O ’

D 、存放的‘O ’地址

5.在16位编译系统上,若有定义int a[]={10,20,30},*p=&a;当执行p++;后下列叙述错误的是( A )

A.p 向高地址移了一个字节

B.p 与a+1等价

C.语句printf(“%d ”,*p);输出20;

D.p 指向数组元素a[1]

6.以下程序运行后*(P+3)的值为( A )

char a[]=“good ”; char *P ;P=a ;

A.‘d ’

B.‘\0’

C.存放‘d ’的地址 .

D.‘0’

7.以下程序运行后x 的值为(D)

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

int *p,*q;

int i,x;

p=&a[0];

q=&a[8];

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

if(*(p+i)==*(q-i) )

x=*(p+i)*2;

A. 2

B. 4

C. 6

D.不确定

8.以下程序运行段运行后x 的值为( D )

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

int i,x *p;

x=1;

p=&a[2];

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

x*=(p+i);

A. 不确定

B. 24

C. 120

D. 60

9、下面程序的输出结果是(A )

#include

void main ( )

{

int i;

char *s= “ abc ”;

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

printf ( “% s\n ” , s+i );

}

A B C D 10.执行以下程序段的输出结果是( B )

int a=10,*p=&a;

printf(“%d ”,++*p);

A .10 B.11 C.变量a 的地址 D.变量a 的地址加1

(9)结构体与共用体

1.设有以下定义语句:

struct student{

int num ;

char name[10];

float score;

}wang ,zhang ;的变量wang 所占的内存字节是( B )

A.14

B.16.

C.18

D.9

2.设有以下定义语句:

struct student{

int num ;

char name[10];

float score;}wang,zhang;

则不正确的叙述是( C )

A.struct 是结构体类型的关键字

B.zhang 是结构体变量名

C.wang 是结构体类型名

D.num,name,score 都是结构体类型student 的成员名

3.若struct teacher{

int num ;

char name[10];

char sex ;

int age ;

float score ;}teacher1;

则变量teacher1所占用的内存字节是( C )

A.5

B.14

C.19.

D.20

4.、假定已有如下落不明变量说明和枚举定义:

char ch;

int j,k;

enum day{sum,mon,tue,wed,thu,fri,sat};

int a[sat];

判定下列语句是否符合语法规则,结果是( C )

char a; /*语句1*/

a b c b c c c b c a b c

a b c c b c a a b a b c

j+k=j; /*语句2*/

if(a[mon]>0) j++; /*语句3*/

A.语句2错误,其它正确B.语句1正确,其它错误

C.语句3正确,其它错误D.语句错误,其它正确

5、以下C语言共用体类型数据的描述中,不正确的是( D )

A、共用体变量占的内存大小等于所需内在最大的成员所占的内存

B、共用体类型可以出现在结构体类型定义中

C、在定义共用体变量的同时允许对另一个成员的值进行初始化

D、同一共用体中各成员的首地址不相同

6、若有以下类型说明,叙述正确的是( A )

typedef sturct{

int num;

char *name;

int score;

} STU, *PSTU

A、STU 是变量名

B、PSTU是变量名

C、PSTU是指向结构体类型STU的指针类型名

D、类型说明语句有错误

7、设有如下定义语句:

union u-type{

int i;

double x;

float f;

};

struct str-type{

char str[100];

union u_type u[2];

};

则语句“printf(“%d”, sizeof(struct str-type) );”的输出结果是( B )A、100 B、116 C、120 D、200

8.下列对结构体类型变量定义不正确的是( C )

A.

struct teacher{

int num;

int age;

}teacher1;

B.

struct{

int num;

int age;

}teacher1,teacher2;

C.

struct{

int num;

int age;

}teacher,

D.

struct teacher{

int num;

int age;

}

9.若有定义

struct node{

int date;

struct node *next;

}

函数:

void fun(struct node *head)

{

struct node *p=head;

while(p)

{

struct node *q=p->next;

free(p);

p=q;

}

}

则该函数的功能是( A )

A. 删除整个单向链表

B. 删除单向链表中的一个结点C.显示单向链表中的所有数据 D. 创建单向链表

10.对枚举类型进行定义,不正确的是( A )

A. enum b{1,2,3};

B. enum a{A,B,C};

C. enum c{3,E,F};

D. enum d{x=0,y=5,z=9};

11.下面程序的输出结果为(B)

#include

void main()

{

enum Weekday {sum=7 ,mon=1 ,tue thu ,fri,sat};

enum Weekday day=sat;

print(“%d\n”,day);

A.7

B.6

C.5

D.4

12.以下程序的运行结果(D)

#include

union utype{

int i;

float f

}U[2];

void main()

{

printf(“sizeof(u):%d\n”,sizeof(u)) ;

}

A. 2

B. 4

C.6

D. 8

13.若有以定义

struct link{

int data;

struct link *next;

}*head,*p;

并已建立如下图示所示的链表结构

head →data next→data next→…→data null

则能保留链表其它结点,而删除P所指向结点的程序段是( A )

A.head->next=p->next;free(p);

B.head->next=p; p->next=head->next;free(p);

C.free(p);head->next=p;p->next=head->next;

D.free(p);head->next=p->next;

14.若有定义

struct node{

int data;

struct node *next;

};

及函数: void fun(struct node *head)

{

struct node *p=head;

while(p)

{

printf(“%d”,p->data);

p=p->next;

break;

}

}

则函数fun()的功能是( C )

A. 删除单向链表

B. 显示单向链表中的所有数据

C. 显示单向链表中的第一个数据

D. 创建单向链表

15..若有如下定义,函数 fun的功能是( B ),其中head指向链表着结点整个链表结构如下图:

head → data → data →… data null

struct node{

int data;

struct node *next;

};

int fun(struct node *head)

{

int n=0;

struct node *t=head;

while(t!=NULL)

{

n++;

t=t->next;

}

return n;

}

A.删除链表head中的所有结点

B.计算链表head中的结点个数

C.插入一个元素到链表head中

D.创建一个链表head

16、若有以下定义:

struct link{

int date;

struct link *next;

}*head, *p;

并已建立如下图所示的链表结构;

指针P指向如下传点:

则能够把p所指结点插入到链表中成为链表第2个结点的程序段是( C )

A、p next=head next; head next=p

B、head next=p; p next=head next;

C、p.next=head.next; head. Next=p

D、(* head ). next = p; (* p). next = (* head ). next;

(10)位运算

1.在对于无符号数的位运算中,操作数右移一位相当于( A )

A.操作数除于2

B.操作数乘以2

C.操作数除于4 D .操作数乘以4

2.若有定义:int a=20,b=28,C;则执行语句C=(a&b)>>2;后C的值为(A)

A.5

B.7

C.80

D.112

3.若有定义,int x=3, y=4; 则表达式!x‖y的值为( A )

A、1

B、0

C、3

D、4

(11)文件

1、以下叙述正确的是( D )

A、C语言中的文件是流式文件,因此只能顺序存取数据

B、打开一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖

C、在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据

D、当对文件的写操作完成之后,必须将它关闭,否则可能导致数据丢失

2、标准函数fgets(s, n, f )的功能是( D )

A、从文件f中读取长度为n的字符串存入指针s所指的内存;

B、从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

C、从文件f中读取几个字符存入指针s所指的内在

D、从文件f中读取长度为n-1的字符串存入指针s所指的内存

write ok下列说法正确的是( D )

3.以下程序运行后,屏幕显示!,

#include

main()

{

FILE *fp;

fp=fopen(“data.txt”,”wt”);

if(fp!=NULL)

{

fprintf(fp,”%s\n”,”File write successed!\n”);

fclose(fp);

printf(“write ok!\n”);

}

}

A.当前工作目录下存在data.txt文件,其中内容是”write ok!”

B.fclose(fp);语句的功能是打开文件

C.当前工作目录下一定不存在data.txt文件

D.当前工作目录下一定存在data.txt文件

4.以下程序的功能是( B )

#include

main()

{

FILE *fp;

long int n;

fp=fopen(“wj.txt”,”rb”);

fseek(fp,0,SEEK_END);

n=ftell(fp);

fclose(fp);

printf(“%ld”,n);

}

A.计算文件wj.txt的起始地址

B.计算文件wj.txt的终止地址

C.计算文件wj.txt内容的字节数

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

C程序设计题库

填空题 20*2 ■对于51系列单片机,现有4种语言支持程序设计,它们是(汇编语言)、PL/M、(C语言)、BASIC。 ■单片机程序设计时需要在主程序中设计死循环来防止程序跑飞。在C语言中采用(while(1))或for(;;)语句实现死循环。 ■单片机程序设计中经常用到中断,在C语言程序设计中外部中断1的中断入口序号(2),而汇编语言程序设计中外部中断1的入口地址是(0013H)。 ■编写串口中断程序时要在函数说明部分后写interrupt 4 。 ■编写定时器0中断程序时要在函数说明部分后写interrupt 1 。 ■C语言程序设计中有一个无符号形字符变量temp和一个位变量Flag,现在分别对它们取反。相应的语句为temp=__~___temp; Flag=_!___Flag;。 ■I2C总线在传送数据过程中共有三种类型控制信号,它们分别是:_(起始信号)____、应答信号、_(停止信号)_____。 ■I2C的地址由(协议规定)与(硬件设置)两部分组成。 ■I2C器件的两条信号线分别为串行时钟线SCL 与串行数据线 SDA 。 ■MCS-51单片机操作I2C器件时,单片机必须做为主机,I\O编程。 ■在Cx51所有的数据类型中,只有bit 与unsigned char 直接支持机器指令。 ■编译器性能比较有如下几个方面:算数支持、生产代码大小、开打速度、支持浮点和long 。 ■在KEIL开发套件中,BL51链接器/定位器用于创建一个绝对目标横快。 ■Cx51中函数分为两大类:标准库函数和用户自定义函数。 ■在函数名前如果不指定函数类型,则该函数的类型为整型。 ■具有一定格式的数字或数值叫做数据,数据的不同格式叫做数据类型, 数据按一定的数据类型进行的排列、组合及架构称为数据结构。 ■数据类型的转换有自动转换与强制转换两种。 ■直接出现在程序中的数值(如TMOD=0x21)称为常数。在程序运行的过程中,其值不能改变且被定义为符号的(如#define CONST 60)称为常量。 ■软件对常量与变量的命名规范是:常量名用大写字母,变量名用小写字母。 ■MCS-51单片机串口用于中断通讯时,在进行初始化时必须设置的特殊功能寄存器有:

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案) 一、单项选择题(选择一个最佳答案,每题2分,共20分) 1. 一个C程序的执行是从(A )。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序main函数结束 2. 下列选项中,不能用作标识符的是(D )。 A) _1234_ B) _1_2 C) int_2_ D) 2_int_ 3. 以下定义语句中正确的是( C)。 A) char a='A'b='B'; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a; 4. 设有以下定义:#define d 2 int a=0; double b=1.25; char c=’A’; 则下面语句中错误的是(B)。 A) a++; B) b++ C) c++; D) d++; 5. 以下4个选项中,不能作为一条C语句的是(D)。 A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2; 6. 有以下定义语句double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( C)。 页脚内容1

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b; 7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。 A) p=1; B) *q=2; C) q=p; D) *p=5; 选D. A.p是一个指针,不能给它赋一个整型的值1 B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值. C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针. *p=5,即给n赋值为5,正确. 8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。 A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ; C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa); 9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式 *language[1]>*language[2]比较的是(A)。 A)字符B和字符P B) 字符串FORTRAN和字符串BASIC C)字符F和字符B D) 字符串BASIC和字符串PASCAL 10. 执行语句for(i=1;i++<4;);后变量i的值是(C )。 A) 3 B)4 C) 5 D) 不定 一、填空题(每空2分,共18分) 1. 若有定义:int a=7;float x= 2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为2.5。 页脚内容2

ASP NET考试试题及答案详析

一、填空题 (1)ASPX网页的代码储存模式有两种,它们是_代码分离模式__和__单一模式_。 答案:代码分离模式,单一模式 (2)当一个Web控件上发生的事件需要立即得到响时,应该将他的AutoPostBack属性设置为true。 答案:AutoPostBack (3)请将下列数据(nn)在TextBox控件中显示出来。 Double nn=4512.6; TextBox1.Text=nn.Tostring(); 答案:nn.ToString() (4)当需要将TextBox控件作为密码输入框时(要求隐藏密码的代码),应该将控件的TextMode属性设置为Password. 答案:Password (5)下面是一个转移到新网页的指令:Response.Redirect(“新网页的Url”) 答案:新网页的Ur1 (6)在设计阶段必须将各个验证控件的属性指向被验证的控件。 答案:ControlToValidate (7)下面是设置和取出Session对象的代码。 设置Session的代码是: Session[“greeting”]=“hello wang!”; 取出该Session对象的语句如下: string Myvar=; 答案:Session[“greeting”].ToString() (8)下面是使用Application对象时防止竞争的代码。 Application.;//锁定Application对象 Application[“counter”]=(int)Application[“counter”]+1; Application.;//解除对Application对象的锁定 答案:lock(),unlock() (9)废除Session的语句是:。 答案:Session.Abandon() (10)打开文件系统网站时将自动打开一个开发服务器,这是一个轻量级服务器,可以用来对程序进行检查和调试工作。 答案:开发 (11)所谓分布式类就是在多个文件中使用相同的_命名空间_,相同的_类名_,而且每个类的定义前面都加上partial修饰符,编译时编译器就会自动的将这些文件编辑成一个完整的类。答案:命名空间,类名,partial (12)改变Session的有效时间的语句是:Session.Timeout=60;。 答案:Session.Timeout=60; (13)NET与XML紧密结合的最大好处是跨平台传送数据。 答案:跨平台传送数据 (14)网上招聘模板如果使用FormView控件,通常分为上、下两部分.上面部分通常使用FormView控件的模板,用来介绍公司情况并提出招聘要求;下面部分通常用模板,用来输入和存储数据.当应聘者提交数据后应事件中向应聘者发出感谢或收到的信息.答案:Header Insert ItemInserted

Java语言程序设计二级考试模拟试卷

Java语言程序设计二级考试模拟试卷一 (考试时间90分钟,满分100分) 一、选择题(1~20题每题2分,20~30题每题3分,计70分) 在下列各题的A、B、C、D、四个选项中,只有一个选项是确定的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 1、下列叙述中正确的是()。 A、线性表是线性结构 B、栈和队列是非线性结构 C、线性链表是非线性结构 D、二叉树是线性结构 2、下列关于队列的叙述中正确的是()。 A、在队列中只能插入数据 B、在队列中只能删除数据 C、队列是先进先出的线性表 D、队列是先进后出的线性表 3、设有下列二叉树: 对此二叉树前遍历的结果是()。 A、ABCDEF B、DBEAFC C、ABDECF D、DEBFCA 4、设树T的度为4,其中度为1、2、3、4的结点个数分别是4,2,1,1。则T中的叶子结点数是()。 A、8 B、7 C、6 D、5 5、结构化程序设计主要强调的是()。 A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性 6、下面对对象概念描述错误的是()。 A、任何对象都必须有继承性 B、对象是属性和方法的封装体 C、对象间的通讯靠消息传递 D、操作是对象的动态属性 7、在软件测试中,以发现各模块内部可能存在的各种错误为目的的测试是()。 A、集成测试 B、单元测试 C、黑盒测试 D、白盒测试 8、软件需求分析阶段的工作,可以分为四个方面,需求获取、需求分析、编写需求规格说明书以及()。 A、阶段性报告 B、需求评审 C、总结 D、信息隐藏 9、在关系数据库中,用来表示实体之间联系的是()。 A、树结构 B、网结构 C、线性表 D、二维表 10、在关系数据库中,当数据的存储结构改变时,其逻辑结构可以不变,因次,基于逻辑结构的应用程

《C程序设计》试题

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

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

《网络程序设计》期末考试试题.doc

学习中心_________ 姓名_____________ 学号 西安电子科技大学网络与继续教育学院 2019学年上学期 《网络程序设计》期末考试试题 (综合大作业) 考试说明: 1、大作业试题于2019年4月25日公布,2019年4月26日至2019年5月12日在线上传大作业答卷(最多上传10张图片); 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须用《西安电子科技大学网络与继续教育学院综合大作业答题纸》手写完成,要求字迹工整、卷面干净; 4、文字描述部分需手写,系统界面以图片形式保存,且总页面不超过10页,上传考试系统。 一、(30分/题,共1个)以access数据库作为后台数据库,完成某学校教材信息的录入、修改和查询。要求所有教材信息必须存储在数据库中,最终提交作业报告,内容包括题目内容,题目总体分析,实现方案,数据库设计,功能模块设计,网页结构设计,运行结果,主要源程序。 总体分析 根据题目要求选择了使用桌面应用程序实现,而没有选择web实现。所以选择java作为开发语言,使用java提供的swing组件实现交互界面。题目要求使用access做为后台数据库,java提供了JDBC-ODBC驱动连接access数据库。

实现方案 使用access数据库(JDBC-ODBC连接) 使用java语言编程(JDK1.6) 使用swing实现交互界面 使用Netbeans7.0 IDE 数据库设计 表结构: 表:book 字段类型说明Id 长整型图书编号 book_name 字符串书名 author 字符串作者 publisher 字符串出版社 publish_date 时间出版时间 功能模块设计 程序中实现了图书信息的查询、添加、修改、删除。 1、查询模块 可以显示所有的图书信息, 可以按条件查询,可分别通过书名、作者、出版社进行查询相关图书信息。 2、添加模块 添加新的图书信息到数据库中 3、修改模块 对数据库中存储的图书信息进行修改。 4、删除模块 删除数据库中的图书信息。 详细设计 代码结构:

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语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是() A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

.NET程序设计A卷试题与答案

https://www.wendangku.net/doc/2714155923.html,程序设计A卷试题与答案 基本信息:[矩阵文本题] * 1、下面对Cookie对象描述不准确的是()。 [单选题] A.Cookie对象在服务器端运行(正确答案) B.Cookie文件保存在客户端 C.Cookie对象可以通过Expires属性设置过期时间 D.投票系统中可以使用Cookie限制重复投票 2、下列有关解决方案的叙述中,不正确的是()。 [单选题] A.一个解决方案可以包含多个项目 B.一个解决方案只能包含一个项目(正确答案) C.新建项目时,会默认生成一个解决方案 D.解决方案文件的扩展名是“.sln” 3、如果想验证文本框中是否输入了数据,应该使用()控件。 [单选题] A.RequiredFieldValidator控件(正确答案)

B.CompareValidator控件 C.ValidationSummary控件 D.RangeValidator控件 4、在用户注册页面中,验证用户输入的密码和确认密码是否一致时,应该使用()控件。 [单选题] A.RequiredFieldValidator控件 B.CompareValidator控件(正确答案) C.ValidationSummary控件 D.RangeValidator控件 5、设置验证内容不合法时,出现的提示信息,通过()属性进行设置。 [单选题] A.Name B.ID C.ErrorMessage(正确答案) D.Text 6、假设txtName是控件TextBox的ID,那么()是用户输入的内容。 [单选题] A.txtName.Value B.https://www.wendangku.net/doc/2714155923.html, C.txtName.ID D.txtName.text(正确答案)

java程序设计模拟试题四

《Java 程序设计》模拟试题四 一、选择题(每小题2分,共20分) 1. 以下哪个是合法的标识符? ( C ) A. 7star B. else C. my$ D. super 2. 设有对象obj 具有属性a 则访问该属性的方法为( A )。 A. obj.a B. a.obj() C. a.obj D. obj.a() 3. 下列关于关键字this 和super 的说法正确的是( C )。 A. this 是调用父类的方法和变量 B. super 是调用本类中的方法 C. super 是调用父类的方法和变量 D. 没有区别 4. 以下关于重载(overload )的定义哪个正确?( B ) A.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输出参数。 B.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输入参数。 C.在一个类中,定义了多个具有相同名字的方法,并且这些方法有相同的输入参数。 D.在一个方法体中定义了多行代码。 5. 有如下代码段: int i=2; int j=3; if((i==2)||(j++==3)) i++; if((j==4)||(i++==3)) j++; System.out.printf("i="+i+"j="+j); 该程序运行的结果为: ( C )。 A .i=4,j=4 B.i=3,j=5 C .i=4,j=5 D.以上都不是 6. Java 程序用以下哪个命令可编译源文件? ( D ) A. Java B. appletviewer C. Javadoc D. Javac 7. 以下说法正确的个数为 ( B )。 ①构造方法中this 语句必须放在第一句; ②构造方法中super 语句不一定放在第一句; ③final 修饰的变量只能赋值一次; ④static 修饰的变量在该对象的一个实例中被修改,在另一个实例中也可以取得该变量的新值。 A. 1 B. 2 C. 3 D. 4 8. 下列修饰词,可以用来定义接口中方法的为 ( C )。 A. private B. protected C. public D.以上都不是 9. 关于继承的说法正确的是( B )。 A.子类将继承父类所有的属性和方法。 B.子类将继承父类的非私有属性和方法。 C.子类只继承父类public 方法和属性 D.子类只继承父类的方法,而不继承属性 10. 下列关于Java 程序中数组的使用说法正确的是( A )。 A.数组必须在使用前定义 B.同一个数组中的元素类型必须不同 C.数组是一种特殊的变量不需在使用前声明 D.数组的元素不可以是数组 评分标准:本题为单项选择题,每小题2分,共10道小题,共20分;每小题选对给2分,选错、多选、不选不给分也不扣分。 二、填空题(每空1分,共10分) 1. Java 的特点有: 简单性、可靠性和安全性、面向对象、平台无关和解释执行、分布式、多线 程等 (不少于4条)。 评分标准:只要写出四条即可给1分,不写或少于四条不给分,也不扣分。 2. Java 的注释有以下三种: 单行注释(//)、多行注释(/* */)、文档注释(/** */) 。 评分标准:本题答案不唯一,只要写出3条即可给1分,不写或少于3不给分,也不扣分。备注:不写汉字,只写括号中的符号也算正确,或者汉字和符号的组合也对。 3. 建立文件”file.txt ”的字节输入流的语句是 FileInputStream in=new FileInputStream (”file.txt ”) 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:本题答案不唯一,只要是表达出使用字节流类进行文件的字节输入即可,变量名可以不同,只要符合标识符的定义即可。 4. Java 中所有类都是类 Object 的子类。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:首字母必须大写,否则算错不给分,写对象也算正确。 5. Throwable 的两个直接子类是 Error 、 Exception ,在方法头部声明方法可能会 抛出异常使用 throws 关键字。 评分标准:本题正确给3分,不正确或不写、错误不给分也不扣分。备注:Error 、Exception 的首字母必须大写,否则算错不给分;写出对应的汉语也算正确。 6. abastract 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在 抽象类中定义。 final 方法是不能被当前类的子类重新定义的方法。 评分标准:本题正确给2分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,抽象和最终。 7. 按照功能组织类和接口的名称空间称为 package 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,包。 三、简答题(每小题5分,共20分) 1. 有如下程序: Moveable.java 文件中有如下代码 interface Moveable{ void move(int x,int y); void jump(int x, int y); } Monkey.java 中如下代码: class Monkey implements Moveable{ public void jump(int x,int y){ System.out.printf(“I am jumping from %d to %d ”,x,y); } 专业班级: 姓名: 学号: …………………………密………………………………封………………………………线…………………………

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

单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

C语言程序设计期末考试试题及答案知识分享

C语言程序设计试题 (2008 /2009 学年第二学期) 一.选择题(满分30分,每题2分) 1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C语言中函数返回值的类型由 D 决定的。 A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

面向对象程序设计C#.NET-期末试卷及答案

期末考试试卷 课程名称:面向对象程序设计C#.NET 适用年级/专业: 081/计算机 试卷类别开卷(√)闭卷()学历层次本科考试用时 120分钟《考生注意:答案要全部抄到答题纸上,做在试卷上不给分》 ........................... /////////////////////////////////////////////////// 一、单项选择题(每小题1分,共20分) 1. C#不支持的注释格式是。 A. //单行注释B. -- 单行注释 C. /*多行注释*/ D. ///xml注释 2. 以下标识符中,正确的是。 A. _nName B. Main C. 6Ptuer D. x5# 3. Microsoft .Net Framework SDK内置的C#编译器是。 A.cs.exe B.javac.exe C. csc.exe D. scs.exe 4. 以下说法中,正确的是。 A.Main函数是由C#语言提供的标准函数,不需要用户编写它的内容。 B.在C#程序中,要调用的函数必须在Main函数中定义。 C.在C#程序中,必须显式调用Main函数,它才起作用。 D.一个C#程序无论包含多少个函数,C#程序总是从Main函数开始执行。 5.派生类能够直接访问的基类的成员是。 A.抽象成员 B.保护成员C.私有成员D.静态成员6.下面是几条定义类的语句,不能被继承的类是。 A.abstract class Figure B.class Figure C.public class Figure D.sealed class Figure 7.下列数组初始化语句哪些是不正确的?。 A.int[] nums = new int[]{0,1,2,3,4}; B.int[] nums2 = {0,1,2,3,4,5}; C.int[][] num_1 = {new int[]{0,1},new int[]{0,1,2},new int[]{0,1,2,3}}; D.int[][] num_2 = {{0,1},{0,1,2},{0,1,2,3}}; 8. 下面有关虚方法的描述正确的是。 A. 虚方法与非虚方法相比,其优点在于:能在程序运行时,动态确定要调

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

C 语言程序设计 试 题 (2008 /2009 学年 第 二 学期) 一. 选择题(满分30分,每题2分) 1.若a 、b 、c 都定义为int 类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j ,i=1;执行语句“j=i++;”后,变量i 的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d ”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j 的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C 语言中函数返回值的类型由 D 决定的。 A. return 语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。 8. 若int i=10;执行下列程序后,变量i 的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A . char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

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