在c语言中,与语句"while(!x)"等价的语句是,自考“C语言程序设计”模拟试题十一...

这是一份关于C语言程序设计的模拟试题,涵盖了选择题、填空题、程序阅读理解及程序编写等内容。试题涉及C语言的基础语法、运算符、数据类型、表达式、循环控制、函数调用、数组、指针等多个方面,旨在考察考生对C语言的综合运用能力。
摘要由CSDN通过智能技术生成

自考“C语言程序设计”模拟试题十一

一、单项选择题(共30分,每题1分)

1.在PC机中,‘\n’在内存占用的字节数是( )

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

2.字符串“ABC”在内存占用的字节数是(   )

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

3.在C语言中,合法的长整型常数是(   )

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

4.执行语句“x=(a=3,b=a——)”后,x,a,b的值依次是(   )

A.3,3,2   B.3,2,2   C.3,2,3   D.2,3,2

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

A.3    B.0    C.9   D.-12

6.设int k=32767;执行k=k+1;后k值为(   )

A.32768    B.-32768    C.0   D.-1

7.下列正确的标识符是(        )

A.hot_do    B.a+b    C.test!    D.%y

8.设int a=5,使b不为2的表达式是(  )

A.b=6-(——a)    B.b=a%2    C.b=a/2   D.b=a>3?2:1

9.执行x=(6*7%8+9)/5;后,x的值为(     )

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

10.执行语句x=(a=3,b=a——)后,x,a,b的值依次为(   )

A.3,2,3   B.2,3,2   C.3,3,2   D.3,2,2

11.设a=-3;执行(a>0)?a:-a;后,a的值为(    )

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

12.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(   )

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

13.下面正确的字符常量是(      )

A.“c”    B.‘\\’‘    C.’W‘   D. ’‘

14.若有代数式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/c*3

15.在C语言中,要求运算数必须是整型的运算符是(   )

A./    B.++   C.!=    D.%

16.若有说明语句:char c=‘\72’;则变量c (     )

A.包含1个字符   B.包含2个字符

C.包含3个字符  D.说明不合法,c值不确定

17.sizeof (float)是(      )

A.一个双精度型表达式        B.一个整型表达式

C.一种函数调用              D 一个不合法的表达式

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

A.int    B.folat   C.double   D.不确定

19.若有定义int a[10],*p=a;,则p+5表示(     )

A.元素a[5]的地址     B.元素a[5]的值

C.元素a[6]的地址  D.元素a[6]的值

20.以下与int *q[5];等价的定义语句是(   )

A.int q[5];    B.int * q     C.int (q[5])    D.int (*q)[5]

21.若有定义int a[5],*p=a;则对a数组元素地址的正确引用是(   )

A.P+5   B.*a+1   C.&a+1    D  &a[0]

22.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是(  )

A.auto     B.static    C.extern    D.register

23.若用数组名作为函数调用的实参,传递给形参的是(    )

A.数组的首地址          B.数组第一个元素的值

C.数组中全部元素的值    D .数组元素的个数

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

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

25.以下对二维数组a的正确说明是(    )

A.int a[3][]        B.float  a(3,4)

C.double a[1][4]   D.float a(3)(4)

26.若有说明int a[3][4];则对a数组元素的正确引用是(A  )

A.a[2][4]    B.a[1,3]    C.a[1+1][0]    D.a(2)(2)

26.语句while(!E);中的表达式!E等价于(     )

A.E= =0   B.E!=1    C.E!=0    D.E= =1

27.C语言中while和do—while循环的主要区别是(    )

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

B. While的循环控制条件比do—while的循环控制条件严格

C. do—while允许从外部转到循环体内

D. do—while循环体不能是复合语句

28.为了避免在嵌套的条件语句if—else中产生二义性,C语言规定:else子句总与(    )配对

A.缩排位置相同的if    B.其之前最近的if

C.其之后最近的if   D.同一行上的if

29.判断char型变量ch是否为大写字母的正确表达式是(  )

A.‘A’<=ch<=‘Z’          B.(ch>=‘A’)&(ch<=‘Z’)

C.(ch>=‘A’)&&(ch<=‘Z’   D.(‘A’<=ch)AND (‘Z’>=ch)

30.以下能正确定义整型变量a、b、c并为其赋初值5的语句是(   )

A.int  a=b=c=5;   B.int  a,c, c=5;

C.a=5,b=5,c=5;   D.a=b=c=5;

二、填空(20分,每空1分)

1.C语言中的实型变量分为两种类型,它们是(   )和(    )。

2.C语言中的标识符只能由三种字符组成,它们是(    )、(    )和(    )。

3.若有定义:char c=‘\010’;则变量c中包含的字符个数是(   )。

4.C语言提供的三种逻辑运算符是(   )、(   )、(   )。

5.设y为int型变量,请写出描述“y是奇数”的表达式(   )。

6.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式(      )。

7.在C语言中,二维数组元素在内存中的存放顺序是(      )。

8.若有定义:double x[3][5];则x数组中行下标的下限为(     ),列小标的上限为(     )。

9.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(     ),a[2][2]得到的初值是(     )。

10.若自定义函数要求返回一个值,则应在该函数体中有一条(    )语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符(    )。

11.函数中的形参和调用时的实参都是数组名时,传递方式为(   ),都是变量时,传递方式为(    )。

三、读程序(30分)

1.  main()

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

c=a;

if (a>b) c=1;

else if (a= =b) c=0;

else c=-1;

printf (“%d\n”,c);}         运行结果:

2.main()

{int a=2,b=7,c=5;

switch (a>0)

{ case  1: swithch (b<0)

{case 1:printf(“@”);break;

case 2:printf(“!”);break;

}

case 0: switch  (c= =5)

{ case 0:printf(“*”);break;

case 1:printf(“#”),break;

default:printf(“#”);break;

}

default:printf(“&”);               运行结果:

} printf (“\n”);

}

3.#include

main()

{ int i;

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

switch (i%5)

{ case 0:printf(“*”);break;

case 1:printf(“#”);break;

default:printf(“\n”);

case 2:printf (“&”);    运行结果:

}

}

4.main()

{ int i,b,k=0;

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

{b=i%2;

while (b——>=0)  k++;

}                            运行结果:

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

}

5.#include

main()

{ char ch[7]={“12ab56”};

int i,s=0;

for (i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i+=2)

s=s*10+ch[i]-‘0’;                      运行结果:

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

}

6. main()

{ int a=2,i;

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

printf (“M”,f(a));

}

f(int a)

{ int b=0;static int c=3;

b++;c++;

运行结果:

return(a+b+c);

}

四、编写程序(20分)

1.从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。

2.已有变量定义和函数调用语句:int x=57;isprime(x);函数isprime()用来判断一个整数a是否是素数,若是素数,函数返回1,否则返回0.请编写isprime函数。

insprime( int a)

{……};   {……}

一、单项选择题(共30分,每题1分)

1.A.2.B.3.A 4. C  5. D  6. B  7. A  8. B  9. B  10. A  11. D  12. A  13. C  14. C  15. D  16. A  17. B  18. C  19. A  20. D  21. D  22. A  23. A  24. B  25. C  26. A  27. A  28. B  29. C  30. A

二、填空(20分,每空1分)

1. 单精度,双精度

2. 数字、下划线、英文字母

3. 1个

4. 与&&、或||、非!

5. y%2!=0

6. x7. 行列

8. 0,4

9. 0,8

10.return,void

11.地址传送,值传送

三、读程序(30分)

1.-1

2.&

3.#&

4.8,-2

5.1

6.7  8  9

四、编写程序(20分)

1.#include

main()

{int i,a;

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

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

if (a%7= =0) {printf (“%d”,a); break;}

}

if (i>10) printf (“not exist”);

}

2.insprime(int a)

{int i;

for (i=2;i<=a-1;i++)

if (i%2= =0)return(0); =0)return(0);

return(1);   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值