南京财经大学计算机C语言

本试卷为南京财经大学计算机C语言,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

计算机C语言

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

(  A  )
1、为表示关系:x≥y≥z,应使用的c语言表达式是________。
A、(x>=y)&&(y>=z)
B、(x>=y)AND(y>=x)
C、(x>=y>=z)
D、(x>=y)&(y>=z)
(  B  )
2、若变量a、i已正确定义,且i已正确赋值合法的语句是________。
A、a==1
B、++i
C、a=a++=5
D、a=int(i)
(  C  )
3、能正确表示"当x的取值在[1,10]和[100,11o]范围内为真,否则为假"的表达式是________。
A、(x>=1)&&(x<=10)&&(x>=100)&&(X<=110)
B、(x>=1)&&(x<=10)||(x>=100)||(x<=110)
C、(x>=1)&&(x<=10)||(x>=100)&&(x<=110)
D、(x>=1)||(x<=10)&&(x>=100)||(x<=110)
(  D  )
4、若变量c为char类型,能正确判断出c为小写字母的表达式是________。
A、’a’<=c<=’z’
B、(c>=’a’) || (c<=’z’)
C、(‘a’<=c) and (‘z’>=c)
D、(c>=’a’) && (c<=’z’)
(  D  )
5、表达式3.6-5/2+1.2+5%2的值是________。
A、4.3
B、4.8
C、3.3
D、3.8
(  D  )
6、不合法的常量是: 。
A、‘ \2 ’
B、" "
C、‘ 3 ’
D、‘ \483 ’
(  B  )
7、一个字符的ascii码占用的存储空间为________。
A、2个字节
B、1个字节
C、4个字节
D、8个字节
(  D  )
8、下列运算符中,优先级最高的是________。
A、+=
B、==
C、&&
D、++
(  B  )
9、设x=1,y=2,z=3,则表达式y+=z--/++x的值是________。
A、3
B、3.5
C、4
D、5
(  D  )
10、已知小写英文字母"a"的ascii码值为61h,现字母"g"被存放在某个存储单元中,若采用偶校验(假设最高位作为校验位),则该存储单元中存放的十六进制数是______。
A、66H
B、E6H
C、67H
D、E7H
(  D  )
11、若采用双符号位判断溢出,当结果的符号位为11时,表示 (13) 。
A、结果为正溢出
B、结果正,无溢出
C、结果负溢出
D、结果为负,无溢出
(  B  )
12、关于二进制的说法中,正确的是________。
A、所有的信息只能用二进制代码来表示
B、计算机一般都使用二进制代码,用它的某种信息编码方式来表示信息
C、ASCII是计算机用来表示文字符号的唯一一种二进制代码
D、汉字在计算机内使用汉字国标码来表示,不使用二进制编码
(  B  )
13、有如下程序段int *p,a=6,b=2; p=&a; a=*p+b; 执行该程序段后,a的值为______。
A、6
B、8
C、7
D、编译出错
(  B  )
14、以下说法正确的是________。
A、实参类型不必同形参类型一致。
B、实参可以是常量、变量和表达式。
C、形参可以是常量、变量和表达式。
D、实参顺序与形参顺序无关。
(  D  )
15、一个5位的二进制数能够表示的最大值为?
A、63
B、64
C、32
D、31
(  A  )
16、设a=5、b=6、c=7、d=8、m=1、n=1,执行(m=a>b)&&(n=c>d)后n的值为______。
A、1
B、2
C、3
D、4
(  C  )
17、调试程序是指对程序进行
A、编辑
B、编译
C、查错和排错
D、连接
(  D  )
18、若int 类型数据占2 字节,则以下语句的输出为________。int k=32768;
printf(''%d,%u\n'',k,k);
A、-1,65535
B、-1,32767
C、-1, -1,
D、-32768,32768
(  D  )
19、在 C语言中,能代表逻辑值“真”的是()。
A、TRUE
B、大于 0 的数
C、非 0 整数
D、非 0 的数
(  D  )
20、若有说明:int a[3][4];则数组 a 中各元素()。
A、可在程序的运行阶段得到初值 0
B、可在程序的编译阶段得到初值 0
C、不能得到确定的初值
D、可在程序的编译或运行阶段得到初值 0

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

(  C  )
1、运行以下程序后,如果从键盘上输入china#<回车>, 则输出结果为
#include <stdio.h>
main( )
{
int v1=0,v2=0;
char ch;
while ((ch=getchar( ))!='#') switch(ch)
{
case 'a': case 'h': default: v1++;
case 'o': v2++;
}
printf("%d,%d\n",v1,v2);
}
A、2,0
B、5,0
C、5,5
D、2,5
(  C  )
2、若所用变量都已正确定义,则在以下选项中,非法的表达式是________。
A、a!=4||b==1
B、'a'%3
C、'a'=1/2
D、'a'+32
(  A  )
3、在c程序中,判逻辑值时,用"非0"表示逻辑值"真",又用"0"表示逻辑值"假"。在求逻辑值时,逻辑真和逻辑假可分别表示为
A、1 0
B、0 1
C、非0非0
D、1 1
(  C  )
4、下述语句中,_____中的if语句语法是错误的。 ( )
A、if(x>y);
B、if(x==y)x+=y;
C、if(x!=y)seanf("%d",&x)else scanf("%d",&y);
D、if(x<y)x++;y++;
(  A  )
5、下列程序的运行结果是________。
main()
{
int a=-5,b=1,c=1;
int x=0,y=2,z=0;
if(c>0)x=x+ y;
if(a<=0)
{
if(b>0) if(c<=0)y=x-y;
}
else if(c>0)y=x-y;
else z=y;
printf("%d,%d,%d\n",x,y,z);
}
A、2,2,0
B、2,2,2
C、0,2,0
D、2,0,2
(  C  )
6、若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是________。
A、switch(x) {
case 1.0 : printf("*\n");
case 2.0 : printf("**\n");
}
B、switch((int)x); {
case 1 : printf("*\n");
case 2 : printf("**\n");
}
C、switch(a+b) {
case 1: printf("*\n");
case 2+1: printf("**\n");
}
D、switch(a+b) {
case 1 : printf("*\n");
case c : printf("**\n");
}
(  C  )
7、下列程序的输出结果是______。
#include<stdio.h>
main()
{
int a=0,b=1,c=2;
if(++a>0 || ++b>0) ++c;
printf("%d,%d,%d",a,b,c);
}
A、0,1,2
B、1,2,3
C、1,1,3
D、1,2,2
(  A  )
8、选择出合法的if语句(设int x,a,b,c;)________。
A、if(a=b) x++;
B、if(a=<b) x++;
C、if(a<>b) x++;
D、if(a=>b) x++;
(  C  )
9、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
A、if(x++);
B、if(x>y && y!=0);
C、if(x>0) x--
D、if(y<0) {;}
(  B  )
10、将三个数排序需要比较________次。
A、2
B、3
C、4
D、不确定

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

(  B  )
1、若变量已正确定义,有以下程序段
int i=0;
do
printf("%d,",i);
while(i++);
printf("%d",i) 其输出结果是________。
A、0,0
B、0,l
C、1,1
D、程序进入无限循环
(  B  )
2、定义如下变量: int n=10; 则下列循环的输出结果是________。 while(n>7)
{
n--;
printf("%d\n",n);
}
A、10
9
8
B、9
8
7
C、10
9
8
7
D、9
8
7
6
(  C  )
3、有如下程序
#include<stdio.h>
void main( )
{
int i,sum=0;
for(i=1;i<=3;sum++) sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是 _____________.
A、6
B、3
C、死循环
D、0
(  C  )
4、在下列选项中,没有构成死循环的程序是________。
A、int i=100;
while(i) {
i=i%100+1;
if(i>100) break;
}
B、for(;;);
C、int k=1000;
do
++k ;
while(k>=1000);
D、int s=36;
while(s);
--s;
(  C  )
5、程序的基本控制结构是______。
A、顺序结构,多分支结构和单分支结构
B、顺序结构,支结构和循环结构
C、顺序结构,选择结构和循环结构。
D、单行结构和多行结构。
(  C  )
6、若有循环:
int x=5,y=20;
do { y-=x; x++; }
while(++x<--y);
则循环体将被执行________。
A、0次
B、1次
C、2次
D、3次
(  D  )
7、下列语句哪些不属于循环语句?
A、for
B、while
C、do while
D、if
(  A  )
8、以下程序段,while循环执行的次数是 int k=0; while(k=1) k++ ;
A、无限次
B、有语法错误
C、一次也不执行
D、执行一次
(  C  )
9、下面程序段。x=3;
do
{
y=x--;
if(!y)
{
printf("*");
continue;
}
printf("#");
}
while(1<=x<=2);
A、将输出##
B、将输出###*
C、是死循环
D、含有不合法的控制表达式
(  C  )
10、下面程序的运行结果是________。
main( )
{
int cl=2,c2=0;
while(!c2--)printf(''%d%d'',cl--,c2);
}
A、陷入死循环
B、不输出任何内容
C、输出2 -1
D、输出20

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

(  D  )
1、下列选项中,能够正确定义数组的语句是________。
A、int num[0..2008];
B、int num[];
C、int N=2008;
D、#define N 2008
int num[N]; int num[N]
(  C  )
2、若有说明语句"int a[5],*p=a; ",则对数组元素的正确引用是________。
A、a[p]
B、p[a]
C、*(p+2)
D、p+2
(  C  )
3、给出以下定义 : char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为 __________.
A、数组 x 和数组 y 等价
B、数组 x 和数组 y 的长度相同
C、数组 x 的长度大于数组 y 的长度
D、数组 x 的长度小于数组 y 的长度
(  C  )
4、以下一维数组 a 的正确定义是 __________ .
A、int n=10,a[n];
B、int n;
C、#define SIZE 10
scanf("%d",&n); int a[SIZE];
int a[n];
D、int a(10);
(  A  )
5、执行完语句int [] x= new int [25]; 后,则下列哪项说法是正确的
A、x[24]值为0
B、x[24]值未定义
C、x[25]值为0
D、x[0]值为空
(  D  )
6、下面关于数组的描述错误的是________。
A、在C语言中数组的名字就是指向该数组第一个元素的指针
B、长度为n的数组,下标的范围是0~n-1
C、数组的大小必须在编译时确定
D、数组只能通过值参数和引用参数两种方式传递给函数
(  C  )
7、设有定义语句int a []= { 66,77,99 },则下列对此语句的叙述中错误的是________。
A、定义了一个名为a的一维数组
B、a数组有3个元素
C、a数组的元素的下标为1~3
D、数组中的每一个元素都是整型
(  B  )
8、有以下程序
main()
{
int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;
for(i=0;i<3;i++)
for(k=i+1;k<4;k++)
if(a[i][i]<a[k][k])
{
t=a[i][i];
a[i][i]=a[k][k];
a[k][k]=t;
}
for(i=0;i<4;i++)
printf("%d,",a[0][i]);
}
程序运行后的输出结果是________。
A、6,2,1,1,
B、6,4,3,2,
C、1,1,2,6,
D、2,3,4,6,
(  C  )
9、下面程序段的执行结果是________。
#include<stdio.h>
main()
{
int a[5][5],i,j;
for(i=1;i<5;i++) for(j=1;j<5;j++) a[i][j]=(i<j)*(j/i);
for(i=1;i<5;i++) {
for(j=1;j<5;j++) printf("%2d",a[i][j]);
printf("\n");
}
}
A、1111
1111
1111
1111
B、0001
0010
0100
1000
C、0234
0012
0001
0000
D、0000
0000
0000
0000
(  B  )
10、c语言中,数组名代表________。
A、数组全部元素的值
B、数组首地址
C、数组第一个元素的值
D、数组元素的个数

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

(  B  )
1、c语言中,下列不合法的字符串常量是________。
A、”\121”
B、'y='
C、”\n\n”
D、”ABCD\x6d”
(  C  )
2、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。
A、char s[10]=”abcdefg”;
B、char t[]=”abcdefg”,*s=t;
C、char s[10];s=”abcdefg”;
D、char s[10];strcpy(s,”abcdefg”);
(  D  )
3、以下正确的字符串常量是________。
A、“╲╲╲”
B、‘abc’
C、Olympic
D、**
(  C  )
4、下面程序段的运行结果是 char *s="abcde"; s+=2; printf("%d",s);
A、cde
B、字符'c'
C、字符'c'的地址
D、无确定的输出结果
(  A  )
5、以下选项中合法的c语言字符常量是________。
A、'\t'
B、"A"
C、67
D、A
(  A  )
6、以下不能将s所指字符串正确复制到t所指存储空间的是______。
A、do*t++=*s++;while(*s);
B、for(i=0;t[i]=s[i];i++);
C、while(*t=*s)t++;s++;
D、for(i=0,j=0;t[i++]=s[j++];);
(  C  )
7、下列表达式中,类型可以作为int型的是________。
A、"abe"+"efg"
B、"abc"+"efg"
C、'a'+'b'
D、3+"4"
(  D  )
8、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个______
A、单精度数
B、双精度数
C、常量
D、字符串
(  A  )
9、下面不正确的字符串常量是________。
A、'abc'
B、"12'12"
C、"0"
D、" "
(  C  )
10、判断两个字符串是否相等,正确的表达方式是
A、s1==s2
B、s1=s2
C、strcmp(s1,s2)==0
D、strcmp(s1,s2)=0

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

(  D  )
1、对下面程序段,描述正确的是________。 for(t=1;t<=100;t++)
{
scanf("%d",&x);
if (x<0) continue;
printf("%d\n",t);
}
A、当x<0时,整个循环结束
B、当x>=0时,什么也不输出
C、printf函数永远也不执行
D、最多允许输出100个非负整数
(  A  )
2、设有以下函数:
void fun(int n,char *s)
{
……
}
则下面对函数指针的定义和赋值均正确的是________。
A、void (*pf)(); pf=fun;
B、void *pf(); pf=fun;
C、void *pf(); *pf=fun;
D、void (*pf)(int,char);pf=&fun;
(  A  )
3、在 c 语言中,当函数调用时 。
A、实参和形参各占一个独立的存储单元
B、实参和形参共用存储单元
C、可以由用户指定实参和形参是否共用存储单元
D、由系统自动确定实参和形参是否共用存储单元
(  A  )
4、c 语言规定,除主函数外,程序中各函数之间 ______.
A、既允许直接递归调用也允许间接递归调用
B、不允许直接递归调用也不允许间接递归调用
C、允许直接递归调用不允许间接递归调用
D、不允许直接递归调用允许间接递归调用
(  C  )
5、若有以下调用语句,则不正确的fun函数的首部是________。
main() {
…
int a[50],n;
…
fun(n, &a[9]);
…
}
A、void fun(int m,int x[])
B、void fun(int s,int h[4])
C、void fun(int p, int *s)
D、void fun(int n,int x)
(  B  )
6、所有在函数中定义的变量及函数的形式参数,都属于________。
A、全局变量
B、局部变量
C、静态变量
D、常量
(  A  )
7、下列程序的运行结果是________。
#include<stdio.h>
void sub(int*s,int*y) {
static int m=4;
*y=s[0];
m++;
}
void main() {
int a[]=1,2,3,4,5,k;
int x;
printf("\n");
for(k=0;k<=4;k++)
{
sub(a,&x);
printf("%d,",x);
}
}
A、1,1,1,1,1,
B、1,2,3,4,5,
C、0,0,0,0,0,
D、4,4,4,4,4,
(  D  )
8、函数调用结束后,形式参数( )
A、继续占用相同大小的内存
B、不确定
C、占用内存减小
D、释放内存
(  A  )
9、下面叙述中错误的是________。
A、主函数中定义的变量在整个程序中都是有效的
B、在其它函数中定义的变量在主函数中也不能使用
C、形式参数也是局部变量
D、复合语句中定义的函数只在该复合语句中有效
(  C  )
10、c语言规定,在一个源程序中,main函数的位置________。
A、必须在最开始
B、必须在其他函数的后面
C、可以任意
D、必须在最后

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

(  C  )
1、设有定义:"double x[10],*p=x; ",以下能给数组x下标为6的元素读人数据的正确语句是________。
A、scanf("%f",&x[6]);
B、scanf("%If",*(x+6));
C、scanf("%if",p+6);
D、scanf("%if",p[6]);
(  D  )
2、若调用一个函数,且此函数中没有return语句,则正确的说法是________。
A、该函数没有返回值
B、该函数返回若干个系统默认值
C、能返回一个用户所希望的函数值
D、返回一个不确定的值
(  A  )
3、阅读以下程序
#include <stdio.h>
main()
{
int case;
float printf;
printf("请输入2个数:");
scanf("%d %f",&case,&printf);
printf("%d %f\n",case,printf);
}
该程序在编译时产生错误,其出错原因是________。
A、定义语句出错,case是关键字,不能用作用户自定义标识符
B、定义语句出错,printF不能用作用户自定义标识符
C、定义语句无错,scanf不能作为输入函数使用
D、定义语句无措,printf不能输出case的值
(  B  )
4、关于过程、自定义函数的调用,正确的叙述是________。
A、实参的数量必须等于形参的数量,它们是一对应的关系
B、实参的数量可以少于形参的数量,多余的形参取逻辑假
C、实参的数量可以多于形参的数量,多余的实参被忽略
D、实参的数量可以多于形参的数量,多余的实参取逻辑假
(  D  )
5、若已定义:int a[9],*p=a; 并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是________。
A、p+1
B、a+1
C、&a[1]
D、*p[1]
(  D  )
6、要定义一个字符串,下列选项中错误的是________。
A、char s[5] = "hello";
B、char s[] = "hello";
C、char *s = "hello";
D、char s[] = {"h","e","l","l","o"};
(  B  )
7、若有定义:int *p[3];
,则以下叙述中正确的是______。
A、定义了一个类型为int的指针变量p,该变量具有三个指针
B、定义了一个指针数组p,该数组含有三个元素,每个元素都是类型为int的指针
C、定义了一个名为*p的整型数组,该数组含有三个int类型元素
D、定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
(  C  )
8、c 语言主要是借助以下哪种手段来实现程序的模块化()
A、使用丰富的数据类型
B、定义常量和外部变量
C、定义函数
D、使用三种基本结构语句
(  B  )
9、若有下列定义,则对a数组元素地址的正确引用是________。 int a[5],*p=a;
A、&a[5]
B、p+2
C、a++
D、&a
(  D  )
10、若char a[10]; 已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是________。
A、gets(a);
B、scanf("%s",a);
C、for(i=0;i<10;i++)a[i]=getchar();
D、a=getchar();

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

(  B  )
1、有以下程序
struct stu
{
char name[10];
int num;
float totalscore;
};
void f(struct stu *p)
{
struct stu s[2]={{"sundan",20044,550} ,{"penghua",20045,537}}, *q=s;
++p ;
++q;
*p=*q;
}
main()
{
struct stu s[3]= {{"yangsan",20041,703},{"lisiguo",20042,580}};
f(s);
printf("%s %d %3.0f\n", s[1].name, s[1].num, s[1].totalscore);
}
程序运行后的输出结果是________。
A、SunDan 20044 550
B、Penghua 20045 537
C、LiSiGuo 20042 580
D、SunDan 20041 703
(  A  )
2、有以程序
#include <stdio.h>
#include <string.h>
typedef struct
{
char name[9];
char sex;
float score[2];
} stu;
void f( stu a)
{
stu b={"zhao" ,’m’,85.0,90.0} ;
int i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i<2;i++) a.score[i]=b.score[i];
}
main()
{
stu c={"qian",’p’,95.0,92.0};
f(c);
printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]);
}
程序的运行结果是________。
A、Qian,f,95,92
B、Qian,m,85,90
C、Zhao,f,95,92
D、Zhao,m,85,90
(  B  )
3、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu {
int i;
int name;
} st,*p; p=&st;
A、st.i
B、*p.i
C、(*p).i
D、p->i
(  C  )
4、以下对结构体类型变量的定义中,不正确的是________。
A、typedef struct aa {
int n;
float m;
} AA;
AA tdl;
B、#define AA struct aa AA{
int n;
float m;
} tdl;
C、struct {
int n;
float m;
} aa;
struct aa tdl;
D、struct {
int n;
float m,
} tdl;
(  A  )
5、有以下程序
struct s
{
int n;
int a[20];
};
void f(int *a,int n)
{
int i;
for(i=0;i<n-1;i++)a[i]+=i;
}
main()
{
int i;
struct s s={10,{ 2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0; i<s.n; i++)printf("%d,",s.a[i]);
}
程序运行后的输出结果是________。
A、2,4,3,9,12,12,11,11,18,9,
B、3,4,2,7,9,8,6,5,11,10,
C、2,3,1,6,8,7,5,4,10,9,
D、1,2,3,6,8,7,5,4,10,9,
(  D  )
6、有以下结构体说明、变量定义和赋值语句
struct std
{
char name[10];
int age;
char sex;
}
s[5],*ps;
ps=&s[0];
则以下scanf函数调用语句中错误引用结构体变量成员的是________。
A、scanf("%S",S[0].name);
B、scanf("%d",&s[0].age);
C、scanf("%C",&(ps->sex));
D、scanf("%d",ps->age);
(  A  )
7、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若要使p指向data中的a域,正确的赋值语句是________。
A、p=(struct sk*)&data.a;
B、p=(struct sk*) data.a;
C、p=&data.a;
D、*p=data.a;
(  B  )
8、有以下程序
struct stu
{
char num[10];
float score[3];
};
main( )
{
struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;
int i;
float sum=0;
p=s;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%.2f\n",sum);
}
程序运行后的输出结果是________。
A、270
B、270.00
C、285.00
D、285
(  A  )
9、在C语言中,下面那种数据类型不属于构造类型____
A、枚举类型
B、数组类型
C、结构体类型
D、共用体类型
(  A  )
10、结构体类型的定义允许嵌套是指()。
A、成员是已经或正在定义的结构体型
B、成员可以重名
C、结构体型可以派生
D、定义多个结构体型

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

(  C  )
1、若有以下程序段: int r=8; print("%d\n",r>>1); 输出结果是________。
A、16
B、8
C、4
D、2
(  A  )
2、有以下程序:
void fun2(char a,char b)
{
printf("%c%c",a,b);
}
char a='a',b='b';
void fun1( )
{
a='c';
b='d';
}
main()
{
fun1( );
printf("%c%c",a,b);
fun2('e','f');
}
程序的运行结果是________。
A、CDEF
B、ABEF
C、ABCD
D、CDAB
(  A  )
3、有以下程序
#define f(x) x*x
main( )
{
int i;
i=f(4+4)/f(2+2);
printf("%d\n",i);
}
执行后输出结果是________。
A、28
B、22
C、16
D、4
(  B  )
4、有以下程序
#include <stdio.h>
void fun( int *a,int *b)
{
int *c;
c=a;
a=b;
b=c;
}
main()
{
int x=3, y=5, *p=&x, *q=&y ;
fun(p,q);
printf("%d,%d,",*p,*q);
fun(&x,&y);
printf("%d,%d\n",*p,*q);
}
程序运行后输出的结果是________。
A、3,5,5,3
B、3,5,3,5
C、5,3,3,5
D、5,3,5,3
(  D  )
5、有以下程序
#include <stdio.h>
main()
{
int a[ ]={1,2,3,4} ,y,*p=&a[3];
--p;
y=*p;
printf("y=%d\n",y);
}
程序的运行结果是________。
A、y=0
B、y=1
C、y=2
D、y=3
(  D  )
6、下列程序的执行结果是 ___________.
#include <stdio.h>
void main( )
{
int x=0,y=1,z=0;
if (x=z=y) x=3;
printf("%d,%d\n",x,z);
}
A、3,0
B、0, 0
C、0,1
D、3,1
(  D  )
7、以下程序的输出结果是______。
main()
{
char a[]="programming",b[]="language";
char *p1,*p2;
int i;
p1=a;
p2=b;
for(i=0;i<7;i++)
if(*(p1+i)==*(p2+i))
printf("%c",*(p1+i));
}
A、gm
B、rg
C、or
D、ga
(  C  )
8、以下程序段的输出结果是________。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%2.1f,%2.1f",a,b,c);
A、无输出
B、12,123.5,12345.5
C、1234,123.5,12345.5
D、1234,123.4,1234.5
(  B  )
9、下面程序的输出结果是______。
main( )
{
int b[]={1,2,3,4,5,6,7,8,9,0},*q;
q=b;
printf("%d\n",*(q+0));
}
A、0
B、1
C、10
D、9
(  B  )
10、下列程序段的执行结果是输出________。
x=3;
do {
printf("%2d",x--);
} while(!x);
A、3 2 1
B、3
C、2 1
D、2 1 0