青岛科技大学c语言期末考试题.doc

上传人:xin****828 文档编号:6560449 上传时间:2020-02-29 格式:DOC 页数:7 大小:20.50KB
返回 下载 相关 举报
青岛科技大学c语言期末考试题.doc_第1页
第1页 / 共7页
青岛科技大学c语言期末考试题.doc_第2页
第2页 / 共7页
青岛科技大学c语言期末考试题.doc_第3页
第3页 / 共7页
点击查看更多>>
资源描述
第四套试题一、选择题(20个小题,每小题2分,共40分):1、以下不正确的C语言标识符是_。AABC Babc Ca_bc Dab.c2、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是_。Aa&b Ba=b Ca|b+c&b-c D!(ab)&!c|1)3、若有以下定义和语句:char c1=b,c2=e;printf(“%d,%cn”,c2-c1,c2-a+A);则输出结果是_。A2,M B3,EC2,e D输入项与对应的格式控制不一致,输出结果不确定4、当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是_。main( ) int a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“na=%d,b=%f,c=%fn”,a,b,c);Aa=98,b=765,c=4321 Ba=10,b=432,c=8765Ca=98,b=765.000000,c=4321.000000 Da=98,b=765.0,c=4321.05、设有如下函数定义:int f(char *s) char *p=s;while(*p!=0) p+;return (p-s);如果在主程序中用下面的语句调用上述函数,则输出结果为_。printf(“%dn”,f(“goodbye!”);A3 B6 C8 D06、以下程序的输出结果是_。main( ) int w=4,x=3,y=2,z=1;printf(“%dn”,(wx?w:zy?z:x);A1 B2 C3 D47、以下程序段的输出结果是_。int k,j,s;for(k=2;k6;k+,k+) s=1;for(j=k;j6;j+) s+=j;printf(“%dn”,s);A9 B1 C11 D108、以下叙述正确的是_。Ado_while语句构成的循环不能用其它语句构成的循环来代替Bdo_while语句构成的循环只能用break语句退出C用do_while语句构成循环时,只有在while后的表达式为非零时结束循环D用do_while语句构成循环时,只有在while后的表达式为零时结束循环9、以下函数调用语句中,含有的实参个数是_。func(exp1,exp2),(exp3,exp4,exp5);A1 B2 C4 D510、以下程序的输出结果是_。double f(int n) int i;double s=1.0;for(i=1;i=n;i+) s+=1.0/i;return s;main( ) int i,m=3;float a=0.0;for(i=0;im;i+) a+=f(i);printf(“%fn”,a);A5.500000 B3.000000 C4.000000 D8.2511、以下程序段的输出结果是_。int i,j,m=0;for(i=1;i=15;i+=4)for(j=3;j=19;j+=4) m+;printf(“%dn”,m);A12 B15 C20 D2512、以下程序中若第一个printf语句输出的是194,则第二个printf语句输出结果是_。main( ) int a =1,2,3,4,5,6,7,8,9,10,*p;p=a;printf(“%xn”,p);printf(“%xn”,p+9);A212 B204 C1a4 D1a613、若有定义:int a =0,1,2,3,4,5,6,7,8,9,*p=a,i;其中0i9,则对a数组元素的引用不正确的是_。A. ap-a B. *(&ai) C. pi D. *(*(a+i)14、以下程序的输出结果是_。main( ) int aa33=2,4,6,i,*p=&aa00;for(i=0;i2;i+) if(i=0) aaii+1=*p+1;else +p;printf(“%d”,*p); printf(“n”);A23 B26 C33 D3615、执行下列程序后,y的值是_。main( ) int a =2,4,6,8,10;int y=1,*p,x;p=&a1;for(x=0;x=&b0) putchar(*chp);putchar(n);AGoodbye BgOODBYE C无任何输出 DeybdooG18、若有如下说明,则_的叙述是正确的。struct st int a;int b2;a;A结构体变量a与结构体成员a同名,定义是非法的B程序只有在执行到该定义时才为结构体st分配存储单元C程序运行时为结构体变量a分配6个字节存储单元D不能将结构体类型说明与变量定义紧凑写在一起19、设有如下定义:struct std int a;float b;data ,*p;若有p=&data;则对data中的成员变量a的正确引用是_。A(*p).data.a B(*p).a Cp-data.a Dp.data.a20、以下程序的输出结果是_。main( ) char x=040;printf(“%dn”,x=x1);A100 B160 C120 D64二、填空题(10个小题,每小题2分,共20分):1、若a是int型变量,则执行表达式 a=25/3%3 后,a的值为_。2、C语言中用_表示逻辑值“真”。3、用在循环结构中,可以结束本次循环的语句是_。4、用数组名作为函数参数是地址传递方式。地址传递是_(单向/双向)传递。5、在二维数组初始化时,可以省略数组的_(行下标/列下标),系统会根据初值的个数,算出该下标的大小。6、若输入字符A,在以下while语句执行后ch的值为_。while(ch=getchar( )=A);7、所谓“指针”,就是_。8、设有宏定义:#define MUL(z) (z)*(z),则执行以下语句后,输出结果为_。printf(“%dn”,MUL(1+2)+3);9、若有定义和语句:char str =“ABCD”,*p=str;printf(“%dn”,*(p+4); 则输出结果是_。10、能够实现局部翻转(0变1,1变0)的位运算是_。三、读下面程序,写出执行结果(4个小题,每小题5分,共20分):1、若运行以下程序时,从第一列开始输入数据:2473(代表Enter),写出程序的执行结果。#include “stdio.h”main( ) char 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”);2、main( ) int x=2,y=3,z=0;try(x,y,z);printf(“(2)x=%d,y=%d,z=%dn”,x,y,z);try(int x,int y,int z) z=x+y; x=x*x; y=y*y;printf(“(1)x=%d,y=%d,z=%dn”,x,y,z);3、#include “stdio.h”#include “string.h”main( ) char *p1=“abc”,*p2=“ABC”,str50=“xyz”;strcpy(str+2,strcat(p1,p2);printf(“%sn”,str);4、#include “stdio.h”#define NUM 8void invert(int *a,int n);main( ) int aNUM=10,20,30,40,50,60,70,80,i;invert(a,NUM);for(i=0;iNUM;i+)printf(“%4d”,ai);printf(“n”);void invert(int *a,int n) int i,j,t;i=0;j=n-1;while(ij) t=ai;ai=aj;aj=t;i+;j-;四、编程题(2个小题,每小题10分,共20分):1、编写程序,计算如下公式的值:t=1-1/(2*2)-1/(3*3)-1/(m*m)。例如,若m=5,则应输出0.536389。要求:利用scanf函数输入m的值。利用子函数形式,m充当参数,不能只利用main函数形式实现。2、编写程序,从输入的10个字符串中通过比较,找出最小和最大的字符串进行输出。要求:利用二维字符数组。利用gets函数进行输入,puts函数进行输出。第四套试题一、选择题(20个小题,每小题2分,共40分):1、D 2、D 3、B 4、C 5、C 6、A 7、D 8、D 9、B 10、A11、C 12、D 13、D 14、A 15、C 16、B 17、D 18、C 19、B 20、D二、填空题(10个小题,每小题2分,共20分):1、2 2、非零值 3、continue 4、双向 5、行下标6、1 7、地址 8、12 9、0 10、(异或)三、读下面程序,写出执行结果(4个小题,每小题5分,共20分):1、6689772、(1)x=4,y=9,z=5(2)x=2,y=3,z=03、xyabcABC4、 80 70 60 50 40 30 20 10四、编程题(2个小题,每小题10分,共20分):1、main( ) float fun(int m),t;int m;scanf(“%d”,&m);t=fun(m);printf(“t=%fn”,t);float fun(int m) float t=1,s;int i;for(i=2;i=m;i+) s=1.0/(i*i);t=t-s;return t;2、#include “stdio.h”#include “string.h”main( ) char str1020,s20;int i;for(i=0;i10;i+)gets(stri);for(i=1;i0) strcpy(s,str0);strcpy(str0,stri);strcpy(stri,s);for(i=0;i0) strcpy(s,stri);strcpy(stri,str9);strcpy(str9,s);puts(str0);puts(str9);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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