西南民大C语言学习知识试卷及其规范标准答案.doc

收藏

编号:2649628    类型:共享资源    大小:72.02KB    格式:DOC    上传时间:2020-04-26
8
金币
关 键 词:
西南 语言 学习 知识 试卷 及其 规范 标准答案
资源描述:
.\ .\ 一、请判断下列说法的是否正确:(10分,每小题1分) (1)一个C程序由多个函数组成,且必须有一个main( )函数,要求main( )函数必须放到最前面。( x ) (2)所有的变量在使用前都必须予以声明。( v ) (3)C的double类型数据可以精确表示任何实数。( x ) (4)a是一维数组名,数组元素a[1]还可以写作“*(a++)”。( x ) (5)break语句只能用于switch语句和循环控制语句中。 ( v ) (6)C语言中的数组下标从0开始,当引数组元素超过所定义的范围,将出来编译错误。( x ) (7)一个for循环语句,一定可以使用while语句来替换。( v ) (8)函数原型为“void sort(float a[], int n)”,调用该函数时,形参数组a被创建,实参数组各元素的值被复制到a数组各元素中。( x ) (9) 一个结构类型的变量,在内存中占的字节数,为各成员数据类型所占内存的总和。( v ) 例如: struct example { int I; float f; char s[20]; } x ; (10)、语句 y=*(p++); 和 y=(*p)++; 是等价的。 ( x ) 二、填空(15分,每小题1分) (1) C语言的基本数据类型分为 型、     型、    型和 枚举型。 (2)、A不等于B在C语言中应使用表达式 来表示。 (3)写出数学表达式 对应的C表达式 ___________ ___。 (4)写出判断字符变量ch是(’0’~’9’)数字符的C表达式 ________。 (5) 若s=’d’,执行语句s=(s>=’a’&&s<=’z’)?s-32:s;后,字符变量s的值为 __d__。 (6)int b=5;执行赋值表达式a=5+(b+=6) 后,a、b的值依次是_16___11_。 (7) 在C语言程序中,如果对函数f的类型未加显说明,则函数f的隐含类型是_int___。 (8)定义语为char a[10] ="john\0ni";,语句printf("%d",strlen(a));输出结果是__4________。 (9)所有的程序都可以用三种控制结构编写。这三种控制结构是 、 和 。 (10)要使a=10,b=20,c1=’A’,c2=’a’,x=1.5,y=-3.75,z=67.8,用下面的语句输入: scanf(“%5d%5d%c%c%f%f%*f,%f”,&a,&b,&c1,&c2,&x,&y,&z); 键盘上输入数据的正确形式为:  10 20Aa 1.5 -3.75 2.2,67.8回车   (11)函数调用时,若形、实参数均为数组,则其传递方式是______________。 (12)表达式(5==5==5)的值为____0__________。 (13)设int x[]={1,2,3,4},y,*p=&x[1]; 则执行语句y=(*- -p)++;后变量y的值为__1_______。 (14)‘a’和“a”是有区别的,‘a’在内存中占_1___个字节,“a”在内存中占__2__个字节。 三、选择题(每题2分,共20分) (1)算法具有五个特性,以下选项中不属于算法特性的是( b ) (A)有穷性 (B)简洁性( C)可行性 (D)确定性 (2)以下选项中可作为C语言合法常量的是( b ) (A)-80. (B)-080 (C)-8e1.0 (D)-80.0e (3)以下不能定义为用户标识符是( d ) (A) Main (B)_0 (C) _int (D)sizeof (4)在下列各程序段中,没有构成死循环的是( a ) (A)int i=100; (B) int y=1; while (1) for(; y<=10;y++) {i=i%100+1; y- -; if(i=100) break; } (C)int k=1000; (D)int s=36; do{++k} while (k>=1000) ; while(s);- -s; (5)设变量定义为“int a[4]={1,3,7,9}, *p=a+2;”,则*p的值是( a )。 (A)7 (B)3 (C)4 (D)&a[0]+2 (6)下面程序段求两个数中的大数,( d )不正确。 (A)max =x>y?x:y; (B)if (x>y) max = x; else max=y; (C)max=x; (D)if (y>=x ) max=y; if (y>=x) max =y; max = x; (7)给出以下定义: char x[ ]="abcdefg"; char y[ ]={a,b,c,d,e,f,g}; 则正确的叙述为 b (A)数组X和数组Y等价 (B) 数组X的长度大于数组Y的长度 (C)数组x和数组Y的长度相同 (D)数组X的长度小于数组Y的长度 (8))对于以下的变量定义,表达式___ ___是正确的。 struct node { char s[10]; int k; } p[4]; (A)p->k=2 (B)p[0].s=“abc” (C)p[0]->k=2 (D)p->s=‘a’ (9)说明语句int (*p) ( ); 的含义是 c 。 A) p是一个指向一维数组的指针变量 B) p是指针变量,它指向一个整型数据的指针 C) p是一个指向函数的指针变量,该函数的返回值为整型数 D) p是一个指指针函数,该函数的返回值为指针值 (10)下列函数fun的功能是 。 fun(char *s) { s char *t=s; while(*t++) ; t return (t-s-1); } A) 求两个串的长度差 B) 比较两个串的大小 C) 将串s复制到串t中 D) 求s所指向的字符串长度 四、程序填空题(10空,每空2分,共20分) 1.下程序是使用递减法求两自然数m、n的最大公约数。 void main() { int m,n, div; scanf(“%d,%d”,&m,&n); div=m; if (n=temp (D)i=temp 3.输入1 个正整数 n, 计算并输出 s 的前n项的和。 S = 1 -1/2 + 1/3 - 1/4 + 1/5 -1/6 + ……1/n void main( ) { int k, flag=1, n; float s; -----(6)----; scanf("%d", &n); for (k=1 ; k<=n; k++) { s=-----(7)----; -----(8)----; } printf("sum=%f\n", s); } (6) (A) n=0 (B) s=0 (C)k=1 (D)printf(“Enter a number\n”) (7) (A) s+flag/n (B) s+1/k (C)s+1.0*flag/k (D)flag/k (8) (A) n++ (B) flag=-flag (C)flag++ (D)k++; 4. 函数sort使用选择法将一维整型数组中个元素按值从大到小排序。 void sort(int a[],int n) { int i,j,k ,temp; for(i=0;ia[j] (B) a[j]>a[j+1] (C)a[k]>a[j] (D)a[k],则输出为 : void main( ) { char ch; while((ch=getchar( ))!=’\n’) { if(ch>=’A’ && ch<=’Z’)ch=ch+32; else if(ch>=’a’ && ch<’z’)ch=ch-32; printf(“%c”,ch); } printf(“\n”); } 2、下列程序的输出结果是 。 main() { int a[ ]={1,2,3,4},i,j,s=0; j=1; for (i=3; i>=0;i--) { s=s+a[i]*j; j=j*10; } printf(“s=%d\n”,s); } 3、以下程序运行后的输出结果是 f(int a) { auto b=0; static c=3; b=b+1; c=c+1; return(a+b+c); } main() { int a=2,i; for( i=0; i<3; i++) printf(“%d ”, f(a)); } 4、以下程序运行后的输出结果是 #include "stdio.h" fun(char *w) {char t,*s1,*s2; for (s1=w,s2=w+strlen(s1)-1;s1 main( ) { char ch[2][5]={"6934","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for (i=0;i<2;i++) for (j=0;p[i][j]>0&&p[i][j]<=9;j+=2) s=10*s+p[i][j]-0; printf("%d\n",s); } 六、程序设计题(2小题,共15分) 1.求出10至1000之内能同时被2、3、7整除的数,并输出。(7分) 2、编一程序,输入15个整数存入一维数组,再按逆序重新存放后输出(用函数完成逆置,形参用指针变量完成)。(8分) 答 卷 一、判断题(每题1分,共10分) 1 2 3 4 5 6 7 8 9 10 错 对 错 错 对 错 对 错 对 错 二、填空题(每空1分,共15分) (1) 整型、实型、字符型 (2) 0 (3) (b-sqrt(b*b-4*a*c))/(2*a) (4) 结束本次循环 (5) ‘D’ (6) 16 ,11 (7) 整型(int) (8) 4 (9) 顺序结构、选择结构、循环结构 (10) 10 0Aa 1.5 -3.75 ,67.8 (11) 地址传递 (12) 0 (13) 1 (14) 1 (15) 1 2 三、单选题(每题2分,共20分) 1 2 3 4 5 6 7 8 9 10 B A D A A D B A C D 四、程序填空题(每空2分,共20分) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) B C A C A B C B D A 五 、程序阅读题(每题4分,共20分) 1 2 3 4 5 Abc123DEF S=1234 7 8 9 54321 6385 六、程序设计题(2题,共15分)参考答案 1、main( ) { int i; for (i=10;i<=1000;i++) if (i%3==0&&i%7==0&& i%2==0) printf(“%3d”,i); } 2、void inv(int *x, int n) {int *p,m,t,*i,*j; m=(n-1)/2; i=x;j=x+n-1;p=x+m; for (;i<=p;i++,j--) {t=*i; *i=*j; *j=t; } } main() {int i,arr[10],*p=arr; printf("The original array:\n"); for (i=0;i<10;i++,p++) scanf("%d",p); printf("\n"); p=arr; inv(p,10); printf("The array has been inverted:\n"); for (p=arr;p
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:西南民大C语言学习知识试卷及其规范标准答案.doc
链接地址:https://www.taowenge.com/p-2649628.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开