1、A卷重庆电子科技职业学院20072008学年 第1学期程序设计基础课程期末考试试题使用班级: 题号一二三四五六总分应得分一、单选题(每小题2分,共计40分)1.在C语言中,合法的字符常数是( )A)程序设计 B)“程序设计”C)c D)2.在C语言中,以下不正确的八进制或不正确的十六进制数是( )A)090 B)0xABC)0xla D)0163.执行int x2,y3;后表达式x(y3)的值是( )A)0 B)1C)2 D)34.在循环结构的循环体中执行break语句,其作用是( ) A) 结束本次循环,进行下次循环 B) 继续执行break语句之后的循环体中各语句 C) 跳出该循环体,提前
2、结束循环 D) 终止程序运行5.以下程序运行结果是( ) main() char s=”Address”; printf(%dn”, strlen(s); A) 9 B) 10 C) 11 D) 126.以下程序运行结果是( ) main() int a=2, 4, 6, 8, 10, y=1, x; for(x=0; x3; x+) y+=ax+1; printf(“%dn”, y); A) 17 B) 18 C) 19 D) 207.已定义char x8; int i;为了给x数组赋值,以下正确的语句是( ) A) x8=”Turbo C”; B) x=”Turbo C”; C) x=”T
3、urbo C”; D) for(i=0; i B) % + += C) % += + D) + % +=11.以下不正确的描述是( ) A) 在函数外部定义的变量是全局变量 B) 在函数内部定义的变量是局部变量 C) 函数的形参是局部变量 D) 局部变量不能与全局变量同名12.“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”括起时,寻找被包含的文件的方式为( ) A) 直接按系统设定的标准方式搜索目录 B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索 C) 仅仅搜索源程序所在的目录 D) 仅仅搜索当前目录13.C语言的简单数据类型包括( )A)整型、实型、逻辑型
4、 B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型 D)整型、实型、字符型14.下列各变量均为整型,选项中不正确的C语言赋值语句是( )A)ii; B)i=j=k; C)i=j+=i; D)i=j+1=k;15.数学关系式xyz可用C语言的表达式表示为( )A)(x=y)&(y=z) B)(x=y)and(y=z) C)(x=y=z) D)(x=y)&(y0) s += 1; if(ab) t= s + t;else if(a=b) t=5; else t=2*s;printf(“%dn”,t);A)a0并且ab B)a0并且a0并且ab D)a0并且ab17.下面程序的输出结果为( )
5、main()int i; for(i=100;i200;i+) if(i%5=0) continue; printf(“%dn”,i); break;A)100 B)101 C)无限循环 D)无输出结果18.下列程序段的运行结果是( )int i=1,a=1,5,10,9,13,7;while(ai=10) ai+=2;for (i=0;i6;i+) printf(“%d”,ai);A)2 7 12 11 13 9 B)1 7 12 11 13 7 C)1 7 12 11 13 9 D)1 7 12 9 13 719.以下语句把字符串“abcde”赋初值给字符数组,不正确的语句是( )A)ch
6、ar s=“abcde”; B)char s=a, b,c,d,e,0;C)char s=“abcde”; D)char s5= “abcde”;20.下面程序段的运行结果是( )int a23=1,2,3,i,j;for(i=0;i2;i+) for(j=0;jamax) amax=x; if(【2】) amin=x; scanf(“%f”,&x);printf(“namax=%fnamin=%fn”,amax,amin);2.Fibonacci数列中的头两个数是1和1,从第三个数开始,每个数等于前两个数之和。下述程序计算此数列的前20个数,且每行输出5个数,请填空。#include voi
7、d main() int f,f1=1,f2=1; int i; printf(“%6d,%6d”,f1,f2); for (i=3;i=20;i+) f=【3】 printf(“%6d”,f); if(【4】)printf(“n”); f1=f2; 【5】 3.下面程序的功能是将两个字符串连接起来,请填空。#include main() char s180,s240; int i=0,j=0; printf(“nInput string1:”);scanf(“%s”,s1);printf(“Input string2:”);scanf(“%s”,s2);while(s1i!=0)i+;whi
8、le(s2j!=0) 【6】; 【7】=0; printf(“%sn”,s1); 4.计算1+1/2+1/4+1/50的值,并显示出来。 main() int i=2; float sum=1.0; while(i=【8】) sum+=1/【9】; i+=2; printf(“sum=%fn”,sum); 5.以下程序是用来统计正整数的各位数字中零的个数,并求各位数字中最大者。 main() unsigned long num,max,t; int count; count=max=0; scanf(“%ld”,&num); do t=【10】;if(t=0) +count;else if(m
9、axt) 【11】;num/=10; while(num); printf(“count=%d,max=%ldn”,count,max); 6.若变量n中的值为24,则print函数共输出【12】行,最后一行有【13】个数。 void print(int n,int aa) int i; for(i=1;i=n;i+) printf(“%6d”,aai); if(!(i%5) printf(“n”); 7.以下程序显示如下所示的矩阵,矩阵中每个元素形成的规律是:右上三角阵(含对角线)元素为1,其它元素值为:行下标列下标1。1 1 1 1 12 1 1 1 13 2 1 1 14 3 2 1 1
10、5 4 3 2 1 main() int i,j,a55;for(i=0;i=4;i+) for(j=0;j5;j+) if(【14】) aij=1; else 【15】=i-j+1;for(i=0;i5;i+) for(j=0;j5;j+) printf(“%3d”,aIj); printf(“n”);8.以下程序的输出结果是【16】 main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(%d,%dn, a, b ); 9.下列程序的输出结果是16.00,请填空。main() int a=9, b=2; float x= 【17】, y=1.1,
11、z; z=a/2+b*x/y+1/2; printf(%5.2fn, z ); 10.以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把二者对调,然后输出调整后的5个数。#include main() int a5,t,i,maxi,mini;for(i=0;i5;i+) scanf(“%d”,&ai);mini=maxi=【18】;for(i=1;iamaxi) maxi=i; printf(“最小数的位置是:dn”,mini);printf(“最大数的位置是:dn”,maxi); t=amaxi; 【20】; amini=t; printf(“调整后的数为:
12、”); for(i=0;i5;i+)printf(“%d”,ai); printf(“n”); 三、判断题,请给正确的打上“”,错误的打上“”(每小题1分,共计10分)1表达式1/4+2.75的值是3。( )2函数若无返回值,则它一定无形参。( ) 3在Turbo C中,实型数据在内存中占4个字节。( )4被main函数调用的函数只能是库函数。( )5对整型变量可进行自加或自减运算,而对常量或表达式不可以。( )6算术运算符和赋值运算符的结合方向均由左自右。( )7定义在main函数后的任何函数都需在main中进行函数声明。( )8一个函数中只允许有一条return语句。( )9任何数组在使用
13、时必须先定义。( )10若有定义:int a;则scanf(“%d,a);可以给变量a赋值。( )四、写出以下程序的运行结果(每题5分,共计10分)1、 int i=5;main( ) int i=3; int i=10; i+; printf(“%dn”,i); f1( ); i+=1; printf(“%dn”,i);int f1( ) i=i+1; return(i);2 #define N 7 main() int i,j,aNN; for(i=1;iN;i+) aii=1; ai1=1; for(i=3;iN;i+) for(j=2;j=i-1;j+) aij=ai-1j-1+ai-
14、1j; for(j=1;j=0 2. Xamin 3. f1+f2 4. i%5=0 5. F2=f 6. s1i+j=s2j 7. S1i+j 8. 50 9. i 10. num%10 11. max=t 12. 5 13. 4 14. imini 20. amaxi=amini三、 判断题(每个1分,共10分)1. F 2. F 3. F 4. F 5. T 6. F 7. T 8. F 9. T 10. F四、 运行结果(每个5分,共10分)1. 1142. 1 3 3 1五、编程题(每个10分,共20分)1#includeint fun(int pm) int i; for(i=2;i=sqrt(pm);i+) if (pm%i=0) return 1; return 0;main() int pum;scanf(“%d”,&pum);if(fun(pum)=1) printf(“%d是一个素数”,pum);else printf(“%d不是一个素数”,pum);2main()int I;int a21;a1=1;a2=1;a3=1;for(i=4;i=20;i+)ai=ai-1+ai-3;printf(“%d”,a20);