《C语言(专科)》20年6月作业考核-0001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是( )
A.4 3
B.4 2
C.3 4
D.3 3
2.设有以下宏定义#define N 3 #define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为 ( )
A.出错
B.54
C.48
D.42
3.在宏定义 #define PI 3.14159中,用宏名PI代替一个( )
A.常量
B.字符串
C.双精度数
D.单精度数
4.若i ,j已定义为int类型,则以下程序段中for (i=5;i;i–)for(j=0;j<4;j++){…}内循环体的总的执行次数是( )
A.24
B.20
C.16
D.15
5.请选出可用作C语言用户标识符的一组标识符( )
A.void define WORD
B.a3_b3 _123 IF
C.For -abc Case
D.2a DO sizeof
6.给出以下定义char x[ ]=”abcdefg”;char y[ ]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};则正确的叙述为( )
A.数组x和数组Y的长度相同
B.数组X的长度小于数组Y的长度
C.数组X的长度大于数组Y的长度
D.数组X和数组Y等价
7.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )
A.2.5
B.2
C.1
D.2.0
8.请选出合法的C语言赋值语句( )
A.k=int(a+b)
B.i++
C.a=b=58
D.a=58,b=58
9.有以下程序 int fun(int x , int y , int *cp , int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b,&c,&d);printf(“%d,%d\n”, c, d);}输出结果是( )
A.80,20
B.80,-20
C.50,30
D.30,50
10.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )
A.c=b=a;
B.a=c=b;
C.(a=c)‖(b=c);
D.(a=c)&&(b=c);
11.设有如下程序 :#include<stdio.h> main(){ int **k, *j, i=100;j=&i; k=&j;printf(“%d\n”, **k);} 上面程序的输出结果是( )
A.运行错误
B.j的地址
C.i的地址
D.100
12.请读程序#define ADD(x) x+x main(){int m=1, n=2, k=3;int sum=ADD(m+n) * k;printf(“sum=%d”, sum);}上面程序的运行结果是( )
A.sum=9
B.sum=18
C.sum=12
D.sum=10
13.下列程序执行后输出的结果是( )#include 〈stdio.h〉f(int a){ int b=0;static c=3: a=c+ +,b+ +;returu(a); }main( ){ int a=2,i,k;for(i=0;i<2;i+ +) k=f(a+ +);printf(“%d\n”,k);}
A.5
B.4
C.3
D.0
14.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式1的表达式是( )
A.1/a/b/(float)c
B.1/a*b*c
C.1/(a*b*c)
D.1.0/a/b/c
15.在以下一组运算符中,优先级最高的运算符是( )
A.=
B.<=
C.&&
D.%
16.函数调用:strcat(strcpy(str1,str2),str3)的功能是( )
A.将串str2连接到串str1之后再将串str1复制到串str3中
B.将串str2复制到串str1中后再将串str3连接到串str1之后
C.将串str1连接到串str2之后再复制到串str3之后
D.将串str1复制到串str2中后再连接到串str3之后
17.在C语言中,合法的长整型常数是( )
A.4962710
B.2.1869e10
C.0L
D.0.054838743
18.假定所有变量均已正确说明,下列程序段运行后x的值是( )a=b=c=0;x=35;if(!a)x–;else if(b);if(c)x=3;else x=4;
A.4
B.35
C.34
D.3
19.C语言的编译系统对宏命令的处理是( )
A.在程序连接时进行的
B.在程序运行时进行的
C.在对源程序中其它成份正式编译之前进行的
D.和C程序中的其它语句同时进行编译的
20.若有宏定义如下#define X 5 #define Y X+1 #define Z Y * X / 2则执行以下printf语句后,输出结果是( )int a; a=Y;Printf(“%d\n”, Z);Printf(“%d\n”, – – a);
A.7 6
B.7 5
C.12 6
D.12 5