05-2-C语言试卷A 下载本文

一、单选题(每空1分,共50分)

1. 以下选项中不属于算法特性的是( - )

A)有穷性 B) 确定性 C)有效性 D)简洁性 2. 在C语言中,变量所分配的内存空间大小( )

A)均为两个字节 B)由用户自己定义 C)由变量的类型决定 D)是随意的 3. 以下选项中可作为C语言合法常量的是( ) A) -8e3.0 B)-080 C) -80. D)-80.0e 4. 以下不能定义为用户标识符是( )

A)Main B)_0 C)_int D)printf

5. 数学关系式x≤y≤z可用C语言的表达式表示为( )

A)(x<=y)&&(y<=z) B)(x<=y)and(y<=z) C)(x<=y<=z) D)(x<=y)&(y<=z)

6. 若定义float a;现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用( )

A)scanf(“%6f”,&a); B)scanf(“%5.2f”,a); C)scanf(“%6.2f”,&a); D)scanf(“%f”,a); 7. 执行int x=3,y=2;后表达式x=(y>=1)的值是( )

A)0 B)1 C)2 D)3 8. 在C语言中,合法的字符常量是( )

A)‘程序设计’ B)“c” C) c D)‘\\\\’ 9. 设有说明语句:char a=’\\101’;则变量a ( )

A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法 10. 数字字符0的ASCII值为48,若有以下程序

main() {

char a='1',b='2'; printf(\ printf(\ }

程序运行后的输出结果是 ( ) A) 3,2 B) 50,2 C)2,2 D)2,50

11. 已有定义:char a[]=\以下叙述中正确的是( )

A)数组a和b的长度相同 B)a数组长度小于b数组长度 C)a数组长度大于b数组长度 D)上述说法都不对 12. 下列关于链表的叙述不正确的是( )

A)每条链表都有一个头指针,用于指向链表中的第一个结点

B)链表的每一个结点中必须要有一个结构体类型的指针变量用来存放下一个结点的首地址

C)如果不提供头指针,则整条链表都无法访问 D)链表中的各个结点在内存中一定不是连续存放的

13. 若int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是 ( )

A) 2 B) 3 C) 4 D)无确定值 14. 下面程序段的运行结果是( )

char s[]=“xyz”;int i;

for(i=0;i<3;i++) printf(“%s”,&s[i]);

A) xyz B) xyz xyz xyz C) xxy xyz D)xyz yz z 15. C语言中运算对象必须是整型的运算符是( )

A) %= B) / C) = D) <= 16. 有以下语句:int b;char c[10];,则正确的输入语句是( )

A)scanf(\ B) scanf(\ C)scanf(\ D)scanf(\17. 有以下程序

main() {

int m,n;

scanf(\ printf(\ }

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,则正确的输入是( )

A)m=123n=456 B) m=123,n=456 C) m=123 n=456 D)123 456

18. 设x为int型变量,则执行以下语句后,x的值为( )

x=10; x+=x-=x-x;

A) 10 B) 20 C) 40 D) 30 19. 能将高级语言编写的源程序转换为目标程序的是( ) A)链接程序 B)解释程序 C)编译程序 D)编辑程序

20. 一个算法应该具有\确定性\等5个特性,下面对另外4个特性的描述中错误的是( )

A)有零个或多个输入 B)有零个或多个输出 C)有穷性 D)可行性

21. 若以下选项中的变量已正确定义,则正确的赋值语句是( ) A)x1=26.8%3; B)1+2=x2; C)x3=0x12; D)x4=1+2=3; 22. 设有以下定义

int a=0; double b=1.25; char c=’A’; int d[10];

则下面语句中错误的是( ) A)a++; B)b++; C)c++; D)d++;

23. 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是( )

A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)

24. 以下4个选项中,不能看作一条语句的是( )

A){;} B)a=0,b=0,c=0; C)for (;x= =0;); D)if(b= =0) m=1; n=2; 25. while(!e);中表达式!e 等价于( )

A) e==0 B)e!=0 C)e==1 D)e!=1 26. 有以下程序

main( )

{ char *p[10]={\

printf(\ /* strlen函数用于统计字符串str中字符的个数*/

}

执行后输出结果是( A ) A)2 B)3 C)4 D)5

27. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )

A) char s[10]=\ B) char t[]=\C) char s[10];s=\ D) char s[10];strcpy(s,\28. 下面程序段的运行结果是( )。 int n=0;

while(n++<2); printf(“%d“,n);

A)2 B)3 C) 4 D)有语法错