admin 管理员组

文章数量: 887019


2024年2月27日发(作者:广告联盟脚本)

..

单项选择

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

题号:1482

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

A、11 和 10

B、11 和 11

C、10 和 11

D、10 和 10

答案:

C

题号:2100

已知字符’A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D’.执行语句printf(”%d,%d”,c1,c2-2);后,输出结果是

A、65,66

B、A,B

C、65,68

D、A,68

答案:

A

题号:5055

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

A、比较大小

B、地址相同

C、赋值

D、相加

答案:

C

题号:3217

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

A、1

B、0

C、10

D、9

答案:

B

题号:45

能正确表示逻辑关系:" a≥10或a≤0 ”的C语言表达式是

A、a>=0 | a<=10

B、a>=10 or a〈=0

..

C、a>=10 && a〈=0

D、a〉=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,}该程序的输出结果是( )

A、2,2

B、2,1

C、1,1

D、1,0

答案:

B

题号:4784

设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的

数据类型为()。

A、不确定

B、double

C、int

D、float

答案:

B

题号:1647

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

main()

{

int i=0;

while(i<10)

if(i〈1) continue;

if(i==5) break;

i++;

}

b=%d”,a,b);

..

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

B、6

C、4

D、1

答案:

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);

A、192

B、25

C、29

D、27

答案:

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(“%dn", a 〉 100);

else printf(“%dn”, 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〈b;a++,b-—)

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

printf(”\n”);

}

答案:

空 1:

题号:937

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

int i = 0, sum = 1;

do

{ sum += i++;

} while( i < 5);

printf(“%dn”, sum);

答案:

空 1:

11

题号:5213

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

int x = 0177;

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

答案:

空 1:

x = 127

空 2:

x = 127

x = %6un”,x, x,

..

空 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, %dn”, 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>z)printf(”%d",x);

else printf(”%d”,y);

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

答案:

空 1:

3

程序设计

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

题号:2660

/*-——-—-——————————--—-—————-———---———-—--—-—-—--——

【程序设计】

——-—-——---—-—————-----——-—-—--—-—————--—-——-—-—--—

功能:计算出k以内最大的10个能被13或17整除的自然数之

和。(k〈3000).

———--———-——--——-—--——-——--—-—---—--—----———-—-——*/

#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 %dn”, fun(m));

bky();

void bky()

FILE *IN,*OUT;

int s ;

int t;

int o;

IN=fopen(”",”r");

if(IN==NULL)

printf("Read FILE Error");

}

OUT=fopen(””,”w");

if(OUT==NULL)

printf(”Write FILE Error");

}

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

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

o=fun(t);

fprintf(OUT,"%dn”,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、本文件外的

B、main函数

C、本函数下面定义的

D、非整型返回值的

答案:

B

题号:1764

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

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

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

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

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

答案:

A

题号:299

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

A、-e3 .234 1e3

B、160. 0.12 e3

C、123 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;

A、15

B、14

C、3

D、4

答案:

D

题号:3208

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

x=5.16894;

printf(“%fn”, (int)(x*1000+0。5)/(float)1000);

A、5.17000

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

C、5。168000

D、5。169000

答案:

D

题号:5043

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

A、5E2.0

B、1.3E

C、E-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、011122

B、120

C、012020

D、012

答案:

A

题号:572

对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。

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(“%dn", a 〉 100);

else printf(“%dn”, a <= 100);

}

答案:

空 1:

1

题号:1575

对以下数学式,写出三个等价的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)

题号:1076

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

答案:

空 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(”%d\n”,k);

}

答案:

空 1:

9

题号:2868

若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入

10、20、30、40,正确的输入形式是_____。请用

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 = %14.8lfn”, 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("%d\n",a); }

答案:

空 1:

16

题号:5410

以下程序的执行结果是_____。

main()

{

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

a = 10;

b = 20;

*p = b;

*q = a;

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

答案:

空 1:

a = 20, b = 20

题号:6975

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

main()

{ int x = 2;

..

while ( x—— );

printf(“%dn”, x);

}

答案:

空 1:

-1

程序设计

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

题号:58

/*-—----—--——-———-—-————————---—————---——-—--—--——

【程序设计】

——--——------—-———-———-——-—-————--——-—--—--——----——

功能:将字符串中的小写字母转换为对应的大写字母,

其它字符不变。

-—---—-------——————-—-—-———-——-—-—-—---———————-—*/

#include ”string.h”

#include 〈stdio.h〉

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(”",”r");

..

if(IN==NULL)

{

printf("Read FILE Error");

OUT=fopen("",”w”);

if(OUT==NULL)

printf(”Write FILE Error");

}

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

change(i);

fprintf(OUT,”%sn”,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语言表达式是

A、a>=0 | a〈=10

B、a〉=10 or a〈=0

C、a>=10 && a<=0

D、a〉=10 || a<=0

答案:

D

题号:53

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

A、int *p=&x;

B、int p=&x;

C、*p=*x;

D、int *p=x;

答案:

A

题号:2244

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

A、第一个字符

..

B、字符串

C、字符串的首地址

D、字符串变量

答案:

C

题号:3722

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

A、char c[10]= {'h’, ’a', 'b', 'c', ’d'};

B、char b[]= {'h', 'a’, ’b', ’c’, 'd', '0’};

C、char a[]={’h', ’a’, ’b’, ’c', 'd'};

D、char d[6]= {’h’, ’a', ’b’, 'c', '0’ };

答案:

C

题号:2703

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

A、getchar()

B、scanf()

C、fread()

D、gets()

答案:

A

题号:3402

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

A、int n = 10, a[n];

B、

C、

D、int a(10);

答案:

C

题号:130

若char a[10];已正确定义,以下语句中不能从键盘上给a数组的

所有元素输入值的语句是()。

A、scanf(”%s",a);

B、for(i=0;i〈10;i++)a[i]=getchar();

C、a=getchar();

D、gets(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 );

A、1,6,3,2,3

B、2,7,3,2,3

C、1,7,3,2,3

D、2,6,3,2,3

答案:

A

题号:300

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

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

B、int a(10);

C、int n; scanf(”%d”,&n); int a[n];

D、int 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 ⅰ=10, j=0;则执行完语句

if (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("%d\n",k);

}

答案:

空 1:

9

题号:5171

把a1、a2定义成单精度实型变量,并赋初值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},

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

*p = a + 5;

..

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

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

答案:

空 1:

15, 16

题号:4473

有以下程序段:

s = 1.0;

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

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

printf(“%fn", s);

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

s = 0。0;

_____;

k = 0;

do

{ s += d;

_____;

d = 1。0 / (k * (k + 1));

..

}while(_____ );

printf(“%fn”, s);

答案:

空 1:

d = 1.0

空 2:

k++

空 3:

k 〈= n

题号:6975

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

main()

{ int x = 2;

while ( x—— );

printf(“%dn”, 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("%d\n", 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 = %dn", 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,"%dn",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语言允许函数类型缺省定义,此时函数值隐含的类型是()。

A、long

B、float

C、int

D、double

答案:

C

题号:6993

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

A、1

B、2.0

C、2.5

D、2

答案:

B

题号:6988

以下程序的输出结果是

..

main()

{ int a = 2, b =5;

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

}

A、a=%2,b=%5

B、a=%%d,b=%%d

C、a=%d,b=%d

D、a=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;以下正确的程序段是()。

A、scanf("%d”,&n);*p=n;

B、p=&n;*p=m;

C、p=&n;scanf(”%d",*p)

D、p=&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(”%fn",x);

}

A、28。000000

B、27.500000

C、28.500000

D、27.000000

答案:

..

D

题号:401

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

A、’72’

B、0xFF

C、2L

D、1。2e0.5

答案:

D

题号:1684

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

A、3

B、2

C、不一定

D、1

答案:

B

题号:961

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

A、while的循环控制条件比 do-while的循环控制条件更严格

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

C、do—while 的循环体不能是复合语句

D、do—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(“%dn”, strlen(“sn0160end"));

答案:

空 1:

3

题号:2758

若x为double型变量,请写出运算x = 3。2, ++x后表达式的值_____和变量的值_____。

答案:

空 1:

4.2

空 2:

4.2

题号:3121

若有定义:int a=8,b=5,c 执行语句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〉50)printf("%d”,a);

if(a〉40)printf(”%d”,a);

if(a〉30)printf("%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("%d\n”,a); }

答案:

空 1:

..

16

题号:5410

以下程序的执行结果是_____。

main()

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

a = 10;

b = 20;

*p = b;

*q = a;

printf(“a = %d, b = %dn”, 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=%dn",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("”,"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,"%dn",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 );}

A、2

B、4

C、3

D、1

答案:

B

题号:5467

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

A、n=*q;

B、p=q;

C、p=n;

D、*p=*q;

答案:

C

题号:5820

以下程序的输出结果是

void prtv(int *x)

{ printf(“%dn”, ++*x); }

main()

{ int a = 25;

prtv(&a);

..

A、24

B、26

C、23

D、25

答案:

B

题号:6988

以下程序的输出结果是

main()

{ int a = 2, b =5;

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

A、a=%2,b=%5

B、a=%%d,b=%%d

C、a=%d,b=%d

D、a=2,b=5

答案:

C

题号:6976

语句printf(”abre'hi’yboun”);的输出结果是

(说明:’b'是退格符)().

A、abre’hi'ybou

B、re’hi’you

C、abre’hi’ybou

D、abre'hi'ybou

答案:

B

题号:166

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

A、关系运算符<算术运算符〈赋值运算符〈逻辑运算符

B、赋值运算符<逻辑运算符<关系运算符<算术运算符

C、算术运算符<关系运算符<赋值运算符〈逻辑运算符

D、逻辑运算符<关系运算符<算术运算符<赋值运算符

答案:

B

题号:333

下列语句的结果是()。

main()

..

{ int j;

j=3;

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

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

A、3,4

B、4,4

C、4,3

D、3,3

答案:

B

题号:457

设a和b均为double型变量,且a=5。5、b=2。5,则表达式(int)a+b/b的值是

A、6。000000

B、5.500000

C、6

D、6。500000

答案:

A

题号:523

若有定义:int a=7;float x=2。5,y=4。7;

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

A、3。500000

B、0.000000

C、2。750000

D、2.500000

答案:

D

题号:855

若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上

语句后,a和b的值分别是()。

A、a=4,b=4

B、a=3,b=3

C、a=3,b=4

D、a=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(“%dn", 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 = %fn”, 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〈b;a++,b--)

printf(”%c%c",a,b);

printf("\n”);

答案:

空 1:

题号:2797

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

unsigned fun6(unsigned num)

..

{ unsigned k = 1;

do

{ k *= num % 10;

num /= 10;

} while( num);

return k;

main()

{ unsigned n = 26;

printf(“%dn", 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(”%d\n", 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=5,c 执行语句c=a/b+0。4后,c的值为_____

答案:

空 1:

..

1

题号:5171

把a1、a2定义成单精度实型变量,并赋初值1的说明语句是_____.

答案:

空 1:

float a1 = 1.0, a2 = 1.0;

题号:6655

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

Int a=3,b=4,c=2;

则表达式的值为_____。

答案:

空 1:

1

程序设计

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

题号:1124

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

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

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

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

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

#include

#include 〈stdio。h〉

#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=%dn", 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 =%4dn”,max, index );

NONO();

示例代码:

int i,base,subscript;

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

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

for(i=1;i〈n;i++) {

if(a[i]>base) { /*将数组中的其他元素与变量base作比较,如果大于它则交换两者的值*/

subscript=i;

base=a[i];

}

}

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

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

题号:5537

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

A、p1/=5

B、p1+=5

C、p1=&p2

D、p1*=p2

..

答案:

C

题号:5257

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

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

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

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

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

答案:

C

题号:6968

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

A、struct

B、union

C、enum

D、typedef

答案:

A

题号:1468

设 char *s=”ta017bc";则指针变量s指向的字符串所占的字节数

是().

A、7

B、6

C、9

D、5

答案:

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, int *y)

{ static int t = 3;

*y = s[t]; t——;

..

A、4 4 4 4

B、0 0 0 0

C、1 2 3 4

D、4 3 2 1

答案:

D

题号:1700

以下叙述正确的是:

A、用do—while构成循环时,只有在while后的表达式为非零时结束循环

B、do—while语句构成的循环不能用其它语句构成的循环来代替.

C、用do—while构成循环时,只有在while后的表达式为零时结束循环

D、do-while语句构成的循环只能用break语句退出。

答案:

C

题号:2823

对两个数组a和b进行如下初始化:

char a[] = “ABCDEF";

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

则以下叙述正确的是

A、a与b中都存放字符串

B、a数组比b数组长度长

C、a与b长度相同

D、a与b完全相同

答案:

B

题号:4522

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

A、-16

B、0x16

C、16

D、0xaaaa

答案:

A

题号:1353

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

A、+

B、〈

C、=

D、-

..

答案:

A

题号:2247

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

int x=3,y;

int *px=&x;

y=*px++;

A、x=3,y=4

B、x=3,y不知

C、x=4,y=4

D、x=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(”ASDFGn”)的值是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 = %dt”,V)

main()

{

int a, b;

a = 1; b = 2;

PRINT(a);

PRINT(b);

答案:

空 1:

V = 1 V = 2

题号:6547

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

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(“%dn”, 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(“%fn”, 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(“%dn”, m);

答案:

空 1:

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

题号:561

..

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

#include "stdio。h"

main()

int x,y,z;

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

if(x〉y)

if(x〉z)printf("%d",x);

else printf("%d”,y);

printf("%d\n”,z);

}

答案:

空 1:

3

题号:1240

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

答案:

空 1:

{

空 2:

题号:1829

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

答案:

空 1:

11

空 2:

12

题号:2493

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

A)a=b或a〈c B)|x|>4

答案:

空 1:

a==b || a

空 2:

abs(x)〉4 【或】 x〈-4 || x〉4

题号:1575

对以下数学式,写出三个等价的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。2fn”, 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.2fn",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;


本文标签: 语句 输出 函数 程序 变量