湖北经济学院C语言程序设计期末练习

本试卷为湖北经济学院C语言程序设计期末练习,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

C语言程序设计期末练习

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

(  B  )
1、在下列给出的表达式中,与while(e)中的(e)不等价的表达式是________。
A、(!E==0)
B、(E>0||E<0)
C、(E==0)
D、(E!=0)
(  D  )
2、若变量c为char类型,能正确判断出c为小写字母的表达式是________。
A、'a'<=c<='2'
B、(c>='a')||(c<='z')
C、('a'<=c)and('z'>c)
D、(c>='a')&&(c<='Z')
(  A  )
3、c语言中运算对象必须是整型的运算符是________。
A、%
B、/
C、!
D、**
(  A  )
4、可在c程序中用作用户标识符的一组标识符是________。
A、and
2007
B、Date
y-m-d
C、Hi
Dr. Tom
D、case
Bigl
(  A  )
5、变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是________。
A、a^b
B、a|b
C、a&b
D、a<<4
(  D  )
6、若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( )
A、p=q
B、*p=*q
C、n=*q
D、p=n
(  D  )
7、已知有变量定义: int a; char c; 用 scanf(" %d%c " ,&a,&c); 语句给 a 和 c 输入数据,使 30 存入 a ,字符‘ b ’存入 c ,则正确的输入是: 。
A、30 ’ b ’ < 回车 >
B、30 b< 回车 >
C、30< 回车 >b< 回车 >
D、30b< 回车
(  D  )
8、设有语句:"int a=1,b=2,*p1=&a,*p2=&b; ",则使指针p1指向变量b的赋值语句是______。
A、p1=*p2
B、*p1=p2
C、p1=p2
D、*p1=*p2
(  B  )
9、以下4个选项中,属于浮点数常量的是________。
A、0x12
B、-12345e-3
C、le0.5
D、e-5
(  A  )
10、下列选项可以正确表示字符型常量的是________。
A、'\r'
B、"a"
C、"\897"
D、296
(  C  )
11、运行以下程序后,如果从键盘上输入china
A、2,0
B、5,0
C、5,5
D、2,5
(  B  )
12、有如下程序段int *p,a=1,b=2; p=&b; a=*p+a; 执行该程序段后,a的值为______。
A、2
B、3
C、4
D、编译出错
(  C  )
13、下列哪一项不是表达式
A、1
B、a+b
C、@a;
D、c=a+b
(  B  )
14、算法要有确定的含义,不能出现二义性指的是算法的哪个特性?
A、有穷性
B、确定性
C、可行性
D、输入
(  C  )
15、判断闭区间*判断实数 x 属于闭区间 [a, b ] 的表达式为 ▁▁▁▁▁
A、x <= [a, b]
B、a <= x <= b
C、a <= x && x <= b
D、a ≤ x && x ≤ b
(  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
(  B  )
17、在c语言中,要求运算数必须是整型或字符型的运算符是________。
A、&&
B、&
C、!
D、||
(  B  )
18、变量的指针,其含义是指该变量的________。
A、值
B、地址
C、名
D、一个标志
(  D  )
19、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);
为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当 是________。(注:┗┛表示空格)
A、132<回车>
B、1,3,2<回车>
C、a=1┗┛b=3┗┛c=2<回车>
D、a=1,b=3,c=2<回车>
(  C  )
20、若有说明:int *p1,*p2,m=5,n;
以下均是正确赋值语句的选项是________。
A、p1=&m;
B、p1=&m;p2=&n;*p1=*p2;
C、p1=&m;p2=p1;
D、p1=&m;*p2=*p1;

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

(  A  )
1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
A、1
B、0
C、2
D、不知道a的值,不能确定
(  C  )
2、设变量a、b、e、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d) y=0; else y=1; 该语句所表示的含义是________。
A、y=0,a
B、y=0,a
y=1,a≥b y一1,a≥b且c≠d
C、y=0,a
D、y=0,a
y=1,a<B且C≠D y="1,c≠d
(  A  )
3、以下程序的输出结果是
main()
{
int a=0,i;
for(i=;i<5;i++)
{
switch(i)
{
case 0: case 3:a+=2;
case 1: case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
A、31
B、13
C、10
D、20
(  C  )
4、下列说法中不正确的是________。
A、switch语句功能可以由if-else语句实现
B、若用于比较的数据类型为double,则不能用switch语句来实现
C、if-else语句的执行效率总是比switch语句高
D、case子句可以有多个语句,并且不需要用大括号””括起来
(  A  )
5、在c程序中,判断逻辑值时,分别用( )表示逻辑值"真"、"假"。
A、非0 0
B、0 1
C、非0非0
D、1 1
(  B  )
6、有以下程序
#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、编译时有错,无结果
(  B  )
7、c语言的switch语句中case后____
A、只能为常量
B、只能为常量或常量表达式
C、可为常量或表达式或有确定值的变量及表达式
D、可为任何量或表达式
(  D  )
8、执行下列程序段后,m 的值是________.
int w=2,x=3,y=4,z=5,m;
m=(w
A、4
B、3
C、5
D、2
(  C  )
9、a,b 为整型变量,二者均不为 0,以下关系表达式中恒成立的是()。
A、a*b/a*b==1
B、a/b*b/a==1
C、a/b*b+a%b==a
D、a/b*b==a
(  A  )
10、执行下面语句后的输出为____
int i= -1;
if (i < =0)printf("****\n");
else printf("%%%%\n");
A、****
B、%%%%
C、%%%%C
D、有语法错,不能执行

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

(  B  )
1、结构化程序所要求的基本结构不包括( )。
A、顺序结构
B、GOT0跳转
C、选择(分支)结构
D、重复(循环)结构
(  A  )
2、从循环体内某一层跳出,继续执行循环外的语句是:________。
A、break语句
B、return语句
C、continue语句
D、空语句。
(  C  )
3、以下程序段________. x=-1;
do
{
x=x*x;
}
while(!x);
A、是死循环
B、循环执行二次
C、循环执行一次
D、有语法错误
(  A  )
4、c语言中while和do-while循环的主要区别是________。
A、do-while的循环体至少无条件执行一次
B、while的循环控制条件比do–while的循环控制条件严格
C、do-while允许从外部转到循环体内
D、do-while的循环体不能是复合语句
(  B  )
5、已知 #int t=0; while(t=1) {...} 则以下叙述正确的是________。
A、循环控制表达式的值为0
B、循环控制表达式的值为1
C、循环控制表达式不合法
D、以上说法都不对
(  A  )
6、有以下程序
main()
{
int x=0,y=0,i;
for(i=1;++i)
{
if(i%2==0)
{
x++;
continue;
}
if(i%5==0)
{
y++;
break;
}
}
printf("%d,%d",x,y);
}
程序的输出结果是________。
A、2,1
B、2,2
C、2,5
D、5,2
(  A  )
7、下面程序的运行结果是________。
#include <stdio.h>
void main()
{
int y=10;
do
{
y--;
}
while(--y);
printf("%d\n",y--);
}
A、-1
B、1
C、8
D、0
(  B  )
8、有如下程序
#define N 3
#define M N+1#define NUM 2*M+1
main()
{
int i;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是______。
A、5
B、8
C、7
D、6
(  A  )
9、以下程序段,while循环执行的次数是 int k=0; while(k=1) k++ ;
A、无限次
B、有语法错误
C、一次也不执行
D、执行一次
(  B  )
10、下面程序的功能是将从键盘输入的偶数写成两个素数之和。请选择填空。
#include <stdio.h>
#include <math.h>
main()
{
int a, b, c, d;
scanf("%d", &a);
for (b = 3, b <= a / 2; b += 2)
{
for (c = 2; c <= sqrt(c); c++) if (b % c == 0) break;
if (c > sqrt(b)) d = ________;
else continue;
for (c = 2; c <= sqrt(d); c++) if (d % c == 0) break;
if (c > sqrt(d)) printf("%d=%d+%d\n", a, b, d);
}
}
A、a+b
B、a-b
C、a*b
D、a/b

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

(  B  )
1、有如下定义语句:int a[]= {1,2,3,4,5 },则对语句int * p=a; 正确的描述是________。
A、语句int * p=a;定义不正确
B、语句int * p=a;初始化变量p,使其指向数组对象a的第一个元素
C、语句int * p=a;是把a[0]的值赋给变量p
D、语句int * p=a;是把a[1]的值赋给变量p
(  A  )
2、设int a[10],*p=a; 数组元素a[4]的正确引用是________。
A、*(p+4)
B、p+4
C、*p+4
D、a+4
(  A  )
3、以下叙述中正确的是______。
A、每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元
B、一条语句只能定义一个数组
C、数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
D、在引用数组元素时,下标表达式可以使用浮点数
(  B  )
4、若要定义a为3×4的二维数组,正确的定义语句是________。
A、float a(3,4);
B、float a[3][4];
C、float a(3)(4);
D、float a[3,4];
(  B  )
5、下列程序段的运行结果是________。
#include<stdio.h>
void main()
{
char str[]="abc",*p=str;
printf("%d\n",* (p+3));
}
A、67
B、0
C、字符'C'的地址
D、字符'C'
(  A  )
6、已知有数组定义 char a[3][4]; 下列表达式中错误的是________。
A、a[2]="WIN"
B、strcpy(a[2],"WIN")
C、a[2][3]='W'
D、a[0][1]=a[0][1]
(  D  )
7、以下语句或语句组中,能正确进行字符串赋值的是________。
A、char *sp; *sp="right!";
B、char s[10]; s="right!";
C、char s[10]; *s="right!";
D、char *sp="right!";
(  C  )
8、下列数组的定义中,错误的是________。
A、char ca1[]='c','m','n';
B、char ca2[6]="name";
C、char ca3[4]="your";
D、int array[]=1,2,3,4;
(  B  )
9、已知:int a[2][3]; 则对数组元素的非法引用是________。
A、*(a[0]+2)
B、.a[1][3]
C、a[1][0]
D、*(*(a+1)+2)
(  C  )
10、数组名作为实参数传递给函数时,数组名被处理为________。
A、该数组的长度
B、该数组的元素个数
C、该数组的首地址
D、该数组中各元素的值

五、字符串/字符串指针 (共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
(  A  )
3、下列选项中,能够满足"若字符串s1等于字符串s2,则执行st"要求的是________。
A、if(strcmp(s2,s1)==0)ST;
B、if(sl==s2)ST;
C、if(strcpy(s l ,s2)==1)ST;
D、if(sl-s2==0)ST;
(  D  )
4、以下能正确定义字符串的语句是________。
A、char str[]={′\064′};
B、char str="kx43";
C、char str=";
D、char str[]="\0";
(  C  )
5、在下列各项中,运算级别最低的为________。
A、算术运算符
B、关系运算符
C、逻辑运算符
D、圆括号( )
(  C  )
6、下列表达式中,类型可以作为int型的是________。
A、"abe"+"efg"
B、"abc"+"efg"
C、'a'+'b'
D、3+"4"
(  B  )
7、下面选项中合法的字符常量是________。
A、"X"
B、'X'
C、'abc'
D、'\'
(  C  )
8、设 char *s="\ta\017bc";
则指针变量s指向的字符串所占的字节数 是________。
A、9
B、5
C、6
D、7
(  B  )
9、以下语句中,不能实现回车换行的是()。
A、printf("\n");
B、putchar("\n");
C、fprintf(stdout,"\n");
D、fwrite("\n",1,1,stdout);
(  B  )
10、设 p1 和 p2 是指向同一个字符串的指针变量,c 为字符变量,则以下不能正确执行的赋值语句是()。
A、c=*p1+*p2;
B、p2=c;
C、p1=p2;
D、c=*p1*(*p2);

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

(  B  )
1、若有以下说明和定义
fun ( int *c )
{
}
void main ()
{
int ( *a )() =fun , *b (), w[10] , c ;
…
}
在必要的赋值之后,对 fun 函数的正确调用语句是______。
A、a=a ( w );
B、( *a )( &c );
C、b=*b ( w );
D、fun ( b );
(  D  )
2、在下面的函数声明中,存在着语法错误的是________。
A、void BC(int a,in
B、void BD(int,in
C、void BE(int,int t=5)
D、int BF(int x;int
(  B  )
3、结构化程序设计的三种基本逻辑结构是________。
A、选择结构,循环结构和嵌套结构
B、顺序结构,选择结构和循环结构
C、选择结构,循环结构和模块结构
D、循环结构,递归结构和循环结构
(  C  )
4、判断字符串s1是否大于字符串s2,应该使用________。
A、if(strcmp(s1,s2)<0)
B、if(s1>s2)
C、if(strcmp(s2,s1)<0)
D、if(strcmp(s1,s2))
(  D  )
5、以下叙述中错误的是________。
A、C程序必须由一个或一个以上的函数组成
B、函数调用可以作为一个独立的语句存在
C、若函数有返回值,必须通过咖语句返回
D、函数形参的值也可以传回给对应的实参
(  B  )
6、以下叙述中正确的是________。
A、在函数中必须要有return语句
B、在函数中可以有多个return语句,但只执行其中的一个
C、return语句中必须要有一个表达式
D、函数值并不总是通过return语句传回调用处
(  A  )
7、下列程序的输出结果是________。
int f1(int x,int y)
{
return x>y?x:y;
}
int f2(int x,int y)
{
return x>y?y:x;
}
main()
{
int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d));
f=f1(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);
}
A、4,3,7
B、3,4,7
C、5,2,7
D、2,5,7
(  C  )
8、有关c语言的主函数描述正确的是________。
A、C程序可以有多个main函数
B、C程序可以没有main函数
C、C程序有且只有一个main函数
D、C程序不一定从main函数开始执行
(  B  )
9、关于 c 语言的符号常量,以下叙述中正确的是________。
A、符号常量的符号名是标识符,但必须大写
B、符号常量是指在程序中通过宏定义用一个符号名来代表一个常量
C、符号常量在整个程序中其值不能再被重新定义
D、符号常量的符号名必须是常量
(  A  )
10、以下叙述中正确的是________。
A、int*p1;int**p2;int*p3 都是合法的定义指针变量的语句
B、指针变量只能通过求地址运算符(&)来获得地址值
C、语句 p=NULL;与 p=\0;是等价的语句
D、语句 p=NULL;执行后,指针 p 指向地址为 0 的存储单元

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

(  C  )
1、以下不能将s所指字符串正确复制到t所指存储空间的是________。
A、while(*t=*s){t++;s++;)
B、for(i=0;t[i]=s[i];i++);
C、do {*t++=*s++;)while(*s);
D、for(i=0,j=o;t[i++]=s[j++];);
(  C  )
2、程序中对fun函数有如下说明 void*fun(); 此说明的含义是________。
A、fun函数无返回值
B、fun函数的返回值可以是任意的数据类型
C、fun函数的返回值是无值型的指针类型
D、指针fun指向一个函数、该函数无返回值
(  A  )
3、c语言程序的三种基本结构是顺序结构、循环结构和( )
A、选择结构
B、递归结构
C、嵌套结构
D、转移结构
(  C  )
4、以下( )不是c语言中用于结构化程序设计的三种基本结构之一。
A、顺序结构
B、选择结构
C、递归结构
D、循环结构
(  B  )
5、下列关于串的叙述中,哪一条是正确的( )
A、串是由至少1个字符组成的有限序列
B、串中字符的数目就是串的长度
C、空串就是由空格构成的串
D、串只能顺序存储
(  D  )
6、有以下程序
#include <stdio.h>
void fun(int a[],int n) {
int i,t;
for(i=0;i<n/2;i++) t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
main() {
int k[10]=1,2,3,4,5,6,7,8,9,10,i;
fun(k,5);
for(i=2;i<8;i++) printf("%d",k[i]);
printf("\n");
}
程序的运行结果是______。
A、345678
B、876543
C、1098765
D、321678
(  B  )
7、有以下程序: int*f(int*x,int*y)
{
if(*x<*y) return x;
else return y;
}
main()
{
int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=f(p,q);
print("% d,% d,% d\n",*p,*q,*r);
}
执行后的输出结果是 ______。
A、7,8,8
B、7,8,7
C、8,7,7
D、8,7,8
(  B  )
8、以下叙述中正确的是________。
A、一条语句只能定义一个数组
B、每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元
C、数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
D、在引用数组元素时,下标表达式可以使用浮点数
(  B  )
9、int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是________。
A、for(i=1;i<11;i++)a[i]=i;
B、for(i=1;i<11;i++)a[i-1]=i;
C、for(i=1;i<11;i++)a[i+1]=i;
D、for(i=1;i<11;i++)a[0]=1;
(  B  )
10、下列关于函数之间数据传递的叙述正确的是________。
A、当函数实参是指针类型时,被称为传值调用
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、有以下程序
#include <stdio.h>
struct tt
{
int x;
struct tt*y;
}
*p;
struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};
main()
{
int i;
p=a;
for(i=1;i<=2,i++)
{
printf("%d,",p->x);
p=p->y;
}
}
程序的运行结果是________。
A、20,30,
B、30,17
C、15,30,
D、20,15
(  A  )
3、有以程序
#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
(  D  )
4、有以下程序
typedef struct
{
int b,p;
}
a;
void f(a c)            /* 注意:c是结构变量名 */
{
int j;
c.b+=1;
c.p+=2;
}
main()
{
int i;
a a={1,2};
f(a);
printf("%d,%d\n",a.b,a.p);
}
程序运行后的输出结果是______。
A、2,3
B、2,4
C、1,4
D、1,2
(  C  )
5、以下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));
(  D  )
6、有如下定义: struct student
{
char name[10];
int age;
char gender;
}
std[3], *p=std;
则以下各输入语句中错误的是________。
A、scanf("%d",&(*p).age);
B、scanf("%c",&std[0].gender);
C、scanf("%c",&(p->gender));
D、scanf("%s",&std.name);
(  A  )
7、设有结构体的定义如下:
struct data
{
char c1;
char c2;
}
;
则sizeof(struct data)的值是________。
A、2
B、3
C、4
D、5
(  D  )
8、下面定义结构变量的语句中错误的是________。
A、struct student{
int num; char name[20];
} s;
B、struct {
int num; char name[20];
} s;
C、struct student{
int num; char name[20];
};
struct student s;
D、struct student{
int num; char name[20];
};
student s;
(  C  )
9、下面哪个不是关键字?
A、int
B、struct
C、define
D、continue
(  A  )
10、以下关于 c 语言数据类型使用的叙述中错误的是________。
A、若只处理“真”和“假”两种逻辑值,应使用逻辑类型
B、若要保存带有多位小数的数据,可使用双精度类型
C、整数类型表示的自然数是准确无误差的
D、若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型

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

(  C  )
1、有以下程序
#include <stdio.h>
main()
{
int a = 1, b = 0;
if (--a)
b++;
else if (a == 0)
b += 2;
else
b += 3;
printf("%d\n", b);
}
程序运行后的输出结果是________。
A、0
B、1
C、2
D、3
(  C  )
2、若有以下程序段: int r=8; print("%d\n",r>>1); 输出结果是________。
A、16
B、8
C、4
D、2
(  A  )
3、有下列程序:
main()
{
int x=0;
int y=0;
while(x<7 &&++v)
{
y--;
x++;
}
printf("%d,%d",y,x);
}
程序的输出结果是________。
A、0,7
B、7,7
C、0,6
D、1,6
(  B  )
4、有如下程序
main( )
{
int n=9;
while(n>6)
{
n--;
printf("%d",n);
}
}
该程序段的输出结果是________。
A、987
B、876
C、8765
D、9876
(  B  )
5、有以下程序
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2;
printf("%d\n", *p + *q);
}
程序运行后的输出结果是________。
A、16
B、10
C、8
D、6
(  D  )
6、以下不能正确表示代数式2ad/cd的c语言表达式是________。
A、2*a*b/c/d
B、a*b/c/d*2
C、a/c/d*b*2
D、2*a*b/c*d
(  A  )
7、以下程序的运行结果是________。
main() {
int a[5],k;
for(k=0;k<5;k++)
a[k]=10*k;
printf("%d", a[k-1]);
}
A、40
B、35
C、50
D、45
(  A  )
8、若运行时给变量x输入12,则以下程序的运行结果是
main()
{
int x,y;
scanf("%d",&x);
y=x>12 ? x+10 : x-12;
printf("%d\n",y);
}
A、0
B、22
C、12
D、10
(  D  )
9、设x,y均为int型变量,且x=10,y=3,则printf("%d,%d\n",x-,-y);
语句的输出结果是______。
A、10,3
B、9,3
C、9,2
D、10,2
(  B  )
10、以下程序的输出结果是_______。
#define N 10
void fun(int a[],int n,int m)
{
int i;
for(i=m;i>=n;i--)A[i+1]=a[i];
}
main( )
{
int i,a[N]={4,5,6,7,8,9,10};
fun(a,2,6);
for(i=0;i<4;i++)printf("%d",a[i]);
}
A、5667
B、4566
C、7889
D、4556