C语言程序设计-笔试题(共54页).doc

上传人:飞****2 文档编号:13995954 上传时间:2022-05-02 格式:DOC 页数:54 大小:347KB
返回 下载 相关 举报
C语言程序设计-笔试题(共54页).doc_第1页
第1页 / 共54页
C语言程序设计-笔试题(共54页).doc_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《C语言程序设计-笔试题(共54页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计-笔试题(共54页).doc(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上一、单选题(共计60题)(1) 在下述程序中,if (ij) 语句共执行的次数是( )。main() int i=0,j=14,k=2,s=0; for(;) i+= k ; if(ij) printf(“%d”,s); break ; s+=i ; A、6B、9C、7D、12(2) 若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式应是( )。A、ab+B、rb+C、wb+D、ab(3) 下列程序的输出结果是( )。struct student int a, b, c; ; main() struct student

2、 stu2=2,3,4,5,6,7; int t; t=stu0.a+stu1.b%stu0.c; printf(%d n,t); A、0B、1C、4D、5(4) 对于浮点型变量f,能实现对f中的值在小数点后第四位进行四舍五入的表达式是( )。A、f=(f*1000+0.5)/1000.0B、f=(f*1000+0.5)/1000C、f=(int)(f*1000+0.5)/1000.0D、f=(f/1000+0.5)*1000(5) 现已定义整型变量int i=1; 执行循环语句“while(i+5);”后,i的值为( )。A、1B、5C、6D、以上三个答案均不正确(6) 下列程序的输出结果是

3、( )。struct LH int n;struct LH *m;p4;main() int i;for(i=0;in,p2.m-n);A、0,1B、0,2C、0,0D、程序出错(7) 下列程序的运行结果是( )。#include stdio.hint f(int a) switch (a) case 0:return 0; case 1:case 2:return 1; return(f(a-2)+f(a-3);main() int b;b=f(9);printf(“%dn”,b);A、10B、7C、8D、9(8) 以下程序的输出结果是( )。int f(int b,int m,int n)

4、int i,s=1; for(i=m;in;i+) bi=bi-1+bi+1; s+=bi; return s; main() int x,a=1,2,3,4,5,6,7,8,9,10; x=f(a,3,5); printf(%dn,x); A、23B、26C、42D、35(9) 以下程序运行后,输出结果是( )。main() char ch34=123,456,78,*p3;int i; for(i=0;i3;i+) pi=chi; for(i=0;i2C、a&(b+c+d+e)0; k) s += k; return s; void main( ) int k; k=f(2); print

5、f(%d, %d), k, f(k); A、(3, 3)B、(1, 1)C、(3, 6)D、(6, 12)(12) 若有定义:int a,b;char x,y;并有以下输入数据: 12 13 AaBb(回车)则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是( )。A、scanf(“%d”,&a); scanf(“%d”,&b); x=getchar();y=getchar();B、scanf(“%d%d %c %c”, &a, &b,&x,&y);C、scanf(“%d %d %c %c”, &a,&b,&x,&x,&y,&y);D、scanf(“%d %d %c%

6、c%c%c”,&a,&b,&x,&x,&y,&y);(13) 以下对结构体成员的运算结果是( )。#include main()struct st int x; int y; cnum2=1,3,2,7; printf(%dn,cnum0.y/cnum0.x*cnum1.x);A、0B、1C、3D、6(14) 函数f定义如下,执行语句“m=f(5);”后,m的值应为( )。 int f(int k) if(k=0|k=1) return 1; else return f(k-1)+f(k-2); A、3B、8C、5D、13(15) 若有以下定义:char s10=a,b,c,0, 2,x32

7、,0,123;执行语句printf(“%d”,strlen(s);的结果是( )。A、3B、6C、8D、9(16) 若i为整型变量,则以下循环执行的次数是( )。for(i=0;i=5;i+) printf(%d,i+);A、5次B、2次C、3次D、6次(17) 执行以下程序段后的输出结果是( )。 int x = 3; int m, n; n = (+x) + (+x); m = (x) + (x); printf(%d %dn, m, n);A、10 6B、9 9C、10 10D、10 8(18) 设有定义:int a22=1,2,3,4,(*p)2;,则在语句p=a;p+;后,*p的值为

8、( )。A、2B、3C、4D、以上都不对(19) 以下关于循环的程序的输出结果是( )。#include stdio.hvoid main() int k=4,n=0; for(;nk;) n+; if(n%3!=0) continue; k; printf(%d %d,k,n);A、1 1B、2 2C、3 3D、4 4(20) 下列关于字符串操作的输出结果是( )。#include stdio.h#include string.hvoid main() char p120=abcd,p220=ABCD; char str50=xyz; strcpy(str+2,strcat(p1+2,p2+

9、1); printf(%sn,str);A、xyabcABB、abcABzC、AbabczD、xycdBCD(21) 下列选项中属于正确的switch语句的是( )。A、swicth(a) case a:printf(“An”); case b:printf(“Bn”); B、switch(1.0) case 1.0 :printf(“An”); case 2.0 :printf(“Bn”);C、switch(int)(x+2.5) case 1 :printf(“An”); case 1+2 :printf(“Bn”);D、switch(“a”); case “a” :printf(“An”

10、); case “b” :printf(“Bn”);(22) 以下程序的运行结果为( )。#include stdio.hvoid main()int y=2,a=1;while(y!=-1)doa*=y;a+;while(y);printf(%d,%dn,a,y);A、1,-2B、2,1C、1,0D、2,-1(23) C语言的输入与输出操作是由( )完成的。A、输入语句B、输出语句C、输入与输出函数D、输入与输出语句(24) 若有以下程序段 int a =4,0,2,3,1,i,j,t;for(i=1;i=0&taj) aj+1=aj;j; aj+1=t; 则该程序段的功能是( )。A、对数

11、组a进行插入排序(升序)B、对数组a进行插入排序(降序)C、对数组a进行选择排序(升序)D、对数组a进行选择排序(降序)(25) 执行下列程序中的输出语句后,x的值是( )。main() int x ; printf(“%dn”,(x=4*5,x*2,x+20);A、20B、40C、60D、80(26) 下列程序段的输出结果是( )。int c =1, 7, 12;int *k=c+1;printf(%d,*k+);A、2B、7C、8D、12(27) 下列程序的运行结果是( )。main()int a=4,y; y=fn(a,+a); printf(“%d”,y); int fn(x,c) i

12、nt b; if(xc)b=1; else if(x=c)b=0; else b=-1 ; return(b); A、4B、-1C、1D、0(28) 有如下程序:int x=-20; printf(%dn,x);,其输出结果将是( )。A、19B、20C、21D、-1(29) 对于类型相同的指针变量,不能进行的运算是( )。A、+B、-C、=D、=(30) 已知:union u_type int i; char ch; float a;temp;现在windows环境下,执行temp.i=266;printf(%d,temp.ch)的结果是( )。A、266B、256C、10D、1(31) 以

13、下程序的运行结果是( )。#include stdiohmain() int a=1,2,3,4,5,6,7,8,9,10,11,12; int *p=a+5,*q=NULL; q=p+5; printf(%d %dn,*p,*q);A、运行后报错B、6 11C、6 12D、5 5(32) 以下程序的输出结果是()。 main() int a=0,b=1,c=0,d=20; if (a) d=d-10; else if (!b) if (!c) d=15; else d=25; printf(d=%dn,d); A、d=10B、d=15C、d=20D、d=25(33) 下面四组字符串中,都可以

14、用作C语言程序标识符的是( )。A、 print _maf mx_2d aMb6B、 Iam scanf mx_ MBC、 sign 3mf a.f A&BD、 if ty_pe x1# 5XY(34) 下列程序的输出结果是( )。 int f() static int i=0; int s=1; s+=i;i+; return s; main() int i , a=0; for(i=0;i6;i+)a+=f(); printf(“%dn”,a);A、21B、24C、25D、15(35) 设有定义:#define STR 12345;,则以下叙述正确的是( )。A、宏名STR代替的是数值常量

15、12345B、宏定义以分号结束,编译时会产生错误信息C、宏名STR代替的是字符串12345D、宏名STR代替的是字符串常量12345(36) 以下程序运行后,如果从键盘上输入ABCDE,则输出结果为( )。 #include stdio.h #include string.h func (char str ) int num =0; while (*(str +num )!=0)num +; return(num ); main() char str 10,*p=str ; gets(p); printf(%dn,func(p); A、8B、7C、6D、5(37) 下列程序的输出结果是( )。

16、struct st int x;int *y;*p; int dt4=10,20,30,40; struct st aa4=50,&dt0,60,&dt1,70,&dt2,80,&dt3;main() p=aa; printf(“%d ”,+(*p-y); printf(“%d ”,(+p)-x); printf(“%d ”,+p-x);A、20 20 10B、21 60 50C、11 60 61D、31 70 60(38) 以下函数的功能是( )。char *fun(char *str1,char*str2) while(*str1)&(*str2+=*str1+); return str2

17、; A、求字符串的长度B、比较两个字符串的大小C、将字符串str1复制到字符串str2中D、将字符串str1接续到字符串str2中(39) 以下程序的输出结果是( )。#include void func(char *m) +*m; printf(%sn,*m);void main() static char *a=first,second,three; char *n; n=a; func(n);A、firstB、irstC、secondD、其他(40) 以下语句的输出结果为( )。 for(k=0;k5;+k) if(k=3) continue;printf(%d,k);A、012B、01

18、24C、01234D、没有输出结果(41) 下面的程序对输入的每一个数字出现的次数进行计数,下划线处应填入的正确语句为( )。#include stdio.hmain()int i,ch, n10; for(i=0;i=0 & ch=9) _; for(i=0;i10;+i) printf(数字%d出现的次数是:%dn,i,ni);A、nch-0+B、nch+C、i+D、ni+(42) 以下程序的输出结果是( )。#include stdio.hint *fun() int a4,k; for(k=0;k4;k+)ak=k; return(a);void main() int *p,j; p=

19、NULL; p=fun(); for(j=0;jsex);D、scanf(%d,p-age);(44) 与 y=(x0?1:x0)y=1; else if(x0)y=1; else if(x0)y=1; else if(x=0)y=0; else y=-1;D、y=0; if(x=0) if(x0)y=1; else y=-1;(45) 下列描述中不正确的是( )。A、字符型数组中可能存放字符串B、可以对字符型数组进行整体输入、输出C、可以对整型数组进行整体输入、输出D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值(46) 下面程序运行后,关于a、b、c的值应输出为( )。#i

20、nclude stdio.hmain() int a=1, b=2, c=2,t; while (abc)t=a;a=b;b=t;c; printf(%d,%d,%d,a,b,c);A、1,2,0B、2,1,0C、1,2,1D、2,1,1(47) 在16位 PC机环境下,下列程序的输出结果是( )。struct tt int n1;char n2;float n3; union uuint u13;char u23;su;main()printf(“%dn”,sizeof(struct tt);A、11B、12C、13D、9(48) 若有如下程序:void s(char *m,int n) *

21、m=*m+3;n=n+3;printf(%c,%c,*m,n);void main() char p=b,q=B;s(&q,p);printf(%c,%cn,p,q);则程序运行后的输出结果是( )。A、E,e,b,EB、e,E,b,FC、E,e,e,ED、e,E,b,E(49) 以下程序的输出结果是( )。#include int main() char str100=ABCDEFG, *p=str; int i; for(i = 0; *p != 0; p+,i+); printf(%dn,i); return 0;A、7B、8C、99D、100(50) 某C编译系统规定,int型数组占2

22、个字节,则定义以下语句后,sizeof(aa)=( )。struct long num;char name20;union float x;short y;xy;aa;A、32 B、26C、30 D、28(51) 语句:printf(“%d”,!0);的输出结果是( )。A、1B、0C、有语法错误 ,不能执行D、!0(52) 函数f定义如下,执行语句“sum=f(4)+f(2);”后,sum的值应为( )。 int f(int m) static int i=0; int s=0; for(;i=m;i+) s+=i; return s; A、13 B、16C、10 D、8(53) fwrit

23、e函数的一般调用格式是( )。A、fwrite(buffer,count,size,fp);B、fwrite(fp,count,size,buffer);C、fwrite(fp,size,count,buffer);D、fwrite(buffer,size,count,fp);(54) 有以下程序段main() int i=1,sum=0,n; scanf(%d,&n);do i+=2; sum+=i ;while(i!=n);printf(%d,sum);若使程序的输出值为15,则应该从键盘输入的n的值是( )。A、1 B、3C、5 D、7(55) 下列选项可作为C语言赋值语句的是( )。A

24、、a=1;b=2;B、a=b=6C、iD、y=int(x);(56) 已知有以下的说明, int a=8,1,2,5,0,4,7,6,3,9; 那么a*(a+a3)的值为( )。A、5 B、0C、4 D、7(57) 已知 enum namezhao=1,qian,sun,liman;执行下述程序段后的输出结果是( )。man=0;switch(man) case 0: printf(Peoplen);break; case 1: printf(Mann);break; case 2: printf(Womann);break; default: printf(Errorn);break;A、P

25、eople B、ManC、Woman D、Error(58) 以下能正确计算12310的程序段是( )。A、do i = 1;s = 1; s = s * i; i + +; while (i = 10); B、do i = 1;s = 0; s = s * i; i + +; while (i = 10);C、i = 1;s = 1; do s = s * i; i + +; while (i = 10);D、i = 1;s = 0; do s = s * i; i + +; while (i A);A、0 B、1C、2 D、3(60) 若指针p已正确定义,要使p指向两个连续的整型动态存储单

26、元,下列语句正确的是( )。A、p=2*(int*)malloc(sizeof(int);B、p=(int*)malloc(2*sizeof(int);C、p=(int*)malloc(2*2);D、p=(int*)malloc(2,sizeof(int);二、(1) 以下叙述中正确的有( )A、在程序的一行上可以出现多个有效的预处理命令行B、宏定义不是C语句,不必在行末加分号C、宏替换不占用运行时间,只占用编译时间D、在以下定义中C R是称为“宏名”的标识符 #define C R 045(2) 要求函数的功能是在一维数组a中查找x值。若找到,则返回所在的下标值;否则,返回0。设数据放在数组

27、元素的a1到an中。在以下给出的函数中,不能正确执行此功能的有( )。A、funa(int *a, int n, int x) *a = x; while(an != x) n; return n; B、funb(int *a, int n, int x) int k; for(k = 1; k = n; k+) if(ak = x) return k; return 0; C、func(int a, int n, int x) int *k; a0 = x; k = a+n; while(*k != x) k; return k - n; D、fund(int a, int n, int x

28、) int k = 0; do k+; while(k n+1)&(ak!=x); if(k 0)A、k%2B、k%2=0C、(k%2)!=0D、k%2=1(6) 设有以下语句struct st int n; struct st *next; ;static struct st a3=5,&a1,6,&a2,7,*p=&a0;若要使printf(%dn,_)输出值为6,则下划线处表达式可以为( )。A、p-n+B、+p-nC、(+p)-nD、p-next-n(7) 下列说法不正确的有( )。A、带参数的宏定义中的参数是没有类型的B、宏展开将占用程序的运行时间C、宏定义命令是C语言中的一种特殊语

29、句D、使用include命令包含的头文件必须以.h为后缀(8) 下列有关函数调用的说法正确的有( )。A、若用值传递方式,则形式参数不予分配内存B、实际参数和形式参数不可以同名C、主调函数和被调用函数可以不在同一个文件中D、函数间传送数据可以使用外部全局变量(9) 若变量已正确定义,以下能正确计算1*2*3*4*5的程序段有( )。A、i=1;s=1; do s=s*i;i+; while(i5);B、i=0;s=0; do i+; s=s*i; while(i5);C、i=1;s=1; do s=s*i;i+; while(i6);D、i=0;s=1; do i+; s=s*i; while

30、(i5);(10) 设有定义语句: int x6=2,4,6,8,5,7,*p=x,i;要求依次输出x数组中6个元素中的值,下列选项中能完成此操作的语句有( )。A、for(i=0;i6;i+)printf(“%2d”,*(p+);B、for(i=0;i6;i+)printf(“%2d”,*(p+i);C、for(i=0;i6;i+)printf(“%2d”,*p+);D、for(i=0;i2?6:5C、x=9-(y)-(y)D、x=y*4.8/2-1(12) 下列关于指针定义的描述正确的有( )。A、指针变量是一种变量,该变量是用来存放某个变量的地址值的B、指针变量的类型与它所指向的变量类型

31、一致C、指针变量的命名规则与标识符相同D、在定义指针时,”*”号表示指针变量的指向(13) 以下对结构体变量stu1中成员age的引用正确的有( )。struct studentint age; int num;stu1,*p; p=&stu1;A、stu1.ageB、student.ageC、p-ageD、(*p).age(14) 设有结构体类型:typedef struct str int no; char name20;STR;另有变量定义:STR a20, x;如希望实现向与文件指针变量fp关联的文件输出一个结构信息,则以下语句正确的有( )。A、fwrite(a, sizeof(ST

32、R), 1, fp);B、fwrite(&a2, sizeof(STR), 1, fp);C、fwrite(&x, sizeof(STR), 1, fp);D、fwrite(x, sizeof(STR), 1, fp);(15) t为int类型,进入下面循环之前,t的值为0: for(;t=1;) .则下列叙述不正确的有( )。A、循环控制表达式的值为0B、循环控制表达式的值为1C、循环控制表达式不合法D、循环有可能是个无限循环(16) 下列叙述不正确的有( )。A、函数可以嵌套定义,但不能嵌套调用B、函数可以嵌套调用,也可以嵌套定义C、函数不可以嵌套定义,但可以递归调用D、函数可以嵌套调用,但不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

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