成都中医药大学往年计算机C语言期末题库

本试卷为成都中医药大学往年计算机C语言期末题库,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

计算机C语言期末题库

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

(  B  )
1、若有以下定义和语句:"double r=99,*p=&r;
*p=r;",则以下正确的叙述是________。
A、两个*p含义相同,都说明给指针变量P赋值
B、在“double r=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元
C、语句“*p=r;”把变量r的值赋给指针变量P
D、语句“*p=r;”取变量r的值放回r中
(  C  )
2、有以下定义语句,编译时会出现编译错误的是________。
A、char a='a';
B、char a='\n';
C、char a='aa';
D、char a='\x2d';
(  C  )
3、以下叙述错误的是________。
A、C语言区分大小写
B、C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改
C、整数和实数都能用C语言准确无误地表示出来
D、在C程序中,正整数可以用十进制、八进制和十六进制的形式来表示
(  B  )
4、现有定义int a; double b; float c; char k; 则表达式a/b+c-k值的类型为
A、int
B、double
C、float
D、char
(  A  )
5、下列属于条件运算符的是________。
A、:
B、&&
C、>>
D、+
(  D  )
6、表达式a+=a-=a=9的值是________。
A、9
B、-9
C、18
D、0
(  D  )
7、下列选项中合法的赋值语句是________。
A、a-b=34
B、a=34,b=34
C、i-1;
D、m=(int)(x+y);
(  A  )
8、已知[x/2]补=c6h,计算机的机器字长为8位二进制编码,则[x]补= (11) 。
A、8CH
B、18H
C、E3H
D、F1H
(  B  )
9、若题中各变量已正确定义并赋值,下面符合c语法的表达式是________。
A、a%=7.6;
B、a++,a=7+b+c
C、int(12.3)%4
D、a=c+b=a+7
(  A  )
10、设有声明语句:char a='\72'; 则变量a________。
A、包含1个字符
B、包含2个字符
C、包含3个字符
D、声明不合法
(  A  )
11、表达式0x13^0x17的值是________。
A、0x04
B、0x13
C、0xE8
D、0x17
(  C  )
12、下列标识符,不合法的是________。
A、abc
B、_d
C、123
D、e1
(  B  )
13、有如下程序段int *p,a=5,b=1; p=&a; a=*p+b; 执行该程序段后,a的值为______。
A、5
B、6
C、7
D、编译出错
(  C  )
14、以下叙述中正确的是________。
A、转义字符要用双引号括起来,以便与普通的字符常量区分开
B、字符常量在内存中占 2 个字节
C、字符常量需要用单引号括起来
D、字符常量是不能进行关系运算的
(  D  )
15、以下程序段中,变量 c 的二进制值是________ char a=2,b=4,c;
c=a+b<<2;
A、00000011
B、00010100
C、00011100
D、00011000
(  D  )
16、若希望当a的值为奇数时,表达式的值为真;
a的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是________。
A、A%2==1
B、!(A%2==0)
C、A%2
D、!(A%2)
(  C  )
17、能正确表示:当x 的取值范围在[1,10] 或[100, 110]内为真,否则为假的表达式是________。
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  )
18、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为__________。
A、a < > 0
B、!a
C、a=0
D、a!=0
(  D  )
19、下列( )表达式的值为真,其中 a=5;b=8;c=10;d=0
A、a*2>8+2
B、a&&d
C、(a*2-c)||d
D、a-b
(  C  )
20、以下叙述中正确的是()。
A、在程序的一行上可以出现多个有效的预处理命令行
B、使用带参的宏时,参数的类型应与宏定义时的一致
C、宏替换不占用运行时间,只占编译时间
D、在以下定义中 C R 是称为"宏名"的标识符 #define C R 045

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

(  D  )
1、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是________。
A、k%2
B、k%2==1
C、(k%2)!=0
D、!k%2==1
(  A  )
2、下列程序的输出结果是________。
main()
{
int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case 0: case 3:a+=1;
case 1;
case 2:a+=2;
default:a+=3;
}
}
printf("%d",a);
}
A、19
B、1
C、6
D、8
(  C  )
3、有以下程序
main( )
{
char k;
int i;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case ‘0’: printf("another\n");
case ‘1’: printf("number\n");
}
}
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是________。
A、another
number
B、another
number
another
C、another
number
number
D、number
number
(  C  )
4、若所用变量都已正确定义,则在以下选项中,非法的表达式是________。
A、a!=4||b==1
B、'a'%3
C、'a'=1/2
D、'a'+32
(  C  )
5、switch语句中表达式(expression)的值不允许用的类型是________。
A、byte
B、int
C、boolean
D、char
(  A  )
6、在c程序中,判断逻辑值时,分别用( )表示逻辑值"真"、"假"。
A、非0 0
B、0 1
C、非0非0
D、1 1
(  A  )
7、在c程序中,判逻辑值时,用"非0"表示逻辑值"真",又用"0"表示逻辑值"假"。在求逻辑值时,逻辑真和逻辑假可分别表示为
A、1 0
B、0 1
C、非0非0
D、1 1
(  C  )
8、设变量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++;
(  B  )
9、有以下程序
#include <stdio.h>
main ()
{
int a = 5, b = 4, c = 3, d = 2;
if (a > b > c)
printf ("%d\n", d);
else if ((c - 1 >= d) == 1)
printf ("%d\n", d + 1);
else
printf ("%d\n", d + 2);
}
执行后输出的结果是________。
A、2
B、3
C、4
D、编译时有错,无结果
(  C  )
10、下列程序的输出结果是______。
#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

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

(  C  )
1、下面程序段的输出结果是 __________.
x=3;
do
{
y=x--;
if (!y)
{
printf("*");
continue;
}
printf("#");
}
while(x=2);
A、##
B、##*
C、死循环
D、输出错误信息
(  B  )
2、有如下程序
#include<stdio.h>
void main()
{
int x=23;
do
{
printf("%d",x--);
}
while(!x);
}
该程序的执行结果是 _________。
A、321
B、23
C、不输出任何内容
D、陷入死循环
(  B  )
3、下列选项中均属于c语言合法的标识符是________。
A、Int
#sub
break
B、_3ab
FOR
Long
C、3a
printf
a_b
D、WORD
auto
include
(  D  )
4、结构化程序设计方法的结构不包括________。
A、顺序结构
B、分支结构
C、循环结构
D、跳转结构
(  D  )
5、下列叙述中正确的是________。
A、break语句只能用于switch语句
B、在switch语句中必须使用default
C、break语句必须与switch语句中的case配对使用
D、在switch语句中,不一定使用break语句
(  C  )
6、有以下程序:
#include <stdio.h>
main()
{
int i, j, m=1;
for(i=1; i<3; i++)
{
for(j=3; j>0; j--)
{
if(i*j>3)break;
m*=i*j;
}
}
printf("m=%d\n", m);
}
程序运行后的输出结果是______。
A、m=4
B、m=2
C、m=6
D、m=5
(  B  )
7、以下程序的功能是计算s=1+12+123+1234+12345。
#include <stdio.h>
main()
{
int t=0,s=0,i;
for(i=1;i<=5;i++) {
t=i+_____;
s=s+t;
}
printf("s=%d\n",s);
}
则______部分是________。
A、t
B、t*10
C、t*100
D、t+10
(  D  )
8、程序设计语言中________。
A、while 循环语句的执行效率比do-while 循环语句的执行效率高
B、while 循环语句的循环体执行次数比循环条件的判断次数多1,而do-while 语句的循环体执行次数比循环条件的判断次数少1
C、while 语句的循环体执行次数比循环条件的判断次数少1,而do-while 语句的循环体执行次数比循环条件的判断次数多1
D、while 语句的循环体执行次数比循环条件的判断次数少1,而do-while 语句的循环体执行次数等于循环条件的判断次数
(  D  )
9、有以下程序段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
(  D  )
10、下列程序的输出为________。
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
A、y=0
B、while构成无限循环
C、y=1
D、y=-1

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

(  B  )
1、以下能正确定义二维数组的是________。
A、int a[][3];
B、int a[][3]={2*3};
C、int a[][3]={};
D、int a[2][3]={{1},{2},{3,4}};
(  C  )
2、以下不能对二维数组a进行正确初始化的语句是________。
A、int a[2][3]={0};
B、int a[][3]={{1,2},{0}};
C、int a[2][3]={{1,2},{3,4},{5,6}};
D、int a[][3] = {1,2,3,4,5,6}
(  B  )
3、若有说明:int a[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为: ( )
A、2
B、3
C、4
D、无确定值
(  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、数组a[0…5,0…6]每个元素占5个单元,将其按列优先次序存储在起始地址为1000的连续内存单元中,则元素a[5][5]的地址为________。
A、1175
B、1180
C、1205
D、1210
(  A  )
6、数组a[1..5,1..6]的每个元素占5个单元,将其按行优先顺序存储在起始地址为1000的连续的内存单元中,则元素a[5,5]的地址为 (15) 。
A、1140
B、1145
C、1120
D、1125
(  B  )
7、对以下说明语句的正确理解是________。 int a[10]= {6,7,8,9,10 };
A、将5个初值依次赋给a[1]至a[5]
B、将5个初值依次赋给a[0]至a[4]
C、将5个初值依次赋给a[6]至a[10]
D、因为数组长度与初值的个数不相同,所以此语句不正确
(  A  )
8、设有数组定义:char array[]="china"; 则数组array所占的空间为________。
A、6字节
B、5字节
C、4字节
D、7字节
(  C  )
9、有以下程序
main()
{
char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
执行后输出结果是________。
A、赋初值的字符串有错
B、6,7
C、5,6
D、6,6
(  B  )
10、若有下列定义和语句,则对 a 数组元素的非法引用是()。
int a[2][3], (*pt)[3]; pt=a;
A、pt[0][0]
B、*(pt+1)[2]
C、*(pt[1]+2)
D、*(a[0]+2)

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

(  D  )
1、以下关于字符串的叙述中正确的是________。
A、c语言中有字符串类型的常量和变量
B、两个字符串中的字符个数相同时才能进行字符串大小的比较
C、可以用关系运算符对字符串的大小进行比较
D、空串一定比空格打头的字符串小
(  B  )
2、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。 while((ch=getchar())!='e') printf("*");
A、5
B、4
C、6
D、1
(  B  )
3、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
A、算术表达式
B、字符串
C、单精度实型数
D、双精度实型数
(  D  )
4、下列字符串中,不可以用作c标识符的是________。
A、y_2006
B、_FEST_H
C、Return
D、switch
(  B  )
5、下列选项中,值为1的表达式是________。
A、1-'0'
B、1-'\0'
C、'1'-0
D、'\0','0'
(  B  )
6、下列选项中c语言中不合法的字符串常量的是________。
A、"\121"
B、'y'
C、"\n\n"
D、"ABCD\x6d\
(  D  )
7、有以下程序:
#include<string.h>
main()
{
char *p="abcde\0ghjik\0";
printf("%d\n",strlen(p) );
}
程序运行后的输出结果是________。
A、12
B、15
C、6
D、5
(  A  )
8、设有定义:char*c; 以下选项中能够使字符型指针c正确指向一个字符串的是________。
A、charstr[]="string";c=str;
B、scanf("%s",c);
C、c=getchar();
D、char str[]="string";strcpy("C,str")
(  C  )
9、顺序执行下列程序语句后,则b的值是 string a="hello"; string b=a.substring(0,2);
A、Hello
B、hello
C、He
D、null
(  B  )
10、以下语句中,不能实现回车换行的是()。
A、printf("\n");
B、putchar("\n");
C、fprintf(stdout,"\n");
D、fwrite("\n",1,1,stdout);

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

(  A  )
1、有以下函数: char fun(char*p)
{
return p;
}
该函数的返回值是________。
A、无确功的值
B、形参P中存放的地址值
C、一个临时存储单元的地址
D、形参P自身的地址值
(  D  )
2、对以下程序,正确的说法是 __________. sub (char x,char y)
{
int z;
z=x%y;
return z;
}
void main( )
{
int g=5,h=3,k;
k=sub(g,h);
printf("%d\n",k);
}
A、实参与其对应的形参类型不一致,程序不能运行
B、被调函数缺少数据类型说明,程序不能运行
C、主函数中缺少对被调函数的说明语句,程序不能运行
D、程序中没有错误,可以正常运行
(  C  )
3、若定义的函数为float* fun()……,则函数的返回值是________。
A、float型数据
B、void型数据
C、float型指针
D、void型指针
(  A  )
4、若有以下定义和语句: char*s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));
则输出结果是______。
A、4
B、5
C、9
D、10
(  A  )
5、若有定义:char *st="how are you"; 下列程序段中正确的是________。
A、chara[11];*p;strcpy(p=a+1,&st[4]);
B、chara[11];strcpy(++a,st);
C、chara[11];strcpy(a,st);
D、chara[],*p;strcpy(p=&a[1],st+2);
(  B  )
6、下列函数中,用于向控制台输出信息的是?
A、scanf()
B、printf()
C、sum()
D、max()
(  A  )
7、以下求 n! 的函数可以正确计算21!,正确的选项是________。_______ fact(int n)
{
int i;
_______ product;
product = 1;
for (i = 1; i <= n; i++)
{
product = product * i;
}
return product;
}
A、double
B、int
C、float
D、void
(  B  )
8、调用函数f(27)的输出结果是________。
void f(int n)
{
if(n<5) printf("%d", n);
else
{
printf("%d", n%5);
f(n/5);
}
}
A、102
B、201
C、21
D、20
(  C  )
9、若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的c语言表达式是______。
A、sqrt(abs(n^x+e^x))
B、sqrt(fabs(pow(n,x)+pow(x,e)))
C、sqrt(fabs(pow(n,x)+exp(x)))
D、sqrt(fabs(pow(x,n)+exp(x)))
(  B  )
10、若执行 fopen 函数时发生错误,则函数的返回值是()。
A、地址值
B、0
C、1
D、EOF

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

(  C  )
1、以下程序段完全正确的是________。
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);
(  B  )
2、下列定义数组的语句中,正确的是________。
A、int N=10;
B、#define N 10
int x[N]; int x[N];
C、int x[0..10];
D、int x[];
(  A  )
3、是构成c语言程序的基本单位。
A、函数
B、过程
C、子程序
D、子例程
(  C  )
4、以下( )不是c语言中用于结构化程序设计的三种基本结构之一。
A、顺序结构
B、选择结构
C、递归结构
D、循环结构
(  B  )
5、在函数说明时,下列不必要的是________项。
A、函数参数的类型
B、函数参数名字
C、函数的名字
D、返回值表达式
(  D  )
6、以下叙述正确的是________。
A、函数可以嵌套定义但不能嵌套调用
B、函数既可以嵌套调用也可以嵌套定义
C、函数既不可以嵌套定义也不可以嵌套调用
D、函数可以嵌套调用但不可以嵌套定义
(  A  )
7、设有说明语句如下: static char str[]="beijing"; 若执行下列输出语句: printf("%d\n",strlen(strcpy(str,"china")));
则输出结果为________。
A、5
B、7
C、12
D、14
(  C  )
8、数组 int a[3][4]; 其中错误的数组引用为________。
A、a[0][0]
B、a[1][3]
C、a[3][3]
D、a[0]
(  A  )
9、若使用一维数组名作函数实参,则以下正确的说法是________。
A、必须在主调函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、在被调用函数中,不需要考虑形参数组的大小
D、实参数组名与形参数组名必须一致
(  C  )
10、以下叙述中错误的是________。
A、C语句必须以分号结束
B、复合语句在语法上被看作一条语句
C、空语句出现在任何位置都不会影响程序运行
D、赋值表达式末尾加分号就构成赋值语句

八、结构体 (共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
(  D  )
2、有如下定义
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  )
3、c语言中的基本数据类型是________。
A、整型、浮点型、逻辑型、无值型和类类型
B、整型、字符型、浮点型、无值型和逻辑型
C、整型、浮点型、字符型、逻辑型和枚举型
D、整型、浮点型、逻辑型、无值型和指针型
(  C  )
4、若定义下列结构体,结构体变量p的出生年份赋值正确的语句是________。
struct st
{
int x;
int y;
int z;
}
struct worker
{
char name[20];
char sex;
struct st birth;
} p;
A、x=1987
B、birth.x=1987;
C、p.birth.x=1987;
D、x=1987;
(  A  )
5、以下程序的运行结果是
#include"stdio.h"
main()
{
struct date {
int year, month, day ;
} today;
printf("%d\n",sizeof(struct date));
}
A、6
B、8
C、10
D、12
(  C  )
6、以下程序运行后的输出结果是
#include<stdio.h>
struct st
{
int x, y;
} data[2] = {{1, 10},{2, 20}};
main ()
{
struct st *p = data;
printf ("%d,", p->y);
printf ("%d\n", (++p)->x);
}
A、10,1
B、20,1
C、10,2
D、20,2
(  C  )
7、下面程序的输出结果为________。
struct st
{
int x;
int *y;
}
*p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
void main()
{
p=aa;
printf("%d ", ++p->x);
printf("%d ", (++p)->x);
printf("%d ", ++(*p->y));
}
A、10 20 20
B、50 60 21
C、51 60 21
D、60 70 31
(  A  )
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+1;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%.3f\n",sum);
}
程序运行后的输出结果是___________。
A、250.000
B、250
C、270.000
D、270
(  D  )
9、以下程序的输出结果是______。
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  )
10、以下对结构体变量stu1中成员age的非法引用是________。
struct student
{
char name[10];
int age ;
}
stu1 ,*p;
p=&stu1;
A、stu1.age
B、p->age
C、(*p).age
D、student.age

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

(  A  )
1、有以下程序:
#define f(x)X*x*x
main()
{
int a=3,S,t;
s=f(a+1);
t=f((a+1));
printf("%d,%d\n",S,t);
}
程序运行后的输出结果是________。
A、10,64
B、10,10
C、64,10
D、64,64
(  C  )
2、要输出下面的图形,请完善程序。
#include <stdio.h>
main( )
{
int i,j,k;
for(i=1;i<=6;i++)
{
for(j=1;j<=20-2*i;j++) printf(" ");
for(k=1;________;k++) printf("%2d",i);
________
}
}
A、i<=k
printf(" ");
B、k<j
printf("\n");
C、k<=i
printf("\n");
D、k<=i
printf(" ");
(  D  )
3、有以下程序 #include<stdio.h>
void fun(int x) {
if(x/2>1)
fun(x/2);
printf("%d",x);
}
main() {
fun(7);
printf("\n");
} 程序运行后的输出结果是________。
A、1 3 7
B、7 3 1
C、7 3
D、3 7
(  D  )
4、有以下程序
#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
(  C  )
5、阅读下面的程序
#include<stdio.h>
void main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
程序的运行结果是 ____________.
A、8,10,8,10
B、9,11,8,10
C、9,11,9,10
D、9,10,9,11
(  B  )
6、以下程序的输出结果是________。
# define SQR (X) X*X
main( ) {
int a=16,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a);
}
A、16
B、2
C、9
D、1
(  A  )
7、有程序:
void fun(int a,int b,int c)
{
a=456;
b=567;
c=678;
}
main( )
{
int x=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",z,y,x);
}
输出结果是________。
A、30,20,10
B、10,20,30
C、456,567,678
D、678,567,456
(  A  )
8、下面程序段的输出结果是________。
#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
(  D  )
9、有以下程序
void f(int x,int y)
{
int t;
if(x<y)
{
t=x;
x=y;
y=t;
}
}
main()
{
int a=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出的结果是______。
A、3,4,5
B、5,3,4
C、5,4,3
D、4,3,5
(  B  )
10、下列程序的输出结果是________。 int b=2;
int func(int *a)
{
b += *a;
return(b);
}
main()
{
int a=2, res=2;
res += func(&a);
printf("%d \n",res);
}
A、4
B、6
C、8
D、10
相关标签:
  • C语言
  • 成都中医药大学
  • 期末题库