为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

华侨大学2013年C暑期重修试卷

2017-11-17 14页 doc 31KB 16阅读

用户头像

is_083599

暂无简介

举报
华侨大学2013年C暑期重修试卷华侨大学2013年C暑期重修试卷 华侨大学本科考试卷 2013暑期独立重修班 学院 全校公共课 课程名称 高级语言程序设计 考试日期2013/08/29 姓名 专 业 学 号 题 号 一 二 三 四 五 总分 得 分 一、单项选择题 (20分,每小题2分) 1. 在,语言中,合法的字符常量是( )。 A) '字' B) "A" C) "ABC" D) '\x41' 2. C语言的下列运算符中,优先级最高的运算符是( )。 A) ++ B) += C) || D) != 3. 已知'A'的ASCII码的十进...
华侨大学2013年C暑期重修试卷
华侨大学2013年C暑期重修试卷 华侨大学本科考试卷 2013暑期独立重修班 学院 全校公共课 课程名称 高级语言程序设计 考试日期2013/08/29 姓名 专 业 学 号 题 号 一 二 三 四 五 总分 得 分 一、单项选择题 (20分,每小题2分) 1. 在,语言中,合法的字符常量是( )。 A) '字' B) "A" C) "ABC" D) '\x41' 2. C语言的下列运算符中,优先级最高的运算符是( )。 A) ++ B) += C) || D) != 3. 已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结 果是( )。 #include void main(){ char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) C,D C) C,68 D) 67,68 4. 下列语句中,符合C语言语法的赋值语句是( )。 A) a=7+b+c=a+7; B) a=7+b++=a+7; C) a=7+b,b++,a+7; D) a=7=b,c=a+7; 5. 以下程序运行时,若从键盘输入5,则输出结果是( )。 #include void main(){ int a; scanf("%d",&a); if(a++>5) printf("%d\n",a); else printf("%d\n",a--); } A) 7 B) 4 C) 5 D) 6 6. 有以下程序: #include void main(){ 1 int c; while((c=getchar())!= '\n') { switch(c-'2') { case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 : putchar(c+3); default: putchar(c+2); break; } } printf("\n"); } 当输入:247<回车>,程序的输出结果是( )。 A) 689 B) 6689 C) 66778 D) 66887 7. 以下程序运行后,a的值是( )。 #include voidmain(){ int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } } A) 101 B) 100 C) 8 D) 7 8. 以下程序段的运行结果是( )。 int x=3; do{ printf("%3d, ", x-=2 ); }while(!(--x)); A) 1 B) 30 C) 死循环 D) 1, -2 9. 下列程序段中,非死循环的是( )。 A) int i=100; while(1) { i=i%100+1; if(i>=100) break; } B) int k=0; do{ ++k; }while(k>=0); C) int s=10; while(++s%2+s%2) s++; D) for(;;) 2 10. 设已定义char s[ ]="\"Name\\Address\023\n";,则字符串所占的字节数是( )。 A) 19 B) 16 C) 18 D) 14 11. 以下程序段的运行结果是( )。 #include void main(){ int i=4,j; j=i; pic(i+2*j-2,'*'); putchar('\n'); for(j-=2;j>=0;j--) { pic(3-j, ' '); pic(i+2*j, '*'); putchar('\n'); } } pic(int len,char c){ int k; for(k=1;k<=len;k++) putchar(c); } A) * *** ***** ******* B) ********** ********** ********** ********** C) **** ****** ******** ********** D) ********** ******** ****** **** 12. 设有下列语句,则( )是对a数组元素的不正确引用,其中0?i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; A) a[p-a] B) *(&a[i]) C) p[i] D) *(*(a+i)) 13. 设有下列语句: char str1[]="string",str2[8],*str3,*str4="string"; 则( )是对库函数strcpy的不正确调用。此函数用来复制字符串。 A) strcpy(str3,"HELLO3"); B) strcpy(str2,"HELLO2"); C) strcpy(str1,"HELLO1"); D) strcpy(str4,"HELLO4"); 14. 以下程序的运行结果是( )。 3 #include fun3(int x){ static int a=3; a+=x; return a; } void main(){ int k=2,m=1,n; n=fun3(k); n=fun3(m); printf("%d\n",n); } A) 3 B) 4 C) 6 D) 9 15. 下程序的运行结果是( )。 #include void ast (int x,int y,int *cp,int *dp){ *cp=x+y; *dp=x-y; } void main(){ int a=4,b=3,c,d; ast(a,b,&c,&d); printf("%d,%d\n",c,d); } A) 7,1 B) 1,7 C) 7,-1 D) c、d未赋值,编译出错 16. 以下程序段的运行结果是( )。 enum weekday{ aa,bb=2,cc,dd,ee }week=ee; printf("%d\n",week); A) ee B) 5 C) 2 D) 4 17. 若定义如下结构,则能打印出字母M的语句是( )。 struct person{ char name[9]; int age; }; struct person class[10]={"Wujun",20, "Liudan",23, "Maling",21, "zhangming",22}; A) printf("%c\n",class[3].name); B) printf("%c\n",class[2].name[0]); C) printf("%c\n",class[2].name[1]); D) printf("%c\n",class[3].name[1]); 18. 以下程序的输出结果是( )。 #include void main(){ printf( "%d\n", fac(5) ); } 4 fac(int n){ int s; if(n==1) return 1; else return n*fac(n-1); } A) 120 B) 60 C) 6 D) 1 19. 以下程序中的循环执行了( )次。 #include #define N 2 #define M N+1 #define NUM (M+1)*M/2 void main(){ int i,n=0; for(i=0;i void main(){ FILE *fp; long int n; fp=fopen("wj.txt","rb"); fseek(fp,0,SEEK_END); n=ftell(fp); fclose(fp); printf("%ld",n); } A) 计算文件wj.txt的起始地址 B) 计算文件wj.txt的终止地址 C) 计算文件wj.txt的长度 D) 将文件指针定位到文件末尾 二、程序填空题(在每对“/**/”之间的空白处补充程序,以完成题目的要求) 1. 下面程序的功能是:以键盘输入两个正整数中的小数为下界、大数为上界,按由小到大 的次序输出该区间内除以3余数为1的数(含上下界端点)。例如: 输入:30,7 输出:7 10 13 16 19 22 25 28 请填空补充完成程序。 #include void main(){ int /**/ /**/; printf("Please input a,b :"); scanf("%d,%d",&a,&b); if (a>b) { s=a+b; /**/ /**/; 5 b=s-b; } while(a<=b) { if(a%3==1) printf(" %d ", a ); a+=/**/ /**/ ; } printf("\n"); } 2. 下面程序中my_pow(float x,int n)函数的功能是:根据参数x和n,利用循环语句 n计算并返回的值。例如: x 输入:3.5,3 输出:my_pow(3.500000,3)=42.875000 请填空补充完成程序。 #include void main(){ float x; int n; double my_pow(float,int); printf("Please input x,n :"); scanf("%f,%d",&x,&n); printf("my_pow(%f,%d)=%lf\n",x,n,my_pow(x,n)); } double my_pow(float x,int n){ int i; double /**/ /**/; if(n>0) for( i=1;i<=n;i++) z=/**/ /**/; else if(n<0) { for(i=1;i<=-n;i++) z=z/x; } else z=1.0; return (/**/ /**/); } 四、改错题(修改程序中在每对“/**/”之间存在的错误) 1.下面程序的功能是:计算数组a中所有元素的平均值,依次输出与该平均值的差的绝对 值小于或等于2.5的所有元素。 #include #include #define N 22 void main(){ float arr[N]= {12,13,13.8,14.2,13.6,11.7,9.3,8.6,7.5,8,9,10.7,12.3,15.2,16.1,15.6,14.9,13.2,11.7,10.6,9.4,6}; 6 float aver,sum=0; /**/ int i; /**/ while(i #define N 12 void main(){ int a[N]; /**/ int i,j; /**/ printf("Enter %d numbers:",N); for(i=0;ia[j]){ temp=a[j]; /**/ a[i]=a[j]; /**/ a[i]=temp; } printf("Sorted numbers :\n"); for(i=0;/**/ i<=N /**/;i++) printf("%d ",a[i]); printf("\n"); } 五、编程题(25分,第一题10分,第二题15分) 1. 完成下面程序中的函数fun(),该函数的数学表达式是: 20.16(x,5.8)cos(2x)fun(x)= 2x,1.2,|sin(x)| 例如:fun(-2.7) = 0.017 #include #include double fun(double x){ /**/ /**/ 7 } void main(){ printf("fun(2.7) = %7.3lf\n", fun(2.7)); } 2. 完成下面程序中的函数fun(int a[N][N]),该函数实现的功能是:输入二维数组a表 示的对称矩阵的下三角元素值(包括对角线),根据下三角元素填充上三角元素。程序最后 按行列顺序,输出填充后的矩阵所有元素。例如:N为3时, 输入:1 -2 3 4 -5 6 输出:1 2 4 -2 3 -5 4 -5 6 #include #define N 3 void fun(int a[N][N]){ /**/ /**/ } void main(){ int b[N][N],i,j; fun(b); for(i=0;i
/
本文档为【华侨大学2013年C暑期重修试卷】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索