C语言模拟题解析_第1页
C语言模拟题解析_第2页
C语言模拟题解析_第3页
C语言模拟题解析_第4页
C语言模拟题解析_第5页
已阅读5页,还剩20页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言模拟题(一)1、A、B、C、D、2、A、一、选择题以下字符中不是转义字符的是(A )。ba设a二12,且a定义为整型变量。执行语句a+二a-二a*二a;后a的值为(A)。 0B、144C、132D、123、已定义float x=l. 25, y=3. 37;根据下面的输出结果,正确的输出语句是(c ).y+x=4. 62, y-x=2. 12Ax printf (y+x二%6 2f, y-x=%6 2fy+x, y-x);B、printf (y+x二%f, y-x=%fnz y+x, y-x) 1C、printf (y+x二% 2f, y-x=% 2fn, y+x, y-x);D、pri

2、ntf(y+x二%5 2f, y=%5 2fn, y+x, y-x);4、执行下面程序段后,b的值为(A ).int s=35;char t二A;int b;b=(s&4)&(t V );A、1B、3C、2D、05 k是整型,则以下程序段的执行结果是:(B )k 二-3;if(k=0) printf(#)else printf(&);A、#B、有语法错误,无结果c、 &D、 #&6设j和k都是int类型,则下面的for循坏语句(D)。 for (j二0, k=0; jmainO int a10, i=0;wh订e(iz&y! =z的值为0. Y6运算符的级别由高向低依次为!-算术运算符-关系运

3、算符-逻辑运算符-赋值运算符.Y7已知a=3, b=4, c=5,则逻辑表达式!(ab) & !c| |1的值为1. Y8 for循环语句只能用于循坏次数确定的情况下.N9 break语句能够终止当前进行的多层循环.Nh10 for循坏的三个表达式都可以省略.Y11下列程序段是否正确:Nint a10;a+;k12定义一维数组的形式为:类型说明数组名表达式,其中表达式必须是整型常量.N13字符串Da lian在内存中的存储长度是7.N14字符串Da lian在内存中的存储长度是7. N15字符处理函数strcpy(strl, str2)的功能是把字符串1接到字符串2的后面.N 11111111

4、116静态局部变量是在编译时被初始化的,故它只被赋初值一次.Y17被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.N18假设有int a10,知;则p二&a0与p=a等价Y19 typedef可以定义生成新的数据类型.N20用fopenCfile/);打开的文件file可以进行修改。Y三、填空题1、设a、b、c为整型数,且a二2、b二3、c二4,则执行完以下语句:a*=16+(b+)-(+c);后,a 的值是_28.2若所用变量都己正确定义,请填写以下程序段的输出结果_0Kfor(i=l;i二6)&(3二7)的值是_1.4设x和y均为int型变量,则以卞for循环中的scan

5、f语句最多可执行的次数是3_.for (x=0,y=0;y!=123&x3;x+)scanf&y);5按内存排列顺序,数组char a中的所有元素是a0和_al.6函数不可以进行嵌套定义,但可以进行嵌套调用.7将数组a的首地址赋给指针变量p的语句是_p=a:.8设有以下结构类型说明和变量定义则变量a在内存所占字节数是_30。struct stud char num6 ;float s4; double ave; %*p;四. 程序设计1、程序设计功能:把2时随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。#include st

6、dio. h#include stdlibh#define VSIZE 20 int vectorVSIZE;int fun(int list,int size)/*Begin*/平不平下下平于平下不cnci下平下平下平于平下平/ mainOint i;void NONO 0;for (i=O;iVSIZE;i+)vector Li=rand 0;printf(Vector%d二%6dn, i, vector i);i=fun(vector, VSIZE);printf(nMininum: Vector%d=%6dn, i, vectori);NONOO ;void NONO 0int i,

7、t;FILE *fp ;fp = fopen(,zout. dat,z,;for (i=O;iVSIZE;i+)fprintf (fp, z,Vector%d二%6dn,i, vector Ei);t=fun(vector, VSIZE);fprintf (fp, XnMininum: Vector E%d=%6dnzz, t, vectort); fclose (fp);2、功能:求k! (k 13),所求阶乘的值作为函数值返回。 (要求使用递归)*/#include stdio h#include conio. h long fun(int k)/*Begin*/i平于节平下于节于平 cn

8、a 平平于不于不于不于不/ mainOint m;void TestFunc 0;printf(Enter m: “); scanf&m);printf(nThe resuIt is $ldn,TestFunc 0;void TestFunc ()FILE *IN, *OUT;int s ;int t;long o;IN=fopen(/zin dat, :r);if (IN=NULL)printf(Read File Error);0UT=fopen(out. dat, ;if(0UT=NULL)printf(/zWrite File Error);for(s=l;s=5;s+)f scanf

9、 (IN, &t);o=fun(t);fprintf (OUT,o);fclose (IN);fclose(OUT);五、程序改错1、 功能:求1到10的阶乘的和。#include stdio. hmainOfun(m);int i;float s二0;float fac(int n);/*ERROR*/for(i=l;i10;i+)/*ERROR*/s=fac(i);print fs);float fac(int n)/*ERROR*/int y二1;int i;for(i=l ;ib) s=b;s=s*s;printfs);A、13B、9C、16D、155执行下面程序段后,i的值是(A )

10、.int i=10;switch(i)case 9:i+=l;case 10:i;case 11:i*二 3;case 12:+i;A、28B、10C、9D、276以下不是无限循坏的语句为(D) oA、while(1)x+;B、for (;x+=i);C、for(i=10;i-) sum+=i;D、for(y=0, x=l;x+y;x=i+) i=x;7下面程序段运行的结果是(A).X=-1;do x二x*x;while (!x);A、循环执行一次B、有语法错误c、死循环D、循环执行两次8若有说明:int a3 = l,2,3,4,5,6,7;则a数组第一维的大小是(A)。A、3B、无确定值C

11、、4D、29 若定义int a12 = l, 2, 3,4, 5, 6, 7, 8, 9, 10, 11, 12;char c= a, d, g;则数值为4的表达式是(D ).A、a4B、aEg-cJC、ad-cD、a d -c10以下叙述中正确的是(C) oA、可以在一个函数中定义另一个函数B、main()函数必须放在其它函数之前C、构成C程序的基本单位是函数D、所有被调用的函数一定要在调用之前进行定义11下述函数的功能是(C ).int fun(char *x) char *y二x;while(*y+);return yxl;A、比较两个字符串的大小B、求字符串存放位置C、求字符串的长度D

12、、将字符串x连接到字符串y后面12在执行文件包含命令时,下列说法正确的是(A).A、作为一个源程序编译,得到一个目标文件.B、一个include命令可指定多个被包含文件.C、在编译时作为两个文件联结.D、被包含的文件可以是源文件或目标文件.13在说明语句:int *f();中,标识符f代表的是(A)。A、一个返回值为指针型的函数名B、一个用于指向函数的指针变量C、一个用于指向一维数组的行指针D、一个用于指向整型数据的指针变量14卞面程序的输出结果应该是(B ).char s =ABCD;mainOchar *p;for ( p二s;ps+4;p+)printf(”%s, p);A、DCBAB、

13、ABCDBCDCDDC、ABCDABCABAD、ABCD15 设有如下定义:struct sk int a; float b; data, *p; 若要使P指向data中的a域,正确的赋值语句是(C)。A、p=(struct sk*) data, a;B、*p=data. a;C、p=&data. a;D、p=&data, a;二、判断题1在C程序中,作为运算符时,是只能用于整数运算。Y2若a二3,b二2,c=l则关系表达式(ab)二二c的值为真。Y3格式字符険选用e或%f格式中输出宽度较长的一种格式输出实数.N4整型变量在全部范围内可以用字符格式输出.N5己知a二3, b二4, c二5,则逻

14、辑表达式! (a+b)+cT & b+c/2的值为0. N6 语句if (ab) printf a) ; else printfb);可以用条件表达式ab?a:b取代N.7 已知a二4, b二2, c二3, d二5,表达式ab?a: cd?c: d的值为4. Y8 for循环的三个表达式都可以省略.Y9 continue语句对于while和do-while循环来说,意味着转去计算While表达式Y.10 for语句的循环体至少执行一次.N11 语句 char ch12二C Program*;与语句 char ch二C Program;具有不同的赋初值 功能.N12定义char s9 ;gets

15、 (s);若输入的字符串是Turbo c/(/代表按回车键操作)则输入给 数组s中的字符个数是7. Y13对静态数组的初始化是在编译阶段完成的.Y14 C语言中,通过函数调用只能获得一个返回值.N15字符处理函数strcpy(strl, str2)的功能是把字符串1接到字符串2的后面.N16函数的返回值可以通过函数中的return语句获得。Y17被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.N18 char *p=girl;的含义是定义字符型指针变量p, p的值是字符串g让1。N19对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。Y20用fopenCfi

16、le*, *r+);打开的文件file”可以进行修改。Y三、填空题1设x的值为15, n的值为2,则表达式x%=(n+=3)运算后x的值是_0.2 以下程序的输出结呆为9,10, include stdio. h mainO inta二010, j二 10;printf (%d, $dn, +a, j) ;3设a, b, c, t为整型变量,初值为a二3, b=4, c=5,执行完语句t二!(a+b)+c-l&b+c/2后,t的值 是 _14若输入字符串:abcde回车,则以卜while循环体将执行_0 次.while(ch=getchar 0)=,e*) printf(*);5若有以下数组a

17、,数组元素:a0、a9,其值为9 412 8 210 7513该数组的元素中,数值最小的元素的下标值是_8.6函数不可以进行嵌套定义,但可以进行嵌套调用.7在c程序中,只能给指针变量赋NULL值和_地址值.8设有以下共用体类型说明和变量定义则变量a在内存所占字节数是_16。union stud char num6;float s4; double ave; a, *p;四、程序设计1、功能:将字符串中的小写字母转换为对应的人写字母, 其它字符不变。*/include string, hinclude stdio. h void change(char str El)/*Begin*/丄X* V

18、J! /z V lz 丄丄*丄* !/平于平平下下于不于不cna 平下于平于不于不于下/mainOvoid change 0;char str40;void TestFunc 0;gets(str);change(str);puts(str);TestFunc 0;void TestFunc ()FILE *IN, *OUT;char i200;IN二fopen(in. dat, r);if(IN=NULL)printf(Read File Error);0UT=fopen(out. dat, w);if(OUT=NULL)printf(/zWrite File Error);fscanf (

19、IN, i);change (i);fprintf(OUT, $sn,i);fclose(IN);fclose(OUT);2、功能:从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。例如:当s中的数为:7654321时,t中的数为:642o*/#include stdio. h long fun (long s,long t)/*水*Begin*/ 丄.z 丄L J/z 丄 丄 丄 丄* !/节于节不下下下平于平 cna 不下于节于节于节于平/return t;mainOlong s, t, m;void TestFunc 0;printf(nPlease enter s:

20、); scanf(“Id, &s); m=fun(s, t);printf (The resuIt is: %ldnz,, m);TestFunc 0; void TestFunc ()FILE *IN, *OUT;int n;long i, t, m;IN=fopen(z,in dat, H ;if (IN=NULL)printf(Read File Error);OUT二fopen(out dat, w);if(OUT=NULL)printf(Write File Error);for (n=0;n0)/*ERROR*/xl=(x2+l)/2;x2=xl;/*error*/day+;pri

21、ntf(the total isxl);2、功能:将s所指字符串的反序和正序进行连接形成一个新串放在 t所指的数组中。例如:当s所指的字符串的内容为ABCD时,t所指数组中的内容为 DCBAABCD。#include conio. h#include stdio. h#include string h/*ERROR*/ void fun (char s, char t)int i, d;/*ERROR*水*/ d = len(s);/*ERROR*水*/ for (i = 1; id; i+)ti = sd - 1 - i ;for (i = 0; il)/*fILL*/f=elsef=l;

22、return(f);mainOlong y;printf (,zinput a inteager number : nz,);/*水*fILL*/scanf;y=power (n);/*水*fILL*/printf (,z%d!=%ldnz n,);C语言模拟题(三)选择丿1下列变量说明语句中,正确的是(D) oAx char a;b;c;B、char:a b c;C、int x;z;D、int x, z;2设以下变量均为int类型,则值不等于7的表达式是(A)。Ax (x=6, x+1, y=6, x+y)B、(x=y=6, x+y, y+1)C、(y=6, y+1, x=y, x+1)D、

23、(x=y=6, x+y, x+1)3设:long w=65535, t=7654321;根据下面的输出结果,正确的程序段是(C).=65535, 27654321endAx printf (w=%5d, t=%7dn, w, t) :printfend);B、printf (w=%51d, t=%71dz/, w, t) ;printfend);C、printf (w=%51d, t=%71dnz w, t) : printf (/z%sz end);D、printf(w=%5u, t=%7un, w, t);printf( end);4设x,y,z,t均为整型变量,则执行以下语句后,t的值为

24、:(B )x=y=z=l;t二+x| +y&+z;A、0B、1C、2D、不定值5如果int a二2,b二3,c二0,卞列描述正确的是(B)。A、a&bc的结果为假B、!a! = (b!=c)表达式的值为1C、a|(b=c)执行后b的值为0D、ab!=c和a(b!二c)的执行顺序是一样的6从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句(D )。#include stdio. hmainO int min二0, a;do scanf&a);if(mina) min=a;while( A );printfmin);Ax a=0B、a=0C、a0&a0D、a!=07设有如下程序

25、段:int k=10;while(k=0)k;则下述说明中正确的是(A ).A、循环体一次也不执行B、循环体执行一次C、死循环D、循环体执行10次8 static char str 10二China;数组元素个数为(D)。A、6B、9C、5D、109 函数调用:strcat (strcpy (str 1, str2), str3)的功能是(D)。A、将串strl复制到串str2中后再连接到串str3之后B、将串str2连接到串strl之后再将串strl复制到串str3中C、将串strl连接到串str2之后再复制到串str3之后D、将串str2复制到串strl中后再将串str3连接到串strl之

26、后10 C语言程序中必须有的函数是(B) oAx #include stdio. hB、mainC、printfD、scanf11程序运行结束后,屏幕上输出值为(B ).static int x=10;main() int x=3;f();x_ 一;printf (z/%dz,, x);f()(x+;A、10B、2C、11D、312 f ilel. c中有命令,ftinclude ,若file2. c中有全局静态变量a,则(B ). Ax a在filel. c中应用extern说明.B、a在filel. c中有效,不必用extern说明.C、a在filel. c中不生效D、a在filel.c和

27、file2c中均不生效.13若有说明:int n二2, *p=&n, *q二p;,则以下非法的赋值语句是(C)。Ax 細二*q;B、n=*q;C、p=n;D、P=Q;14、以下程序的输出结果是(A ).mainO(char str =ABCD, *p二str ;printf*(p+3) ;A、68B、不确定的值C、字符D的地址D、015使用共用体变量,不可以(A)。A、同时访问所有成员B、进行动态管理C、节省存储空间D、简化程序设计二、判断题1在C语言中,各种类型的整型数据在内存中都占2个字节。N2表达式(j二3, j+)的值是4.N3格式字符%e以指数形式输出实数数字部分小数位数7位.N4

28、char c6二abcde; printf(%3s, c)表示输出的字段的宽度为3位,如果被输出的数据 的位数大于3,只输出3位数.N5 设d二 1, e二2, f二3,则逻辑表达式!(d+e)+f&e+f*2的值为0. N6 已知a=l, b二2, c二3, d=4,则条件表达式ab?a: (cd?c:d)的值为4. Y7已知a二3, b二4, c二5.则逻辑表达式a+bc & b=c值为0. Y8 dorhile循坏由do开始,wh订e结束,循环体可能一次也不做。N9对于for (表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2. N10在do-while

29、循坏中,任何情况卜都不能省略while. N11对静态变量的初始化不是在编译阶段完成的.N12定义int x5,n;贝Ijx二x+n;或x+;都是正确的.N13 语句 char ch12二C Program;与语句 char ch二C Program;具有不同的赋初值 功能.N14数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.N15变量根据其作用域的范围可以分作局部变量和全局变量.Y16当变量的存储类型定义缺省时,系统默认为变量的存储类型为aut。类型,分配在静态区.N17若有宏定义:#define S(a, b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错

30、误的。N18设有如下定义:int *p; *p=100;则printfC%dp);的输出结果是100. N19使几个不同的变量共占同一段内存的结构,称为结构体类型.N20在打开文件时,必须说明文件的使用方式,砒+表示以读/写方式打开一个二进制文件.N三、填空】1、若有定义:int a二10, b二9, c二8;接着顺序执行下列语句后,变量c中的值是 9_ . c= (a-二(b-5) ; c=(a%ll) + (b二3);2 getcharO函数只能接收一个_字符.3 当a二 1, b二2, c二3时,执行以卜-程序段后b二2. if (ac) b二a;a二c;c二b;4若输入字符串:abcd

31、e回车,则以Iwhile循坏体将执行_0 次.while(ch=getchar 0)=,e*) printf(*);5字符串的结束标志是_0_.6如果函数不要求返回值,可用_void 来定义函数为空类型.7将函数funl的入门地址赋给指针变量p的语句是_p=funl.8设有以下共用体类型说明和变量定义则变量d在内存所占字节数是12_。union stud short int num; char nameE8j;float score3; double ave; d, stu3;四、程序设计1、功能:用doFiile语句求1100的累计和。#include stdio. h long int f

32、un (int n)/*Begin*/不于节平下下平于平cna 不下于节下平下平于平/main 0int i=100;void TestFunc 0;printf (1 100的累加和为:%ldn,z, fun(i);TestFunc 0;void TestFunc ()FILE *IN, *OUT;int i;int ilN;long int iOUT;IN=fopen(z,in. dat, r);if (IN=NULL)printf(Please Verify The Currernt Dir It May Be Changed);0UT=fopen(out. dat, w);if(OUT

33、=NULL)printf(Please Verify The Current Dir It May Be Changed);for(i=0;i5;i+)fscanf(IN, %T&iIN);iOUT=fun(iIN);fprintf (OUT, %ldnz,, iOUT);fclose (IN);fclose(OUT);2、功能:编写程序,实现矩阵(3行3列)的转置(即行列互换) 例如:输入下面的矩阵:100 200 300400 500 600700 800 900程序输出:100 400 700200 500 800300 600 900#include stdio. h void fun(int array3.3)/*水*Begin*/I平于节不平下下节于平 cna 不下于节于节于节于平/mainOint i, j;void NONO 0;int array33 = 100, 200, 300,400, 500, 600,700, 800, 900;for (i二0; i 3; i+)for (j=0; j 3; j+)printf (“%7d, arrayi j);printf(n);fun(array);printf (,zConverted array : nz/);for (i二0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论