合肥学院2023年计算机C语言期末

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

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

计算机C语言期末

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

(  A  )
1、两个或两个以上模块之间联系的紧密程度称为( )。
A、耦合性
B、内聚性
C、复杂性
D、数据传输特性
(  B  )
2、下面叙述不正确的是________。
A、C语句末尾必须有分号
B、C语言中无论是整数还是实数都能准确的表示
C、运算符“%”只能用于整数运算
D、乘除运算符优先级高于加减运算符
(  C  )
3、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是______。
A、1
B、2
C、2.0
D、2.5
(  C  )
4、已知x=3、y=2则表达式x * =y+8的值为 ( )
A、3
B、2
C、30
D、10
(  B  )
5、在微机汉字系统中,一个汉字的机内码占的字节数是________。
A、1
B、2
C、4
D、8
(  A  )
6、若要对a进行++运算,则a应具有下面说明
A、int a[3][2];
B、char*a[]"12","ab";
C、char(*a)[3];
D、int b[10],*a=b;
(  C  )
7、列关于计算机中数的表示的叙述中,错误的是________。
A、正整数无论采用原码、反码或补码表示,其编码都相同
B、实数的浮点表示法由指数和尾数(含符号位)两部分组成
C、实数都能用浮点形式精确表示
D、整数也能用浮点数形式表示
(  C  )
8、下列各数据中,( ) 最小。
A、11011011(二进制数)
B、76(十进制数)
C、37(八进制数)
D、2A8(十六进制数)
(  C  )
9、若给定条件表达式(m)?(a++):(a--)则下列选项中和表达式m等价的是________。
A、(M==0)
B、(M==1)
C、(M!=0)
D、(M!=1)
(  D  )
10、以下定义语句中,错误的是______。
A、int a[]={
1,2};
B、char a[3];
C、char s[10]="test";
D、int n=5,a[n];
(  C  )
11、已知字符'c' 的ascii码为99,语句printf ("%d,%c",'c','c'+1); 的输出为________。
A、99,c
B、99,100
C、99,d
D、语句不合法
(  B  )
12、下面四个选项中,均是合法的用户标识符的选项是________。
A、void
B、as_b3
C、For
D、2c
(  A  )
13、以下表达式中,其值不等于数值 3 的是________。
A、0+'3'
B、'D'-'A'
C、'3'-'0'
D、'd'-a'
(  D  )
14、使用共用体变量,不可以________。
A、节省存储空间
B、简化程序设计
C、进行动态管理
D、同时访问所有成员
(  C  )
15、下面四个选项中,均是不合法的用户标识符的选项是________。
A、A P_0 do
B、float la0 _A
C、b-a goto int
D、_123 temp int
(  B  )
16、以下不合法的用户自定义标识符是________。
A、max
B、3_min
C、a1
D、_110
(  D  )
17、设已定义整型变量k,则下面的程序输出为________。k=017 ;
s=111;
printf ( ''%d'', ++k);
printf ( ''%x\n'' ,s++);
A、15 6f
B、16 70
C、15 71
D、16 6f
(  C  )
18、若有以下数组说明,则i=10;a[a[i]]元素数值是____。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
(  C  )
19、以下数据中,不正确的数值或字符常量是()。
A、0
B、5L
C、o13
D、9861
(  D  )
20、在 C语言中,能代表逻辑值“真”的是()。
A、TRUE
B、大于 0 的数
C、非 0 整数
D、非 0 的数

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

(  D  )
1、若int i=10;
执行下列程序后,变量i的正确结果是________。 switch (i)
{
case 0: i+=1;
case 10: i+=1;
case 11: i+=1;
default: i+=1;
}
A、10
B、11
C、12
D、13
(  B  )
2、c语言对嵌套if语句的规定是:else总是与( ) 。
A、其之前最近的if配对
B、其之前最近的且尚未配对的if配对
C、缩进位置相同的if配对
D、第一个if配对
(  C  )
3、当从键盘上输入字符"12134211"下面程序的 输出结果是________。
main( )
{
char s;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=7;k++)
{
scanf("%c",&s);
switch(s)
{
default: v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++;
}
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
A、v1=4,v2=2,v3=1,v4=1
B、v1=4,v2=9,v3=3,v4=1
C、v1=5,v2=8,v3=6,v4=1
D、v1=8,v2=8,v3=8,v4=8
(  C  )
4、运行以下程序后,如果从键盘上输入china#<回车>, 则输出结果为
#include <stdio.h>
main( )
{
int v1=0,v2=0;
char ch;
while ((ch=getchar( ))!='#') switch(ch)
{
case 'a': case 'h': default: v1++;
case 'o': v2++;
}
printf("%d,%d\n",v1,v2);
}
A、2,0
B、5,0
C、5,5
D、2,5
(  A  )
5、以下程序的输出结果是
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
(  A  )
6、以下程序的输出结果是________。
#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  )
7、以下程序的输出结果是________。
#include<stdio.h>
main()
{
int a=1,b=3;
if((++a<0)&&!(b--<=0)) printf("%d,%d\n",a,b);
else printf("%d,%d\n",b,a);
}
A、2,2
B、1,3
C、3,2
D、3,1
(  D  )
8、设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  )
9、能正确表示a≥10或a≤0的关系表达式是________。
A、a>=10 or a<=0
B、a>=10 || a<=0
C、a>=10 | a<=0
D、a>=10 && a<=0
(  D  )
10、以下叙述中正确的是________。
A、逻辑"或”(即运算符||)的运算级别比算术运算要高
B、C 语言的关系表达式:0<x<10 完全等价于:(0<x)&&(x<10)
C、逻辑"非”(即运算符!)的运算级别是最低的
D、由&&构成的逻辑表达式与由||构成的逻辑表达式都有“短路”现象

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

(  D  )
1、执行下面的程序后,a的值为________。
main()
{
int a,b;
for(a=1,b=1;a<=10;a++)
{
if(b%3==l)
{
b+=3;
continue;
}
b-=5;
}
}
A、7
B、8
C、9
D、10
(  B  )
2、以下正确的描述是________.
A、continue语句的作用是结束整个循环的执行
B、只能在循环体内和switch语句体内使用break语句
C、在循环体内使用break语句或continue语句的作用相同
D、从多层循环嵌套中退出时,只能使用goto语句
(  D  )
3、程序段如下:则以下说法中正确的是:
int k=5;
do
{
k--;
}
while(k<=0);
A、循环执行 5 次
B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句执行一次
(  C  )
4、有如下程序
#include<stdio.h>
void main( )
{
int i,sum=0;
for(i=1;i<=3;sum++) sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是 _____________.
A、6
B、3
C、死循环
D、0
(  D  )
5、给定下面的代码: int i=1,j=10;
do
{
if(i++>--j) continue;
}
while(i<5) 执行完之后,i与j的值分别是多少 ( )
A、i=6,j=5
B、i=5,j=5
C、i=6,j=4
D、i=5,j=6
(  B  )
6、下面程序的运行结果是________。
#include <stdio.h>
main() {
int a=1,b=10;
do
{
b-=a;
a++;
}
while(b--<0);
printf("a=%d,b=%d\n",a,b);
}
A、a=3,b=11
B、a=2,b=8
C、a=1,b=-1
D、a=4,b=9
(  D  )
7、有以下程序
#include<stdio.h>
main ()
{
int i, n;
for (i = 0; i < 8; i++)
{
n = rand () % 5;
switch (n)
{
case 1:
case 3:
printf ("%d\n", n);
break;
case 2:
case 4:
printf ("%d\n", n);
continue;
case 0:
exit (0);
}
printf ("%d\n", n);
}
}
以下关于程序执行情况的叙述,正确的是______。
A、for循环语句固定执行8次
B、当产生的随机数n为4时结束循环操作
C、当产生的随机数n为1和2时不做任何操作
D、当产生的随机数n为0时结束程序运行
(  C  )
8、以下程序的输出结果是______。
#include <stdio.h>
main()
{
int i;
for(i=1;i<5;i++)
{
if(i%2) printf("*");
else continue;
printf("#");
}
printf("$\n");
}
A、*#*#*#$
B、#*#*#*$
C、*#*#$
D、#*#*$
(  B  )
9、有以下程序
main()
{
int i, j;
for(i=1;i<4;i++)
{
for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);
printf("\n");
}
}
程序运行后的输出结果是______。
A、1*1=1 1*2=2 1*3=3
2*1=2 2*2=4 2*3=6
3*1=3 3*2=6 3*3=9
B、1*1=1 1*2=2 1*3=3
2*2=4 2*3=6
3*3=9
C、1*1=1
D、1*1=1 1*2=2
2*1=2 2*2=4
3*3=9
(  A  )
10、以下语句中,循环次数不为 10 次的语句是()。
A、for(i=1;i<10;i++);
B、i=1;do{i++;}while(i<=10);
C、i=10;while(i>0){--i;}
D、i=1;m:if(i<=10){i++;goto m;}

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

(  A  )
1、若有定义:"int a[2][3];",则对a数组的第i行第j列元素的正确引用为( )。
A、*(*(a+i)+j)
B、(a+i)[j]
C、*(a+j+j)
D、*(a+i)+j
(  D  )
2、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  )
3、以下程序调用findmax函数返回数组中的最大值
findmax(int *a,int n)
{
int *p,*s;
for(p=a,s=a; p-a<n; p++) if ( ) s=p;
return(*s);
}
main()
{
int x[5]={12,21,13,6,18};
printf("%d\n",findmax(x,5));
}
在下划线处应填入的是________。
A、p>s
B、*p>*s
C、a[p]>a[s]
D、p-a>p-s
(  B  )
4、定义如下一维数组:int a[5],*p; 则下列描述错误的是________。
A、表达式p=p+l是合法的
B、表达式a=a+l是合法的
C、表达式p-a是合法的
D、表达式a+2是合法的
(  B  )
5、下列关于数组的描述正确的是________。
A、数组的长度是固定的,而其中元素的数据类型可以有不同
B、数组的长度是固定的,而其中元素的数据类型必须相同
C、数组的长度是可变的,而其中元素的数据类型可以有不同
D、数组的长度是可变的,而其中元素的数据类型必须相同
(  B  )
6、以下不正确的定义语句是________。
A、double x[5]=1.0,2.0,3.0,4.0,5.0;
B、int y[5]=0,1,2,3,4,5;
C、char c1[]='1','2','3','4','5';
D、char c2[]='a','b','c';
(  C  )
7、以下程序输出的结果为 ______。
main()
{
char *alpha[6]={"abcd","efgh","ijkl","mnop","qrst","uvwx"};
char **p;
int i;
p=alpha;
for(i=0;i<4;i++) printf("%s",p[i]);
}
A、ABCDEFGHIJKL
B、ABCD
C、ABCDEFGHIJKLMNOP
D、AEIM
(  A  )
8、若有数组名作为函数调用的实参,传递给形参的是________。
A、数组的首地址
B、数组第一个元素的值
C、数组中全部元素的值
D、数组元素的个数
(  C  )
9、如果用数组元素作为函数调用时的实参,则该实参向函数的形参传送的是________。
A、数组元素的地址
B、数组的首地址
C、数组元素的值
D、数组名
(  C  )
10、若有定义: int (*p)[4];
则标识符p 。
A、是一个指向整型变量的指针
B、是一个指针数组名
C、是一个指针,它指向一个含有四个整型元素的一维数组
D、定义不合法

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

(  C  )
1、以下叙述中不正确的是________。
A、空字符串(即两个双引号连写)只占一个存储单元
B、字符型常量可以放在字符型变量中
C、字符型常量可以放在字符串变量中
D、字符型常量可以与整数混合运算,而字符串常量不可以
(  A  )
2、下列选项中,能够满足"若字符串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;
(  A  )
3、下列四组字符串中都可以用作c语言程序中的标识符的是________。
A、print _3d db8 aBc
B、I\am one_half start$it 3pai
C、str_1 Cpp pow while
D、Pxq My->book line# His.age
(  A  )
4、下列数据中属于"字符串常量"的是________。
A、“a”
B、{
ABC}
C、‘abc\0’
D、‘a’
(  C  )
5、下面程序段的运行结果是 char *s="abcde"; s+=2; printf("%d",s);
A、cde
B、字符'c'
C、字符'c'的地址
D、无确定的输出结果
(  C  )
6、下列表达式中,类型可以作为int型的是________。
A、"abe"+"efg"
B、"abc"+"efg"
C、'a'+'b'
D、3+"4"
(  C  )
7、下面正确的字符串常量是________。
A、'a'
B、'376'
C、"\n"
D、376
(  C  )
8、判断两个字符串是否相等,正确的表达方式是________。
A、while(s1==s2)
B、while(s1=s2)
C、while(strcmp(s1,s2)==0)
D、while(strcmp(s1,s2)=0)
(  A  )
9、下面程序段输出两个字符串中对应相等的字符。请分析程序填空。
char x[]="programming";
char y[]="fortran";
int i=0;
while (x[i]!='\0'&&y[i]!='\0')
if (x[i]==y[i]) printf("%c", _____);
else i++;
A、x[i++]
B、y[++i]
C、x[i]
D、y[i]
(  A  )
10、从键盘上输入某字符串时,不可使用的函数是()。
A、getchar()
B、gets()
C、scanf()
D、fread()

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

(  B  )
1、c语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是________。
A、void
B、int
C、float
D、double
(  A  )
2、对于一个正常运行的c程序,以下叙述中正确的是________。
A、程序的执行总是从main函数开始,在main函数结束
B、程序的执行总是从程序的第一个函数开始,在main函数结束
C、程序的执行总是从main函数开始,在程序的最后一个函数中结束
D、程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
(  C  )
3、下面函数的功能是
char* fun(char* strl,char* str2) {
while((*strl)&&(*str2++=*strl++));
return str2;
}
A、求字符串的长度
B、比较两个字符串的大小
C、将字符串str1复制到字符串str2中
D、将字符串str1接续到字符串str2中
(  C  )
4、下面程序段的运行结果是________。
char a[]="abcdefgh"; char *p=a; p+=3; printf("%d\n",strlen(strcpy(p,"abcd")));
A、8
B、12
C、4
D、7
(  A  )
5、有以下程序:
void fun(int*a,int i,int j) {
int t;
if(i<j) t=a[i];
a[i]=a[j];
a[j]=t;
fun(a,++i,--j);
}
main() {
int a[]=1,2,3,4,5,6,i;
fun(a,0,5);
for(i=0;i<6;i++) printf("%d",a[i]);
}
执行后的输出结果是 ______。
A、6 5 4 3 2 1
B、4 3 2 1 5 6
C、4 5 6 1 2 3
D、1 2 3 4 5 6
(  B  )
6、下列程序的输出结果是
#include "stdio.h"
#define N 3
#define M 3
void fun(int a[M][N]) {
printf("%d\n",*(a[1]+2));
}
main()
{
int a[M][N];
int i,j;
for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j);
fun(a);
}
A、3
B、4
C、5
D、6
(  C  )
7、函数调用时,基本的参数传递方式有传值与传地址两种, (23) 。
A、在传值方式下,形参将值传给实参
B、在传值方式下,实参不能是数组元素
C、在传地址方式下,形参和实参间可以实现数据的双向传递
D、在传地址方式下,实参可以是任意的变量和表达式
(  A  )
8、printf函数中用到格式符%-6s,其中数字6表示输出的字符串占用6列。如果字符串长度小于6,则输出按方式 ________。
A、从左起输出该字符串,右补空格
B、从右起输出该字符串,左补空格
C、0
D、输出错误信息
(  D  )
9、已定义以下函数int fun( int *p)
{
return *p;
}
则fun函数返回值足
A、不确定的值
B、一个整数
C、形参p中存放的值
D、形参p的地址值
(  C  )
10、c语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为________。
A、void
B、double
C、int
D、char

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

(  D  )
1、有如下程序
#include<stdio.h>
void main()
{
char ch[80]="123abcdefg*&";
int j;
long s=0;
puts(ch);
for(j=0;ch[j]>'\0';j++) if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]+'e'-'e';
puts(ch);
}
该程序的功能是 __________.
A、测字符数组 ch 的长度
B、将数字字符串 ch 转换成十进制数
C、将字符数组 ch 中的小写字母转换成大写
D、将字符数组 ch 中的大写字母转换成小写
(  D  )
2、若有说明int a[3][4]; 则a数组元素的非法引用是________。
A、a[0][2*1]
B、a[1][3]
C、a[4-2][0]
D、a[0][4]
(  C  )
3、有以下函数
int fun(char *s) {
char *t=s;
while(*t++);
return(t-s)
}
该函数的功能是______。
A、比较两个字符串的大小
B、计算s所指字符串占用内存字节个数
C、计算s所指字符串的长度
D、将s所指字符串复制到字符串t中
(  C  )
4、以下叙述中,不正确的是________。
A、在一个函数中,可以有多条return语句
B、函数的定义不能嵌套,但函数的调用可以嵌套
C、函数必须有返回值
D、不同的函数中可以使用相同名字的变量
(  C  )
5、下面程序的运行结果是
#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
(  A  )
6、有以下程序
#include<string.h>
main()
{
char p[]={'a','b','c'},q[10]={'a','b','c'};
printf("%d%d\n",strlen(p),strlen(q));
}
以下叙述中正确的是________。
A、在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B、由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
C、由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
D、由于p和q数组中都没有字符串结束符,故长度都不能确定
(  C  )
7、若有以下语句,则正确的描述是char a[] ="toyou";
char b[] ={′ t′ ,′o′ ,′ y′,′o′ ,′u′ };
A、a 数组和b 数组的长度相同
B、a 数组长度小于b 数组长度
C、a 数组长度大于b 数组长度
D、a 数组等价于b 数组
(  D  )
8、以下选项中,合法的 c 语言常量是________。
A、2XY
B、HELLO'
C、"\0.\0
D、1.0
(  D  )
9、以下对一维整型数组a的正确说明是________。
A、int a(10);
B、int n=10,a[n];
C、int n; scanf("%d",&n); int a[n];
D、#define SIZE 10 (换行) int a[SIZE];
(  B  )
10、c语言程序中必须有的函数是________。
A、#include "stdio.h"
B、main
C、printf
D、scanf

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

(  B  )
1、有以下程序
#include <stdlib.h>
struct node
{
int num;
struct node *next;
};
main( )
{
struct node *p,*q,*r;
int sum=0;
p=(struct node *)malloc(sizeof(struct node));
q=(struct node *)malloc(sizeof(struct node));
r=(struct node *)malloc(sizeof(struct node));
p->num=1;
q->num=2;
r->num=3;
p->next=q;
q->next=r;
r->next=null;
sum+=q->next->num;
sum+=p->num;
printf("%d\n",sum);
}
执行后的输出结果是________。
A、3
B、4
C、5
D、6
(  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
(  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、设有下面的定义:
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  )
5、变量a所占的内存字节数是______。
union u{
char st[4];
int i;
long l;
};
struct A {
int c;
union u;
} a;
A、4
B、5
C、6
D、8
(  D  )
6、若有下面的说明和定义,则sizeof(struct aa)的值是________。
struct aa {
int rl;
double r2;
float r3;
union uu {
char u1[5];
long u2[2];
} ua;
} mya;
A、30
B、29
C、24
D、22
(  C  )
7、设有如下说明
typedef struct st
{
long a;
int b;
char c[2];
}
new;
则下面叙述中正确的是______。
A、以上的说明形式非法
B、ST 是一个结构体类型
C、NEW 是一个结构体类型
D、NEW 是一个结构体变量
(  A  )
8、以下关于逻辑运算符两侧运算对象的叙述中正确的是________。
A、可以是任意合法的表达式
B、只能是整数 0 或非 0 整数
C、可以是结构体类型的数据
D、只能是整数 0 或 1
(  B  )
9、相同结构体类型的变量之间,可以________。
A、相加
B、赋值
C、比较大小
D、地址相同
(  C  )
10、enum a
{
sum=9,mon=-1,tue
}
;
定义了________。
A、枚举变量
B、3个标识符
C、枚举数据类型
D、整数9和-1

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

(  A  )
1、有以下程序
#include <stdio.h>
main()
{
int a=0,b=0,c=0;
c=(a-=a-5);
(a=b,b+=4);
printf("%d, %d, %d\n",a,b,c);
}
程序运行后输出的结果是________。
A、0,4,5
B、4,4,5
C、4,4,4
D、0,0,0
(  D  )
2、执行下述程序后,输出的结果是________。
#define S(X) X*X
void main()
{
int a=9,k=3,m=2;
a/=S(k+m)/s(k+m);
printf("%d",a);
}
A、1
B、4
C、9
D、0
(  B  )
3、下列程序的运行结果是________。
#define ADD(x)X+X
main()
{
int m=1,n=2,k=3: int s=ADD(m+n)*k;
printf("s=%d",s):
}
A、sum=18
B、sum=10
C、sum=9
D、sum=25
(  A  )
4、有以下程序:
void fun(char c)
{
if(c>'x')fun(c-1);printf("%c",c);
}
main()
{
fun('z');
}
程序运行后的输出结果是________。
A、xyz
B、wxyz
C、xzy
D、zvx
(  C  )
5、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是________。 if(x++>5) printf("%d",x); else printf("%d\n",x --);
A、7和5
B、6和3
C、7和4
D、6和4
(  A  )
6、以下程序段的输出结果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s));
A、9
B、12
C、13
D、14
(  D  )
7、以下程序的输出结果是 ___________.
main( )
{
int a=100;
if (a>100) printf("%d\n",a>100);
else printf("%d\n",a<=100);
}
A、a<=100
B、100
C、0
D、1
(  D  )
8、设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
(  C  )
9、有如下程序
main( )
{
int a=7,b=5,c=9;
if(a<b)if(b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是______。
A、0
B、10
C、9
D、7
(  C  )
10、请选出以下程序段的输出结果______。
#include <stdio.h>
#define MIN(x,y) (x<y)?x:ymain()
{
int i,j,k;
I=10;
j=15;
K=10*MIN(i,j);
printf("%d\n",k);
}
A、15
B、100
C、10
D、150