南京工程学院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
(  A  )
2、没x为int型变量,则执行以下语句后,x的值为( )。 x=10;x=x-=x-x;
A、10
B、20
C、40
D、30
(  C  )
3、若有说明语句:int a; float b; ,以下输入语句正确的是________。
A、scanf("%f%f",&a,&b);
B、scanf("%f%d",&a,&b);
C、scanf("%d,%f",&a,&b);
D、scanf("%6.2f%6.2f",&a,&b);
(  C  )
4、下列四组选项中,正确的c语言标识符是________。
A、%x
B、a+b
C、a123
D、123
(  C  )
5、以下各选项企图说明一种新的类型名,其中正确的是______。
A、typedef v1 int;
B、typedef v2=int;
C、typedef int v3;
D、typedef v4: int;
(  A  )
6、下面关于形参与实参的说法,正确的是________。
A、形参与实参的个数、类型、顺序都应一一对应
B、形参与实参的个数可以不必相同,少一个多一个程序一样执行
C、形参与实参的类型可以不同,不影响运算结果
D、形参与实参的类型个数相同,而顺序不同,计算机可以自动进行匹配,所以形参的顺序无所谓,只要各种形参类型的数量与实参相同即可
(  A  )
7、下列关于指针运算的描述中,错误的是________。
A、在一定条件下,两个指针可以相加
B、在一定条件下,两个指针可以进行逻辑判断
C、在一定条件下,指针可以为空值
D、在一定条件下,两个指针可以相互赋值
(  A  )
8、C源程序中的命令 #include与#define是在______阶段被处理的。
A、预处理
B、编译
C、连接
D、执行
(  C  )
9、对于ascii 码在机器中的表示,下列说法正确的是________。
A、使用8位二进制代码,最右边一位是0
B、使用8位二进制代码,最右边一位是1
C、使用8位二进制代码,最左边一位是0
D、使用8位二进制代码,最左边一位是1
(  A  )
10、若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式a<b a:c<d c:d的值是________。
A、1
B、2
C、3
D、4
(  D  )
11、三元条件运算符ex1ex2:ex3,相当于下面的( )语句。
A、if(ex2)
ex1;
else
ex3;
B、if(ex3)
ex2;
else
ex1;
C、if(ex1)
ex3;
else
ex2;
D、if(ex1)
ex2;
else
ex3;
(  B  )
12、在结构化程序设计中,限制使用goto语句的原因是________。
A、提高程序的执行效率
B、提高程序的清晰性和可靠性
C、便于程序的合成
D、该语句对任何结构的程序都不适用
(  C  )
13、以下叙述中不正确的是________。
A、预处理命令行都必须以撑号开始,结尾不加分号
B、在程序中凡是以#号开始的语句行都是预处理命令行
C、C程序在执行过程中对预处理命令进行处理
D、预处理命令可以放在程序中的任何位置
(  B  )
14、在c语言中以下说法不正确的是________。
A、实参可以是常量、变量、表达式
B、形参可以是常量、变量、表达式
C、实参可以为任意类型
D、形参应与其对应的实参类型一致
(  B  )
15、为了避免在嵌套的条件语句if 一else 中产生二义性,c 语言规定else 子句,总是与配对。
A、缩排位置相同的尚未配对if
B、其之前最近的尚未配对if
C、之后最近的尚未配对if
D、同一行上的尚未配对if
(  C  )
16、若有定义:int a=1,b=2,c=3,d=4,m=2,n=2; 则执行(m=a>b)&&(n=c>d)后 n 的值是________。
A、4
B、3
C、2
D、1
(  B  )
17、以下叙述中正确的是________。
A、使用 typedef 说明新类型名时,其格式是:typede 新类型名原类型名
B、在程序中,允许用 typedef 来说明一种新的类型名
C、使用 typedef 说明新类型名时,后面不能加分号
D、在使用 typedef 改变原类型的名称后,只能使用新的类型名
(  C  )
18、char *s1="hello",*s2; s2=s1; 则________。
A、s2和s1指向不确定的内存单元
B、不能访问"hello"
C、puts(s1);与puts(s2);结果相同
D、s1不能再指向其它单元
(  D  )
19、C语言函数的隐含存储类别是________.
A、extern
B、static
C、register
D、auto
(  D  )
20、在定义构造数据类型时,不能()。
A、说明变量
B、说明存储类型
C、初始化
D、末尾不写分号

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

(  A  )
1、与 y=(x>0?1:x<0?-1:0); 的功能相同的if语句是________。
A、if (x>0) y=1;
else if(x<0)y=-1;
else y=0;
B、if(x)
if(x>0)y=1;
else if(x<0)y=-1;
else y=0;
C、y=-1
if(x)
if(x>0)y=1;
else if(x==0)y=0;
else y=-1;
D、y=0;
if(x>=0)
if(x>0)y=1;
else y=-1;
(  A  )
2、有如下程序:
main ()
{
int x = 1, a = 0, b = 0;
switch (x)
{
case 0:
b++;
case 1:
a++;
case 2:
a++;
b++;
}
printf ("a = %d, b = %d\n", a, b);
}
该程序的输出结果是________。
A、a=2,b=1
B、a=1,b=1
C、a=1,b=0
D、a=2 b=2
(  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、switch语句中表达式(expression)的值不允许用的类型是________。
A、byte
B、int
C、boolean
D、char
(  A  )
5、if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是______。
A、可以是任意合法的数值
B、必须是整数值
C、必须是正数
D、必须是逻辑值
(  B  )
6、以下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);
(  D  )
7、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
A、0
B、1
C、2
D、3
(  B  )
8、c语言中,关系表达式和逻辑表达式的值是________。
A、0
B、0或1
C、1
D、'T'或'F'
(  A  )
9、c语言的if语句嵌套时,if与else的配对关系是________。
A、每个else总是与它上面的最近的并且尚未与其他else匹配的if配对
B、每个else总是与最外层的if配对
C、每个else与if的配对是任意的
D、每个else总是与它上面的if配对
(  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分)

(  C  )
1、下列标识符不是关键字的是________。
A、break
B、char
C、Swith
D、return
(  D  )
2、以下程序的输出结果是
main( )
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if (b>=10) break;
if (b%5==1)
{
b+=5;
continue;
}
}
printf("%d\n",a);
}
A、101
B、6
C、4
D、3
(  C  )
3、下面程序的运行结果是________。
main( )
{
int m=7,n=5,i=1;
do
{
if (i%m==0);
if (i%n==0)
{
printf("%d\n",i);
break;
}
i++;
}
while(i!=0);
}
A、7
B、6
C、5
D、4
(  B  )
4、以下描述错误的是_________。
A、break语句可用于switch语句和循环语句
B、break语句和continue语句的作用是一样的,都是提前结束整个循环
C、在循环语句中使用break语句是为了跳出循环,提前结束循环
D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环
(  C  )
5、若a和b均是整型变量并已正确赋值,正确的switch语句是________。
A、15
B、50
C、55
D、5
(  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
(  B  )
7、执行下面程序片段的结果是______。int x=23;
do
{
printf("%2d",x--);
}
while(!x);
A、打印出321
B、打印出23
C、不打印任何内容
D、陷入死循环
(  D  )
8、以下程序的输出结果是______。
main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=10) break;
if(b%3==1)
{
b+=3;
continue;
}
}
printf("%d\n",a);
}
A、101
B、6
C、5
D、4
(  D  )
9、循环语句"for(i=1;i<0;i++) i++; "的循环次数是________。
A、无限循环
B、2次
C、1次
D、0 次
(  A  )
10、执行以下循环语句时,下列说法正确的是________。x = -1;
do
{
x = x * x;
}
while (x == 0);
A、循环体将执行一次
B、循环体将执行两次
C、循环体将执行无限次
D、系统将提示有语法错误

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

(  A  )
1、设有如下程序段 char s[20]= "bejing",*p; p=s; 则执行p=s; 语句后,以下叙述正确的是________。
A、可以用*p表示s[0]
B、s数组中元素的个数和p所指字符串长度相等
C、s和p都是指针变量
D、数组s中的内容和指针变量p中的内容相等
(  B  )
2、当调用函数时,实参是一个数组名,则向函数传送的是 _______ 。
A、数组的长度
B、数组的首地址
C、数组每一个元素的地址
D、数组每个元素中的值
(  D  )
3、设有如下定义 : char aa[2][20]={ "abcd", "abcd" }; 则以下说法中错误的是 __________.
A、aa 是个二维数组,可以存放 2 个 19 个字符以下的 字符串
B、aa 是个二维数组,每行中分别存放了字符串 "abcd" 和 "ABCD"
C、aa[0] 可以看作是一维数组名
D、aa[0][0] 可以看作是一维数组名
(  D  )
4、设有以下语句,对a数组元素的引用中(其中0<=i<10)不正确的是 int a[10]= {0,1,2,3,4,5,6,7,8,9 },*p=a;
A、a[p-a]
B、*(&
C、p
D、*(*(a +)
(  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、下列对字符数组进行初始化的语句正确的是________。
A、char a []="Hello";
B、char a[][]={'H','e','1','1','o');
C、char a[5]="Hello";
D、char a[2][5]={"Hello", "World"};p
(  C  )
7、下面程序的运行结果是
#include<stdio.h>
main()
{
int a=28,b;
char s[10],*p;
p=s;
do
{
b=a%16;
if(b<10) *p=b+48;
else *p=b+55;
p++;
a=a/5;
}
while(a>0);
*p='\0';
puts(s);
}
A、10
B、C2
C、C51
D、\0
(  B  )
8、下列关于字符串的说法中错误的是________。
A、在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符'\0'作为字符串结束标志
B、'\0'作为标志占用存储空间,计入串的实际长度
C、在表示字符串常量的时候不需要人为在其末尾加入'\0'
D、在C语言中,字符串常量隐含处理成以'\0'结尾
(  B  )
9、c语言中,数组名代表________。
A、数组全部元素的值
B、数组首地址
C、数组第一个元素的值
D、数组元素的个数
(  D  )
10、若二维数组a 有m 列,则计算任一元素a[i][j] 在数组中位臵的公式为(假设a[0][0] 位于数组的第一个位臵上) ________。
A、i*m+j
B、j*m+i
C、i*m+j-1
D、i*m+j+1

五、字符串/字符串指针 (共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、s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句s; 则以下选项中正确的是________。
A、if(s1>s2)S;
B、if(strcmp(s1,s2))S;
C、if(strcmp(s2,sl)>O)S;
D、if(stremp(s1,s2)>O)S;
(  D  )
3、在c语言中,以 作为字符串结束标志
A、’\n’
B、’ ’
C、’0’
D、’\0’
(  A  )
4、以下选项中合法的c语言字符常量是________。
A、'\t'
B、"A"
C、67
D、A
(  C  )
5、有以下程序:
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
(  C  )
6、下列表达式中,类型可以作为int型的是________。
A、"abe"+"efg"
B、"abc"+"efg"
C、'a'+'b'
D、3+"4"
(  B  )
7、字符串"xyz"在内存占用的字节数是______。
A、3
B、4
C、6
D、8
(  C  )
8、下面正确的字符串常量是________。
A、'a'
B、'376'
C、"\n"
D、376
(  B  )
9、下面选项中合法的字符常量是________。
A、"X"
B、'X'
C、'abc'
D、'\'
(  A  )
10、以下选项中关于 c 语言常量的叙述错误的是________。
A、经常被使用的变量可以定义成常量
B、常量分为整型常量、实型常量、字符常量和字符串常量
C、所谓常量,是指在程序运行过程中,其值不能被改变的量
D、常量可分为数值型常量和非数值型常量

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

(  B  )
1、在下列语句中,其含义为"q是一个函数指针,该指针指向整型数据"的定义语句是________。
A、int**q;
B、int(*q)();
C、int *q;
D、int *q();
(  C  )
2、下列叙述中错误的是________。
A、在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值
B、在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容
C、在C语言中,外部变量的隐含类型是自动存储类别
D、在C语言中,函数形参的存储类型是自动(aut类型的变量
(  B  )
3、若有函数 char*func(char *p) … return p; 则该函数的返回值是 ______。
A、无确切的值
B、形参p中存放的地址
C、一个临时存储单元的地址
D、形参p自身的地址
(  D  )
4、有以下程序:
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
(  C  )
5、若有"double a; ",则正确的输入语句是________。
A、scanf("%lf",a);
B、scanf("%f",&a);
C、scanf("%lf",&a)
D、scanf("%le",a);
(  D  )
6、请阅读程序:
#include<math.h>
#include<stdio.h>
main()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=a/b;
while(1) {
if(fabs(c)>1.6) {
a=b;
b=c;
c=a/b;
}
else break;
}
printf("%f\n",b);
}
若运行时从键盘上输入3.6 2.4<回车>,则输出结果是______。
A、1.500000
B、1.600000
C、2.000000
D、2.400000
(  C  )
7、请读程序:
#include <stdio.h>
func(int a, int b) {
int c;
c=a+b;
return c;
}
main()
{
int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf("%d\n",r);
}
上面程序的输出结果是________。
A、11
B、20
C、21
D、31
(  C  )
8、下面函数定义形式正确的是________。
A、int f(int x;int y)
B、int f(int x,y)
C、int f(int ,int y)
D、int f(x,y:int)
(  B  )
9、C语言函数内定义的局部变量的隐含存储类别是
A、static
B、auto
C、register
D、extern
(  A  )
10、以下函数调用语句中实参的个数是()。
func((e1,e2),(e3,e4,e5));
A、2
B、3
C、5
D、语法错误

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

(  C  )
1、若有定义"float a=25,b,*p=&b;",则下列对赋值语句"*p=a;"和"p=&a;"的正确解释为( )。
A、两个语句都是将变量a的值赋予变量P
B、*p=a是使P指向变量a,而p=&a是将变量的值赋予变量指针P
C、*p=a是将变量a的值赋予变量b,而&a是使P指向变量a
D、两个语句都是使P指向变量a
(  C  )
2、若有定义语句:double x,y,*px,*py; 执行了px=&x; py=&y; 之后,正确的输入语句是________。
A、scanf(“%f%f”,x,y);
B、scanf(“%f%f”,&x,&y);
C、scanf(“%1f%1e”,px,py);
D、scanf(“%1f%1f”,x,y);
(  D  )
3、设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是______。
A、float*p=1024;
B、int*p=(float)x;
C、float p=&x;
D、float*p=&x;
(  C  )
4、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是________。
A、abs(x-y)<10
B、x-y>-10&&x-y<10
C、!(x-y)<-10||!(y-x)>10
D、(x-y)*(x-y)<100
(  B  )
5、设int x:,则经过______ 后,语句*px=0; 可将x值置为0。
A、int*px;
B、int const *px=&x;
C、int* const px=&x:
D、const int *px=&x;
(  D  )
6、以下叙述正确的是________。
A、函数可以嵌套定义但不能嵌套调用
B、函数既可以嵌套调用也可以嵌套定义
C、函数既不可以嵌套定义也不可以嵌套调用
D、函数可以嵌套调用但不可以嵌套定义
(  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
(  A  )
8、有以下程序:
main()
{
int a[]={1,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p<a+10,p++)printf("%d,",*p);
}
程序运行后的输出结果是________。
A、1,234,5,6,7,8,9,0,
B、2,3,4,5,6,7,8,9,10,1,
C、01,23,4,5,6,7,8,9,
D、1,1,1,1,1,1,1,1,1,1,
(  D  )
9、下列有关格式输入函数scanf的叙述中正确的是________。
A、输入项可以是C语言中规定的任何变量,并且在任何变量前必须加地址符号“&”
B、可以只有格式控制项,没有地址列表项
C、在输入数据时,必须规定精度。如scanf("%4.2f",&d);
D、当输入数据时,必须指明变量地址
(  B  )
10、以下叙述中错误的是______。
A、用户定义的函数中可以没有return语句
B、用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C、用户定义的函数中若没有return语句,则应当定义函数为void类型
D、函数的return语句中可以没有表达式

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

(  A  )
1、有以下程序
struct stu
{
char name[10];
int num;
};
void f(char *name, int num)
{
struct stu s[2]={{"sundan",20044},{"penghua",20045}};
num = s[0].num;
strcpy(name, s[0].name);
}
main()
{
struct stu s[2]={{"yangsan",20041},{"lisiguo",20042}},*p;
p=&s[1];
f(p->name, p->num);
printf("%s %d\n", p->name, p->num);
}
程序运行后的输出结果是________。
A、SunDan 20042
B、SunDan 20044
C、LiSiGuo 20042
D、YangSan 20041
(  B  )
2、下面结构体的定义语句中,错误的是________。
A、struct ord {
int x;int y;int z;};struct ord a;
B、struct ord {
int x;int y;int z;} struct ord a;
C、struct ord {
int x;int y;int z;} n;
D、struct {
int x;int y;int z;} a;
(  D  )
3、设有下面的定义:
struct st
{
int a;
float b;
} d;
int*p;
要使p指向结构变量d中的a成员,正确的赋值语句是________。
A、*p=d.a;
B、p=&a;
C、p=d.a;
D、p=&d.a;
(  C  )
4、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
A、*p.a
B、p.b
C、p->a
D、*p->b
(  B  )
5、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若有p=&data;
则对data中成员a的引用正确的是________。
A、(*p).data.a
B、(*p).a
C、p->data.a
D、p.data.a
(  B  )
6、下面赋值表达式不正确的是__________________.
struct student
{
long num;
char name[20];
} st1, st2={101, "tom"}, *p=&st1;
A、st1 = st2
B、p->name = st2.name
C、p->num = st2.num
D、*p=st2
(  C  )
7、下面哪个不是关键字?
A、int
B、struct
C、define
D、continue
(  C  )
8、enum a
{
sum=9,mon=-1,tue
}
;
定义了________。
A、枚举变量
B、3个标识符
C、枚举数据类型
D、整数9和-1
(  D  )
9、c语言中,switch后的括号内表达式的值可以是________。
A、只能为整型
B、只能为整型,字符型,枚举型
C、只能为整型和字符型
D、任何类型
(  D  )
10、在说明一个结构体变量时系统分配给它的存储空间是________ 。
A、该结构体中第一个成员所需存储空间
B、该结构体中最后一个成员所需存储空间
C、该结构体中占用最大存储空间的成员所需存储空间
D、该结构体中所有成员所需存储空间的总和

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

(  A  )
1、根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为
main()
{
char ch1,ch2,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);
}
输出形式:abc 输入形式:abc
A、scanf(“%c%c%c”,&ch1,&ch2,&ch3);
B、scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);
C、scanf(“%c %c %c”,&ch1,&ch2,&ch3);
D、scanf(“%c%c”,&ch1,&ch2,&ch3);
(  B  )
2、设有如下程序段: int i=0, sum=1;
do
{
sum+=i++;
}
while(i<6);
printf("%d\n", sum);
上述程序段的输出结果是________。
A、11
B、16
C、22
D、15
(  A  )
3、有以下程序
main( )
{
unsigned char a,b;
a=4|3;
b=4&3;
printf("%d %d\n",a,b);
}
执行后输出结果是________。
A、7 0
B、0 7
C、1 1
D、43 0
(  C  )
4、有以下程序段
main()
{
int a=5,*b,**c;
c=&b;
b=&a;
……
}
程序在执行了c=&b;
b=&a;
语句后,表达式:**c的值是________。
A、变量a的地址
B、变量b中的值
C、变量a中的值
D、变量b的地址
(  B  )
5、下面程序的输出是 __________.
#include <stdio.h>
int m=13;
int fun2(int x, int y)
{
int m=3;
return(x*y-m);
}
void main()
{
int a=7, b=5;
printf("%d\n",fun2(a,b)/m);
}
A、1
B、2
C、7
D、10
(  A  )
6、以下程序的输出结果是________。
main()
{
int x=0x02ff,y=0x0ff00;
printf("%d\n",(x&y)>>410x005f);
}
A、127
B、255
C、128
D、1
(  A  )
7、有以下程序
#include <stdio.h>
main()
{
int a=2,b=3,c=4;
a*=16 +(b++) - (++c);
printf("%d \n",a );
}
程序运行后的输出结果是________。
A、28
B、30
C、15
D、14
(  B  )
8、以下程序结果为:______。
void pp( )
{
static int n=5;
n--;
printf("%d",n);
}
main( )
{
int m;
for(m=0;m<4;m++)pp( );
}
A、5555
B、4321
C、4444
D、5432
(  A  )
9、下列程序段的输出结果是______。
void fun(int *x,int *y)
{
printf("%d %d",*x,*y);
*x=3;
*y=4;
}
main()
{
int x=1,y=2;
fun(&y,&x);
printf(" %d %d",x,y);
}
A、2 1 4 3
B、1 2 1 2
C、1 2 3 4
D、2 1 1 2
(  C  )
10、执行如下程序段,打印输出的内容是________。
#include <stdio.h>
void fun (intc, int *d)
{
c++;
(*d)++;
}
int main ( )
{
int a=5, b=9;
fun(a, &b);
printf("%d, %d",a, b);
return 0;
}
A、5, 9
B、6, 10
C、5, 10
D、6, 9