收藏 分销(赏)

广工C语言试题与答案doc.doc

上传人:二*** 文档编号:4540854 上传时间:2024-09-27 格式:DOC 页数:9 大小:63KB 下载积分:5 金币
下载 相关 举报
广工C语言试题与答案doc.doc_第1页
第1页 / 共9页
本文档共9页,全文阅读请下载到手机保存,查看更方便
资源描述
.. - 试卷代号:6111A卷 ?程序设计语言?期末试卷 〔试卷总分:100分,考试时间:120分钟,答案写在答卷纸上〕 一、单项选择题〔每题2分,共40分〕 1.组成C程序的根本单位是C。 A〕表达式与语句 B〕假设干文件 C〕函数D〕main函数 2.有关以下函数的哪些说法是正确的____B____。 int add( int x;int y) { z=x+y; return z; } A〕此函数能单独运行 B〕此函数存在语法错误 C〕此函数通过main函数能调用 D〕此函数没有语法错误 3.以下数据中,为字符的是_____D___。 A〕'AB'B〕"A"C〕HowD〕'A'+2 4.以下表达式没有错误的选项是_____C___。 int x,*p; A〕5.0%2 B〕x+1=5C〕&pD〕&〔x+1〕 5.任何复杂的程序,都是由______C__构成的。 A〕分支构造、顺序构造、过程构造 B〕循环构造、分支构造、过程构造 C〕顺序构造、循环构造、分支构造 D〕循环构造、分支构造 6.以下选项中,合法的C语言关键字是__C______。 A〕integer B〕CharC〕short D〕Long 7.假设有说明语句:int y[][4]={0,0,0,0,0,0}; 那么正确的表达是________。 A〕数组y的每个元素都可得到初值0 B〕二维数组y的行数为1 C〕该说明等价于int y[0][4]={0}; D〕有元素y[0][0]至y[0][5]可得到初值,其余元素均得不到初值0 8.假设有以下变量说明和数据的输入方式,那么正确的输入语句为________。 变量说明:float x1,x2; 数据的输入方式:4.52<回车> 3.5<回车> A〕scanf〔“%f,%f〞,&x1,&x2〕;B〕scanf〔“%f%f〞,&x1,&x2〕; C〕scanf〔“%3.2f,%2.1f〞,&x1,&x2〕;D〕scanf〔“%3.2f%2.1f〞,&x1,&x2〕; 9.:int a,*p=&a; 那么为了得到变量a的值,以下错误的表达式为___C_____。 A〕p[0]B〕*pC〕&*a D〕*&a 10.假设有定义:int b[5];那么以下对b 数组元素的正确引用是________。 A〕*&b[5]B〕b+2 C〕*〔*〔b+2〕〕D〕*〔b+2〕 11.设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句__B______。 if (x=y) printf(" x is equal to y."); A〕语法错 B〕不能判断x和y是否相等 C〕编译出错D〕能判断x和y是否相等 12.以下有关switch语句的正确说法是______B__。 A〕break语句是语句中必须的一局部 B〕在switch 语句中可以根据需要使用或不使用break语句 C〕break语句在switch 语句中不可以使用 D〕在switch 语句中的每一个case都要用break语句 13.假设用数组名作为函数调用时的参数,那么实际上传递给形参的是___D_____。 A〕数组元素的个数 B〕数组的第一个元素值 C〕数组中全部元素的植 D〕数组首地址 14.假设主调用函数为double型,被调用函数定义中没有函数类型说明,而return语句中的表达式为float型,那么被调用函数返回值的类型是____B___。 A〕float 型 B〕int型 C〕double型 D〕类型错误 15.以下表达正确的选项是___D_____。 A〕函数的定义和函数的调用均不可以嵌套 B〕函数的定义和函数的调用均可以嵌套 C〕函数的定义可以嵌套,但函数的调用均不可以嵌套 D〕函数的定义不可以嵌套,但函数的调用均可以嵌套 16.但凡在函数中未指定存储类别的局部变量,其隐含的存储类别是___C_____。 A〕静态〔static〕 B〕外部〔extern〕 C〕自动〔auto〕 D〕存放器〔register〕 17.以下有关宏替换的表达不正确的选项是____A____。 A〕宏名必须用大写字母表示 B〕宏替换不占用运行时间 C〕宏名不具有类型 D〕宏替换只是字符替换 18.以下对字符串的定义中,错误的选项是A。 A〕char str[5]= "abcde" ; B〕char str[ ]= "abcde"; C〕char *str ="abcde"; D〕char str[ ]={ 'a', 'b', 'c', 'd', 'e', '\0'}; 19.说明语句“int(*p)( ); 〞的含义是____C___ 。 A〕p是一个指向一维数组的指针变量 B〕p是指针变量,指向一个整型数据 C〕p是一个指向函数的指针,该函数返回一个int型数据 D〕以上都不对 20.C语言中构造体类型变量在程序执行期间____A____。 A〕所有成员一直驻留在存中 B〕只有一个成员驻留在存中 C〕局部成员驻留在存中D〕没有成员驻留在存中 二、程序阅读题〔每题3分,共30分〕 1.写出以下程序的运行结果。 #include<stdio.h> void main() { int num=0; while (num++<=2); printf("%d ",num); } 3 2.写出以下程序的运行结果。 #include<stdio.h> void main() {int a[]={1,3,5,7,9}; int y=1,x,*p; p=&a[1]; for(x=0; x<3; x++) y+=*(p+x); printf("%d\n",y); }16 3.阅读以下程序,写出程序的功能。 #include<stdio.h> void main() { int a[10]={2,4,0,-5,10,6,-8,9,6,7}; int i,s=0,count=0; for(i=0; i<10; i++) if(a[i]>0) s+=a[i],count++; else continue; printf ("s= %d , count=%d\n", s ,count); } 4.阅读以下函数,写出此函数的功能。 void fun(char A[ ],int n) { char tmp; int k; for (k=0; k<n/2; k++) { tmp=A[k]; A[k]=A[n-k-1]; A[n-k-1]=tmp; } } 5.阅读以下程序,写出此程序的功能。 #include<stdio.h> void main() { char ch; int c=0,s=0,n=0,other=0; while ((ch=getchar())!='\n') { if ((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) c++; else if (ch==' ') s++; else if (ch>='0'&&ch<='9') n++; else other++; } printf("Char:%d\nSpace:%d\nNumber:%d\nOther:%d\n",c,s,n,other); } 6.以下程序有2个文件组成,写出运行结果。 /* file 1 */ #include <stdio.h> int x=20; int y=20; void func_add(void) { y=10+x; x*=2; } void main() { extern void func_sub(); /* 声明一个外部函数 */ x+=5; func_add(); func_sub(); printf( "x=%d; y=%d\n", x, y); } /* file 2 */ extern int x; /* 声明一个外部变量 */ void func_sub() { x-=5;} 7.阅读下面的程序,写出它的运行结果。 #include<stdio.h> long func(int m) { long s; if (m==1) s=1; else s=m+func(m-1); return(s); } void main() { long y; y=func(4); printf( "%2d",y); } 8.假设输入一个整数15,写出以下程序的运行结果。 #include <stdio.h> int sub(int a); void main() { int a,e[10],c,i=0; scanf("%d",&a); while (a!=0) { c=sub(a); a=a/2; e[i]=c; i++; } for(;i>0;i--) printf ("%d", e[i-1]); } int sub(int a) { int c; c=a%2; return(c); } 9.写出下面程序的运行结果。 #include <stdio.h> func(int a[][3]) { int i,j,sum=0; for (i=0;i<3;i++) for(j=0;j<3;j++) if(i==j) sum=sum+a[i][j]; return(sum); } void main() { int a[3][3]={1,3,5,7,9,11,13,15,17},sum; sum=func(a); printf("sum=%d\n",sum); } 10.写出以下函数的功能。 void fun1( char *s1, const char *s2 ) { while ( *s1 != '\0' ) ++s1; for ( ; *s1 = *s2; s1++, s2++ ) ; } 三、程序填空题〔每空2分,共20分〕 1.以下程序对输入的1000以下的整数,求出其相应的个位数、十位数和百位数。 #include<stdio.h> void main() { int x,a,b,c; do{ printf("输入一个1000以下的整数:"); scanf("%d",&x); printf("\n"); }while( (1) ); a=x/100; b=(x-a*100)/10; c= (2) ; printf("%d的个位数是%d,十位数是%d,百位数是%d\n",x,c,b,a); } 2.以下程序完成对键盘输入的正整数求最大值和最小值,输入负数时循环完毕。请填写缺少的语句。 #include<stdio.h> void main() { int i,j,n,max,min,a[100]; for(i=1; i<=100; i++) { scanf("%d,",&a[i]); if(a[i]<0) (3) ; } n=i-1; min=max=a[1]; for(j=2; j<=n; j++) { if( (4) ) max=a[j]; if( (5) ) min=a[j]; } printf("n=%d\tmax=%d\tmin=%d\n",n,max,min); } 3.以下函数的功能是删除字符串s中的数字字符,请填写缺少的语句。 void delnum(char s[]) { int i,j; for( i=0,j=0;s[i]!='\0';i++) if ( s[i]<'0' (6) s[i]>'9') { s[j]=s[i]; (7) ; } s[j]= (8) ; } 4.以下程序用来求数组全部元素的和,请填写缺少的语句。 #include<stdio.h> void main( ) { int a[ ]={0,1,2,3,4,5,6,7,8,9}; int s=0 , i, *p; p=(9) ; for (i=0; i<10; i++) (10) ; printf("sum=%d", s); } 四、编程题〔每题5分,共10分〕 1.〔5分〕编写程序,计算s=1+2+3+...+99+100。 2.〔5分〕编写程序,输出100以的所有素数〔即只能被1和自身整除的数〕。 试卷代号:6111A卷 ?程序设计语言?期末试卷答案 一、单项选择题〔每题2分,共40分〕 1 2 3 4 5 6 7 8 9 10 C B D C C C A B C D 11 12 13 14 15 16 17 18 19 20 B B D B D C A A C A 二、程序阅读题〔每题3分,共30分〕 1 3 6 x=45; y=35 2 16 7 10 3 求数组a中所有正数的和及正数的个数。 8 1111 4 将字符数组按逆序存放。 9 sum=27 5 从键盘输入一行字符,输出字母、数字、空格和其它字符的个数。 10 将字符串s2连接到字符串s1后 三、程序填空题〔每空2分,共20分〕 ⑴ x>=1000||x<=-1000 ⑹ || ⑵ x-a*100-b*10或x%10 ⑺ j++ ⑶ break ⑻ ‘\0’ ⑷ a[j]>max ⑼ a ⑸ a[j]<min ⑽ s+=*(p+i) 四、编程题〔每题5分,共10分〕 1.〔5分〕参考程序: #include<stdio.h> void main(){ int n,s=0; for(n=1;n<=100;n++) s=s+n; printf("s=%d\n",s); } 2. 〔5分〕参考程序: #include<stdio.h> void main() { int n,i; for(n=2; n<=100; n++){ for(i=2; i<n; i++) if(n%i==0) break; if(i>=n) printf("\t%d",n); } } . . word.zl-
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服