延安大学2023年计算机C语言期末精选样卷

本试卷为延安大学2023年计算机C语言期末精选样卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

计算机C语言期末精选样卷

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

(  B  )
1、以下叙述中错误的是________。
A、算法正确的程序最终一定会结束
B、算法正确的程序可以有零个输出
C、算法正确的程序可以有零个输入
D、算法正确的程序对于相同的输入一定有相同的结果
(  A  )
2、语句while(!e); 中的表达式!e等价于( )。
A、E==0
B、E!=1
C、E!=0
D、E==1
(  C  )
3、表达式________的值是0。
A、3%5
B、3/5.0
C、3/5
D、3<5
(  A  )
4、下列语句中,正确的是________。
A、char *s ; s="Olympic";
B、char s[7] ; s="Olympic";
C、char *s ; s={"Olympic"};
D、char s[7] ; s={"Olympic"};
(  C  )
5、以下选项中可作为c语言合法整数的是________。
A、10110B
B、0386
C、0Xffa
D、x2a2
(  D  )
6、以下合法的c语言赋值语句是________。
A、a=b=58
B、k=int(a-:
C、a=58,b=20
D、++i;
(  D  )
7、设x和y均为int型变量,则以下语句:"x+=y; y=x-y; x-=y; "的功能是______。
A、把x和y按从大到小排列
B、把x和y按从小到大排列
C、无确定结果
D、交换x和y中的值
(  B  )
8、"not"属于________。
A、关系运算符
B、逻辑运算符
C、特殊运算符
D、标准运算符
(  A  )
9、若变量x、y已正确定义并赋值,以下符合c语言语法的表达式是________。
A、++x,y=x--
B、x+l=y
C、x=x+10=x+y
D、double(x)/10
(  D  )
10、已知大写字母a的ascii码是65,小写字母a的ascii码是97,以下不能将变量c中的大写字母转换为对应小写字母的语句是______。
A、c=(c-'A')%26+'a'
B、c=c+32
C、c=c-'A'+'a'
D、c=('A'+c)%26-'a'
(  B  )
11、已知int a[3][2]=(3,2,1); 则表达式"a[0][0]/a[0][1]/a[0][2]"的值是________。
A、0.166667
B、1
C、0
D、错误的表达式
(  C  )
12、若有以下定义,则正确的语句是________。
union data
{
int i;
char c;
float f;
} a;
int n;
A、c=5;
B、a={
2,'a',1.2};
C、printf("%d\n",a);
D、n=a;
(  C  )
13、若给定条件表达式(m)?(a++):(a--)则下列选项中和表达式m等价的是________。
A、(M==0)
B、(M==1)
C、(M!=0)
D、(M!=1)
(  D  )
14、下列选项中用于判断ch是否是字符的表达式是________。
A、( 'a' <= ch <= 'z' ) || ( 'A' <= ch <= 'Z' )
B、( 'a' <= ch <= 'z' ) && ( 'A' <= ch <= 'Z' )
C、( ch >= 'a' && ch <= 'z' ) && ( ch >= 'A' && ch <= 'Z' )
D、( ch >= 'a' && ch <= 'z' ) || ( ch >= 'A' && ch <= 'Z' )
(  A  )
15、a、b分别是整数6、-2,那么a对b求余与b对a求余的值分别为
A、0、-2
B、3、-2
C、3、2
D、0、2
(  D  )
16、下列结果不相同的是________。
A、1111-0101
B、1111~0101
C、1111^1010
D、0000^1010
(  C  )
17、执行以下语句后a 的值为________。
int a,b,c;
a=b=c=1;
++a||++b&&++c;
A、错误
B、0
C、2
D、1
(  B  )
18、X、Y、Z被定义为int型变量,若从键盘给它们输入数据,则正确的输入语句是________。
A、input X,Y,Z;
B、scanf(“%d%d%d”,&X,&Y,&Z);
C、scanf(“%d%d%d”,X,Y,Z);
D、read(“%d%d%d”,&X,&Y,&Z);
(  C  )
19、下列程序段的输出结果为________。 float x=213.82631; printf("%3d",(int)x);
A、213.82
B、213.83
C、213
D、3.8
(  C  )
20、整型变量x=1,y=3,经下列计算后,x的值不等于6的是________。
A、x=(x=1+2,x*2)
B、x=y>2?6:5P60条件运算符
C、x=9-(--y)P29
D、x=y*4/2

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

(  C  )
1、在嵌套使用if语句时,c语言规定else总是________。
A、和之前与其具有相同缩进位置的if配对
B、和之前与其最近的if配对
C、和之前与其最近的且不带else的if配对
D、和之前的第一个if配对
(  A  )
2、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
A、1
B、0
C、2
D、不知道a的值,不能确定
(  D  )
3、能正确表示a和b同时为正或同时为负的逻辑表达式是________。
A、(a>=0‖b>=0)&&(a<0‖b<0)
B、(a>=0&&b>=0)&&(a<0&&b<0)
C、(a+b>0)&&(a+b<=0)
D、a*b>0
(  A  )
4、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
A、可以是任意合法的表达式
B、必须是逻辑表达式
C、必须是逻辑表达式或关系表达式
D、必须是关系表达式
(  C  )
5、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
A、if(x++);
B、if(x>y&&y!=0);
C、if(x>0)x- else y++;
D、if(y<0){;} else x++;
(  A  )
6、有以下程序
main()
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出的结果是________。
A、011122
B、012
C、012020
D、120
(  A  )
7、以下程序的输出结果是________。
#include<stdio.h>
main()
{
int a=4,b=3,c=2,d=1;
printf("%d",a<b?a:d<c?d:b);
}
A、1
B、3
C、2
D、4
(  C  )
8、下列程序的输出结果是________。
main ()
{
int a = 4, b = 5, c;
if (a < b)
{
c = a * b;
printf ("%d,%d,%d\n", b, a, c);
}
else
{
c = b / a;
printf ("%d,%d,%d\n", b, a, c);
}
}
A、4,5,12
B、20
C、5,4,20
D、12
(  B  )
9、c语言中,关系表达式和逻辑表达式的值是________。
A、0
B、0或1
C、1
D、'T'或'F'
(  D  )
10、执行下列程序段后,m 的值是________.
int w=2,x=3,y=4,z=5,m;
m=(w
A、4
B、3
C、5
D、2

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

(  B  )
1、下面程序的输出结果是 __________.
#include<stdio.h>
void main( )
{
int x=3;
do
{
printf("%d ",x-=2);
}
while(!(--x));
}
A、1
B、1 -2
C、3 0
D、是死循环
(  B  )
2、对于while、do…while循环结构,正确的说法是________。
A、只是表达形式不同
B、do…while 结构中的语句至少执行一次
C、while 结构中的语句至少执行一次
D、条件成立时,它们有可能一次也不执行
(  A  )
3、结构化程序设计思想的核心是要求程序只由顺序、循环和______三种结构组成。
A、分支
B、单入
C、单出
D、有规则GOTO
(  D  )
4、结构化程序设计方法的结构不包括________。
A、顺序结构
B、分支结构
C、循环结构
D、跳转结构
(  D  )
5、下面关于break语句的描述中,不正确的是________。
A、break可以用于循环体内
B、break语句可以在for循环语句中出现多次
C、break语句可以在switch语句中出现多次
D、break语句可用于if条件判断语句内
(  B  )
6、有以下程序
#include<stdio.h>
main()
{
int a=1,b=2;
while(a<6)
{
b+=a;
a+=2;
b%=10;
}
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是________。
A、5,11
B、7,1
C、7,11
D、6,1
(  D  )
7、有以下程序段int n=0,p;
do
{
scanf("%d",&p);
n++;
}
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
(  A  )
8、下列c语言程序段中关于while循环体正确的说法是inti=1;
while(5)
{
i++;
if(i>3)break;
}
A、三次循环
B、四次循环
C、五次循环
D、六次循环
(  C  )
9、以下描述中正确的是________。
A、由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号
C、在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作
D、do-while 循环中,根据情况可以省略 while
(  B  )
10、以下程序的执行结果是 main()
{ int x = 0, s = 0;
while( !x != 0 ) s += ++x;
printf( "%d ",s ); }
A、0
B、1
C、语法错误
D、无限循环

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

(  A  )
1、下列字符数组初始化语句中,不正确的是________。
A、char c[]='goodmorning';
B、char e[20]="goodmorning":
C、char c[]=('a','b','c','d');
D、char c[]={”ffgoodmorning”);
(  B  )
2、以下能正确定义一维数组的选项是________。
A、int a[5]={
0.1,2.3.4,5);
B、char a[]={
0,1,2,3,4,5);
C、char a={'A’,'B','C');
D、int a[5]=”0123”;
(  D  )
3、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下划线处应填写的是________。
#define N 5
void fun(int x[N])
{
int m;
for(m=N-t;m>=O;m-)scanf("%d",________);
}
A、%&X[++m]
B、&x[m+1]
C、x+(m++)
D、x+m
(  B  )
4、以下数组定义中错误的是________。
A、int x[][3]={0};
B、int x[2][3]={{l,2},{3,4},{5,6}};
C、int x[][3]={{l,2,3},{4,5,6}};
D、int x[2][3]={l,2,3,4,5,6};
(  D  )
5、以下数组定义中不正确的是 __________.
A、int a[2][3];
B、int b[][3]={0,1,2,3};
C、int c[100][100]={0};
D、int a[3][]={{1,2},{1,2,3},{1,2,3,4}};
(  C  )
6、若在某函数内部有定义:int a[3][4]; 则数组a中各元素________。
A、可在程序的运行阶段得到初值0
B、可在程序的编译阶段得到初值0
C、不能得到确定的初值
D、可在程序的编译或运行阶段得到初值0
(  D  )
7、下列描述中,正确的一条是______。
A、关系表达式的值是一个逻辑值,即“真”或“假”,可以赋给一个逻辑变量
B、在C语言中,判断一个量是否为:真”时,以0代表“假”,以1代表“真”.
C、设a=3、b=4、c=5,则表达式!(x=&&(y=&&0的值为0
D、一个数组的各个数组元素可属于不同的数据类型
(  C  )
8、以下正确的程序段是________。
A、char str1[ ]="12345",str2[ ]="abcdef";
B、char str[10],*st="abcde";strcat(str,st);
C、char str[10]=" "。*st="abcde";strcat(str,st);
D、char*st1="12345",*st2="abcde";strcat(st1,st2);
(  C  )
9、下面程序的输出结果是______。
main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int(*p)[4]=a,i,j,k=0;
for(i=0;i<3;i++) for(j=0;j<2;j++) k=p[i][j];
printf("%d\n",k);
}
A、17
B、18
C、19
D、23
(  D  )
10、以下对一维数组a 的正确说明是________。
A、int n; scanf("%d",&n); int a[n];
B、int n=10,a[n];
C、int a(10);
D、#define SIZE 10int a[SIZE];

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

(  C  )
1、下列能正确进行字符串赋值的是________。
A、char s[5]={¨ABCDE”);
B、char s[5]={'A','B','C','D','E'};
C、char*s;s=”ABCDE”;
D、char*s;printf(”%S”,s);
(  D  )
2、以下关于字符串的叙述中正确的是________。
A、c语言中有字符串类型的常量和变量
B、两个字符串中的字符个数相同时才能进行字符串大小的比较
C、可以用关系运算符对字符串的大小进行比较
D、空串一定比空格打头的字符串小
(  B  )
3、设有字符串a="he has 钱!",则该字符串的长度为( )。
A、9
B、10
C、11
D、8
(  A  )
4、以下不能正确进行字符串赋初值的语句是________。
A、char str[5]="good!";
B、char str[]="good!";
C、char *str="good!";
D、char str[5]={‘g',‘o',‘o',‘d'};
(  C  )
5、null是指 ________。
A、0
B、空格
C、未知的值或无任何值
D、空字符串
(  B  )
6、设有两个字符串p和q,其中q是p的子串,把q在p中首次出现的位置作为子串q在p中位置的算法称为 (43) 。
A、求子串
B、匹配
C、连接
D、求串长
(  A  )
7、下列哪个是c语言的有效标识符
A、_Nol
B、No.1
C、12345
D、int
(  B  )
8、下列类型的数据不可以存储在可变型变量中的是________。
A、整型
B、字节型
C、单精度型
D、日期型
(  C  )
9、请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ats\n012\1\\") );
上面程序片段的输出结果是______。
A、11
B、10
C、9
D、8
(  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、有以下程序片段:
y=-1;
if(x!=0)
if(x>0) y=1;
else y=0;
其能正确表示的数学函数关系是________。
A、-1(x-<0)
B、1(x<0)
0(x=0) -1(x=0)
1(x>0) 0(x>0)
C、0(x<0)
D、-1(x<0)
-1(x=0) 1(x=0)
1(X>0) 0(x>0)
(  B  )
2、c语言允许函数值类型缺省定义,此时该函数值隐含的类型是________.
A、float
B、int
C、long
D、double
(  B  )
3、c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为________.
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回给实参
D、由用户指定传递方式
(  A  )
4、c 语言的基本构成单位是: 。
A、函数
B、函数和过程
C、超文本过程
D、子程序
(  B  )
5、以下关于程序中函数的定义、调用和声明的叙述中,正确的是______。
A、函数的定义必须放在该函数的调用之前
B、函数的声明必须放在该函数的调用之前
C、函数的定义必须放在该函数的声明之前
D、函数的声明必须放在该函数的定义之前
(  A  )
6、以下程序的输出结果是 long fun(int n) {
long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;
}
main() {
printf("%ld\n",fun(3));
}
A、1
B、2
C、3
D、4
(  D  )
7、下面关于函数依赖的叙述中,不正确的是________。
A、若X→Y,Y→Z,则X→YZ
B、若X→Y,Y'包含Y,则X→Y'
C、若X→Y,Y→Z,则X→Z
D、若XY→Z,则X→Z,Y→Z
(  D  )
8、设有语句: x=inputbox("输入数值","0","示例") 程序运行后,如果从键盘上输人数值10并按回车键,则下列叙述中正确的是______。
A、变量x的值是数值10
B、在InputBox对话框标题栏中显示的是“示例”
C、0是默认值
D、变量x的值是字符串“10”
(  D  )
9、若有定义,int*f(); 则下列描述中正确的是________。
A、一个用于指向整型数据的指针变量
B、一个用于指向一维数组的指针
C、一个用于指向函数的指针变量
D、一个返回值为指针型的函数名
(  D  )
10、以下叙述中正确的是________。
A、复合语句在语法上包含多条语句,其中不能定义局部变量
B、花括号对只能用来表示函数的开头和结尾,不能用于其他目的
C、空语句就是指程序中的空行
D、当用 scanf 从键盘输入数据时,每行数据在没按下回车键(Enter 键)前,可以任意修改

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

(  D  )
1、有以下程序
#include <stdio.h>
void fun(int *a, int n)/*fun函数的功能是将a所指数组元数从大到小排序*/
{
int t,i,j;
for(i=o;i<n-1;j++) for(j=j+1;j<n;j++) if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
main()
{
int c[10]={1,2,3,4,5,6,7,8,9,0} ,i;
fun(c+4,6);
for(i=0;i<10,i++) printf("%d,",c[i]);
}
程序的运行结果是________。
A、1,2,3,4,5,6,7,8,9,0,
B、0,9,8,7,6,5,1,2,3,4,
C、0,9,8,7,6,5,4,3,2,1,
D、1,2,3,4,9,8,7,6,5,0,
(  B  )
2、在下面关于指针的说法中,错误的一条是________。
A、变量的指针就是变量的地址
B、可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量
C、一个指针变量只能指向同一个类型的变量
D、指针变量中只能存放地址(指针)
(  D  )
3、已知3个字符为:a、z和8,按它们的ascii码值升序排序,结果是________。
A、8,a,Z
B、a,8,Z
C、a,Z,8
D、8,Z,a
(  C  )
4、若有定义:int a=4,b=5; float x=3.4,y=2.1; 则下列表达式的值为________。 (float)(a+b) /2+(int)x%(int)y
A、5.5
B、55
C、5.500000
D、55.00000
(  C  )
5、以下程序运行后,如果从键盘上输入abcdef<回车>,则输出结果为______。
#include<stdio.h>
#include<string.h>
func(char str[]) {
int num=0;
while(*(str+num)!=’\0’) num++;
return(num);
}
main()
{
char str[10],*p=str;
gets(p);
printf("%d\n",func(p));
}
A、8
B、7
C、6
D、5
(  B  )
6、当全局变量与局部变量重名时,那么在调用时( )
A、局部变量会被屏蔽
B、全局变量会被屏蔽
C、都不会调用,系统会报错
D、会调用两次,先调用局部变量,再调用全局变量
(  A  )
7、下面选择中正确的赋值语句是(设char a[5],*p=a;)________。
A、p="abcd";
B、a="abcd";
C、*p="abcd";
D、*a="abcd";
(  A  )
8、以下叙述正确的是________。
A、C程序中各函数之间既允许直接递归调用,也允许间接递归调用
B、C程序中各函数之间不允许直接递归调用,也不允许间接递归调用
C、C程序中各函数允许直接递归调用,不允许间接递归调用
D、C程序中各函数之间不允许直接递归调用,允许间接递归调用
(  A  )
9、char *match(char c)是()。
A、函数定义的头部
B、函数预说明
C、函数调用
D、指针变量说明
(  B  )
10、以下语句中,不能实现回车换行的是()。
A、printf("\n");
B、putchar("\n");
C、fprintf(stdout,"\n");
D、fwrite("\n",1,1,stdout);

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

(  C  )
1、有以下程序
typedef struct
{
char name[9];
char sex;
float score [2];
} stu;
stu 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];
return a:
}
main() {
stu c=
{
"qian", 'f', 95.0, 92.0
};
stu d=f(c);
printf("%s, %c, %2.0f, %2.0f", d.name, d.sex, d.score[0], d.score[1]); ) 程序的运行结果是________。
A、Qian,f,95,92
B、Qian,m,85,90
C、Zhao,m,85,90
D、Zhao,f,95,92
(  B  )
2、有以下程序
#include <stdio.h>
struct ord
{
int x ,y;
}
dt[2]= {1,2,3,4 };
main()
{
struct ord *p=dt;
printf("%d,",++p->x);
printf("%d\n",++p->y);
}
程序的运行结果是________。
A、1,2
B、2,3
C、3,4
D、4,1
(  D  )
3、有如下定义
struct person
{
char name[9] ;
int age ;
};
struct person class[10]={" johu" , 17 , "paul" , 19 , "mary" , 18 , "adam" , 16};
根据上述定义,能输出字母 m 的语句是______。
A、prinft ( " %c\n" , class[3].name );
B、printf ( " %c\n" , class[3].name[1] );
C、prinft ( " %c\n" , class[2].name[1] );
D、printf ( " %c\n" , class[2].name[0] );
(  B  )
4、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu
{
int i;
int name;
} st,*p;
p=&st;
A、si
B、*i
C、(*.i
D、p->i
(  C  )
5、有以下程序段
typedef struct node
{
int data;
struct node * next;
}
* node;
node p;
以下叙述中正确的是________。
A、p是指向struct node结构变量的指针的指针
B、NODEp;语句出错
C、p是指向struct node结构变量的指针
D、p是struct node结构变量
(  A  )
6、下列选项中不属于c语言的数据类型是________。
A、复数型
B、逻辑型
C、双精度型
D、集合型
(  A  )
7、以下结构体类型说明和变量定义中正确的是________。
A、typedef struct
int n;char c;REC;
REC t1,t2;
B、struet REC;
int n;char c;;
REC t1,t2;
C、typedef struct REC;
int n=0;char c='A';t1,t2;
REC t1,t2;
D、struct
int n;char c;REC;
(  D  )
8、以下程序的输出结果是______。
struct har
{
int x,y;
struct har *p;
}
h[2];
main()
{
h[0].x=1;
h[0].y=2;
h[1].x=3;
h[1].y=4;
h[0].p=&h[1];
h[1].p=h;
printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);
}
A、12
B、23
C、14
D、32
(  D  )
9、若有下面的说明和定义,则sizeof(struct aa)的值是______。
struct aa
{
int r1;
double r2;
float r3;
}
maya;
A、20
B、18
C、14
D、16
(  C  )
10、以下scanf函数调用语句中不正确的是__。
struct pupil
{
char name[20];
int age;
int sex;
}
pup[5], *p=pup;
A、scanf("%s", pup[0].name);
B、scanf("%d", &pup[0].age);
C、scanf("%d", p->age);
D、scanf("%d", &(p->sex));

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

(  A  )
1、有以下程序
main()
{
int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是________。
A、2,1
B、3,2
C、4,3
D、2,-1
(  B  )
2、若有以下程序段: int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf("%d,%d,%a",a,b,c);执行后的输出结果是________。
A、3,0,-10
B、0,0,5
C、-10,3,-10
D、3,0,3
(  A  )
3、执行语句printf("%u\n",+12345)的输出结果是________。
A、12345
B、0
C、-1
D、非定值
(  A  )
4、有以下程序
void sum(int a[])
{
a[0] = a[-1]+a[1];
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
sum(&a[2]);
printf("%d\n", a[2]);
}
程序运行后的输出结果是________。
A、6
B、7
C、5
D、8
(  A  )
5、有以下程序
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
(  B  )
6、有以下程序
main()
{
int a;
char c=10;
float f=100.0;
double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f %3.1f\n",a,c,f,x);
}
程序运行后的输出结果是________。
A、1 65 1 6.5
B、1 65 1.5 6.5
C、1 65 1.0 6.5
D、2 65 1.5 6.5
(  B  )
7、若变量已正确定义,有以下程序段
int a=3,b=5,c=7;
if(a>b) a=b;
c=a;
if(c!=a) c=b;
printf("%d,%d,%d\n",a,b,c);
其输出结果是________。
A、程序段有语法错
B、3,5,3
C、3,5,5
D、3,5,7
(  A  )
8、下面程序的输出结果是 __________.
#include<stdio.h>
void main()
{
int a=5,b=3;
float x=3.14, y=6.5;
printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));
}
A、1,0
B、0, 1
C、1,1
D、0,0
(  D  )
9、下面程序段的运行结果是 __________.
int x=0,y=0;
while (x<15)
y++,x+=++y;
printf("%d,%d",y,x);
A、20,7
B、6, 12
C、20,8
D、8,20
(  A  )
10、下面程序段的输出结果是________。
#include<stdio.h>
main()
{
float x=1.236547;
printf("%f\n",(int)(x*1000+0.5)/(float)1000);
}
A、1.237000
B、输出格式说明与输出项不匹配,输出无定值
C、1.236000
D、1.24