山东建筑大学C语言程序设计习题集1-6套(7)

2019-08-01 22:34

2、编写一个程序来模拟一个计算器。程序应该输入两个整数和一个运算符,然后输出数字、运算符和结果。如果分母是零,输出一条适当的信息。示例输出如下: 13*5=65

3、编写一个具有返回值的函数isVowel(char ch),如果给定的字符ch是一个元音字母,函数返回true,否则返回false。编写一个主程序,它提示输入一串字符,调用isVowel()函数,输出该字符串中元音字母的数量。 参考答案:

一、单项选择题(每小题2分,共20分) (1)~(5)CDCBA (6)~(10)BADDA 二、 填空题(每小题2分,共20分) (1)3.14*(r1*r1-r2*r2) (2)m=4,k=9 (3)0.013

(4)x=64,y=?6?,z=?5? (5)ABC (6)****

(7)5,6,9,19,23,37 (8)cat

cod ado (9)125 (10)4

三、程序分析填空题(每空3分,共30分) 1.i

3. {1,1};4. f[i]=f[i-2]+f[i-1]; 凡是所填空为语句的没有分号减1分 5. for(i=0;i<9-j;i++)6. {t=a[i]; a[i]=a[i+1]; a[i+1]=t; } 7.age(n-1)+2 8. age(n)

9.a[i][i]=1;10.a[i-1][j-1]+a[i-1][j]

四、编程(每题10分,共30分) 1、

#include void main() { float c,f;

printf(“Please enter a yinli”);

31

scanf(\

f=5280*12*2.54*c/100000;

printf(\} 2、

#include void main() { int a,b; char op;

printf(\ scanf(\switch(op){

case ?+?:printf(“%d%c%d=%d”,a,op,b,a+b);break; case ?-?: printf(%d%c%d=%d”,a,op,b,a-b);break; case ?*?: printf(%d%c%d=%d”,a,op,b,a*b);break; case ?/?: if(b!=0)printf(%d%c%d=%d”,a,op,b,a/b);

else printf(“Data error!”);break;

} } 3、

#include int isVowel(char ch); void main() { char a; int c=0;

while((a=getchar())!=?\\n?) if(isVowel(a))c++;

printf(“Vowel=%d\\n”,c); }

int isVowel(char ch) { switch(ch){

case ?a?: case ?e?: case ?i?: case ?o?: case ?u?:return 1; default:return 0; } }

32

C语言程序设计试题集(第6套)

一、单项选择题(30分,每题2分)

1. 下面关于C语言的说法,错误的是______。

A、一个C程序总是从执行main开始。

B、C程序可以用 /<*??*>/ 对程序作注释。

C、C语言本身没有输入输出语句,输入、输出操作由库函数scanf和printf等来完成。

D、在C程序中,数据定义的最后必须写上一个分号。

2.判断字符串s1是否大于字符串s2,应当使用 。 A、if (s1>s2) B、if (strcmp(s1,s2)) C、if (strcmp(s2,s1)>0) D、if (strcmp(s1,s2)>0)

3. 下列表达式错误的是______。

A、4/7 B、4.0/7.0 C、(-4)%(-7) D、4.0%7.0

4. 以下能定义为用户标识符的是______。

A、scanf B、printf C、_3com_ D、int

5. 能正确表示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

6. 若有以下程序段:int c1=1, c2=2 ,c3; c3=2.0+c1? ; 则执行后,c3的值是______。 A、2.0 B、2 C、 3.0 D、3

7.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。 A、scanf(\

B、scanf(\ C、 scanf(\D、 scanf(\ 8. 以下程序输出结果是 。

A、 7 B、 6

33

C、 5 D、4

main()

{ int m=5;

if(m++>5) printf(\ esle printf(\ }

9. 有以下程序段 #include

main() {int sum=0,i; scanf(\ do {sum=sum+i;i++;} while(i<=10); printf(\ }

若运行时从键盘输入11,则循环体会执行 。 A、11次 B、10次 C、1次 D、 0次

10.二维数组int a[4][4]前5个元素在内存中的排列次序为 。 A、 a[0][0] a[1][1] a[2][2] a[3][3] a[4][4] B、 a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] C、 a[0][0] a[1][0] a[2][0] a[3][0] a[0][1]

D、 a[0] a[0][0] a[0][0][0] a[0][0][0][0] a[0][0][0][0][0]

11. 在C语言中,表达式1/2+1/2+1/2+1/4+1/5运算后得到的结果是 。

A、1.95 B、1.5 C、0 D、2.0

12.以下程序的输出结果是 。

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

main()

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

printf(\}

13.下面对一维数组初始化(10个元素,各元素都赋值为0)的语句不合法的是 。

A、int a[10]={0,0,0,0,0,0,0,0,0,0}; B、int a[10]={0}; C、int a[10]={0*10};

34

D、int a[]={0,0,0,0,0,0,0,0,0,0};

14. 有以下程序 main() { int i;

for (i=0; i<3; i++) switch (i)

{ case 1: printf(\ case 2: printf(\ default : printf(\ } }

执行后输出结果是 。 A、 011122 B、012 C、012020

D、 120

15. putchar函数可以向终端输出一个 。

A、整型变量表达式值 B、字符 C、字符串 D、实型变量值

三. 程序填空题(30分,每空3分) 1. 有以下语句段

int n1=10,n2=20;

printf(\ ① \

n1和n2的值,输出行从第一列开始,请填空。

n1=10,n2=20

2. 以下程序的功能是找出x、y、z三个数中的最小值。请填空。

main( )

{ int x=4, y=5, z=8; int u, v;

u=x

3.统计数组元素中值大于等于60的元素的个数。请填空。

main()

{int s,i,a[10]={50,60,70,80,90,100,66,44,55,77}; s=0;

for(i=0;i<10;i++) if( ③ ) ④ ; printf(\

35


山东建筑大学C语言程序设计习题集1-6套(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:入门例子

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

马上注册会员

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