2008年武汉科技学院专升本C语言程序设计试卷

发布时间 : 星期三 文章2008年武汉科技学院专升本C语言程序设计试卷更新完毕开始阅读

准 考 证 号 姓 名

武汉科技学院2008年专升本考试试题

C语言程序设计 2008.6.

一 二 三 四 五 六 七 八

一.单选题:(1分/题, 共20分,答案写在答题纸上)

1.下列格式符中,哪一个可以用于以8进制形式输出整数。 A. %d B. ? C. %o D. %ld 2.a是int类型变量,c是字符变量。下列输入语句中哪一个是错误的。 A. scanf(\%d,%c\,&a,&c); B. scanf(\%d%c\,a,c); C. scanf(\%d%c\,&a,&c); D. scanf(\d=%d,c=%c\,&a,&c); 3.字符变量ch=?A?,int类型变量k=25,语句printf(〞=,=\\n〞,ch,k);输出: A. 65,253 B. 65 253 C. 65,25 D. A, 25 4. 请读程序片段:short int key=65536; printf ( “%d\n”, key);

该程序片段在VC++6.0系统下的输出结果是: A)-1

B) 0

C) 65536

D) 有语法错误,无输出结果

5. 不合法的字符常量是

A) ?\\n?

B) ?\\101?

C) ?xy?

D) ?\\t?

6. 设a=10,则赋值表达式a+=a–=a*a的值是

A) –80 B) 100 C) –180 D) 180

7. 设有int a=255,b=8;则printf(\%x,%o\\n\, a, b); 的输出的是

A.255, 8 B.ff, 10 C.0xff, 010 D.输出格式错 8. 设有int i=10,j=10;则printf(\%d,%d\\n\,++i, j--);的输出的是:

A.11,10 B.9,10 C.10,9 D.10,10 9.字符 '0' 的ASCII值为48,若有以下程序

main(){char a='1', b='2';printf(\运行后输出结果是:A) 3,2 B) 50,2 C) 2,2

D) 2,50

10.有以下程序

main(){int m,n,p;scanf(\printf(\

从键盘上输入, 使变量m的值为123, n的值为456, p的值为789, 则正确的输入是A) m=123n=456p=789 B) m=123 n=456 p=789 C) m=123,n=456,p=789

D) 123 456 789 11. 有以下程序

main()

{ char s[]=\程序运行后的输出结果是:A) 1

B) 9

C) 5 D)159

1

12. 有以下程序

main() {char c1=97,c2=98; printf(\,c1,c2); printf(\,c1,c2);}

已知‘A’=65;程序运行后的输出结果是:A)9798ab B) ab9798 C)9798AB D) AB9798

13.若整型变量a、b、c、d中的值依次为:4、1、3、2。则条件表达式a

A) 1 B) 2 C) 3 D) 4

14.如下程序片断:

int a[ ][4]={1,2,3,4,5,6,7,8};int (*p)[4]=a;printf(“%d”,*(*(p+1)+2));

其输出结果为: A) 7 B) 6 C) 5 D) 4

15. 假定所有变量均已正确定义,下列程序段运行后y的值是:

int a=0,y=10;

if (a==0) y- - ;else if(a>0) y++; else y+=y ;

A.20 B.11 C.9 D.0

16. 下列语句应将小写字母转换为大写字母,其中正确的是:

A. if(ch>=?a?&ch<=?z?) ch=ch-32; B. if(ch>=?a?&&ch<=?z?)ch=ch-32;

C. ch=(ch>=?a?&&ch<=?z?)?ch-32:??; D. ch=(ch>?a?&&ch

17. int a=1, x=1; 循环语句while(a<10) x++; a++; 的循环执行:

A. 无限次 B.不确定次 C.10次 D.9次 18. C语言 while语句中,用于条件的表达式是:

A. 关系表达式 B. 逻辑表达式 C. 算术表达式 D. 任意表达式

19. 若有以下数组说明,则数值最小的和最大的元素下标分别是:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

A.1,12 B.0,11 C.1,11 D.0,12

20. 设有如下定义,则对data中的a成员的正确引用是:

struct sk {int a ; float b ; } data, *p = &data ;

A.(*p). data. A B.(*p). A C.p->data. A D.p. data. a

二.填空题:(1分/空,共20分,答案写在答题纸上)

1. 任何程序都可以用三种基本结构的叠加、组合来实现。这三种基本结构是:【1】、【2】和【3】。 2. 运行一个C程序需要经历【4】、【5】、【6】和运行几个阶段。

3. 字符串必须用【7】引号括起来。

4. C语言提供的三种逻辑运算符是【8】、【9】和【10】。

5. 下列程序的输出结果是【11】。 。 main ( )

{ int x=023;

printf(“%d”,--x);

}

6. 执行以下程序段后的输出结果是【12】。

int a=011,,a,b,c) b=0x11,c=11;printf(“%d,%d,%d\n”

2

准 考 证 号 姓 名 7.字符串是以【13】作为结尾标识。 8.

设有int a=255

,b=8;则printf(\%x,%o\\n\, a, b); 的输出的是【14】。 9.假定所有变量均已正确定义,下列程序段运行后

y的值是【15】。 int a=10 ,y=12; if (a=0) y- -

;else if(a>0) y++; else y+=y ;

10.下列程序的功能是输入一个正整数, 判断是否能被3或7整除。若能整除,则输出“YES”; 若不能整除,则输出“ NO”。请为程序填空。 void main( )

{ int k; scanf (“%d”, &k); if ( 【16】 ) printf(“YES\\n”); else

printf (“NO\\n”); } 11.以下程序以每行 10个数据的形式输出a数组,请填空。 void main( )

{ int a[50],i;

printf( “输入50个整数: “); for(i=0;i<50;i++) scanf(

“%d”,【17】);

for(i=1; i<=50; i++)

{ if(

【18】) printf( “=\\n”,a[i-1]); printf( “= “, 【19】); }

}

12.若在程序中用到 strlen()函数时,就在程序开头写上包含命令【20】。

3

分,每题20分,答案写在答题纸上) 三.编程题:(共601.编程实现函数(x值从键盘输入) : ?sin(x? 1y??2*x)?3?x2x?1

??4?xx?1

2.使用循环结构编程输出以下图形

3. 采用递归设计一个求 n!的函数。

4

联系合同范文客服:xxxxx#qq.com(#替换为@)