搜索
您的当前位置:首页2008年武汉科技学院专升本C语言程序设计试卷

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

来源:世旅网
 准 考 证 号 姓 名

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

C语言程序设计 2008.6.

一 二 三 四 五 六 七 八

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

1.下列格式符中,哪一个可以用于以8进制形式输出整数。 A. %d B. %8d 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(〞%3d,%3d\\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) „\‟

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(\"%c,\运行后输出结果是:A) 3,2 B) 50,2 C) 2,2

D) 2,50

10.有以下程序

main(){int m,n,p;scanf(\"m=%dn=%dp=%d\printf(\"%d%d%d\\n\

从键盘上输入, 使变量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[]=\"159\程序运行后的输出结果是:A) 1

B) 9

C) 5 D)159

1

12. 有以下程序

main() {char c1=97,c2=98; printf(\"%c%c\",c1,c2); printf(\"%d%d\\n\",c1,c2);}

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

13.若整型变量a、b、c、d中的值依次为:4、1、3、2。则条件表达式aA) 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<‟z‟)?ch-32: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( “%3d\\n”,a[i-1]); printf( “%3d “, 【19】); }

}

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

3

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

4xx1

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

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

4

因篇幅问题不能全部显示,请点此查看更多更全内容

Top