一、 单选题(四个选项中,只有一个选项是正确的, 请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。共50道小题,80分,其中1-20题每题1分,21-50题每题2分)
1. 下列4个选项中,( 是合法的用户自定义标识符。
a. b-b b. floatc. 2ad. _isw
2. 下列表达式中值为0的是。
a.3%5b.3/5.0c.3/5d.3.0/5
3. 在c 程序中,用( )表示逻辑值“真”。
a.1 b. 非0的数 c. 非 1 的数 d. 大于 0 的数。
4. 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式的表达式是( )
a. 1/a*b*cb.1/(a*b*cc.1/a/b/(float)c
d.1.0/a/b/c
5. 若有说明和语句:
int a=5;
a;此处表达式++a的值是( )
a.7b.6c.5d.4
6. 以下所列的c语言常量中,错误的是( )
a. 0xff b.1.2e0.5 c.2l d.'c'
7. 以下程序段的输出结果是( )
int a=1234;
printf("%2d",a);
a.12 b.34 c.1234 d.提示出错、无结果。
8.若a为int类型,且其值为3,则执行完表达式a-=a*a后,a的值是( )
a.-3 b.9 c.-6 d.6
9.若变量c为char类型,能正确判断出c为小写字母的表达式是( )
a.'a'<=c<= z' b.(c>= a')|c<= z')
c.('a'<=c)and ('z'>=c) d.(c>= a')&c<= z')
10. 有以下程序段
int n=0,p;
do while(p!=12345&&n<3);
此处do-while循环的执行条件是( )
a.p的值不等于12345并且n的值小于3
b.p的值等于12345并且n的值大于等于3
c.p的值不等于12345或者n的值小于3
d.p的值等于12345或者n的值大于等于3
11. 若定义:int a=511,*b=&a;, 则printf("%d",*b);的输出结果为( )
a.无确定值 b.a的地址 c.512 d.511
12.以下所列的各函数首部中,正确的是( )
a.void play(var :integer,var b:integer)
b.void play(int a;b)
c.void play(int a,int b)
d.sub play(a as integer,b as integer)
13.设 int x=1, y=1; 表达式(!x||y--)的值是( )
a. 0 b. 1 c. 2 d. -1
14.当调用函数时,实参是一个数组名,则向函数传送的是( )
a.数组的长度b.数组的首地址。
c.数组每一个元素的地址 d.数组每个元素中的值。
15. 设有以下说明语句。
typedef struct
int n;
char ch[8];
per;则下面叙述中正确的是( )
a.per 是结构体变量名b.per是结构体类型名。
c.typedef struct 是结构体类型 d.struct 是结构体类型名。
16. 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是( )
a.scanf("%d%d%d",&a,&b,d); b.scanf("%d%d%d",&a,&b,&d);
c.scanf("%d%d%d",a,b,d); d.scanf("%d%d%d",a,b,*d);
17.对于基类型相同的两个指针变量之间,不能进行的运算是( )
a.< b.= c.+ d.-
18.在c语言中,局部变量的隐含存储类别是( )
a.auto b.static c.extern d.无存储类别。
19. 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是( )
a. x||y b. x|y c. x&y d. x^y
20.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是( )
a.无返回值 b.0 c.非零值 d.null
21. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( )
a.for(i=1,p=1;i<=5;i++)p*=i;
b.for(i=1;i<=5;i++)
c.i=1;p=1;while(i<=5)
d.i=1;p=1;dowhile(i<=5);
22.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为 (
a.4 b.16 c.32 d.52
23.假定有以下变量定义:
int k=7,x=12; 则能使值为3的表达式是( )
a.x%=(k%=5) b.x%=(k-k%5) c. x%=k-k%5
d.(x%=k)-(k%=5)
24.下列程序执行后的输出结果是( )
a.6 b.8 c.10 d.12
#define ma(x) x*(x-1)
main()
25. 以下程序的输出结果是( )
main()
char cf[3][5]=;
printf("%s",cf[1]);
a.aaaa b.bbb c.bbbcc d.cc
26. 假定a和b为int型变量,则执行以下语句后b的值为( )
a=1; b=10;
dob-=a; a++;
while (b--<0);
a.9 b.-2 c.-1 d.8
27. 下列程序的输出结果是( )
main()
double d=3.2; int x,y;
x=1.2; y=(x+3.8)/5.0;
printf("%d ", d*y);
a. 3 b. 3.2 c. 0 d. 3.07
28. 以下程序的输出结果为( )
main()
i++;s+=i;
while(i<7);
printf("%d",s);
a.16 b.12 c.28 d.21
30. 设有如下定义:
int arr=
int *ptr;
则下列程序段的输出结果为( )
ptr=arr;
* (ptr+2)+=2;
printf ("d,%d",*ptr,*(ptr+2));
a.8,10 b.6,8c.7,9d.6,10
31. 以下程序的运行结果是( )
fun(int x, int y, int z)
z=x*x+y*y; }
main()
int a=31;
fun(5,2,a);
printf("%d",a);
a. 0 b. 29 c. 31 d. 无定值。
32. 定义如下变量和数组:
int i;
int x[3][3]=;
则下面语句的输出结果是( )
for(i=0;i<3;i++)printf("%d",x[i][2-i]);
a.1 5 9b.1 4 7c.3 5 7d.3 6 9
33. 有以下程序段。
char arr=abcde";
char *ptr;
for(ptr=arr;ptr 输出结果是( )
a. abcd b. ac. ed. abcde
bdbcde
cccdedbdeeae
c语言试卷c
a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...
C语言试卷A
青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...
C语言试卷
一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...