西华大学历年C语言程序设计专升本模拟考试

本试卷为西华大学历年C语言程序设计专升本模拟考试,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

C语言程序设计专升本模拟考试

一、理论基础 (共20题,每题1分,共计10分)

(  D  )
1、设有定义:int x=2; ,以下表达式中,值不为6的是________。
A、x*=x+1
B、x++,2*x
C、x*=(1+x)
D、2*x,x+=2
(  C  )
2、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是________。
A、int型
B、float型
C、double型
D、不确定
(  C  )
3、有如下嵌套的if 语句 if(a<b) if(a<c) k=a;
else k=c;
else if(b<c) k=b;
else k=c;
以下选项中与上述if 语句等价的语句是________。
A、k=(a<b)?a:b;k=(b<c)?b:c;
B、k=(a<b)?((b<c)?a:b):((b<c)?b:c);
C、k=(a<b)?((a<c)?a:c):((b<c)?b:c);
D、k=(a<b)?a:b;k=(a<c)?a;c
(  D  )
4、英文小写字母d的ascii码为100,英文大写字母d的ascii码为
A、50
B、66
C、52
D、68
(  B  )
5、若 x 为 int 型变量 , 则执行以下语句后 ,x 的值为 。 x=6; x+=x-=x*x;
A、36
B、-60
C、60
D、-24
(  C  )
6、设有如下定义: struck sk
{
int a;
float b;
} data;
int *p;
若要使 p 指向 data 中的 a 域,正确的赋值语句是______。
A、p=&a;
B、p=data.a;
C、p=&data.a;
D、*p=data.a;
(  D  )
7、假定 w 、 x 、 y 、 z 、 m 均为 int 型变量 , 有如下程序段 : w=1;
x=2;
y=3;
z=4;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(m<z)?m:z;
则该程序段执行后, m 的值是 ___________.
A、4
B、3
C、2
D、1
(  C  )
8、以下叙述错误的是________。
A、C语言区分大小写
B、C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改
C、整数和实数都能用C语言准确无误地表示出来
D、在C程序中,正整数可以用十进制、八进制和十六进制的形式来表示
(  D  )
9、在c语言中,下列运算符优先级最高的是________。
A、>=
B、==
C、!=
D、&&
(  C  )
10、设有定义int x; float y; 则10+x+y值的数据类型是________。
A、int
B、double
C、float
D、不确定
(  D  )
11、下列不属于逻辑运算符的是________。
A、!
B、||
C、&&
D、|
(  D  )
12、无符号二进制整数10111转换成十进制整数,其值是________。
A、17
B、19
C、21
D、23
(  B  )
13、下列叙述中正确的是________。
A、在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式
B、实型变量中允许存放整型数
C、若a和b类型相同,在执行了赋值a=b后,b中的值将放入a中,但b中的值不变
D、在c程序中,求余运算符“%”两边的类型相同时才能进行运算
(  C  )
14、结构化程序设计主要强调程序的()
A、效率
B、速度
C、可读性
D、大小
(  C  )
15、下列关于指针说法的选项中,正确的是________。
A、指针是用来存储变量值的类型
B、指针一旦定义就不能再指向别的变量
C、指针当中存储的是变量的内存地址
D、指针一旦定义必须要指向某一个变量
(  B  )
16、设a=5、b=6、c=10、d=8、m=2、n=5,执行(m=a>b)&&(n=c>d)后n的值为______。
A、1
B、5
C、3
D、4
(  A  )
17、语句"while(!f); "中的条件"!f"等价于( )
A、f==0
B、f!=1
C、f!=0
D、~f
(  C  )
18、表达式:10!=9的值是________。
A、ture
B、非零值
C、1
D、0
(  D  )
19、若int类型占两个字节,则以下语句输出为________。 int k=-1;
printf("%d,%u\n",k,k);
A、-1,-1
B、-1,65536
C、-1,32768
D、-1,65535
(  A  )
20、以下叙述中错误的是____
A、用户所定义的标识符允许使用关键字
B、用户所定义的标识符应尽量做到"见名识意"
C、用户所定义的标识符中,大、小写字母代表不同标识
D、用户所定义的标识符必须以字母或下划线开头

二、控制结构 (共10题,每题1分,共计10分)

(  C  )
1、关于结构化程序设计原则和方法的描述错误的是________。
A、选用的结构只准许有一个入口和一个出口
B、复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现
C、不允许使用GOTO语句
D、语言中若没有控制结构,应该采用前后一致的方法来模拟
(  C  )
2、当从键盘上输入字符"12134211"下面程序的 输出结果是________。
main( )
{
char s;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=7;k++)
{
scanf("%c",&s);
switch(s)
{
default: v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++;
}
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
A、v1=4,v2=2,v3=1,v4=1
B、v1=4,v2=9,v3=3,v4=1
C、v1=5,v2=8,v3=6,v4=1
D、v1=8,v2=8,v3=8,v4=8
(  A  )
3、switch语句不能用于下列哪种数据类型 ( )
A、double
B、byte
C、short
D、char
(  A  )
4、有以下程序:
main()
{
int a=3,b=4,c=5,d=2;
if(a>b) if(b>c) printf("%d",d+++ 1);
else printf("%d",++d+1);
printf("%d\n",d);
}
程序运行后的输出结果是 ______。
A、2
B、3
C、43
D、44
(  B  )
5、以下if语句书写正确的是________。
A、if(x=0;)
printf("%f",x);
elseprintf("%f",-x);
B、if(x>0)
x=x+1;printf("%f",x);
else printf("%f",-x);
C、if(x>0);
x=x+1;printf("%f",x);
else printf("%f",-x);
D、if(x>0)
x=x+1;printf("%f",x)
else printf("%f",-x);
(  B  )
6、c语言中,关系表达式和逻辑表达式的值是________。
A、0
B、0或1
C、1
D、'T'或'F'
(  B  )
7、能正确表示a≥10或a≤0的关系表达式是________。
A、a>=10 or a<=0
B、a>=10 || a<=0
C、a>=10 | a<=0
D、a>=10 && a<=0
(  D  )
8、以下叙述中正确的是________。
A、逻辑"或”(即运算符||)的运算级别比算术运算要高
B、C 语言的关系表达式:0<x<10 完全等价于:(0<x)&&(x<10)
C、逻辑"非”(即运算符!)的运算级别是最低的
D、由&&构成的逻辑表达式与由||构成的逻辑表达式都有“短路”现象
(  C  )
9、以下叙述中正确的是________。
A、对于逻辑表达式:a++||b++,设 a 的值为 1,则求解表达式的值后,b的值会发生改变
B、对于逻辑表达式:a++&&b++,设 a 的值为 0,则求解表达式的值后,b的值会发生改变
C、else 不是一条独立的语句,它只是 if 语句的一部分
D、关系运算符的结果有三种:0,1,-1
(  D  )
10、在c 的if 语句中,可用作条件的表达式是________。
A、关系表达式
B、逻辑表达式
C、算术表达式
D、任意表达式

三、循环结构 (共10题,每题1分,共计10分)

(  C  )
1、在do-while循环中,循环由do开始,用while结束,必须注意的是,在while表达式后面的 不能丢,它表示do-while循环的结束。
A、0
B、1
C、;
D、,
(  B  )
2、若 i 为整型变量 , 则以下循环语句的循环次数是 ____. for(i=2;i==0;) printf("%d",i--);
A、无限次
B、0 次
C、1 次
D、2 次
(  C  )
3、下列叙述中,正确的是________。
A、while语句构成的循环不能用其他语句构成的循环来代替
B、do-while语句构成的循环只能用break语句退出
C、用while语句构成的循环,只有在while后的表达式为非0时才执行循环
D、do-while语句构成的循环,只有在while后的表达式为0时才结束循环
(  C  )
4、下列语句中执行跳转功能的语句是________。
A、for语句
B、while语句
C、continue语句
D、switch语句
(  C  )
5、下述关于break语句的描述中,( )是不正确的。
A、break语句可用于循环体内,它将退出该重循环
B、break语句可用于switch语句中,它将退出switch语句
C、break语句可用于对体内,它将退出if语句
D、break语句在一个循环体内可以出现多次
(  B  )
6、下列程序的输出结果是
#include<stdio.h>
main()
{
int i,a=0,b=0;
for(i=1;i<10;i++)
{
if(i%2==0)
{
a++;
continue;
}
b++;
}
printf("a=%d,b=%d",a,b);
}
A、a=4,b=4
B、a=4,b=5
C、a=5,b=4
D、a=5,b=5
(  A  )
7、以下程序的输出结果是 _______ 。
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:switch(y)
{
case 0:a++;
break;
case 1:b++;
break;
}
case 2:a++;
b++;
break;
}
printf("%d,%d\n",a,b);
}
A、2,1
B、2,2
C、1,1
D、2 1
(  B  )
8、若变量已正确定义:for(x=0,y=0;(y!=99&&x<4);x++) 则以上 for 循环()
A、执行 3 次
B、执行 4 次
C、执行无限次
D、执行次数不定
(  C  )
9、以下叙述中正确的是________。
A、N-S 流程图只能描述简单的顺序结构的程序
B、程序的算法只能使用流程图来描述
C、结构化程序的三种基本结构是循环结构、选择结构、顺序结构
D、计算机可以直接处理 C 语言程序,不必进行任何转换
(  B  )
10、下面程序输出的结果为________。
#include <stdio.h>
int main()
{
int  s=3;
switch(s)
{
case  5: printf("我");
break;
    case  4: printf("是");
    case  3: printf("好");
    case  2: printf("学");
break;
    default: printf("生");
}
}
A、好
B、好学
C、好学生
D、我是好学生

四、数组/指针数组 (共10题,每题1分,共计10分)

(  C  )
1、avg功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是________。
A、int avg(int*a,int n);
B、int avg(int a[lO],int n);
C、int avg(int a,int n);
D、int avg(int a[],int n);
(  C  )
2、以下关于数组的描述正确的是______。
A、数组的大小是固定的,但可以有不同的类型的数组元素。
B、数组的大小是可变的,但所有数组元素的类型必须相同。
C、数组的大小是固定的,但所有数组元素的类型必须相同。
D、数组的大小是可变的,但可以有不同的类型的数组元素。
(  C  )
3、定义如下变量和数组 : int i;
int x[4][4]= { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
则下面语句的输出结果是 __________.
for(i=0;i<4;i++)
printf("%3d",x[i][3-i]);
A、1 5 9 13
B、1 6 11 16
C、4 7 10 13
D、4 8 12 16
(  D  )
4、设有以下定义: int a[3][3]= { 1,2,3,4,5,6,7,8,9 }; int(*ptr)[3]=a; 则下列能正确表示数组元素a[1][2]的表达式是______。
A、*((*ptr+1)[2])
B、a[2][3]
C、(*ptr+1)+2
D、*(*(a+1)+2)
(  B  )
5、一个int型变量,在程序中多次频繁使用,最好定义它为________。
A、auto
B、register
C、static
D、extern
(  C  )
6、下面程序的输出结果是________。
#include<stdio.h>
main() {
char a[]='a','b','c','d','f','g',*p;
p=a;
printf("%c\n",*p+4);
}
A、a
B、b
C、e
D、f
(  C  )
7、下列关于c语言字符数组描述正确的是________。
A、字符数组可以存放字符串
B、字符数组的下标是从0开始的
C、字符数组不能输出字符串
D、字符数组可以没有'\0'
(  A  )
8、下列语句中正确的是________。
A、char*myString="Hello-World!";
B、char myString="Hello-World!";
C、char myString[11]=”Hello-World!”;
D、char nlyString[12]="Hello-World!";
(  C  )
9、以下程序的输出结果是
typedef union {
long x[2];
int y[4];
char z[8];
} mytype;
mytype them;
main() {
printf("%d\n",sizeof(them));
}
A、32
B、16
C、8
D、24
(  B  )
10、c语言中数组下标的下限是________。
A、1
B、0
C、视具体情况而定
D、无固定下限

五、字符串/字符串指针 (共10题,每题1分,共计10分)

(  A  )
1、下列数据中属于"字符串常量"的是________。
A、“a”
B、{
ABC}
C、‘abc\0’
D、‘a’
(  D  )
2、如果在一个运算表达式中包含有逻辑运算、关系运算和算术运算,并且其中未用圆括号规定这些运算的先后顺序,那么这样的综合型表达式的运算顺序是______。
A、逻辑→算术→关系
B、关系→逻辑→算术
C、算术→逻辑→关系
D、算术→关系→逻辑
(  D  )
3、有以下程序:
#include<string.h>
main()
{
char *p="abcde\0ghjik\0";
printf("%d\n",strlen(p) );
}
程序运行后的输出结果是________。
A、12
B、15
C、6
D、5
(  C  )
4、有以下程序:
main()
{
char str[]="xyz", *ps=str;
while(*ps) ps++;
for(ps--;ps-str>=o;ps--) puts(ps);
}
执行后的输出结果是________。
A、yz
xyz
B、z
yz
C、z
yz
xyz
D、x
xy
xyz
(  B  )
5、下列变量定义中,错误的是______。
A、int x=3;
B、float f;d;
C、String s="Hello!";
D、boolean b=true;
(  D  )
6、下列字符常量的写法中,正确的是________。
A、'abc'
B、'\5A'
C、A
D、'\73'
(  B  )
7、以下关系表达式中,其值为true的是________。
A、"XYZ">"XYz"
B、"VisualBasic"<>"visualbasie"
C、"the"="there"
D、"Integer"<"Int\
(  D  )
8、以下选项中,合法的 c 语言常量是________。
A、2XY
B、HELLO'
C、"\0.\0
D、1.0
(  D  )
9、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个______
A、单精度数
B、双精度数
C、常量
D、字符串
(  D  )
10、若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串 s1 大于字符串 s2 时,输出 s2 的语句是()。
A、if(strcmp(s1,s1)>0)puts(s2);
B、if(strcmp(s2,s1)>0)puts(s2);
C、if(strcmp(s2,t)>0)puts(s2);
D、if(strcmp(s1,t)>0)puts(s2);

六、函数/函数指针 (共10题,每题1分,共计10分)

(  C  )
1、c语言规定:main函数的位置________。
A、必须在最开始
B、必须在系统调用的库函数的后面
C、可以任意
D、必须在最后
(  B  )
2、一个 c 语言程序总是从 开始执行。
A、主过程
B、主函数
C、子程序
D、主程序
(  C  )
3、c 语言中,若未说明函数的类型,则系统默认该函数的类型是 __________ 。
A、float 型
B、long 型
C、int 型
D、double 型
(  C  )
4、在printf的格式字符中,e格式字符的作用是________。
A、以十六进制无符号形式输出整数
B、以带符号的十进制形式输出整数
C、以指数形式输出实数
D、以字符形式输出,且只输出一个字符
(  B  )
5、结构化程序设计所规定的三种基本控制结构是________。
A、输入、输出、处理
B、顺序结构、选择结构、循环结构
C、for、while、switch
D、主程序、子程序、函数
(  C  )
6、下面说法正确的是________。
A、一个C程序可以有多个主函数
B、一个C语言的函数中只允许有一对花括号
C、C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内
D、在对C程序进行编译时,可以发现注释行中的拼写错误
(  C  )
7、以下叙述中正确的是________。
A、C语言系统以函数为单位编译源程序
B、main函数必须放在程序开始
C、用户定义的函数可以被一个或多个函数调用任意多次
D、在一个函数体内可以定义另外一个函数
(  D  )
8、若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是________。
A、scanf(“%d %x, %le”, &x, &y, &z);
B、scanf(“%2d *%d, %lf” &x, &y, &z);
C、scanf(“%x %*d %o”, &x, &y);
D、scanf(“%x %o%6.2f”, &x, &y, &z);
(  B  )
9、C语言函数内定义的局部变量的隐含存储类别是
A、static
B、auto
C、register
D、extern
(  B  )
10、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回实参
D、传递方式由用户指定

七、指针 (共10题,每题1分,共计10分)

(  D  )
1、设函数fun的定义形式为________。
void fun(char ch, float x )
{
…
}
则以下对函数fun的调用语句中,正确的是________。
A、fun("abc",3.0);
B、t=fun('D',16.5);
C、fun('65',2.8);
D、fun(32,32);
(  C  )
2、以下程序段完全正确的是________。
A、int *p; scanf("%d",&p);
B、int *p; scanf(“%d”,p);
C、int k, *p=&k; scanf("%d",p);
D、int k, *p:; *p= &k; scanf(“%d”,p);
(  A  )
3、以下不能正确计算代数式 值的c语言表达式是________。
A、1/3*sin(1/2)*sin(1/2)
B、sin(0.5)*sin(0.5)/3
C、pow(sin(0.5),2)/3
D、1/3.0*pow(sin(1.0/2),2)
(  B  )
4、以下关于return 语句的叙述中正确的是________。
A、一个自定义函数中必须有一条return 语句
B、一个自定义函数中可以根据不同情况设置多条return 语句
C、定义成void 类型的函数中可以有带返回值的return 语句
D、没有return 语句的自定义函数在执行结束时不能返回到调用处
(  C  )
5、下列关于形参的说法,正确的是________。
A、函数的形参是必须的
B、函数的形参可以是表达式
C、函数在定义时,形参是不占用存储空间的,只是在被调用时才会占,调用完毕也就被释放了
D、形参的名称、类型、数量、顺序必须与实参都相同,否则实参不会把信息正确地传递给形参
(  A  )
6、有以下程序:
#include<stdio.h> union pw
{
int i;
char ch[2];
}
a;
main()
{
a.ch[0]=13;
a.ch[1]=0;
printf("%d\n",a.i);
}
程序的输出结果是________。
A、13
B、14
C、208
D、209
(  A  )
7、程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的________。
A、地址
B、类型
C、名称
D、值
(  A  )
8、下列对字符串的定义中,错误的是________。
A、char str[7] = "FORTRAN";
B、char str[] = "FORTRAN";
C、char *str = "FORTRAN";
D、char str[] = {'F','O','R','T','R','A','N',0};
(  D  )
9、以下对一维整型数组a的正确说明是________。
A、int a(10);
B、int n=10,a[n];
C、int n; scanf("%d",&n); int a[n];
D、#define SIZE 10 (换行) int a[SIZE];
(  A  )
10、若调用一个函数,且此函数中没有return语句,则正确的说法是: 该函数________。
A、没有返回值
B、返回若干个系统默认值
C、能返回一个用户所希望的值
D、返回一个不确定的值

八、结构体 (共10题,每题1分,共计10分)

(  C  )
1、设有如下枚举类型定义: enum language
{
basic=3 , assembly , ada=100 , cobol , fortran
};
枚举量 fortran 的值为 。
A、4
B、7
C、102
D、103
(  B  )
2、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu {
int i;
int name;
} st,*p; p=&st;
A、st.i
B、*p.i
C、(*p).i
D、p->i
(  A  )
3、c语言中用于定义类的关键字是________。
A、class
B、struct
C、default
D、sizeof
(  A  )
4、下列选项中不属于c语言的数据类型是________。
A、复数型
B、逻辑型
C、双精度型
D、集合型
(  B  )
5、已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义
struct a*f(int t1,int*t2,struct a t3,struct a*t4) struct a p,*p1;
int i;
则正确的函数调用语句为
A、&p=f(10,&i,p,p1);
B、p1=f(i++,(int*)p1,p,&p);
C、p=f(i+1,&(i+2),*p,p);
D、f(i+1,&i,p,p);
(  C  )
6、设有以下语句:
typedef struct tt { char c; int a[4]; } cin; 则下面叙述中正确的是________。
A、可以用TT定义结构体变量
B、TT是struct类型的变量
C、可以用CIN定义结构体变量
D、CIN是struct TT类型的变量
(  D  )
7、有以下程序
#include <stdio.h>
main()
{
struct stu
{
char name[9];
char sex;
double score[2];
}
;
struct stu a={"zhao",'m',85.0,90.0},b={"qian",'f',95.0,92.0};
b=a;
printf("%s,%c,%2.0f,%2.0f\n",b.name,b.sex,b.score[0],b.score[1]);
}
程序的运行结果是______。
A、Qian,f,95,92
B、Qian,m,85,90
C、Zhao,f,95,92
D、Zhao,m,85,90
(  C  )
8、下列关于共用体类型变量的描述中,正确的是________。
A、可以对共用体变量直接赋值
B、一个共用体变量可以同时存放其所有的成员
C、一个共用体变量中不可以同时存放其所有的成员
D、共用体类型定义中,不能出现结构体类型的成员
(  C  )
9、enum a
{
sum=9,mon=-1,tue
}
;
定义了________。
A、枚举变量
B、3个标识符
C、枚举数据类型
D、整数9和-1
(  A  )
10、在C语言中,下面那种数据类型不属于构造类型____
A、枚举类型
B、数组类型
C、结构体类型
D、共用体类型

九、程序题 (共10题,每题1分,共计10分)

(  D  )
1、以下程序的输出结果是________。
main( )
{
int x=11,y=11;
printf("%d%d\\n",x--,--y);
}
A、11,11
B、10,10
C、10,11
D、11,10
(  A  )
2、有以下程序
void swap1(int c0[], int c1[])
{
int t ;
t=c0[0];
c0[0]=c1[0];
c1[0]=t;
}
void swap2(int *c0, int *c1)
{
int t;
t=*c0;
*c0=*c1;
*c1=t;
}
main()
{
int a[2]={3,5} , b[2]={3,5} ;
swap1(a, a+1);
swap2(&b[0], &b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
}
程序运行后的输出结果是________。
A、3 5 5 3
B、5 3 3 5
C、3 5 3 5
D、5 3 5 3
(  A  )
3、若有以下定义和语句 char sl[10]= "abcd!", *s2="n123\\";
printf("%d %d\n", strlen(s1),strlen(s2));
则输出结果是________。
A、5 5
B、105
C、107
D、5 8
(  B  )
4、有以下程序
void swap1(int c[])
{
int t;
t=c[0];
c[0]=c[1];
c[1]=t;
}
void swap2(int c0,int c1)
{
int t;
t=c0;
c0=c1;
c1=t;
}
main( )
{
int a[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
}
其输出结果是________。
A、5 3 5 3
B、5 3 3 5
C、3 5 3 5
D、3 5 5 3
(  C  )
5、有以下程序
main()
{
int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a<b);
//短路问题 printf("%d,%d\n",k,m);
}
程序运行后的输出结果是________。
A、0,0
B、0,1
C、1,0
D、1,1
(  A  )
6、以下程序的输出结果是 __________.
#include<stdio.h>
void main()
{
int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d,",x[i][i]);
printf("\n");
}
A、1,5,9,
B、1,4,7,
C、3,5,7,
D、3,6,9,
(  C  )
7、下列程序的输出结果是________。
main( )
{
char a[10]={9,8,7,6,5,4,3,2,1,0},* p=a + 5;
printf("%d",*--p);
}
A、非法
B、a[4]的地址
C、5
D、3
(  B  )
8、下面程序的输出是________。 typedef union
{
long x[2];
int y[4];
char z[8];
}
mytype;
mytype them;
void main()
{
printf("%d\n", sizeof(them));
}
A、32
B、16
C、8
D、24
(  C  )
9、设有如下定义:int ix=10,iy=3,iz;
则语句printf("%d\n",iz=(ix%iy,ix/iy));
的输出结果是________。
A、1
B、2
C、3
D、4
(  D  )
10、以下程序的输出结果是________。
main()
{
int i,j,k,a=3,b=2;
i=(--a==b++)?--a:++b;
j=a++;
k=b;
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
A、i=2,j=1,k=3
B、i=1,j=1,k=2
C、i=4,j=2,k=4
D、i=1,j=1,k=3