聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 大学C语言考试题库(含答案)

大学C语言考试题库(含答案)

时间:2019-12-09 15:13:33    下载该word文档

单项选择

================================================== 题号: 1482

执行以下程序段后,输出结果和 a的值是()。 int a=10; printf("%d",a++); A11 10

B11 11

C10 11

D10 10

答案:

C

题号: 2100

已知字符 'A' ASCⅡ代码值是 65, 字符变量 c1的值是 'A',c2 的值是 'D'. 执行语句

printf("%d,%d",c1,c2-2); , 输出结果是

A65,66

BA,B

C65,68

DA,68

答案:

A

题号: 5055

相同结构体类型的变量之间,可以()。

A、比较大小

B、地址相同

C、赋值

D、相加

答案:

C

题号: 3217

int a[10]; 合法的数组元素的最小下标值为()。

A1

B0

C10

D9

答案:

B

题号: 45

能正确表示逻辑关系 :" a 10 a 0 " C语言表达式是Aa>=0 | a<=10

Ba>=10 or a<=0

Ca>=10 && a<=0


Da>=10 || a<=0

答案:

D

题号: 157

main()

{int x=1,a=0,b=0;

switch (x)

{ case 0: b++; case 1: a++;

case 2: a++;b++;} printf("a=%d,b=%d",a,b);

} 该程序的输出结果是 ( ) A2,2

B2,1

C1,1

D1,0

答案:

B

题号: 4784

设变量 a是整型, f 是实型, i 是双精度型,则表达式 10+'a'+i*f 值的数据类型为()。

A、不确定

Bdouble

Cint

Dfloat

答案:

B

题号: 1647

以下程序中, while 循环的循环次数是 ______

main()

{

int i=0;

while(i<10)

{

if(i<1) continue;

if(i==5) break;

i++;

}

}

A、死循环,不能确定次数

B6


C4

D1

答案:

A

题号: 191

若有说明语句 :char c='\72'; 则变量 c()。

A、说明不合法, c的值不确定

B、包含 3个字符

C、包含 1个字符

D、包含 2个字符

答案:

C

题号: 1300

下列程序运行结果为:

#define P 3

#define S(a) P*a*a

main()

{int ar;

ar=S(3+5);

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

}

A192

B25

C29

D27

答案:

C

判断

==================================================

题号: 6755

i =3 ,则 printf("%d",-i++); 输出的值为 -4

答案:错误


题号: 6167

表达式 (j=3, j++)


的值是 4.


答案:错误

题号: 1495

C语言中只能逐个引用数组元素而不能一次引用整个数组。

答案:正确

题号: 2921

参加位运算的数据可以是任何类型的数据。

答案:错误

题号: 2691

若有 int i=10,j=2; 则执行完 i*=j+8; 后ⅰ的值为 28

答案:错误

题号: 464

a=3,b=2,c=1 则关系表达式 "(a>b)==c" 的值为 " "

答案:正确

题号: 66

若有 # define S(a,b) a*b 则语句 area=S(3,2); area 的值为 6

答案:正确

题号: 758

若有宏定义: #define S(a,b) t=a;a=b;b=t 由于变量 t 没定义,所以此宏定义是错误的。

答案:错误

题号: 2158

#define printf 都不是 C语句。

答案:正确

题号: 5102

关系运算符 <= == 的优先级相同。

答案:错误


填空


==================================================

题号: 1076

表达式 3.5 + 1 / 2的计算结果是 _____

答案:

1:

3.5

题号: 551

请写出以下程序的输出结果 _____

main()

{ int a = 100;

if( a > 100) printf( n%d, a > 100);

else printf( n%d, a <= 100);

}

答案:

1:

1

题号: 3255

表达式( int )(( double )( 5/2 +2.5 )的值是 _____.

答案:

1:

4

题号: 2472

阅读下面程序,程序执行后的输出结果为 _____

#include "stdio.h"

main()

{

char a,b;

for a= 0 ,b= 9 ;a

printf "%c%c",a,b ;

printf "n" ;

}

答案:

1:

0918273645


题号: 937


以下程序段的输出结果是 _____

int i = 0, sum = 1;

do

{ sum += i++;

} while( i < 5);

printf( \n%d, sum);

答案:

1:

11

题号: 5213

以下程序段的输出结果是 _______________ __________

int x = 0177;

printf( x = %3d, x = %6d, x = %6o, x = %6x, x = %6un , x, x, x, x, x);

答案:

1:

x = 127

2:

x = 127

3:

x = 177

4:

x = 7f

5:

x = 127

题号: 3210

以下程序的输出结果是 _____

main()


{


int a = 3, b = 2, c = 1;

c -= ++b;

b *= a + c;

{ int b = 5, c = 12;


c /= b * 2;

a -= c;

printf( %d, %d, %d, , a, b, c );

a += --c;

}

printf( %d, %d, n%d, a, b, c);

}


答案:

1: 2,5,1,2,3,-2

题号: 4474

当计算机用两个字节存放一个整数时, 其中能存放的最大十进制整数是 _____、最小

十进制整数是 _____,它们的二进制形式是 _____

答案:

1:

65535

2:

-32768

3:

1111 1111 1111 1111,1000 0000 0000 0000

题号: 2791

结构化程序由 _____ __________三种基本结构组成。

答案:

1:

顺序

2:

条件分支 【或】 选择

3:

循环

题号: 561

阅读下面程序,程序执行后的输出结果是 _____

#include "stdio.h"

main()

{

int x,y,z;

x = 1; y = 2; z = 3;

if x>y

if x>zprintf "%d",x;

else printf "%d",y;

printf "%dn",z;

}

答案:

1:


3


程序设计

==================================================

题号: 2660

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:计算出 k以内最大的 10个能被 1317整除的自然数之和。( k3000)。

------------------------------------------------*/

#include

#include"conio.h"

void bky();


int fun(int k)

{

/**********


Begin **********/


/********** End **********/

}

main()

{

int m;

printf("Enter m: ");

scanf("%d", &m);


printf("\nThe result is %d\n", fun(m));

bky();

}

void bky()

{

FILE *IN,*OUT;

int s ;

int t;

int o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read FILE Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write FILE Error");

}

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

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%d\n",o);

}

fclose(IN);

fclose(OUT);

}

示例代码:

int a=0,b=0;

while((k>=2)&&(b<10))

{if((k%13==0)||(k%17==0))

{a=a+k;b++;}

k--;

}

return a;


题号: 5854

C语言中不可以嵌套的是()。

A、选择语句

B、循环语句

C、函数调用

D、函数定义

答案:

D

题号: 1957

C语言中 , 逻辑" " 等价于

A、非零的整数

B、大于零的整数

C、非零的数

D、大于零的数

答案:

C

题号: 3786

用户定义的函数不可以调用的函数是()。

A、本文件外的

Bmain函数

C、本函数下面定义的

D、非整型返回值的

答案:

B

题号: 1764

以下叙述中正确的是 ()。

AC程序中注释部分可以出现在程序中任意合适的地方

B、分号是 C语句之间的分隔符 , 不是语句的一部分

C、花括号 {“和”}”只能作为函数体的定界符

D、构成 C程序的基本单位是函数 , 所有函数名都可以由用户命名答案:

A

题号: 299

下面四个选项中,均是不合法的浮点数的选项是()。

A-e3 .234 1e3

B160. 0.12 e3

C123 2e4.2 .e5

D-.18 123e4 0.0

答案:


C

题号: 6131

假定所有变量均已正确定义,下列程序段运行后 x的值是()。

k1=1;

k2=2;

k3=3;

x=15;

if(!k1) x--;

else if(k2) x=4;

else x=3;

A15

B14

C3

D4

答案:

D

题号: 3208

若变量已正确定义,以下程序段的输出结果是

x=5.16894;

printf( n%f , (int)(x*1000+0.5)/(float)1000); A5.17000

B、输出格式说明与输出项不匹配,输出无定值

C5.168000

D5.169000

答案:

D

题号: 5043

以下选项中合法的实型常数是()。

A5E2.0

B1.3E

CE-3

D.2E0

答案:

D

题号: 5608

有以下程序

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、将 5个初值依次赋给 a[1] a[5]

B、将 5个初值依次赋给 a[6] a[10]

C、因为数组长度与初值的个数不相同 , 所以此语句不正确D、将 5个初值依次赋给 a[0] a[4]

答案:

D

判断

==================================================

题号: 1325

若有说明 int c; while(c=getchar()); 是正确的 C语句。

答案:正确


题号: 3386

若有 int =10, j=0;

if (j=0) + +; else


则执行完语句

- -; ⅰ的值为 11


答案:错误


题号: 464

a=3,b=2,c=1 则关系表达式 "(a>b)==c" 的值为 " "

答案:正确


题号: 2316

while do while 循环不论什么条件下它们的结果都是相同的 .

答案:错误

题号: 2989

char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句。

答案:正确

题号: 5034

语句 scanf("%7.2f",&a); 是一个合法的 scanf 函数。

答案:错误

题号: 2067

如果想使一个数组中全部元素的值为 0,可以写成

int a[10]={0*10};

答案:错误

题号: 5263

x*=y+8 等价于 x=x*(y+8)

答案:正确

题号: 3862

如果函数值的类型和 return 语句中表达式的值不一致,则以函数类型为准。

答案:正确

题号: 3558

整数 -32100 可以赋值给 int 型和 long int 型变量。

答案:正确

填空

==================================================

题号: 551

请写出以下程序的输出结果 _____


main()


{ int a = 100;

if( a > 100) printf(

else printf(


n%d , a > 100);

n%d , a <= 100);


}


答案:

1:

1

题号: 1575

对以下数学式,写出三个等价的 C语言表达式是 __________ _____

a

b c

1:

3.5

题号: 2758

x double型变量,请写出运算 x = 3.2, ++x后表达式的值 _____和变量的值 _____

答案:

1:

4.2

2:

4.2

题号: 582

以下程序的执行结果是 _____

main()

{

int k=8;

switch k


{

case 9: k+=1;

case 10: k+=1;

case 11: k+=1; break;

default: k+=1;

}

printf "%dn",k;

}

答案:

1:

9

题号: 2868

若要通过以下语句给 abc d分别输入字符 A B CD,给 w x y z分别输

1020 3040,正确的输入形式是 _____。请用 代表 Enter键。

scanf( %d%c%d%c%d%c%d%c,&w, &a, &x,&b, &y, &c, &z, &d); 答案:

1:

10A20B30C40D

题号: 4063

以下程序段的输出结果是 _______________ _____

double a = 513.789215;

printf( a = %8.6f, a = %8.2f, a = %14.8f, a = %14n.8lf, a, a, a, a);

答案:

1:

a = 513.789215

2:

a = 513.79

3:

a = 513.78921500

4:

a = 513.78921500

题号: 5076

以下程序的输出结果是 _____

main()

{int a=0;


a+= a=8 ;

printf "%dn",a; }

答案:

1:

16

题号: 5410

以下程序的执行结果是 _____

main()

{

int a, b, *p = &a, *q = &b;

a = 10;

b = 20;

*p = b;

*q = a;

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

}

答案:

1:

a = 20, b = 20

题号: 6975

以下程序的输出结果是 _____

main()

{ int x = 2;

while ( x-- );

printf( n%d , x);

}

答案:

1:

-1

程序设计


==================================================


题号: 58

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:将字符串中的小写字母转换为对应的大写字母,其它字符不变。

------------------------------------------------*/

#include "string.h"

#include

void bky();

void change(char str[])


{

/**********


Begin **********/


/********** End **********/

}

main()

{

void change();

char str[40];

gets(str);

change(str);

puts(str);

bky();

}

void bky()

{

FILE *IN,*OUT;

char i[200];


IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read FILE Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write FILE Error");

}

fscanf(IN,"%s",i);

change(i);

fprintf(OUT,"%s\n",i);

fclose(IN);

fclose(OUT);

}

示例代码:

int i;

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

if(str[i]>='a' && str[i]<='z')

str[i]=str[i]-32;

题号: 45

能正确表示逻辑关系 :" a 10 a 0 " C语言表达式是Aa>=0 | a<=10

Ba>=10 or a<=0

Ca>=10 && a<=0

Da>=10 || a<=0

答案:

D

题号: 53

若已定义 x int 类型变量,下列语句中说明指针变量 p的正确语句是()。

Aint *p=&x;

Bint p=&x;


C*p=*x;

Dint *p=x;

答案:

A

题号: 2244

字符串指针变量中存入的是

A、第一个字符

B、字符串

C、字符串的首地址

D、字符串变量

答案:

C

题号: 3722

下列字符数组长度为 5的是

Achar c[10]= {'h', 'a', 'b', 'c', 'd'};

Bchar b[]= {'h', 'a', 'b', 'c', 'd', '\0'};

Cchar a[]={'h', 'a', 'b', 'c', 'd'};

Dchar d[6]= {'h', 'a', 'b', 'c', '\0' };

答案:

C

题号: 2703

从键盘上输入某字符串时,不可使用的函数是()。

Agetchar()

Bscanf()

Cfread()

Dgets()

答案:

A

题号: 3402

以下对整型数组 a的正确说明是:

Aint n = 10, a[n];

B

C

Dint a(10);

答案:


C

题号: 130

char a[10]; 已正确定义,以下语句中不能从键盘上给 a数组的所有元素输入值的语句是()。

Ascanf("%s",a);

Bfor(i=0;i<10;i++)a[i]=getchar(); Ca=getchar();

Dgets(a);

答案:

C

题号: 191

若有说明语句 :char c='\72'; 则变量 c()。

A、说明不合法, c的值不确定

B、包含 3个字符

C、包含 1个字符

D、包含 2个字符

答案:

C

题号: 4539

以下程序的输出结果是

main()


{


int i = 1, j = 3;

printf( %d, , i++);

{ int i = 0;


i += j * 2;

printf( %d,%d, , i, j );

}

pritnf( %d,%dn , i, j );

}

A1,6,3,2,3

B2,7,3,2,3

C1,7,3,2,3

D2,6,3,2,3

答案:

A

题号: 300

以下对一维整型数组 a的正确说明是()。

A#define SIZE 10 ( 换行 ) int a[SIZE];

Bint a(10);

Cint n; scanf("%d",&n); int a[n];

Dint n=10,a[n];


答案:

A

判断

==================================================

题号: 2691

若有 int i=10,j=2; 则执行完 i*=j+8; 后ⅰ的值为 28

答案:错误

题号: 2067

如果想使一个数组中全部元素的值为 0,可以写成

int a[10]={0*10};

答案:错误

题号: 1118

函数调用语句 :func(rec1,rec2+rec3,(rec4,rec5)); , 含有的实参个数是 5.

答案:错误

题号: 1534

C语言所有函数都是外部函数 .

答案:错误

题号: 2158

#define printf 都不是 C语句。

答案:正确

题号: 6321

循环结构中的 continue 语句是使整个循环终止执行

答案:错误

题号: 2583

在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。

答案:正确


题号: 3386


若有 int

if (j=0)


=10, j=0; + +; else


则执行完语句

- -; ⅰ的值为 11


答案:错误


题号: 2998

c程序总是从程序的第一条语句开始执行 .

答案:错误

题号: 5034

语句 scanf("%7.2f",&a); 是一个合法的 scanf 函数。

答案:错误

填空

==================================================

题号: 582

以下程序的执行结果是 _____

main()

{

int k=8;

switch k

{

case 9: k+=1;

case 10: k+=1;

case 11: k+=1; break;

default: k+=1;

}

printf "%dn",k;

}

答案:

1:

9

题号: 5171

a1a2定义成单精度实型变量,并赋初值 1的说明语句是 _____


答案:

1:

float a1 = 1.0, a2 = 1.0;

题号: 63

以下程序的输出结果是 _____

#define PR(ar) printf( ar = %d, ar)

main()

{ int j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15}, *p = a + 5;

for(j = 3; j ; j--)

switch( j )

{ case 1:

case 2: PR(*p++); break;

case 3: PR(*(--p) );

}

}

答案:

1:

ar=9 ar=9 ar=11

题号: 3255

表达式( int )(( double )( 5/2 +2.5 )的值是 _____.

答案:

1:

4

题号: 1076

表达式 3.5 + 1 / 2的计算结果是 _____

答案:

1:

3.5

题号: 6547

a = 1b = 2c = 3时,以下 if 语句执行后, abc中的值分别为: __________

_____

if(a > c)

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

答案:

1:


3


2:

2

3:

2

题号: 3925

阅读下面程序,则执行后程序的结果为 _____

#include "stdio.h"

main()

{

int a=0,b=0;

while a<15

a++;

while b++<15;

printf "%d,%dn",a,b;

}

答案:

1:

15, 16

题号: 4473

有以下程序段:

s = 1.0;

for(k = 1; k <= n; k++)

s = s + 1.0 / (k * (k + 1));

printf( n%f , s);

请填空,使下面的程序段的功能完全与之等同。

s = 0.0;

_____;

k = 0;

do

{ s += d;

_____;

d = 1.0 / (k * (k + 1));

}while(_____ );

printf( n%f , s);

答案:

1:

d = 1.0

2:

k++


3:

k <= n

题号: 6975

以下程序的输出结果是 _____

main()

{ int x = 2;

while ( x-- );

printf( n%d , x);

}

答案:

1:

-1

题号: 4423

下列程序的功能是输入一个整数, 判断其是否是素数, 若为素数输出 1,否则输出 0. 请填空。

main()

{ int i, x, y=1;


scanf "%d", &x


;


for


i=2; i<= _____; i++



if_____{ y=0; break;}


printf


"%dn", y


;


}


答案:

1: x / 2

2:

!(x % i) 【或】 x % i == 0

程序设计

==================================================

题号: 788

/*-------------------------------------------------------


【程序设计】

---------------------------------------------------------

题目:用 while 语句求 1 100的累计和。

-------------------------------------------------------*/

void bky();

int fun(int n)

{

/********** Begin **********/

/********** End **********/

}

void main()

{

int sum = 0;

sum=fun(100);

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

bky();

}

void bky()

{

FILE *IN,*OUT;

int i;

int iIN,iOUT;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Please Verify The Currernt Dir..it May Be Changed");

}


OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Please Verify The Current Dir.. it May Be Changed");

}

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

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

示例代码:

int i=1,sum=0;

while(i<=n)

{

sum=sum+i;

i++;

}

return sum;

题号: 4662

变量 p为指针变量,若 p=&a,下列说法不正确的是()。

A*(p++)==a++

B&*p==&a

C(*p)++==a++

D*&a==a

答案:

A

题号: 6651

C语言允许函数类型缺省定义,此时函数值隐含的类型是()。

Along

Bfloat


Cint

Ddouble

答案:

C

题号: 6993

若已定义 x y double 类型,则表达式 x=1,y=x+3/2 的值是()。

A1

B2.0

C2.5

D2

答案:

B

题号: 6988

以下程序的输出结果是

main()

Aa=%2,b=%5

Ba=%%d,b=%%d

Ca=%d,b=%d

Da=2,b=5

答案:

C

题号: 5659

若有定义 int a[10],*p=a;, p+5表示

A、元素 a[5] 的地址

B、元素 a[6] 的地址

C、元素 a[6] 的值

D、元素 a[5] 的值

答案:

A

题号: 6490

若有说明 :int *p,m=5,n; 以下正确的程序段是()。

Ascanf("%d",&n);*p=n;

Bp=&n;*p=m;

Cp=&n;scanf("%d",*p)

Dp=&n;scanf("%d",&p);

答案:

B


题号: 6073


下列程序的输出结果为()。

main()

{int m=7,n=4;

float a=38.4,b=6.4,x;

x=m/2+n*a/b+1/2;

printf("%f\n",x);

}

A28.000000

B27.500000

C28.500000

D27.000000

答案:

D

题号: 401

以下所列的 C语言常量中,错误的是()。

A'\72'

B0xFF

C2L

D1.2e0.5

答案:

D

题号: 1684

int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b; c的值为()。

A3

B2

C、不一定

D1

答案:

B

题号: 961

C语言中 while do-while 循环的主要区别是()。

Awhile 的循环控制条件比 do-while 的循环控制条件更严格Bdo-while 的循环体至少无条件执行一次

Cdo-while 的循环体不能是复合语句

Ddo-while 允许从外部转到循环体内

答案:

B


判断

==================================================

题号: 3927

两个字符串中的字符个数相同时才能进行字符串大小的比较答案:错误

题号: 5124

7&3+12的值是 15

答案:错误

题号: 3721

语句 printf("%f%%",1.0/3); 输出为 0.333333

答案:错误

题号: 3862

如果函数值的类型和 return 语句中表达式的值不一致,则以函数类型为准。

答案:正确

题号: 6755

i =3 ,则 printf("%d",-i++); 输出的值为 -4

答案:错误

题号: 4579

通过 return 语句,函数可以带回一个或一个以上的返回值。

答案:错误

题号: 2440

int i,*p=&i; 是正确的 C说明。

答案:正确

题号: 4678

a=(b=4)+(c=6) 是一个合法的赋值表达式。

答案:正确

题号: 6288

十进制数 15的二进制数是 1111.

答案:正确


题号: 464

a=3,b=2,c=1 则关系表达式 "(a>b)==c" 的值为 " "

答案:正确

填空

==================================================

题号: 2713

以下程序段的输出结果是 _____

printf( n%d, strlen( “s0end));

答案:

1:

3

题号: 2758

x double型变量,请写出运算 x = 3.2, ++x后表达式的值 _____和变量的值 _____

答案:

1:

4.2

2:

4.2

题号: 3121

若有定义: int a=8 b=5c 执行语句 c=a/b+0.4 后, c的值为 _____

答案:

1:

1

题号: 4474

当计算机用两个字节存放一个整数时, 其中能存放的最大十进制整数是 _____、最小

十进制整数是 _____,它们的二进制形式是 _____

答案:

1:

65535

2:

-32768


3:

1111 1111 1111 1111,1000 0000 0000 0000

题号: 4683

若从键盘输入 58,则以下程序输出的结果是 _____

main()

{

int a;

scanf"%d",&a ;

if a>50printf "%d",a;

if a>40printf "%d",a;

if a>30printf "%d",a;

}

答案:

1:

585858

题号: 1262

请写出与以下表达式等价的表达式是 A _____B_____

A)!( x>0 B )! 0

答案:

1:

x <= 0

2:

1

题号: 5076

以下程序的输出结果是 _____

main()

{int a=0;

a+= a=8 ;

printf "%dn",a; }

答案:

1:

16

题号: 5410

以下程序的执行结果是 _____

main()


{

int a, b, *p = &a, *q = &b;

a = 10;

b = 20;

*p = b;

*q = a;

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

}

答案:

1:

a = 20, b = 20

题号: 5299

运用位运算,能将八进制数 0125000除以 4,然后赋给变量 a的表达式是 _____

答案:

1:

a = 0125000>>2

题号: 2211

C语言程序中,用关键字 _____定义基本整型变量,用关键字 _____定义单精度实型变量,用关键字 _____定义双精度实型变量。

答案:

1:

int

2: float 3: double

程序设计

==================================================

题号: 4003

/*------------------------------------------------

【程序设计】


--------------------------------------------------

功能:求一个四位数的各位数字的立方和

------------------------------------------------*/

#include

void VV();

int fun(int n)

{

/********** Begin **********/

/********** End ***********/

}

main()

{

int k;

k=fun(1234);

printf("k=%d\n",k);

VV();

}

void VV()

{

FILE *IN,*OUT;

int iIN,iOUT,i;

IN=fopen("22.IN","r");

if(IN==NULL)

{

printf("Please Verify The Currernt Dir..it May Be Changed");

}

OUT=fopen("22.out","w");


if(OUT==NULL)

{

printf("Please Verify The Current Dir.. it May Be Changed");

}

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

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

示例代码:

int d,k,s=0;

while (n>0)

{

d=n%10;

s+=d*d*d;

n/=10;

}

return s;

题号: 6991

以下程序的执行结果是 ________.

main()

{ int w = 1, x = 2, y = 3, z = 4; w =( w < x ) ? x : w;

w =( w < y ) ? y : w;

w =( w < z ) ? z : w;

printf( "%d " , w );}

A2

B4


C3

D1

答案:

B

题号: 5467

若有说明 :int n=2,*p=&n,*q=p; ,则以下非法的赋值语句是()。

An=*q;

Bp=q;

Cp=n;

D*p=*q;

答案:

C

题号: 5820

以下程序的输出结果是

void prtv(int *x)

{ printf( n%d , ++*x); } main()

{ int a = 25;

prtv(&a);

}

A24

B26

C23

D25

答案:

B

题号: 6988

以下程序的输出结果是

main()

{ int a = 2, b =5;

printf( a=%%d,b=%%dn ,a, b);

}

Aa=%2,b=%5

Ba=%%d,b=%%d

Ca=%d,b=%d

Da=2,b=5

答案:

C


题号: 6976

语句 printf("a\bre\'hi\'y\\\bou\n");


的输出结果是


( 说明 :'\b' 是退格符 ) ()。

Aa\bre\'hi\'y\\\bou

Bre'hi'you

Cabre'hi'y\bou

Da\bre\'hi\'y\bou

答案:

B

题号: 166

以下关于运算符优先顺序的描述中正确的是()。

A、关系运算符 <算术运算符 <赋值运算符 <逻辑运算符B、赋值运算符 <逻辑运算符 <关系运算符 <算术运算符C、算术运算符 <关系运算符 <赋值运算符 <逻辑运算符D、逻辑运算符 <关系运算符 <算术运算符 <赋值运算符答案:

B

题号: 333

下列语句的结果是()。

main()

{ int j;

j=3;

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

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

}

A3,4

B4,4

C4,3

D3,3

答案:

B

题号: 457

a b均为 double 型变量,且 a=5.5 b=2.5 ,则表达式 (int)a+b/b 的值是A6.000000

B5.500000

C6

D6.500000

答案:

A

题号: 523

若有定义 :int a=7;float x=2.5,y=4.7;

则表达式 x+a%3*(int)(x+y)%2/4 的值是()。

A3.500000


B0.000000

C2.750000

D2.500000

答案:

D

题号: 855

若有以下程序段: int a=3,b=4; a=a^b;b=b^a;a=a^b; 则执行以上语句后, a b的值分别是()。

Aa=4,b=4

Ba=3,b=3

Ca=3,b=4

Da=4,b=3

答案:

D

判断

==================================================

题号: 1325

若有说明 int c; while(c=getchar()); 是正确的 C语句。

答案:正确

题号: 478

C语言中 "%"运算符的运算对象必须是整型 .

答案:正确

题号: 2998

c程序总是从程序的第一条语句开始执行 .

答案:错误

题号: 3246

假设有 int a[10], *p; p=&a[0]p=a等价

答案:正确

题号: 2158

#define printf 都不是 C语句。


答案:正确

题号: 1498

C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。

答案:正确

题号: 6288

十进制数 15的二进制数是 1111.

答案:正确

题号: 5263

x*=y+8 等价于 x=x*(y+8)

答案:正确

题号: 2691

若有 int i=10,j=2; 则执行完 i*=j+8; 后ⅰ的值为 28

答案:错误

题号: 5102

关系运算符 <= == 的优先级相同。

答案:错误

填空

==================================================

题号: 937

以下程序段的输出结果是 _____

int i = 0, sum = 1;

do

{ sum += i++; } while( i < 5);

printf( n%d, sum);

答案:

1:


11


题号: 1076

表达式 3.5 + 1 / 2的计算结果是 _____

答案:

1:

3.5

题号: 1797

以下程序段,要求通过 scanf语句给变量赋值,然后输出变量的值。写出运行时给 k 输入 100,给 a输入 25.81

x输入 1.89234时的三种可能的输入形式 __________ _____

int k; flaot a; double x;

scanf( %d%f%lf , &k, &a, &x);

printf( k = %d, a = %f, x =n%f , k, a, x);

答案:

1:

100 25.81 1.8923

2:

100 25.81 1.8923

3:

100 25.81 1.8923

题号: 2472

阅读下面程序,程序执行后的输出结果为 _____

#include "stdio.h"

main()

{

char a,b;

for a= 0 ,b= 9 ;a

printf "%c%c",a,b ;

printf "n" ;

}

答案:

1:

0918273645

题号: 2797

以下程序的输出结果是 _____


unsigned fun6(unsigned


num)


{


unsigned


k = 1;


do

{k *= num % 10; num /= 10;

} while( num); return k;

}

main()

{ unsigned n = 26;

printf( n%d, fun6(n));

}

答案:

1:

12

题号: 4423

下列程序的功能是输入一个整数, 判断其是否是素数, 若为素数输出 1,否则输出 0. 请填空。

main()

{ int i, x, y=1;


scanf "%d", &x


;


for


i=2; i<= _____; i++



if_____{ y=0; break;}


printf


"%dn", y


;


}


答案:

1:

x / 2

2:

!(x % i) 【或】 x % i == 0

题号: 6966

设变量 a的二进制数是 00101101,若想通过运算 a^b使a的高 4位取反,低 4位不变,

b的二进制数应该是 _____。答案:

1: 11110000

题号: 3121

若有定义: int a=8 b=5c 执行语句 c=a/b+0.4 后, c的值为 _____

答案:


1:

1

题号: 5171

a1a2定义成单精度实型变量,并赋初值 1的说明语句是 _____。答案:

1:

float a1 = 1.0, a2 = 1.0;

题号: 6655

*

若表达式( a+b>c 2&& b=5|| !( 1/2 )中, abc的定义和赋值为

Int a=3 b=4c=2

则表达式的值为 _____

答案:

1:

1

程序设计

==================================================

题号: 1124

/* 请编写一个函数 fun ,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,

最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。

主函数中 x是数组名, n x中的数据个数, max存放最大值, index 存放最大值所在元素的下标。

注意:部分源程序存在文件 prog.c 中。

请勿改动主函数 main和其它函数中的任何内容, 仅在函数 fun 的花括号中填入你编写的若干语句。 */

#include

#include

#include

void fun(int a[], int n , int *max, int *d )

{


/********** Begin **********/

/********** End ***********/

}

void NONO ( )

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ;

int i, x[20], max , index, n = 10, j ;

fp = fopen("bc06.in","r") ;

if(fp == NULL) {

printf(" 数据文件 bc06.in 不存在 !") ;

return ;

}

wf = fopen("bc06.out","w") ;

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

for(j = 0 ; j < n ; j++) fscanf(fp, "%d,", &x[j]) ;

fun( x, n , &max, &index);

fprintf(wf, "Max=%d,Index=%d\n", max, index) ;

}

fclose(fp) ;

fclose(wf) ;

}

main()

{ int i, x[20], max , index, n = 10; srand(time(0));

for (i=0;i < n;i++) {x[i] = rand()%50; printf("%4d", x[i]) ; } printf("\n");

fun( x, n , &max, &index);

printf("Max =%5d , Index =%4d\n",max, index );

NONO();

}


示例代码:

int i,base,subscript;


base=a[0]; /* 假定第一个元素的值最大 */

subscript=0; /*subscript 用于存放数组下标


*/


for(i=1;i


if(a[i]>base)


{ /* 将数组中的其他元素与变量


base作比较,如果大于它则


交换两者的值


*/


subscript=i;

base=a[i];

}

}

*max=base; /* 将最大值元素的值赋给 *max*/

*d=subscript; /* 将最大值元素的下标赋给 *d*/

题号: 5537

有定义 :char*p1,*p2; 则下列表达式中正确合理的是

Ap1/=5

Bp1+=5

Cp1=&p2

Dp1*=p2

答案:

C

题号: 5257

若有定义 :int *p[3]; ,则以下叙述中正确的是()。

A、定义了一个名为 *p 的整型数组,该数组含有三个 int 类型元素

B、定义了一个可指向一维数组的指针变量 p,所指一维数组应具有三个 int 类型元素

C、定义了一个指针数组 p,该数组含有三个元素 , 每个元素都是基类型为 int 的指针

D、定义了一个基类型为 int 的指针变量 p,该变量具有三个指针

答案:

C

题号: 6968

C语言中,定义结构体的保留字是()。

Astruct

Bunion

Cenum


Dtypedef

答案:

A

题号: 1468

char *s="\ta\017bc"; 则指针变量 s指向的字符串所占的字节数是()。

A7

B6

C9

D5

答案:

B

题号: 5300

以下程序的输出结果是

main()


{


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

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

{ sub(a, &x); printf( %d, x);}

pritnf( n“” );


}


sub(int *s,

{ static


int int


*y)

t = 3;


*y = s[t];


t--;


}


A4444

B0000

C1234

D4321

答案:

D

题号: 1700

以下叙述正确的是 :

A、用 do-while 构成循环时,只有在 while 后的表达式为非零时结束循环Bdo-while 语句构成的循环不能用其它语句构成的循环来代替。

C、用 do-while 构成循环时,只有在 while 后的表达式为零时结束循环Ddo-while 语句构成的循环只能用 break 语句退出。

答案:

C

题号: 2823

对两个数组 ab进行如下初始化:

char a[] = ABCDEF;


char b[] = { A,B,C,D,E,F};

则以下叙述正确的是

Aab中都存放字符串

Ba数组比 b数组长度长

Cab长度相同

Dab完全相同

答案:

B

题号: 4522

以下数值中,不正确的八进制数或十六进制数是()。

A-16

B0x16

C16

D0xaaaa

答案:

A

题号: 1353

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

A+

B<

C=

D-

答案:

A

题号: 2247

执行下列语句后的结果为()。

int x=3,y;

int *px=&x;

y=*px++;

Ax=3,y=4

Bx=3,y 不知

Cx=4,y=4

Dx=3,y=3

答案:

D


判断


==================================================

题号: 2921

参加位运算的数据可以是任何类型的数据。

答案:错误

题号: 2316

while do while 循环不论什么条件下它们的结果都是相同的 .

答案:错误

题号: 3246

假设有 int a[10], *p; p=&a[0]p=a等价

答案:正确

题号: 2851

字符处理函数 strcpy(str1,str2) 的功能是把字符串 1接到字符串 2的后面 .

答案:错误

题号: 4703

函数 strlen("ASDFG\n") 的值是 7

答案:错误

题号: 5124

7&3+12的值是 15

答案:错误

题号: 6167

表达式 (j=3, j++) 的值是 4.

答案:错误

题号: 4678

a=(b=4)+(c=6) 是一个合法的赋值表达式。

答案:正确

题号: 3721

语句 printf("%f%%",1.0/3); 输出为 0.333333

答案:错误

题号: 583

若有定义和语句:


int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);

若通过键盘输入:

10,A,12.5, a=10,c='A',f=12.5.

答案:正确

填空

==================================================

题号: 6886

以下程序的执行结果是 _____

#define PRINT(V) printf( V = %d\t,V)

main()

{

int a, b;

a = 1; b = 2;

PRINT(a);

PRINT(b);

}

答案:

1:

V=1 V=2

题号: 6547

a = 1b = 2c = 3时,以下 if 语句执行后, abc中的值分别为: __________

_____

if(a > c)

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

答案:

1:

3

2:

2

3:


2


题号: 5307

下列程序的执行结果是 _____

int d = 1;

fun(int p)

{int d = 5; d += p++;

pritnf( %d , d);

}

main()

{int a = 3;

fun(a);

d += a++;

printf( n%d , d);

}

答案:

1:

8 4

题号: 1540

以下程序的输出结果是 _____

double sub(double x, double y, double z)

{ y -= 1.0;

z = z + x;

return z;

}

main()

{ double a = 2.5, b = 9.0;

printf( n%f , sub(b- a, a, b));

}

答案:

1:

15.500000

题号: 606

以下程序段的输出结果是 _____

int k, n, m;

n = 10; m = 1; k = 1;

while( k <= n )

m *= 2;

printf( n%d, m);

答案:


1:

无输出结果 【或】 死循环 【或】 死循环无输出结果

题号: 561

阅读下面程序,程序执行后的输出结果是 _____

#include "stdio.h"

main()

{

int x,y,z;

x = 1; y = 2; z = 3;

if x>y

if x>zprintf "%d",x;

else printf "%d",y;

printf "%dn",z;

}

答案:

1:

3

题号: 1240

函数体由符号 _____开始,用符号 _____结束。

答案:

1:

{

2:

}

题号: 1829

k int型变量且赋值 11,请写出运算 k++后表达式的值 _____和变量的值 _____

答案:

1:

11

2:

12

题号: 2493

将下列数学式改写成 C语言的关系表达式或逻辑表达式是 A _____B_____

Aa=b a B |x|>4

答案:

1:


a==b || a

2:

abs(x)>4 【或】 x<-4 || x>4

题号: 1575

对以下数学式,写出三个等价的 C语言表达式是 __________ _____

a

b c

答案:

1:

a/c/b 【或】 a/(b*c) 【或】 a/b/c

2:

a/c/b 【或】 a/b/c 【或】 a/(b*c)

3:

a/b/c 【或】 a/c/b 【或】 a/(b*c)

程序设计

==================================================

题号: 5002

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:对某一正数的值保留 2位小数,并对第三位进行四舍五入。

------------------------------------------------*/

#include "stdio.h"

#include "conio.h"

float fun(float h)

{

/*********Begin**********/


/********** End **********/

}

main()

{

float m;

void TestFunc();

printf("Enter m: ");

scanf("%f", &m);

printf("\nThe result is %8.2f\n", fun(m));

TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

int s ;

float t;

float o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read File Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write File Error");

}

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

{

fscanf(IN,"%f",&t);

o=fun(t);


fprintf(OUT,"%8.2f\n",o);

}

fclose(IN);

fclose(OUT);

}

示例代码:

int i;

i=(int)(h*1000)%10;

if(i>=5)

return(int)(h*100+1)/100.0;

else

return(int)(h*100)/100.0;

免费下载 Word文档免费下载: 大学C语言考试题库(含答案)

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服