C程序设计模拟试题5答案

  • 格式:doc
  • 大小:93.50 KB
  • 文档页数:16

C程序设计模拟试题5

《C程序设计》模拟试题五

一、 单项选择题(每小题1.5分,共60分)。

1 C语言中最简单的数据类型包括___ B)_____。

A)整型、实型、逻辑型 B)整型、实型、字符型

C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型

2 C语言中,运算对象必须是整型数的运算符是___ A)_____。

A)% B), C)%和, D)**

3 在C语言中,能代表逻辑值"真"的是___ D)_____。

A)true B)大于0的数 C)非0整数 D)非0的数

4 下述对C语言字符数组的描术中错误的是____ C)____。

A)字符数组可以存放字符串

B)字符数组中的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

D)不可以用关系运算符对字符数组中的字符串进行比较

5 设有如下定义:

int x=10,y=3,z;

则语句

printf(“%d\n”,z=(x%y,x/y));

的输出结果是____ D)____。

A)1 B)0

C)4 D)3

6 以下程序的输出结果是___ D)_____。

main()

{int x=10,y=10;

printf(“%d %d\n”,x--,--y);

}

A)10 10 B)9 9

C)9 10 D)10 9

7 以下说法中正确的是___ C)_____。

A)C语言程序总是从第一个的函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

8 执行下面的程序后,a的值为________。

main()

{int a,b;

for (a=1,b=1;a<=100;a++)

{if(b==20)break;

if(b%3==1)

{b=3;

continue;

}b-=5;

}

}

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

9 以下程序段的输出结果是___ C)_____。

int x=3;

do

{printf(“%3d”,x-=2);}

while(!(--x));

A)1 B)3 0 C)1 -2 D)死循环

10 定义如下变量:

int n=10;

则下列循环的输出结果是____ D)____。

while(n>7)

{n--;

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

}

A)10 B)9 C)10 D)9

9 8 9

8

8 7 8

7

7 6

11 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是___ D)_____。

main()

{int x;

scanf(“%d”,&x);

if(x>5) printf(“%d”,x);

else printf(“%d\n”,x--);

}

A)7和5 B)6和3 C)7和4 D)6和4

12 执行以下程序后,y的值是________。

main ()

{int a[]={2,4,6,8,10};

int y=1,x,*p;

p=&a[1];

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

y =*(p+x);

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

}

A)17 B)18 C)19

D)20

13 下列程序执行后输出的结果是___3 3_____。

int d=1;

fun (int p)

{int d=5;

d =p ;

printf(“%d”,d);

}

main()

{int a=3;

fun(a);

d =a ;

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

}

A)8 4 B)9 6 C)9 4 D)8 5

14 C语言提供的合法的数据类型关键字是___ B)_____。

A)Double B)short C)integer D)Char

15 在C语言中,合法的长整型常数是__ A)______。

A)0L B)4962710 C)0.054838743 D)2.1869e10

16 表达式:10!=9的值是____ C)____。

A)true B)非零值 C)0 D)1

17 若有说明和语句:

int a=5;

a;

此处表达式a的值是__ C)______。

A)7 B)6 C)5 D)4

18 在下列选项中,不正确的赋值语句是___ A)_____。

A)t; B)n1=(n2=(n3=0));

C)k=i==j; D)a=bc=1;

19 若有说明:int i,j=7,*p=&i;,则与i=j;等价的语句是___ B)_____。

A)i=*p; B)*p=*&j; C)i=&j; D)i=**p;

20 不能把字符串:Hello!赋给数组b的语句是___ B)_____。

A)char b[10]={'H','e','l','l','o','!'};

B)char b[10];b="Hello!";

C)char b[10];strcpy(b,"Hello!");

D)char b[10]="Hello!"

21 以下程序的输出结果是____ B)____。

A)6 B)6789 C)'6' D)789

main()

{char a[10]="6789",*p;

p=a;

printf(“%s\n”,p);

22 以下程序的输出结果是____ C)____。

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

main()

{int n=4;

while(n>0){n--;printf(“%d ”,n);}

}

23 以下程序运行后,输出结果是___ D _____。

A)84 B)99 C)95 D)33

int d=1;

fun (int p)

{int d=5;

d=p;

printf(“%d”,d);

}

main()

{itn a=3;

fun(a);

d=a;

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

}

24 在下列选项中,没有构成死循环的程序值是____ C)____。

A)int i =100;

while(1)

{i=i%3;

if (i>100)break;

}

B)for (;;);

C)int k=1000;

do {k;} while(k>1000);

D)int s=36;

while (s);--s;

25 阅读以下程序:

main()

{int x;

scanf("%d",&x);

if(x--<5)printf("%d",x);

else printf("%d",x++);

}

程序运行后,如果从键盘上输人5,则输出结果是____ B)____。

A)3 B)4 C)5 D)6

26 C语言标准库函数"fgets(string,n,fp)"的功能是____ B) ____。

A)从文件fp中读取长度为n的字符串存入指针string指向的内存

B)从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存

C)从文件fp中读取n个字符串存入指针string指向的内存

D)从文件fp中读取不超过长度为n的字符串存入指针string指向的内存

27 以下程序的输出结果是____ A) ____。

main()

{ char c='z';

printf("%c",c-25);

}

A)a B)Z C)z-25 D)y

28 下面程序的输出是___ D)_____。

main( )

{

char x=040;

printf("%d\n",x=x<<1);

}

A)100 B)160 C)120 D)64

29 若有说明:int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是__ B)______。

A)i=*p; B)p*=*&j; C)i=&j; D)i=**p;

30 以下定义语句中,错误的是____ D)____。

A)int a[]={1,2}; B)char *a[3];

C)char s[10]="test"; D)int n=5,a[n];

31 以下程序的输出结果是___ C)_____。

main()

{int i, a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A)258 B)741 C)852 D)369

32下面程序的输出是____ D)____。

main()

{

struct cmplx{int x;int y;}

cnum[2]={1,3,2,7};

printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);

}

A)0 B)1 C)3 D)6

33 以下程序的输出结果是__ A)______。

main()

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

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]) ;

}

A)0650 B)1470 C)5430 D)输出值不定

34 以下选项中,不能正确赋值的是___ A)_____。

A)char s1[10];s1="Ctest";

B)char s2[]={'C', 't', 'e', 's', 't'};

C)char s3[20]="Ctest";

D)char *s4="Ctest\n"

35 以下程序的输出结果是___D) ____

main()

{int a, b;

for(a=1, b=1; a<=100; a++)