中央美术学院计算机C语言预测卷

本试卷为中央美术学院计算机C语言预测卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

计算机C语言预测卷

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

(  C  )
1、设整型变量a为5,使b不为2的表达式是________。
A、b=a/2
B、b=6-(--a)
C、b=a%2
D、b=a>3?2:1
(  A  )
2、在c语言中,存储一个字符型、整型、单精度实型变量所需的空间是________。型、单精度实型变量所需的空间是________。
A、1、2、4
B、1、1、4
C、1、2、8
D、2、2、8
(  C  )
3、下面程序的输出是________。("□"表示一个空格) int a=3366; printf("|%-08d|",a);
A、|-0003366|
B、|00003366|
C、|3366□□□□|
D、输出格式非法
(  B  )
4、设x为int型变量,则执行语句x=10和x+=x-=x-x后,x的值为:
A、10
B、20
C、40
D、30
(  A  )
5、下面合法的 c 语言字符常量是 ____________.
A、'\t'
B、"A"
C、65
D、A
(  D  )
6、在浮点数编码表示中, (1) 在机器数中不出现,是隐含的。
A、阶码
B、符号
C、尾数
D、基数
(  A  )
7、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的c语言表达式是 ______ 。
A、x/y*z
B、x*(1/(y*z))
C、x/y*1/z
D、x/y/z
(  D  )
8、下列哪个赋值语句是正确的
A、char a=12;
B、int a=12.0;
C、int a=12.0f;
D、int a= (in12.0;
(  B  )
9、以下选项中表示一个合法的常量是(说明:符号∏表示空格)
A、9∏9∏9
B、0Xab
C、123E0.2
D、2.7e
(  A  )
10、表示关系x≥y≥z应使用c语言表达式 ( )
A、(x>=y)&&(y>=z)
B、(x>y)AND(y>z)
C、x>=y>=z
D、(x>=y)&(y>=2)
(  B  )
11、设有定义:long x= -123456l; 则以下能够正确输出变量x值的语句是________。
A、printf("x=%d\n",x);
B、printf("x=%1d\n",x);
C、printf("x=%8dL\n",x);
D、printf("x=%LD\n",x);
(  C  )
12、以下关于链式存储结构的叙述中哪一条是错误的?
A、结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
B、逻辑上相邻的结点物理上不必邻接
C、可以通过计算直接确定第i个结点的存储地址
D、插入、删除运算操作方便,不必移动结点
(  C  )
13、判断闭区间*判断实数 x 属于闭区间 [a, b ] 的表达式为 ▁▁▁▁▁
A、x <= [a, b]
B、a <= x <= b
C、a <= x && x <= b
D、a ≤ x && x ≤ b
(  A  )
14、设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
(  A  )
15、以下不符合c语言语法的赋值语句是________。
A、a+b=23;
B、a=1,b=2;
C、a=b=5;
D、y=(a=3,6*5);
(  D  )
16、以下叙述正确的是________。
A、在C程序中,每行中只能写一条语句
B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C、C程序中,无论是整数还是实数,都能被准确无误地表示
D、在C程序中,%是只能用于整数运算的运算符
(  D  )
17、设x的值为4,则表达式y=(++x)+(++x)+(++x)后,y的值是________。
A、12
B、18
C、16
D、21
(  D  )
18、设变量定义为"int a, b;
",执行下列语句时,输入(),则a和b的值都是10.\n scanf("a=%d, b=%d",&a, &b);
A、10 10
B、10, 10
C、a=10 b=10
D、a=10, b=10
(  D  )
19、已知int i;
float f;
正确的语句是________。
A、(int f)%i
B、int(f)%i
C、int(f%i)
D、(int)f%i
(  D  )
20、C语言函数的隐含存储类别是________.
A、extern
B、static
C、register
D、auto

二、控制结构 (共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;
(  D  )
2、能正确表示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
(  C  )
3、设变量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
(  C  )
4、关于结构化程序设计原则和方法的描述错误的是________。
A、选用的结构只准许有一个入口和一个出口
B、复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现
C、不允许使用GOTO语句
D、语言中若没有控制结构,应该采用前后一致的方法来模拟
(  A  )
5、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
A、可以是任意合法的表达式
B、必须是逻辑表达式
C、必须是逻辑表达式或关系表达式
D、必须是关系表达式
(  C  )
6、有以下程序
main()
{
int i=1,j=1,k=2;
if((j++‖k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是________。
A、1,1,2
B、2,2,1
C、2,2,2
D、2,2,3
(  B  )
7、以下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);
(  B  )
8、c语言中,关系表达式和逻辑表达式的值是________。
A、0
B、0或1
C、1
D、'T'或'F'
(  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、假定所有变量均已正确定义,下列程序段运行后x的值是________。
k1=1;
k2=2;
k3=3;
x=15;
if(!k1) x--;
else if(k2) x=4;
else x=3;
A、14
B、4
C、15
D、3

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

(  D  )
1、下列4个关于c语言的结论中错误的是________。
A、可以用do while语句实现的循环一定可以用while语句实现
B、可以用for语句实现的循环一定可以用while语句实现
C、可以用while语句实现的循环一定可以用for语句实现
D、do-while语句与while语句的区别仅是关键字“while”出现的位置不同
(  A  )
2、有以下程序
#include <stdio.h>
main()
{
int c;
while ((c=getchar())!='\n')
{
switch(c-'2')
{
case 0: case 1: putchar(c+4);
case 2: putchar(c+4);
break;
case 3: putchar(c+3);
default: putchar(c+2);
break;
}
}
printf("\n");
}
从第一列开始输入以下数据,<cr>代表一个回车符。 2473<cr> 程序的输出结果是________。
A、668977
B、668966
C、66778777
D、6688766
(  A  )
3、下列语句中,可以作为无限循环语句的是________。
A、for(;;)
B、for(int i=0;i<10000;i++)
C、while(false)
D、do)while(false)
(  B  )
4、执行下面的程序后,a的值为________。
#include <stdio.h>
int main()
{
int a,b;
for(a=1,b=1; a<=100; a++)
{
if(b>=20) break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
printf("%d", a);
}
A、7
B、8
C、9
D、10
(  A  )
5、结构化程序设计思想的核心是要求程序只由顺序、循环和______三种结构组成。
A、分支
B、单入
C、单出
D、有规则GOTO
(  C  )
6、在下列叙述中,正确的一条是______。
A、if(表达式)语句中,表达式的类型只限于逻辑表达式
B、语句“goto 12;”是合法的
C、for(;;)语句相当于while(1)语句
D、break语句可用于程序的任何地方,以终止程序的执行
(  C  )
7、有以下程序
main()
{
int i;
for(i=1;i<=40;i++)
{
if(i++%5==0) if(++i%8==0) pfintf("%d",i);
}
printf("\n");
}
执行后的输出结果是________。
A、5
B、24
C、32
D、40
(  C  )
8、设n为整型变量,则for(n = 10; n >= 0; n--)循环的次数为________。
A、9
B、10
C、11
D、12
(  B  )
9、关于循环体while的说法下列正确的是________。
A、循环体的执行次数总比条件表达式多一次
B、循环体的执行次数总比条件表达式少一次
C、循环体的执行次数与条件表达式无关
D、循环体的执行次数与条件表达式相等
(  C  )
10、以下描述正确的是________。
A、goto 语句只能用于退出多层循环。
B、switch 语句中不能出现continue 语句。
C、只能用continue 语句来中止本次循环。
D、在循环中break 语句不能独立出现。

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

(  D  )
1、下面程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int i,j,x=0;
static int a[6]={1,2,3,4,5,6};
for(i=0,j=1;i<5;++i,j++) x+=a[i]*a[j];
printf("%d\n",x);
}
A、数组 a 中首尾的对应元素的乘积
B、数组 a 中首尾的对应元素的乘积之和
C、数组 a 中相邻各元素的乘积
D、数组 a 中相邻各元素的乘积之和
(  D  )
2、设有二维数组a(12,10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100。则元素a(5,5)的存储地址为________。
A、176
B、276
C、208
D、308
(  B  )
3、在一个应用程序中有如下定义:int a[]= {1,2,3,4,5,6,7,8,9,10 },为了打印输出数组a的最后一个元素,下面正确的代码是________。
A、printf("%d",a[10];)
B、printf("%d",a[9]);
C、printf("%d",a[a.length]);
D、printf("%d",a[8]);
(  D  )
4、执行下面的语句后,表达式*(p[0]+1)+**(q+2)的值为______。 int a[]= { 5,4,3,2,1 },*p[]= { a+3,a+2,a+1,a },**q=p;
A、8
B、7
C、6
D、5
(  A  )
5、若定义static int a[2][2]={1,2,3,4 },则a数组的各数组元素分别为______。
A、a[0][0]=1、a[0][1]=2、at[1][0]=3、a[1][1]=4
B、a[0][0]=1、a[0][1]=3、a[1][0]=2、a[1][1]=4
C、a[0][0]=4、a[0][1]=3、a[1][0]=2、s[1][1]=1
D、a[0][0]=4、a[0][1]=2、a[1][0]=3、a[1][1]=1
(  B  )
6、二维数组m[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i范围从0到4,列下标,i的范围从0到5。m按行存储时元素m[3,5]的起始地址与m按列存储时元素( )的起始地址相同。
A、M[2,4)
B、M[3,4)
C、M[3,5]
D、M[4,4)
(  B  )
7、一个int型变量,在程序中多次频繁使用,最好定义它为________。
A、auto
B、register
C、static
D、extern
(  A  )
8、下列程序的执行结果是 ______。
#include<stdio.h>
union un {
int i;
char c[2];
}
void main() {
union un x;
x.c[0]=10;
x.c[1]==1;
printf("\n%d",x.i);
}
A、266
B、11
C、265
D、138
(  D  )
9、以下对一维数组c 进行正确的定义初始化的语句是________。
A、int c [10] =0;
B、int c [10] ={0}*10;
C、int c [1] ={0,0,0,0,0,0,0};
D、int c [10] ={0};
(  C  )
10、与实际参数为实型数组名相对应的形式参数不可以定义为________。
A、float a[];
B、float *a;
C、float a;
D、float (*a)[3];

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

(  D  )
1、以下选项中能表示合法常量的是________。
A、整数:1,200
B、实数:1.5E2.0
C、字符斜杠:"\"
D、字符串:"\007"
(  B  )
2、下列数据中为字符串常量的是________。
A、'A'
B、"9"
C、How do you do
D、'$abd'
(  D  )
3、以下能正确定义字符串的语句是________。
A、char str[]={′\064′};
B、char str="kx43";
C、char str=";
D、char str[]="\0";
(  D  )
4、在c语言中,以 作为字符串结束标志
A、’\n’
B、’ ’
C、’0’
D、’\0’
(  D  )
5、如果在一个运算表达式中包含有逻辑运算、关系运算和算术运算,并且其中未用圆括号规定这些运算的先后顺序,那么这样的综合型表达式的运算顺序是______。
A、逻辑→算术→关系
B、关系→逻辑→算术
C、算术→逻辑→关系
D、算术→关系→逻辑
(  C  )
6、以下能将字符串,you are luck!正确读入的语句组是________。
A、char s[80]; scanf("%s",s);
B、char *s: scanf("%s",s);
C、char s[80]; gets(s);
D、char *s; gets(3);
(  B  )
7、宏定义用于将一个标识符定义为一个
A、常量
B、字符串
C、整数
D、长整数
(  A  )
8、下列对字符串的定义中,错误的是________。
A、char str[7] = "FORTRAN";
B、char str[] = "FORTRAN";
C、char *str = "FORTRAN";
D、char str[] = {'F','O','R','T','R','A','N',0};
(  D  )
9、下面关于编译预处理命令,正确的是________。
A、#define char CHAR
B、#Define E 0.0000034
C、##define FALSE 0
D、#define DIM 26
(  A  )
10、下面程序的功能是将字符串s 中所有的字符'c'删除。
#include "stdio.h"
main()
{
char s[80];
int i,j;
gets(s);
for (i=j=0;s[i]!='\0';i++)if (s[i]!='c') ;
s[j]='\0';
puts(s);
}
A、s[j++]=s[i]
B、s[++j]=s[i]
C、s[j]=s[i];j++
D、s[j]=s[i]

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

(  A  )
1、在c语言中,函数的数据类型是指( )
A、函数返回值的数据类型
B、函数形参的数据类型
C、调用该函数时的实参的数据类型
D、任意指定的数据类型
(  B  )
2、已有定义 int ( *p )(); 指针 p 可以 。
A、代表函数的返回值
B、指向函数的入口地址
C、表示函数的类型
D、表示函数返回值的类型
(  B  )
3、以下函数调用语句中含有实参个数为 __________. func((exp1,exp2),(exp3,exp4,exp5));
A、1 个
B、2 个
C、4 个
D、5 个
(  C  )
4、以下正确的说法是________。
A、定义函数时,形参的类型说明可以放在函数体内
B、return后边的值不能为表达式
C、如果函数值的类型与返回值类型不一致,以函数值类型为准
D、如果形参与实参类型不一致,以实参类型为准
(  D  )
5、有以下程序:
main( )
{
char a[ ]={‘a',‘b',‘c',‘d',‘e',‘f',‘g',‘h',‘\0'};
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\n",i,j);
}
程序运行后的输出结果是________。
A、9,9
B、8,9
C、1,8
D、9,8
(  B  )
6、以下程序的运行结果是________。
#include <stdio.h>
#define MIN(x,y) (x)<(y) ? (x):(y)
main() {
int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A、10
B、15
C、100
D、150
(  D  )
7、设有语句: x=inputbox("输入数值","0","示例") 程序运行后,如果从键盘上输人数值10并按回车键,则下列叙述中正确的是______。
A、变量x的值是数值10
B、在InputBox对话框标题栏中显示的是“示例”
C、0是默认值
D、变量x的值是字符串“10”
(  B  )
8、以下程序的输出结果是________。
#include<stdio.h>
int m=13;
int fun(int x,int y) {
int m=2;
return(x*y-m);
}
main()
{
int a=7,b=6;
printf("%d",fun(a,b)/m);
}
A、1
B、3
C、7
D、10
(  C  )
9、printf 函数中用到格式符%5s ,其中数字5 表示输出的字符串占用5 列。如果字符串长度小于5,则输出按方式。
A、从左起输出该字串,右补空格
B、按原字符长从左向右全部输出
C、右对齐输出该字串, 左补空格
D、输出错误信息
(  B  )
10、有以下程序段:char c1,c2,c3; scanf("%c%c%c",&c1,&c2,&c3); 若要给 c1、c2、c3 分别输入字母 a bc,则以下对输入形式的描述正确的是________。
A、字母 A B C 之间可以用空格分隔
B、字母 A B C 之间不能有分隔符
C、字母 A B C 之间可以用回车符分隔
D、字母 A B C 之间可以用 Tab 键分隔

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

(  D  )
1、下列选项中,能正确定义数组的语句是________。
A、int num[0..2008];
B、int num [];
C、int N=2008; int num[N];
D、#define N 2008; int num[N];
(  C  )
2、有如下函数定义;
void func(int a,int & b)
{
a++;
b++;
}
若执行代码段:int x=0,y=1;
func(x,y);
则变量x和y的值分别是________。
A、0和1
B、1和1
C、0和2
D、1和2
(  A  )
3、c程序的执行是从( )开始执行的
A、main函数
B、程序的第一行
C、<iostream.h>
D、<stdio.h>
(  A  )
4、已知有数组定义 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]
(  A  )
5、有以下程序:
#define P 3
void F(int x)
{
return(P*x*x);
}
main()
{
printf("%d\n",F(3+5));
}
程序运行后的输出结果是______。
A、192
B、29
C、25
D、编译出错
(  B  )
6、某一维数组中依次存放了数据元素12,23,30,38,41,52,54,76,85,在用折半(二分)查找方法(向上取整)查找元素54时,所经历"比较"运算的数据元素依次为________。
A、41, 52, 54
B、41, 76, 54
C、41, 76, 52, 54
D、41, 30, 76, 54
(  D  )
7、以下叙述中正确的是________。
A、数组下标的下限是 1
B、数组下标的下限由数组中第一个非零元素的位置决定
C、数组下标的下限由数组中第一个被赋值元素的位置决定
D、char c1,c2,*c3,c4[40]是合法的变量定义语句
(  D  )
8、对于 if(表达式)语句,以下说法正确的是________。
A、“表达式”的值只能是整数值
B、在“表达式”中不能调用函数
C、在“表达式”中不能含有浮点类型的变量或常量
D、“表达式”可以是各种形式的算术表达式
(  C  )
9、c语言规定,在一个源程序中,main函数的位置________。
A、必须在最开始
B、必须在其他函数的后面
C、可以任意
D、必须在最后
(  D  )
10、若有说明: int a[3][4]={0};则下面正确的叙述是()。
A、只有元素 a[0][0]可得到初值 0
B、此说明语句不正确
C、数组 a 中各元素都可得到初值,但其值不一定为 0
D、数组 a 中每个元素均可得到初值 0

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

(  B  )
1、设有如下定义:
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
(  A  )
2、下列描述说明正确的是________。
A、定义结构体时,它的每个成员的数据类型可以不同
B、不同结构体的成员名不能相同
C、结构体定义时,其成员的数据类型不能是结构体本身
D、结构体定义时各成员项之间可用分号也可用逗号隔开
(  A  )
3、对以下定义的表述中,正确的是________
struct node
{
int num;
char name[10];
}
stud;
A、stud是一个结构体变量
B、stud是一个结构体类型
C、node是一个结构体数据
D、node是一个结构体变量
(  B  )
4、下列程序的输出结果是________。
#include <stdio.h>
struct abc
{
int a, b, c, s;
} ;
main ()
{
struct abc s[2] = { {1, 2, 3}, {4, 5, 6} };
int t;
t = s[0].a + s[1].b;
printf ("%d\n", t);
}
A、5
B、6
C、7
D、8
(  D  )
5、若有以下说明和语句:
struct st
{
int n;
char *ch;
}
;
struct st a[3]
{
5,"abc",7,"def",9,"ghk"
}
,*p=a 则值为6的表达式是______。
A、p++->n
B、p->n++
C、(*.n++
D、++p->n
(  D  )
6、有以下程序:
#include <stdio.h>
struct s
{
int a, b;
}
data[2]= {10, 100, 20, 200 };
main()
{
struct s p=data[1];
printf("%d\n", ++(p.a));
}
程序运行后的输出结果是______。
A、10
B、11
C、20
D、21
(  C  )
7、在c语言中,系统为一个结构体变量分配的内存是________。
A、各成员所需内存量的总和
B、结构体第一个成员所需的内存量
C、成员中占内存量最大者所需的容量的整数倍
D、结构体中最后一个成员所需的内存量
(  C  )
8、下列关于共用体类型变量的描述中,正确的是________。
A、可以对共用体变量直接赋值
B、一个共用体变量可以同时存放其所有的成员
C、一个共用体变量中不可以同时存放其所有的成员
D、共用体类型定义中,不能出现结构体类型的成员
(  D  )
9、表达式 *((int *)(p+1)+2)的值时_______.
static struct
{
int x, y[3];
}
a[3] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}, *p;
p = a+1;
A、3
B、7
C、10
D、11
(  A  )
10、当定义一个结构体变量时,系统分配给它的内存是________。
A、各成员所需内存量的总和
B、结构中第一个成员所需内存量
C、结构中最后一个成员所需内存量
D、成员中占内存量最大者所需的容量

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

(  B  )
1、设有如下程序段: int i=0, sum=1;
do
{
sum+=i++;
}
while(i<6);
printf("%d\n", sum);
上述程序段的输出结果是________。
A、11
B、16
C、22
D、15
(  D  )
2、下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。
#include <stdio.h>
main( )
{
int a,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{
a+=i;
________;
c+=b;
}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n",c-11);
}
A、i+=2
B、i++
C、b=b+1
D、b=i+1
(  B  )
3、要求下面的程序运行后 , 显示如下结果 : 2 10 4 6 1 5 2 3 2 4 7 8 5 1 3 2 则程序中的划线处应填入 __________.
#include <stdio.h>
void main( )
{
int a[4][4]= { ________ }
;
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++) printf("%4d",a[i][j]);
printf("\n");
}
}
A、{
1,5,2,3},{
2,4,7,8},{
5,1,3,2}
B、{
2,10,4,6},{
1,5,2,3},{
2,4,7,8},{
5,1,3,2}
C、{
5,1,3,2},{
2,4,7,8},{
1,5,2,3}
D、{
2,1,2,5},{
10,5,4,1},{
4,2,7,3},{
6,3,8,2}
(  B  )
4、有以下程序
#define N 5
#define M N+1
#define f(x) (x*M)
main() {
int i1,i2;
i1=f(2);
i2=f(1+1);
printf("%d %d",i1,i2);
}
程序的运行结果是______。
A、12 12
B、11 7
C、11 11
D、12 7
(  B  )
5、下面程序段执行结果是________。 int i=5,k;
k=(++i)+(++i)+(i++);
printf("%d,%d",k,i);
A、24,8
B、21,8
C、21,7
D、24,7
(  D  )
6、以下程序的输出结果是________。
#include<stdio.h>
void main( )
{
int k=17;
printf("%d,%o,%x\n",k,k,k);
}
A、17,021,0x11
B、17,17,17
C、17,0x11,021
D、17,21,11
(  B  )
7、请阅读下面的程序,选择正确的输出结果。( )
void main()
{
printf("%d",null);
}
A、0
B、变量无定义
C、-1
D、1
(  D  )
8、有如下程序
main( )
{
int a[3][3] = {{1,2},{3,4},{5,6}}, i,j,s = 0;
for(i=0; i<3; i++)for(j=0; j<=1; j++) s+=a[i][j]];
printf("%d\n",s);
}
该程序的输出结果是______。
A、18
B、19
C、20
D、21
(  D  )
9、有以下程序#define P 3
void F(int x)
{
return(P*x*x);
}
main()
{
printf("%d\n",F(3+5));
}
程序运行后的输出结果是______。
A、192
B、29
C、25
D、编译出错
(  D  )
10、下面程序的运行结果是________。
#include <stdio.h>
#include <string.h>
main()
{
char a[20] = "ab", b[20] = "lmnp";
int i = 0;
strcat(a, b);
while (a[i++] != '\\0') b[i] = a[i];
puts(b);
}
A、LB
B、ABLMNP
C、AB
D、LBLMNP