C语言笔试题带答案6.doc(3)

2019-01-07 14:11

(23)下面程序的输出结果是___________。

unsigned fun(unsigned num)

{ unsigned k=1; do{

k*=num%lO;

num/=lO;

}while(num);

return(k); } main()

{ unsigned n。26;

printf(”%d\n”,fun(n)); }

A)0 B)4 C)12 D)无限次循环 答案:C

评析:本题定义了一个fun函数,用于num求和,具体执行过程如下:

num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2;

num=2:k=k*(num%10)=6*(2%10),所以k=12,num=num/lO=O;

num=O:while条件不成立,所以返回k的值12.

(24)已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序_______。 main()

{ char a=?A?;

int b=20;

printf(“%d,%o”,(a=a+a,a+b,b),a+?a?-?A?,b); }

A)表达式非法,输出零或不确定值

B)因输出项过多,无输出或输出不确定值

C)输出结果为20,141

D)输出结果为20,141,20 答案:C

评析:本题中首先输出逗号表达式“a=a+a,a+b,b”的值,即20。然后以八进制的形式输出a+?a?-?A?的值为97对应的八进制数141,由于最后一个表达式b没有对应输出格式的输出项表列就不会输出。

(25)C语言函数返回值的类型是由__________决定的。

A)return语句中的表达式类型 B)调用函数的主调函数类型

C)调用函数时临时 D)定义函数时所指定的函数类型 答案:D

评析:函数值的类型应当是在定义函数时指定的。在定义函数时对函数值说明的类型一般应该和return语句中的表达式类型一致,如果不_致,则以函数类型为准,即函数类型决定返回值的类型。

(26)下列程序执行后输出的结果是___________。 int d=l:

fun(int p)

{ int d。5;

d+=p++;

printf(”%d,”,d); } main()

{ int a=3; fun(a);

d+=a++:

printf(”%d\n”,d); }

A)8,12 B)9,13 C)8,4 D)9,5

答案:C

评析:本题执行过程如下:首先调用fun函数,使得实参a的值3传递给形参p,得到局部变量d=8,打印出局部变量d的值8;返回主函数执行“d+=a++”,此处的d为全局变量,所以d=1+3=4(由于本题是值传递,所以在函数fun中对p值的改变并不能引起a的改变),故本题的输出是8,4。

(27)已知下面的程序段,正确的判断是_________。

#define A 3

#define B(A)((_A+1)?a)

int a=3: ……

X=3*(A+B(7));

A)程序错误,不允许嵌套定义 B)X=93

C)X=8l D)程序错误,宏定义不允许有参数 答案:C

评析:本题的宏定义是合法的,宏定义展开为3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。

(28)定义int*swap()指的是_______。

A)一个返回整型值的函数swap()

B)一个返回指向整型值指针的函数swap()

C)一个指向函数swap()的指针,函数返回一个整型值

D)以上说法均错 答案:B

评析:一个函数可以带回一个整型值、字符值、实型值等,但也可以带回指针型数据,即地址。本题的定义中,包括括号和·号,由于f)优先级高于t。故它是一个返回整型指针的函数。

(29)以下程序段的输出结果是__________。 main()

{ char s1[10],s2[10],s3[10];

scanf(”%s”,s1);gets(s2);gets(s3);

puts(s 1);puts(s2);puts(s3); }

输入数据如下: (此处代表回车符) aaa bbb

A)aaa B)aaa C)aaa\0bbb\0 D)aaabbb bbb bbb 答案:B


C语言笔试题带答案6.doc(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:两位数乘三位数(应用题)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: