2010湖南工程学院年C语言程序考试题
一、单选题
1. C程序的基本构成单位是( C )
A)文件 B)命令 C)函数 D)语句
2. 在C语言中,'a'是( B )
A)字符串常量 B)字符常量 C)变量 D)函数
3. 字符串函数puts在C语言中,“a=b=c=5”属于哪种表达式?( B )
A)关系 B)赋值 C)逻辑 D)非法
4. 设a、b为整型,则表达式(a=2,b=5,b++,a+b)的值是( D )
A)2 B)6 C)7 D)8
5. 若有以下变量定义:
int b=2;
float a=5;
则表达式“a/b”之值为( A )
A)2.5 B)2 C)3 D)5/2
6. 若j=3,则表达式(++j)+(j++)的值为( C )
A)6 B)7 C)8 D)10
7. 以下只能输入单个字符的函数是( C )
A)printf( ) B)puts( ) C)getchar( ) D)putchar( )
8. 若a的原值为4,则表达式“a*=a-=3”运算后,a的值是( D )
A)13 B)4 C)3 D)1
9. 若a=5、b=3、c=1,则表达式“a>b>c”的值为( A )
A)0 B)1 C)3 D)5
10. 若有代数式:
以下错误的C语言表达式是( C )
A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3
11. 下列能输出字符数组str中字符串的语句是( B )
A)printf("%c",str[0]); B)printf("%s",str);
C)printf("%s",str[]); D)putchar(str);
12. 若p=&x,则下列关系表达式之值为1的是( B )
A)p==x B)*p==x C)&p==x D)*x==p
13. C语言中最基本的数据类型包括( B )
A)整型、实型、逻辑型 B)整型、实型、字符型
C)整型、逻辑型、字符型 D)整型、实型、字符串型
14. C语言中,要求运算对象必须是整型数据的运算符是( A )
A)% B)/ C)\ D)&&
15. 表示数学关系“x≥y≥z”的C语言表达式是( C )
A)x>=y>=z B)x>=y || y>=z C)x>=y&&y>=z D)x≥y≥z
16. 以下说法中正确的是( C )
A)C程序总是从文件中第一个函数开始执行
B)C程序中,只有main( )函数才可以调用其他函数
C)C程序总是从main( )函数开始执行
D)C程序中的main( )函数必须放在程序的开头
17. 若有定义:
int a=7;
float x=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值为( A )
A)2.5 B)2.75 C)3.5 D)0
18. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( C )
A)int B)float C)double D)不确定
19. 有输入语句:
scanf("%d,%d",&a,&b);
为使变量a、b分别为5和3,从键盘输入数据的正确形式为( B )
A)5 3<回车> B)5,3<回车> C)a=5 b=3<回车> D)a=5,b=3<回车>
20. 定义如下变量和数组:
int j;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是( C )
for (j=2; j>=0; j--)
printf("%2d",x[j][2-j]);
A)1 5 9 B)1 4 7 C)7 5 3 D)3 6 9
21. 执行下面程序后,a的值是( B )
#include <stdio.h>
#define SQR(x) x*x
void main( )
{int a=10,k=2,m=1;
a=SQR(k+m);
printf("%d\n",a);
}
A)10 B)5 C)2 D)1
22. 以下叙述不正确的是( C )
A)在函数内部定义的变量是局部变量
B)函数中的形式参数是局部变量
C)全局变量的作用范围仅限于其所在的整个文件
D)局部变量的作用范围仅限于本函数
23. 设a=3,b=4,c=2,d=1,则表达式“a>b?a:c>d?c:d”的值为( C )
A)4 B)3 C)2 D)1
24. 有以下程序段:
x=-1;
do
x=x*x;
while(!x);
执行时,循环体执行的次数为( B )
A)0 B)1 C)2 D)不确定
25. 以下不正确的if语句形式是( C )
A)if (x>y&&x!=y);
B)if (x= =y) x+=y;
C)if (x!=y) scanf("%d",&x)
else scanf("%d",&y);
D)if (x<y) {x++;y++;}
26. 以下程序的输出结果是( C )
#include <stdio.h>
void main( )
{int x=2,y=-1,z=2;
if (x<y)
if (y<0) z=0;
else z+=1;
printf("%d\n",z);}
A)0 B)1 C)2 D)3
27. 以下能正确计算1×2×3×…×10的程序段是( A )
A) i=1,s=1; B) s=1;i=1;
do while(i<=10)
{s=s*i;i++;} s=s*(++i);
while(i<11);
C) for(i=1,s=0;i<=10;i++) D)for(i=1,s=1;;i++)
s=s*i; s=s*i;
28. 若j为整型变量,则以下循环执行次数是( C )
for (j=0;j= =0;)
printf("%d",j--);
A)无限次 B)0次 C)1次 D)2次
29. 若有说明:int a[10];则对a数组元素的正确引用是( C )
A)a[3.5] B)a(8) C)a[6-5] D)a[10]
30. C语言规定,变量做实参时,它和对应形参之间的数据传递方式是( B )
A)地址传递 B)单向值传递 C)双向值传递 D)由用户指定传递方式
31. C中,一个float类型的数据在内存中占( C )个字节。
A) 1 B) 2 C) 4 D) 8
32. 设有程序段:
int k=5;
while (k<=0)
k--;
则下列描述中正确的是( C )
A) while循环执行5次 B) 循环是无限循环
C) 循环语句一次也不执行 D) 循环体语句执行一次
33. 下面程序段的运行结果是( B )
char c[5]={ 'a', 'b', '\0', 'c', '\0' };
printf("%s", c);
A) 'a''b' B) ab C) Abc D) "abc"
34. 以下不正确的字符串赋值语句是( C )
A) char *s; s="abcde"; B) char s[ ]="abcde";
C) char s[10]; s="abcde"; D) char *s="abcde";
35. 设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是( B )
A) k=*p1+*p2; B) p2=k; C) p1=p2; D) k=p2-p1;
36. 下面程序的输出结果是( A )
#include <stdio.h>
void main( )
{ char s[ ]= "ABCD";
char *p;
for (p=s;p<s+4;p++)
printf("%s\n", p);
}
A) ABCD B) A C) D D) ABCD
BCD B C ABC
CD C B AB
D D A A
37. 以下关于C函数的定义和调用描述正确的是( B )
A) 函数的定义可以嵌套,但函数的调用不可嵌套
B) 函数的调用可以嵌套,但函数的定义不可嵌套
C) 函数的定义和调用均可以嵌套
D) 函数的定义和调用均不可嵌套
38. 以下关于变量的作用域说法正确的是( D )
A) 在不同函数中不能使用相同名字变量
B) 在函数外部定义的变量只在本函数范围内有效
C) 在函数内的复合语句定义的变量在本函数内有效
D) 形式参数是局部变量
39. 以下关于变量的作用域叙述不正确的是( C )
A) 在函数内部定义的变量是局部变量
B) 函数中的形式参数是局部变量
C) 全局变量的作用范围仅限于其所在的文件
D) 局部变量的作用范围仅限于本函数
40. 以下关于C函数参数说法不正确的是( B )
A) 实参可以是常量、变量和表达式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论