




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言考试复习题(1)(请不要外传,仅供复习参考,不是局限于这些考题)一、选择题(每小题2分,10小题,共20分)1、C语言中目标文件的后缀是 ( B )。A).c B).obj C).exe D).h 2、字符串结束标志是( B )。 A) n B) 0 C) t D) r 3、下面哪个是合法的标识符 ( B )。A)3th B)_2f C)$25 D)for 4、若a=2;b=3;则表达式(ab?ab:a+b)的值为( D )。 A)2 B)3 C)-1 D)5 5、将数学式10X20改写成c语言中的表达式应为( D )。 A)X10 & X20 B)X10 , X20 C)X=10 ,X=10 & X B)6) n; printf(“%d”,n); ; A)987 B)876 C)8765 D)9876二、填空题(每空2分,共10空,共20分)1、C程序是从 main 函数开始执行的。2、当函数需要返回值时,必须使用 return 语句。3、C语言的编译预处理命令均以 #include、#define 开头。4、在C程序中,凡出现以0X(或0x)开头的数字序列,均以 16 进制数处理。5. 若int a=1,b=0, c=4, d=-1; 则表达式 (ab ? a:b)&c-d 的值为_1_。 6. int i=5, j, k; j=i-; k=i; 则 k的值为_4_。 7. 已知:int a3=1,2,3,4,5,6; 此时数组元素a12的值为_6_。 8. 设int a=5,b=6, 写出表达式 a=a-b, a+b 的值_5_。 9. 若有代数式x2(3x-5y), 则正确的C语言表达式为:_x*x/(3*x-5*y)_。 10. 字符串 Chinese 占用内存_8_字节。三、程序阅读题(共2小题,每小题10分,共20分)1、阅读以下程序,请依照相应格式给出输出结果。#include void main () int a=1,b=2, c=3, x=11, y=12, z=13; x=(ab?a:b); y=(a%b-c); z +=c/b-a;printf(“x,y,z=%d,%d,%d”,x,y,z); 程序运行的输出结果是:_/ x,y,z=2, -2, 132、 从键盘输入十个整型数据,放入数组a中,求其中最大值、最小值及其所在元素的下标位置,并输出。请填空,补充完整相应位置的程序。include main() int a10,n,max,max_pos,min,min_pos; for(n=0;n10;n+) scanf(“%d”, ); /&anmax = min = a0; max_pos = min_pos = 0; for(n=0;nmax max = an; max_pos = ; / n else if( ) /anmin min = an; min_pos = ; /n printf(“max=%d,pos=%d”,max,max_pos); printf(“min=%d,pos=%d”, ); / min,min_pos四、编程题(共2小题,每小题20分,共40分)1、编写程序,从键盘读入三个整数,求其中最大数,并打印输出最大数。2、编写程序,把两个字符串“Beijing ”和“I love you!”连接起来,并显示出来。C语言考试复习题(2)一、选择题(每小题2分,10小题,共20分)1、下面哪个是合法的标识符 ( B )。A)3thede B)fg_hi C)$2534 D)goto2、C语言中源程序文件的后缀是 ( A )。A).c B).obj C).exe D).h 3、下面表示回车换行的标志符是( A )。 A) n B) 0 C) t D) r 4、若a=1;b=4;则表达式(a6) n; printf(“%d”,n); ; A)987 B)876 C)8765 D)987610、有以下程序:main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0;for(i=0;i<4;i+) s+=aai1;printf(dn,s);程序运行后的输出结果是( B )A) 11 B) 19 C) 13 D) 20二、填空题(每空2分,共10空,共20分)1、在结构化程序设计中,一般认为:程序数据结构_。2、C程序是从 main 函数开始执行的。3、如果要使用数学函数,C语言中需要包含_math.h_头文件。4、int i=5, j, k; j=i+; k=+i; 则 k的值为_7_。 5、若有代数式a2(5b-3c), 则正确的C语言表达式为:_a*a/(5*b-3*c)_。 6、已知:int a2=1,2,3,4,5,6; 此时数组元素a11的值为_4_。 7、定义结构体的关键字是 _struct_。8、如果要打开一个文件,C语言中采用_fopen()_函数。9、已知int a=16,b,c; 则 执行b=a3之后,c的值为_8_。10、定义 int *pi, pj; 其中,_Pj_是指针变量。 三、判断题(每小题1分,10小题,共10分) 1、当一个浮点数转换成整数时,浮点数的小数部分全部舍去。( ) 2、break语句只能用于循环结构中。( ) 3、函数调用时,形参和实参可以同名也可以不同名。( ) 4、当main函数写在所有函数之后时,可以不用对其所用到的函数进行声明。( )5. C程序中的关键字必须小写,其他标识符不区分大小写。( )6、在C语言中,逻辑“真”等价于不等于0的数。( )7、 如定义int a9; 则a数组的下标范围是19。( )8、在C程序中,每行中只能写一条语句。( )9、C语言中的基本数据类型包括:整形、字符型、实型、数组等。( )10、关于if语句中,条件表达式的括号不可以省略。( )三、程序阅读题(共2小题,每小题10分,共20分)1、阅读以下程序,请依照相应格式给出输出结果。#include void main () int a=10,b=11, c=12, x=13, y=14, z=15; x=(ab?a:b-x); y=(a%b-y); z +=c/b-z;printf(“x,y,z=%d,%d,%d”,x,y,z); 程序运行的输出结果是:_/ x,y,z=-2, -4, 12、 从键盘输入一个年份,以下程序对年份进行是否是闰年的判断,leap是判断标识变量,请补充完整相应位置的程序。#include void main() int year, leap; scanf(%d,_); /&year if (year%4 = 0) if (_= 0) / year%100 if (year%400=0) _; / leap=1 else leap=0; else leap=1; else _; / leap=0 if (leap) printf(%d is , year); else printf(%d is not ,_); /year printf(a leap year.n);四、编程题(共3小题,每小题10分,共30分)1. 编写程序,求阶乘:n!,n的值由键盘输入,计算出来的n!打印输出。2、编写程序,打开一个文件(设为File1.txt,其中保存有字符串,字符串之间用空格分开),从其中读取10个字符串,把字符串的小写字母转换成大写字母,而原来的大写字母和数字不变,然后把转换后的10个新字符串保存到一个新的文件File2.txt中。3、编写程序,实现如下功能:(1) 在主函数中,定义相应的变量,从键盘读入任意的五个整数;(2) 编写一个子函数,实现求两个数中的最大值的功能;(3) 对主函数中五个数从小到大排序,保存到另外的变量中,并依次打印输出来。语言考试题全国计算机等级考试二级笔试试卷基础知识和C语言程序设计(考试时间120分钟,满分100分)一、选择题(1)(40)每题1分,(41)(50)每题2分,共60分)在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1) 在32位计算机中,一个字长所占的字节数为A) 1B) 2C) 4D) 8(2) 与十进制数511等值的十六进制数为A) 1FFB) 2FFC) 1FED) 2FE(3) 能将高级语言编写的源程序转换成目标程序的是A) 编辑程序B) 编译程序C) 解释程序D) 链接程序(4) 在计算机系统中,存储一个汉字的国标码所需要的字节数为A) 1B) 2C) 3D) 4(5) 下列带有通配符的文件名中,能表示文件ABCTXT的是A) *BC?B) A?*C) ?BC*D) ?.?(6) 在多媒体计算机系统中,不能用以存储多媒体信息的是A) 光缆B) 软盘C) 硬盘D) 光盘(7) DOS命令“COPY?”的功能是A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C) 以提示方式复制文件D) 显示COPY命令的帮助信息(8) 在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按A) Ctrl+PrintScreen键B) Alt+PrintScreen键C) Shift+PrintScreen键D) PrintScreen键(9) 在Windows环境下,单击当前应用程序窗口中的“关闭”按钮,其功能是A) 将当前应用程序转为后台运行B) 退出Windows后再关机C) 退出Windows后重新启动计算机D) 终止当前应用程序的运行(10) 在Windows环境下,粘贴按钮是A)B)C)D)(11) 以下叙述中正确的是A) 构成C程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main()函数必须放在其它函数之前D) 所有被调用的函数一定要在调用之前进行定义(12) 以下选项中合法的实型常数是A) 5E2.0B) E-3C) .2E0D) 1.3E(13) 以下选项中合法的用户标识符是A) 1ongB)_2TestC) 3DmaxD) Adat(14) 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量101是A) 字符AB) 字符aC) 字符eD) 非法的常量(15) 以下非法的赋值语句是A) n=(i=2,+i); B) j+;C) +(i+1);D) x=j>0;(16) 设a和b均为double型变量,且a=55、b=25,则表达式(int)a+bb的值是A) 6.500000 B) 6C) 5.500000D) 6.000000(17) 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A) scanf(2d2d2d,&i,&j,&k); B) scanf(ddd,&i,&j,&k);C) scanf(d,d,d,&i,&j,&k);D) scanf(i=d,j=d,k=d,&i,&j,&k);(18) 与数学式子3xn2x-1对应的c语言表达式是A) 3*xn/(2*x-1)B) 3*x*n(2*x-1)C) 3*pow(x,n)* (1(2*x-1)D) 3*pow(n,x)(2*x-1)(19) 设有定义:long x=-123456L;, 则以下能够正确输出变量x值的语句是A) printf(x=%dn,x);B) printf(x=%ldn,x);C) printf(x=8dLn,x);D) ptintf(x=%LDn,x);(20) 若有以下程序:main() int k=2,i=2,m;m=(k+=i*=k); printf(d,dn,m,i);执行后的输出结果是A) 8,6B) 8,3C) 6,4D) 7,4(21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z2的值是A) 6B) 0C) 2D) 1(22) 有一函数:y= 以下程序段中不能根据x值正确计算出y值的是if(x>0) y=l;else if(x=0) y=0; else y=-1;B) y=0;if(x>0) y=l;else if(x<0) y=-1;C) y=0;if(x>=0)if(x>0) y=1;else y=-1;D) if(x>=0)if(x>0) y=l;else y=0;else y=-1;(23) 以下选项中,与k=n+完全等价的表达式是A) k=n,n=n+1B) n=n+1,k=nC) k=+nD) k+=n+1(24) 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main() int n,k;float score,sum,ave;sum=00;for(n=l;n<=10;n+) for(k=1;k<=4;k+) scanf(f,&score); sum+=score;ave=sum40;printf(NOd:fn,n,ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是A) sum=0.0;B) sum+=score;C) ave=sum/4.0;D) printf(NOd:fn,n,ave);(25) 有以下程序段:int n=0,p;doscanf(d,&p);n+;while(p!=12345 && n<3);此处do-while循环的结束条件是A) p的值不等于12345并且n的值小于3B) p的值等于12345并且n的值大于等于3C) p的值不等于12345或者n的值小于3D) p的值等于12345或者n的值大于等于3(26) 有以下程序:main() int a=15,b=21,m=0;switch(a3) case 0:m+;break;case 1:m+;switch(b2) default:m+;case 0:m+;break;printf(dn,m);程序运行后的输出结果是A) 1B) 2C) 3D) 4(27) C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是A) voidB) intC) floatD) double(28) 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是A) p=q;B) *p=q;C) n=*q;D) p=n;(29) 有以下程序:float fun(int x,int y)return(x+y); main() int a=2,b=5,c=8;printf(30fn,fun(int)fun(a+c,b),a-c);程序运行后的输出结果是A) 编译出错B) 9C) 21D) 9.0(30) 有以下程序:void fun(char*c,int d) *c=*c+1;d+1;printf(%c,%c,* c,d);main() char a=A,b=a;fun(&b,a); printf(c,cn,a,b);程序运行后的输出结果是A) B,a,B,aB) a,B,a,BC) A,b,A,bD) b,B,A,b(31) 以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序:void sort(int a,int n) int i,j,t;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(ai<aj) t=ai;ai=aj;aj=t;main() int aal0=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=0;i<10;i+) printf(d,aai);printf(n);程序运行后的输出结果是A) 1,2,3,4,5,6,7,8,9,10,B) 10,9,8,7,6,5,4,3,2,1,C) 1,2,3,8,7,6,5,4,9,10,D) 1,2,10,9,8,7,6,5,4,3,(32) 有以下程序:int f(int n) if(n1) return l;else return f(n-1)+1;main() int i,j=0;for(i=1;i<3;i+)j+=f(i);printf(dn,j);程序运行后的输出结果是A) 4B)3C) 2D) 1(33) 有以下程序:main() char a=a,b,c,d,e,f,g,h,0; int i,j;i=sizeof(a); j=strlen(a);printf(d,dn,i,j);程序运行后的输出结果是A) 9,9B) 8,9C) 1,8D) 9,8(34) 以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。void reverse(int a,int n) int i,t;for(i=0;i<n2;i+) t=ai; ai=an-1-i; an-1-i=t;main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0;reverse(b,8);for(i=6;i<10;i+) s+=bi;printf(dn,s);程序运行后的输出结果是A) 22B) 10C) 34D) 30(35) 有以下程序:main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0;for(i=0;i<4;i+)s+=aai1;printf(dn,s);程序运行后的输出结果是A) 11B) 19C) 13D) 20(36) 有以下程序:#include<stringh>main() char*p=abcde0ghjik0;printf(dn,strlen(p);程序运行后的输出结果是A) 12B) 15C) 6D) 5(37) 程序中头文件typel.h的内容是:#define N 5#define M1 N*3程序如下:#include typelh#define M2 N*2main() int i;i=M1+M2;printf(dn,i);程序编译后运行的输出结果是A) 10B) 20C) 25D) 30(38) 有以下程序:#include<stdioh>main() FILE *fp;int i=20,j=50,k,n;fp=fopen(d1dat,w);fprintf(fp,dn,i);fprintf(fp,dn,j);fclose(fp);fp=fopen(d1dat,r);fscanf(fp,dd,&k,&n);printf(d dn,k,n);fclose(fp);程序运行后的输出结果是A) 2030B) 2050C) 3050D) 3020(39) 以下叙述中错误的是A) 二进制文件打开后可以先读文件的末尾,而顺序文件不可以B) 在程序结束时,应当用fclose函数关闭已打开的文件C) 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D) 不可以用FILE定义指向二进制文件的文件指针(40) 有以下程序:#include<stringh>main(int argc,char*argv) int i,len=0;for(i=l;i<argc;i+)len+=strlen(argvi);printf(dn,len);程序编译连接后生成的可执行文件是ex1exe,若运行时输入带参数的命令行是:ex1 abcd efg 10<回车>则运行的结果是A) 22B) 17C) 12D) 9(41) 有以下程序:int fa(int x)return x*x;int fb(int x)return x*x*x;int f(int (*f1)(),int (*f2)(),int x)return f2(x)-f1(x);main() int i;i=f(fa,fb,2); printf(dn,i);程序运行后的输出结果是A) -4B) 1C) 4D) 8(42) 有以下程序:int a=3;main() int s=0; int a=5; s+=a+;s+=a+;printf(dn,s);程序运行后的输出结果是A) 8B) 10C) 7D) 11(43) 有以下程序:void ss(char*s,char t) while(*s) if(*s=t)* s=t-a+A;s+;main() char str1100=abcddfefdbd,c=d;ss(str1,c);printf(sn,strl);程序运行后的输出结果是A) ABCDDEFEDBDB) abcDDfefDbDC) abcAAfefAbAD) Abcddfefdbd(44) 有以下程序:struct STU char num10;float score3;main() struct STU s3=20021,90,95,85,20022,95,80,75,20023,100,95,90,*p=s;int i;float sum=0;for(i=0;i<3;i+)sum=sum+p->scorei;printf(62fn,sum);程序运行后的输出结果是A) 260.00B) 270.00C) 280.00D) 285.00(45) 设有如下定义:struct sk int a;float b;data;int*p;若要使p指向data中的a域,正确的赋值语句是A) p=&a;B) p=data.a;C) p=&data.a;D) *p=data.a;(46) 有以下程序:#include<stdlib.h>struct NODEint num;struct NODE *next;main() struct NODE *p,*q,* r;p=(struct NODE*)malloc(sizeof(struct NODE);q=(struct NODE*)malloc(sizeof(struct NODE);r=(struct NODE*)malloc(sizeof(struct NODE);p->num=10;q->num=20;r->num=30;p->next=q;q->next=r;printf(%dn,p->num+q->next->num);程序运行后的输出结果是A) 10B) 20C) 30D) 40(47) 若有以下说明和定义typedef int*INTEGER;INTEGER p,*q;以下叙述正确的是A) p是int型变量B) p是基类型为int的指针变量C) q是基类型为int的指针变量D) 程序中可用INTEGER代替int类型名(48) 有以下程序:main() unsigned char a,b,c;a=0x3;b=a0x8;c=b<<1;printf(d dn,b,c);程序运行后的输出结果是A) -11 12B) -6 -13C) 12 24D) 11 22(49) 有以下程序:#include<stdlibh>main() char*p,*q;p=(char*)malloc(sizeof(char)* 20); q=p;scanf(ss,p,q);printf(ssn,p,q);若从键盘输入:abc def<回车>,则输出结果是A) def defB) abc defC) abc dD) d d(50) 以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。#include<stringh>void f(char p10,int n) char t20;int i,j;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(strcmp(pi,pj)<0)strcpy(t,pi);strcpy(pi,pj);strcpy(pj,t);main() char pl0=abc,aabdfg,abbd,dcdbe,cd; int i;f(p,5);printf(dn,strlen(p0);程序运行后的输出结果是A) 6B) 4C) 5D) 3二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。(1) 计算机软件分为系统软件和应用软件,操作系统属于【1】。(2) 在DOS环境下,代表键盘和显示器的设备文件名为【2】。(3) 支持Internet基本服务的协议是【3】。(4) 从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【4】。(5) 某微型机的运算速度为2MIPS,则该微型机每秒执行【5】条指令。(6) 设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。scanf(d,【6】);printf(dn,【7】);(7) 以下程序运行后的输出结果是【8】。main()int x=10,y=20,t=0;if(x=y)t=x;x=y;y=t;printf(%d,dn,x,y);(8) 以下程序运行后的输出结果是【9】。main() int x=15;while(x>10 && x<50) x+;if(x3)x+;break;else continue;printf(dn,x);(9) 有以下程序:#include<stdioh>main() char c;while(c=getchar()!=?) putchar(-c);程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为【10】。(10) 以下程序运行后的输出结果是【11】。void fun(int x,int y) x=x+y;y=x-y;x=x-y;printf(d,d,x,y);main() int x=2,y=3;fun(x,y);printf(d,dn,x,y);(11) 以下函数的功能是计算s=1+12!+13!+.+1n!,请填空。double fun(int n) double s=00,fac=10;int i;for(i=1;i<=n;i+) fac=fac 【12】;s=s+fac;return s;(12) fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回,请填空。#include<stdioh>#define N 100int fun(int(*a)N) int row,col,max,min;for(row=0;row<N;row+) for(max=arow0,col=l;col<N;col+)if(【13】)max=arowcol;if(row=0)min=max;else if(【14】)min=max;return min;(13) 函数strcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp(),请填空。#include<stdioh>int strcmp(chat*s,char*t) while(*s &a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源汽车二手车市场2025年评估方法与流通环节效率提升策略报告
- 2025年合肥创和资产管理有限责任公司第一批人员招聘2人模拟试卷附答案详解(黄金题型)
- 2025年新能源社区智能微电网技术应用创新趋势分析报告
- 2025福建厦门市集美区海凤实验幼儿园非在编人员招聘1人模拟试卷附答案详解(考试直接用)
- 2025年金华永康市医疗卫生单位招聘事业单位工作人员39人模拟试卷及1套参考答案详解
- 2025湖南湘西自治州古丈县教育类事业单位引进高层次急需紧缺人才6人模拟试卷及完整答案详解
- 2025年临沂市工业学校公开招聘教师(40名)模拟试卷及答案详解(易错题)
- 2025广东广州市中山大学孙逸仙纪念医院耳鼻喉科主委秘书岗位招聘1人模拟试卷及答案详解参考
- 2025广东惠州市教育局招聘市直公办中小学(幼儿园)编外教职员40人模拟试卷及答案详解(全优)
- 2025年河北雄安新区新建片区学校公开选聘教职人员102名模拟试卷及完整答案详解1套
- GB/T 17219-2025生活饮用水输配水设备、防护材料及水处理材料卫生安全评价
- 出差工作安全培训课件
- 占道施工安全培训内容课件
- 2025年少先队大队委笔试试卷及答案
- 证券业反洗钱培训课件
- GJB3165A-2020航空承力件用高温合金热轧和锻制棒材规范
- 2025年执业药师考试题库大全-附答案
- 退换货方案及措施
- 2025年食药监局考试题库
- 密室逃脱消防应急预案
- 2025年协作机器人产业发展蓝皮书-高工咨询
评论
0/150
提交评论