C语言程序设计A课程教学模拟卷4及答案

合集下载

山东大学网络教育学院C语言程序设计模拟题A答案

山东大学网络教育学院C语言程序设计模拟题A答案

《C语言程序设计》模拟卷A卷一、选择题:1.一个C语言的源程序中____A__。

A)必须有一个主函数 B)可以有多个主函数C)必须有主函数和其他函数 D)可以没有主函数2.执行以下语句的结果为____C__。

y=10; x=y++;A)x=10, y=10 B)x=11, y=11C)x=10, y=11 D)x=11, y=103.执行以下程序段后,c3的值是__A____。

int c1=1,c2=2,c3;c3=c1/c2;A) 0 B) 1/2 C) D) 14.C语言中字符型(char)数据在内存中的形式存储是____D__。

A) 原码 B) 补码 C)反码 D) ASCII码5.下列常数中不能作为C的常量的是____D__。

A) 0xA5 B) -2 C) 3e2 D)6.C语言中整数-8在内存中的存储形式是___B___。

A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 01117.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是___B___。

A)6 B)12 C)30 D)368.执行以下程序段后,a,b,c的值分别是______。

int a,b=100,c,x=10,y=9;a=(--x==y++)?--x:++y;if(x<9)b=x++; c=y;A)9,9,9 B)8,8,10 C)9,10,9 D)1,11,109.一个C语言程序的基本组成单位是______C。

A)主程序 B)子程序 C)函数 D)过程10.已知函数abc的定义为:void abc ( ){ ....... }则函数定义中void的含义是___A_。

A)执行函数abc后,函数没有返回值B)执行函数abc后,函数不再返回C)执行函数abc后,可以返回任意类型D)以上三个答案全是错误的11.以下程序的输出结果是___C_。

C语言程序设计模拟试题4(附答案)

C语言程序设计模拟试题4(附答案)

《C语言程序设计》模拟试卷四一、单项选择题(每题2分,共30分)1、下列对C语言特点的描述中,错误的是。

A)C语言不是结构化程序设计语言B)C语言编程简洁明了C)C语言功能较强D)C语言移植性好2、设变量a是整型,b是实型,c是双精度型,则表达式2+‘ a ’+b*c值的数据类型。

A)int B)float C)double D)不确定3、在a=2,b=0,c;则执行c=b||a--;语句后,a和c的结果是。

A)0,1 B)1,0 C)1,1 D)2,04、在scanf()函数的给是说明符中,长整型数的输入格式说明符是。

A)%d B)%ld C)%lf D)%x5、以下程序的执行结果是。

main(){ int n=1;printf(“%d,%d,%d”,n,++n,n--); }A)1,1,1 B)1,2,1 C)0,1,1 D)1,2,26、判断char型变量ch是否为大写字母的正确表达式是。

A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)C)(‘A’<=ch)AND(‘Z’>=ch)D)(ch>=‘A’)&&(ch<=‘Z’)7、能够完成如下函数计算的程序段是。

- 1 x < 0y = 0 x = 01 x > 0A)y = - 1 ; B)if ( x > = 0 )if ( x != 0 ) if ( x > 0 ) y = 1 ;if ( x > 0 ) y = 1 ; else y = 0 ;else y = 0 ; else y = -1 ;C)y = 0 ; D)y = - 1 ;if ( x > = 0 ) if ( x > 0 ) y = 1 ;if ( x > 0 ) y = 1 ; else y = 0 ;else y = -18、下列循环语句中,执行循环体的次数是。

C语言 程序设计基础试题四及答案

C语言 程序设计基础试题四及答案

《程序设计基础》考试试卷四班级姓名学号一、选择题(每题1分,共20分)题号一二三四五总得分评卷人审核人得分1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char3.设有以下定义int a=0; double b=1.25; char c=’A’; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;4.有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;5.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 26. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,37.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;8.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.09.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口10.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确11.下列关于switch和break语句的讨论中,只有()是正确的。

C程序设计模拟试题4答案

C程序设计模拟试题4答案

C程序设计模拟试题4C程序设计》模拟试题四一、单项选择题(每小题2分,第15题4分,共40分)。

1. C++语言是先进的程序设计语言,具有以下的特点【①】。

①面向对象、封装性、继承性、多态性②面向过程、封装性、继承性、多态性③面向对象、封装性、继承性、稳定性④面向过程、封装性、继承性、多元性2. C语言中最简单的数据类型包括【③】①整型,实型,逻辑型②整型,实型,空类型③整型,实型,字符型④整型,实型,指针型3. 以下不正确的C语言标识符是【④ 】。

① ABC123 ② _123abc③ a_bc123 ④ 123abc4. 软件是所有程序、数据和文档资料的总和,计算机软件可分为【③】。

①商业软件、应用软件②工具软件、应用软件③系统软件、应用软件④系统软件、工具软件5. 以下不是结构化程序设计的基本结构的是【② 】。

①选择结构②逻辑结构③循环结构④顺序结构6. 如下程序的执行结果是【①】。

main(){int n=1;n++;printf(“%d %d %d “,n,n++,--n);}①1 1 1 ②2 2 2 ③2 3 2 ④2 2 17. 循环语句while(!E);中的表达式!E等价于【③】。

① E!=0 ②E!=1 ③E==0 ④ E==18. 设int m=1,n=2,则++m==n的结果是【① 】。

①1 ②0 ③2 ④39. 如果变量定义有:int a=10,c=9;则表达式(--a!=c++)?—a:++c的值为【② 】。

①10 ②11 ③8 ④910. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型是【③】。

①int ②float ③double ④不确定11. 以下程序的执行结果是【④ 】。

main(){int a=2,i;for(i=0;i<3;i++)printf(“%d,”,func(a));}func(int a){int b=0;static c=3;b++;c++;return(a+b+c);}①777 ②7,7,7 ③789 ④7,8,9,12. 有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值3,c的值为2,从键盘输入数据的正确形式应是【③ 】。

全国计算机等级考试二级-基础知识和C语言程序设计 模拟考试试卷及答案(四)

全国计算机等级考试二级-基础知识和C语言程序设计  模拟考试试卷及答案(四)

全国计算机等级考试二级-基础知识和C语言程序设计模拟考试试卷及答案(四)一、选择题(1)通常所说的主机主要包括A)CPU B)CPU和内存C)CPU、内存与外存 D)CPU、内存与硬盘(2)在微机系统中,最基本的输入输出模块BIOS存放在A)RAM中 B)ROM中 C)硬盘中 D)寄存器中(3)一个24*24点阵的汉字字形信息所占的字节数为A)2 B)24 C)32 D)72(4)bit的意思是A)字 B)字长 C)字节 D)二进制位(5)某学校的工资管理程序属于A)系统程序 B)应用程序C)工具软件 D)文字处理软件(6)与十六进制数BB等值的十进制数是A)187 B)188 C)185 D)186(7) 设一张软盘已染上病毒,能清除病毒的措施是A)删除该软盘上的所有文件 B)格式化该软盘C)删除该软盘上的所有可执行文件 C)删除该软盘上的所有批处理文件(8)一张3.5英寸双面高密度软盘片的容量为A)360KB B)720KB C)1.44MB D)1.2MB(9)与二进制小数0.1等值的十六进制小数为A)0.1 B)0.2 C)0.4 D)0.8(10)DOS系统的热启动与冷启动的不同之处为热启动时A)不检测键盘、处设接口与内存 B)不提示用户输入日期与时间C)不用装入文件 D)不能从软盘启动(11)为了将磁盘上的文件K1,K2,K3,依次连接在文件K4的后面,应使用命令A)COPY K1+K2+K3 K4 B)COPY K1+K2+K3+K4C)COPY K1+K2+K3+K4 K4 D)COPY K4+K1+K2+K3(12)下列文件名中可以作为批处理文件名的是A)AUTOEXC.C B)AUTOEXECC)ATX.BAT D)AUTO.TXT(13)要打印输出当前盘的根目录下所有文件与子目录清单,应使用命令A)DIR \ PRN B)TYPE \ PRNC)DIR PRN C)TYPE PRN(14)设可执行文件 ABC.EXE 所需要的本该由键盘输入的数据已经按格式存放在文件XYZ 中,并要求执行结果放在文件 XYZ 中输入数据的后面. 下列命令中正确的是A) ABC XYZ B) ABC XYZC) ABC <XYZ(15)设当前盘中某一目录路径为 \A\B\C,当前目录为\A.下列命令中肯定出错的是A)MD \A\C B) CD C) MD \A\B\A D) MD \A\B(16)设 A 盘的目录结构如下:根目录│┌─────┬┴──┬───┬───┬────┐│ │ │ │ │ │ABC D1子目录 DX.C Q.DAT D2子目录A.FOR│ │┌────┬─┴──┬───┐┌───┬───┐│ │ │ │ │ │ │B.PAS D3子目录 Y.BAS A.C A1.C D4子目录XYZ.C│┌────┬────┬────┐│ │ │ │QR.C NA.C A.TXT B.C如果当前盘为 C 盘,A 盘的当前目录为\D2,则下列对 A 盘上文件QR.C 的指定中,合法的是A)\D2\D4\QR.C B)D4\QR.CC)A:D4\QR.C D)A:D2\D4\QR.C(17)下列DOS命令中,有错误的是A)TYPE AAB.FORCON B)TYPE ?AB.FORC)COPY *.C CON D)COPY CON PRN(18)设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C 盘根目录下的文件XYZ.TXT的后面,正确的命令是A)COPY C:\XYZ.TXT+AB1.TXTB)COPY AB1.TXTC:\XYZ.TXTC)TYPE AB1.TXTC:\XYZ.TXTD)AB1.TXT+C:\XYZ.TXTC:\XYZ.TXT(19)下列命令中合法的是A)DISKCOPY A: A: B)DISKCOPY A: C:C)DISKCOPY C: A: D)DISKCOPY C: D:(20)设当前盘中某一目录路径为\A\B\C\D\XU,当前目录为\A.要将根目录下扩展名为.C的所有文件复制到当前目录下,并将扩展名改为.FOR,应使用命令A)COPY \*.C *.FOR B)COPY *.C \A\*.FORC)COPY *.FOR \*.C D)COPY \A\*.C *.FOR(21)下列不正确的转义字符是A)'\\' B)'\" C)'074' D)'\0'(22)若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为A) float B) int C) char D) double(23)表示关系x<=y<=z的c语言表达式为A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z)C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)(24)设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为A) 4 B) 3 C) 2 D) 1(25)设x为int型变量,则执行以下语句后,x的值为x=10; x+=x-=x-x;A) 10 B) 20 C) 40 D) 30(26)下列可作为C语言赋值语句的是A) x=3,y=5 B) a=b=6C) i--; D) y=int(x);(27)设x,y,z,t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;A) 不定值 B) 2 C) 1 D) 0(28)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A) 100765.12 B) i=100,f=765.12C) 100765.12 D) x=100y=765.12(29)设x和y均为int型变量,则执行下的循环后,y值为for(y=1,x=1;y<=50;y++){ if(x=10))break;if (x%2==1){ x+=5; continue;}x-=3;}A) 2 B) 4 C) 6 D) 8(30)给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为A) 数组X和数组Y等价 B) 数组x和数组Y的长度相同C) 数组X的长度大于数组Y的长度 D) 数组X的长度小于数组Y的长度(31)以下叙述中不正确的是A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(32)假定a和b为int型变量,则执行以下语句后b的值为a=1; b=10;do{ b-=a; a++; }while (b--<0);A) 9 B) -2 C) -1 D) 8(33)设j为int型变量,则下面for循环语句的执行结果是for( j=10;j3;j--){ if(j%3)j--;--j; --j;printf("%d ",j);}A) 6 3 B) 7 4 C) 6 2 D) 7 3(34)设有以下宏定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为A) 出错 B) 42 C) 48 D)54(35)设P1和P2是指向同一个int型一维数组的指针变量,k为int 型变量,则不能正确执行的语句是A)k=*P1+*P2; B)p2=k;C)P1=P2; D)K=*P1 * (*P2);(36)设有如下定义:int arr[]={6,7,8,9,10};int * ptr;则下列程序段的输出结果为ptr=arr;* (ptr+2)+=2;printf ("%d,%d\n",*ptr,*(ptr+2));A)8,10 B)6,8 C)7,9 D)6,10(37)以下程序的输出结果是main(){ int i,k,a[10],p[3]:K=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k+=p[i]*2;printf("%d\n",k);}A) 20 B) 21 C) 22 D)23(38)执行以下程序段后,m的值为int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A) 15 B) 14 C) 13 D) 12(39)有以下程序段char arr[]="ABCDE";char *ptr;for(ptr=arr;ptr<arr+5;ptr++)printf("%s\n",ptr);输出结果是A) ABCD B) A C) E D)ABCDEB D BCDEC C CDED B DEE A E(40)有以下程序main(){ int x,i;for(i=1;i<=50;i++){ x=i;if(++x%2==0)if(x%3==0)if(x%7==0)printf("%d,i);}}输出结果是A) 28 B) 27 C) 42 D) 41(41)有下列程序#include<stdio.hmain(){ union{ int k;char i[2];} *s,a;s=&a;s-i[0]=0x39; s-i[1]=0x38;printf("%x\n",s-k);}输出结果是A) 3839 B) 3938 C) 380039 D) 390038(42)有以下程序#include <stdio.hmain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是A) 2,1 B) 3,2 C) 4,3 D) 2,-1(43)设有如下定义:int (*ptr)*();则以下叙述中正确的是A) ptr是指向一维组数的指针变量B) ptr是指向int型数据的指针变量C) ptr是指向函数的指针,该函数返回一个int型数据D) ptr是一个函数名,该函数的返回值是指向int型数据的指针(44)有以下程序#include <stdio.hstruct stu{ int num;char name[10];int age;};void fun(struct stu *p){ printf("%s\n",(*p).name); }main(){struct stu students[3]={ {9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18} };fun(students+2);}输出结果是A) Zhang B)Zhao C) Wang D) 18(45)设有以下说明和定义:typedef union{ long i; int k[5]; char c; }DATE; struct date{ int cat; DATE cow; double dog; } too;DATE max;则下列语句的执行结果是printf ("%d",sizeof (struct date ) +sizeof(max));A) 26 B) 30 C) 18 D) 8(46)有以下程序main(){ char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i));}输出结果是A) gm B) rg C) or D) ga(47)有以下程序viod fun (int a,int b,int c){ a=456; b=567; c=678;}main(){ int x=10, y=20,z=30;fun (x,y,z);printf("%d,/%d\n",c,d);}输出结果是A)30,20,10 B)10,20,30C)456,567,678 D)678,567,456(48)有以下程序int fun(int x,int y,int *cp,int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b,&c,&d);printf("%d,%d\n", c, d);}输出结果是A)50,30 B)30,J50 C)80,-20 D)80,20(49)有以下程序main(){ int i, j;for(j=10;j<11;j++){ for(i=9;i<j; i++)if (!(j%i))break;if(i=j-1)printf("%d",j);}}输出结果是A) 11 B) 10 C) 9 D) 10 11(50)有以下程序#include "atdio.h"int abc(int u,intv);main (){ int a=24,b=16,c;c=abc(a,b);printf('%d\n",c);}int abc(int u,int v){ int w;while(v){ w=u%v; u=v; v=w }return u;}输出结果是A) 6 B) 7 C) 8 D) 9二、填空题(1)自动批自理文件名为_______.(2)DOS命令分为内部命令与外部命令,COMP命令属于_______命令.(3)设当前为C盘,现要用一条DOS命令在打印机上输出A盘当前目录下所有扩展名为.DAT的文件内容.这一条DOS命令应为__ _ (4)要将当前盘当前目录下的子目录XYZ中所有扩展名为.BAK 的文件名改成扩展名为.FOR,应使用的DOS命令为__ _(5)设DOS外部命令文件所在的路径均已用PATH命令打通.现要将当前盘当前目录下的文件WST.TXT设置为只读属性,应使用的DOS命令为___(6)设x和y均为int型变量,且x=1,y=2,则以下表达式的值为___ 1.0+x/y(7)设i,j,k均为int型变量,则执行完下面的for循环后,k的值为___for(i=0,j=10;i<=j;i++,j--) k=i+j;(8)设有以下定义的语句:int a[3][2]={10,20,30,40,50,60}, (*p)[2];p=a;则 *(*(p+2)+1)值为___(9)以下程序的输出结果是___#include <stdio.hint fun(int x,int y){ static int m=0,i=2;i+=m+1;m=i+x+y;return m}main(){ int j=4,m=1,k;k=fun(j,m); printf("%d,",k);k=fun(j,m); printf("%d\n",k);}(10)函数fun的功能是:使一个字符串按逆序存放,请填空void fun (char str[]){ char m; int i,j;for(i=0,j=strlen(str);i<____;i++,j--){ m=str[i];str[i]=__ _;str[j-1]=m;}printf("%s\n",str);}(11)以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空.#include"ctype.h"#include"stdio.h"main(){ char str[81],*sptr;int i;for(i=0;i<80;i++){ str[i]=getchar();if(str[i]=='\n') break;}str[i]=____;sptr=str;while(*sptr) putchar(*sptr____(13));}(12)以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差.例如:输入的两个字符串分别为abcdef和abceef,则输出为-1.请填空.#includemain(){ char str[100],str2[100],c;int i,s;printf("\n input string 1:\n"); gest(str1);printf("\n input string 2:\n"); gest(str2);i=0;while((strl[i]==str2[i]&&(str1[i]!=____))i++;s=____;printf("%d\n",s);}(13)以下程序的功能是:从键盘上输入一个字符串, 把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来.请填空.#include<stdio.hmain(){ FILE *fp;char str[100]; int i=0;if((fp=fopen("text.txt",__ __))==NULL){ printf("can't open this file.\n");exit(0);}printf("input astring:\n"); gest(str);while (str[i]){ if(str[i]='a'&&str[i]<='z')str[i]=___ _;fputc(str[i],fp);i++;}fclose(fp);fp=fopen("test.txt",____);fgets(str,100,fp);printf("%s\n",str);fclose(fp);}(14) 以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制形式输出,请填空.#include.<stdio.hmain(){charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};int c[64],d,i=0,base;long n;printf("enter a number:\n"); scanf("%ld",&n);printf("enter new base:\n"); scanf("%d",&base);do{ c[i]=____;i++; n=n/base;} while(n!=0);printf("transmite new base:\n");for(--i;i=0;--i){ d=c[i];printf("%c",b____;}}_答案一、选择题(1)B (2)B (3)D (4)D (5)B(6)A (7)B (8)C (9)D (10)A(11)D (12)C (13)A (14)B (15)D(16)C (17)B (18)A (19)A (20)A(21)C (22)D (23)A (24)D (25)B(26)C (27)C (28)B (29)C (30)C(31)D (32)D (33)B (34)C (35)B(36)D (37)B (38)A (39)D (40)D(41)A (42)A (43)C (44)B (45)B(46)D (47)A (48)C (49)B (50)C二、填空题(1)AUTOEXEC.BAT(2)外部(答外部命令不扣分)(3)COPY A:*.DAT PRN(在 COPY 后面与A:*.DAT后面都至少要有一个空格)(4)RENXYZ\*.BAK *.FOR 或RENAME XYZ\*.BAK*.FOR(在REN 或RENAME 后面与XYZ\*.BAK 后面都至少要有一个空格) (5)ATTRIB+R WST.TXT(在ATTRIB 后面与+R后面都至少有一个空格)或ATTRIBWST.TXT+R(在ATTRIB后面与WST.TXT后面都至少要有一个空格)(6)1.0或1(7)10(8)60(9)8,17(10)strlen(str )/2或strlen(str)/2.0或0.5*strlen(str)或j或j-1str[j-1]或*(str+j-1)(11)'\0' 或0++(12) '\0'或0strl[i]-str2[i](13) "w"或"w+"或"wt"或"w+t"或"""wt+"str[i]-32 或str[i]-('a'-'A'或str[i]-'a'+'A'"r"或"r+"或"r+t"或"rt+"(14)n%base[d]。

C语言程序设计A模拟考核试题及解答

C语言程序设计A模拟考核试题及解答

C 语言程序设计A 》模拟考核试题及解答一、选择题1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。

A. cppB. exeC. objD. C2. C 语言程序的基本模块为( )。

A. 表达式B. 标识符C. 语句D. 函数3.x>0 || y==5 的相反表达式为( )。

A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==54.枚举类型中的每个枚举常量的值都是一个( )。

A. 整数B. 浮点数C. 字符D. 逻辑值5.循环语句“ for(int i=0; i<n; i++) S; ”中循环体S 被执行的次数为( )A. 1B. n-1C. nD. n+16.在下面的while 循环语句中,其循环体被执行的次数为( )。

int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 77.若定义了函数double *function(), 则返回值类型为( )。

A. 实数型B. 实数指针型C. 函数指针型D. 数组型8.若用数组名作为函数调用的实参,传递给形参的是( )。

A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9. 假定a 为一个整型数组名,则元素a[4] 的地址比该数组的首地址大( ) 个字节。

A. 4B. 8C. 16D. 3210. 下列给字符数组赋初值时,正确的是( )。

A. char s1[]="abcdef";B. char s2[4]="abcd";C. char s3[2][3]={"abc","xyz"};D. char s4[4][]={'a','x','s','t'};A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;11.要使p 指向二维整型数组a[10][20] ,p 应定义为()。

《C语言程序设计》试题四及答案

《C语言程序设计》试题四及答案

《C语言程序设计》试题四一、单项选择题。

(每题1分,共20分)1. C程序的基本单位是:()A.子程序B.程序C.子过程D.函数2.在C语言中,非法的八进制是:()A.016B.018C.017D.023. 不是C语言实型常量的是:()4 .字符串“xyzw”在内存中占用的字节数是:()A.6B.5C.4D.35. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:()6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:()(a的ASCII码值为97)A.M,2B.G,3C.G,2D.D,g7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:()A.a=2.2,b=3B.a=2.2 b=3C.2.2 3D.2.2,38.表示关系12<=x<=y的C语言表达式为:()A.(12<=x)&(x<=y)B. (12<=x)&&(x<=y)C. (12<=x)|(x<=y)D.(12<=x)||(x<=y)9.设x=1,y=2,m=4,n=3,则表达式x>yx:m<ny:n的值为:()A.1B.3C.2D.410. 若有说明和语句:int a=5,b=6;b*=a+1;则b的值为:()A.5B.6C.31D.3611. 设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句(s=c1==c2)||(t=c3>c4)后,s,t的值为:()A.1,2B.1,1C.0,1D.1,012. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:()A.4B.6C.5D.113. 对于for(s=2;;s++)可以理解为:()A. for(s=2;0 ;s++)B. for(s=2;1 ;s++)C. for(s=2;s<2 ;s++)D. for(s=2;s>2;s++)14. 若有char h=`a`,g=`f`;int a[6]={1,2,3,4,5,6};则数值为4的表达式为:()A.a[g-h]B.a[4]C.a[`d`-`h`]D.a[`h`-`c`]15. 设:char s[10]={“october”};则printf(“%d\n”,strlen(s));输出是:()A.7B.8C.10D.1116. 若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a共有个元素:()A.8B.5C.3D.15二、填空题。

C语言程序设计A期末模拟试题(1-4)

C语言程序设计A期末模拟试题(1-4)

C 语言程序设计A 期末模拟试题一 一、单项选择题(每小题2分,共20分) 1. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。

A. cpp B. exe C. obj D. lik 2. x >0 && x<=10的相反表达式为( )。

A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 3. 在下面的一维数组定义中,哪一个有语法错误。

( C ) A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5]; 4. 假定p 是具有double 类型的指针变量,则表达式++p 使p 的值(以字节为单位)增加( C )。

A. 1 B. 4 C. sizeof(double) D. sizeof(p) 5. 当#include 后面的文件名用双引号括起来时,寻找被包含文件的方式是( B )。

A. 直接按系统设定的标准方式搜索目录 B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录 C. 仅仅搜索源程序所在目录 D. 搜索当前逻辑盘上的所有目录 6. 假定指针变量p 定义为“int *p=new int(100);”,要释放p 所指向的动态内存,应使用语句( A )。

A. delete p; B. delete *p; C. delete &p; D. delete []p; 7. 假定AA 为一个类,a 为该类公有的数据成员,px 为指向该类对象的一个指针,则访问px 所指对象中数据成员a 的格式为( )。

A. px(a) B. px[a] C. px->a D. px.a 8. 栈具有( )的操作特性。

A. 先进先出 B. 先进后出 C. 进出无序 D. 进出任意 9. 对于任一个类,用户所能定义的构造函数的个数至多为( )。

《C语言程序设计A》课程形成性考核作业四参考答案

《C语言程序设计A》课程形成性考核作业四参考答案

一、选择题1. 假定有“ struct BOOK{char title[40];float price;};struct BOOK *book; ”则不正确的语句为(A )。

A . struct BOOK *x=malloc(book);B . struct BOOK x={ C++ Programming ",27.0};C. struct BOOK *x=malloc(sizeof(BOOK));D. struct BOOK **x=&book;2. 假定有"struct BOOK{char title[40];float price;} book; ” 则正确的语句为(B)。

A . struct BOOK x=&book; B. struct BOOK *x=&book;C. struct BOOK x=calloc(BOOK); D . struct BOOK *x=BOOK;3. 表示文件结束的符号常量为( C)。

A . eofB . Eof C. EOF D . feof4. C语言中系统函数fopen()是(D)一个数据文件的函数。

A .读取B .写入C.关闭 D .打开5. 从一个数据文件中读入以换行符结束的一行字符串的函数为( B)。

A . gets()B . fgets()C . getc()D . fgetc()6. 向一个二进制文件写入信息的函数fwrite()带有(D)参数。

A . 1B . 2C . 3D . 4二、填空题1 .假定一个结构类型的定义为" struct A{int a,b;A*c;}; ”则该类型的大小为__________ 12 ______ 字节。

2. 假定一个结构类型的定义为 __________________________ “structB{int a[5],char *b;};",则该类型的大小为______________________________________________ 24 ______ 字节。

C语言程序设计模拟试题四(含答案)

C语言程序设计模拟试题四(含答案)

C语言程序设计模拟试题四(含答案)1、微型计算机的性能主要取决于A) 内存B) 中央处理器C) 硬盘D) 显示卡2、有一个数值152,它与十六进制数6A相等,那么该数值是A) 二进制数B) 八进制数C) 十进制数D) 四进制数3、使用超大规模集成电路制造的计算机应该归属于A) 第一代B) 第二代C) 第三代D) 第四代4、已知英文字母a的ASCII代码值是十六进制数61H,那么字母d的ASCII代码值是A) 34H B) 54HC) 24H D) 64H5、一片存储容量是1.44MB的软磁盘,可以存储大约140万个A) ASCII字符B) 中文字符C) 磁盘文件D) 子目录6、在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是A) 终止当前操作B) 暂停当前操作C) 关机D) 热启动7、将二进制数10000001转换为十进制数应该是A) 127 B) 129C) 126 D) 1288、磁盘处于写保护状态,那么磁盘中的数据A) 不能读出,不能删改,也不能写入新数据B) 可以读出,不能删改,也不能写入新数据C) 可以读出,可以删改,但不能写入新数据D) 可以读出,不能删改,但可以写入新数据9、微型机启动后,DOS提示符是C:\>,现提示符变为C:\USER>,则说明刚执行过命令A) PROMPT B) PROMPT USERC)PROMPT SP$G D) CD USER10、MS-DOS文件系统目录的组织形式属于A) 关系型结构B) 网络型结构C) 树型结构D) 直线型结构11、应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH目录中,而数据文件存放在C:\TH\DATA目录中,如果将它们完整地复制到A盘, 应该使用的命令是A) XCOPY C:\\TH A:\\ B) XCOPY C:\\TH A:\\ /SC) XCOPY C:\\TH A:\\ /M D) XCOPY C:\\TH A:\\ /P12、执行COPY A.TXT+B.TXT 这个DOS命令后,得到的磁盘文件是A) A.TXT B) B.TXTC) AB.TXT D) A+B.TXT13、WindowsS中,将一个应用程序窗口最小化之后,得到的磁盘文件是A) 仍在后台运行B) 暂时停止运行C) 完全停止运行D) 出错14、CD-ROM属于A) 感觉媒体B) 表示媒体C) 表现媒体D) 存储媒体15、在因特网(Internet)中电子公告板的缩写是A) FTP B) WWWC) BBS D) E-mail16、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为A) 4 B) 16C) 32 D) 5217、设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1, 42, y=5.2;则以下符合C语言语法的表达式是A) a+=a-=(b=4)*(a=3) B) x%(-3);C) a=a*3=2 D) y=float(i)18、假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是A) x%=(k%=5) B) x%=(k-k%5)C) x%=k-k%5 D)(x%=k)-(k%=5)19、以下叙述中正确的是A) 输入项可以是一个实型常量,如:scanf("%f",3.5);B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&f);D) 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);20、设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是A) 把x和y按从大到小排列B) 把x和y按从小到大排列C) 无确定结果D) 交换x和y中的值21、以下程序的输出结果是main(){int a=12,b=12;printf("%d,%d\n",- -a,+ +b);}A) 10 10 B) 12 12C) 11 10 D) 11 1322、以下程序运行后,输出结果是main(){char *s="abcde";s+=2;printf("%ld\n",s);}A) cde B) 字符c的ASCII码值C) 字符c的地址D) 出错23、以下程序输出结果是main(){ int m=5;if(m++>5)printf("%d\n",m);esleprintf("%d\n",m- -);}A) 7 B) 6C) 5 D) 424、当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为if(a<b)if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x=3;else x=6;else x=7;A) 1 B) 2C) 3 D) 625、在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为#include<stdio,h>main(){ char ch;while((ch=getchar())!='\n'){ if(ch>='A' && ch<='Z') ch=ch+32;else if(ch>='a' && ch<='z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEFC) abc D) DEF26、下面能正确进行字符串赋值操作的语句是A) char s[5]={"ABCDE"};B) char s[5]={'A','B','C','D','E'};C) char *s;s="ABCDEF";D) char *s; scanf("%s",s);27、执行以下程序段时X=-1;do {x=x*x; }while(! x);A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误28、执行以下程序后,输出的结果是main (){int y=10;do { y - -;}while(- - y);printf("%d\n",y - -);}A) -1 B) 1C) 8 D) 029、在下列选项中,没有构成死循环的程序段是\A) int i=100while(1){ i=i%100+1;if(i>100)break;\B) for( ; ;);\C) int k=1000;do{++k;}while(k>=10000);\D) int s=36;while(s);--s;30、执行语句:for(i=l:i++<4:);后,变量i的值是A) 3 B) 4C) 5 D) 不定31、以下程序运行后,如果从键盘上输入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("%d\n",func(p));}A) 8 B) 7C) 6 D) 532、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为#include<stdio,h>mair(){ int v1=0,v2=0;char ch;while((ch=getchar())!='#')switch(ch){ case 'a';case 'h';default; v1++;case '0'; v2++;}printf("%d,%d\n",v1,v2);}A) 2,0 B) 5,0C) 5,5 D) 2,533、若以下程序所生成的可执行文件名为filel.exe;当打入以下命令执行该程序时;FILEL CHINA BEIJING SHANGHAI程序的输出结果是main(int argc,char *argv[]){ while(arge-->0){ ++argv;printf("%s ",*argv);}}A) CHINA BEIJING SHANGHAI B) FILEL CHINA BEIJINGC) C B S D) F C B34、下面程序运行的结果是main(){char ch[7]={65ab21"};int i,s=0for(i=0;ch[i]>='0' && ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}A) 2ba56 B) 6521C) 6 D) 6235、运行下面的程序,如果从键盘上输入:ab<回车>c <回车>def<回车>#include<stdio,h>#define N 6main(){ char c[N];int i=0;for( ;i<N;c[i]=getchar(),i++); for( i=0;i<N;i++) putchar(c[i]); printf("\n");}A) abcdefB) abcdC) abcdD) abcdef36、以下程序运行后,输出结果是#include<stdio,h>ss(char *s){char *p=s;while(*p) p++;return(p-s);}main(){char *a="abded";int i;i=ss(a);printf("%d\n",i);}A) 8 B) 7C) 6 D) 537、以下程序运行后,输出结果是func(int a, int b){ static int m=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){ int k=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}A) 8,15 B) 8,16C) 8,17 D) 8,838、以下程序运行后,输出结果是#include<stdio,h>#define PT 5.5#define S(x) PT* x * xmain(){ int a=1,b=2;printf("%4.1f\n",S(a+b));}A) 49.5 B) 9.5C) 22.0 D) 45.039、以下程序运行后,输出结果是main(){static char a[]="ABCDEFGH", b[]="abCDefGh";char *p1,*p2;int k;p1=a; p2=b;for(k=0;k<=7;k++)if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));printf("\n");)A) ABCDEFG B) CDGC} abcdefgh D} abCDefGh40、以下程序运行后,a的值是main(){int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m;printf("%d\n",a);}A) 4 B) 1C) 0 D) 运行时出错,a无定值41、以下程序运行后,输出结果是int d=1;fun(int p){ int d=5;d+=p++;printf("%d,d);}main(){ int a=3;fun(a);d+=a++;printf("%d\n,d);}A) 84 B) 99C) 95 D) 4442、以下程序运行后,输出结果是main(){ char ch[2][5]={'693","825"},*p[2]; int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0';printf("%d\n",s);}A) 6385 B) 22C) 33 D) 69382543、以下程序运行后,输出结果是fut(int **s, int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11}, *p;p=(int *) malloc(sizeof(int));fut(&p,a);printf("%d\n",*P);}A) 1 B) 7C) 9 D) 1144、设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2:则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B) 2C) 3 D) 045、在执行以下程序时,为了使输出结果为:t=4,则给a和b输入的值应满足的条件是main(){int s,t,a,b;scanf("%d,%d",&a,&b);s=1; t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b) t=5;else t=2*s;printf("t=%d\n",t);}A) a>b B) a<b<0C) 0<a<b D) 0>a>b46、以下程序的输出结果是main(){int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;printf("x=%d\n",x);}A) x=4 B) x=8C} x=6 D} x=1247、以下程序运行后,输出结果是#inchude <stdio,h>#inchude <string,h>fun(char *w, int n){ char t, *s1,*s2;s1=w: s2=w+n-1;while(s1<s2){ t=*s1++;*s1=*s2--;*s2=t;}}main(){ char *p;p="1234567";fun(p,strlen(p));puts(p);}A) 1234567 B) 7654321C) 1711717 D) 717717148、以下程序运行后,如果从键盘上输入: book <回车>book <空格><回车>则输出的结果是#include<string,h>main(){char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#");printf("%d/n",strlen(strcat(s1,s2)));}A) *8 B) #9C) #6 D) *949、以下程序运行后,输出结果是main(){int y=18,i=0,j,a[8];do{ a[i]=y%2; i++y=y/2;} while(y>=1)for(j=i-1;j>=0;j--) printf("%d",a[j]; printf("\n");}A) 10000 B) 10010 C) 00110 D) 10100答案:BBDDA ABBDC BAADC CADDD DCBBB CADCC DCACC DCBBC AACBC BCBB。

C语言程序设计模拟试题4

C语言程序设计模拟试题4

C语言程序设计模拟试题4 说明:1. 本卷共五大题,共6页。

2. 本试卷时间120分钟,满分100分。

一、项选择题(每小题2分,共20分, 每小题只有一个正确答案,请将你认为正确的答案填在对应的括号内。

)1. 组成C程序的基本单位是()。

A.函数B.标识符C.表达式D.语句2. 在C语言中,正确的字符类型的常量是()A.‘b‘ B.“ab” C.’ab’ D.”a”3. 在C语言中,逻辑值“真”是用()表示的。

A.预定义为真值的宏B.非零数C.正数D.非零整数4.下列描述中不正确的是()A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值5.设有如下定义:int x=1,y=-1;,则语句:printf(“%d\n”,(x--&++y));的输出结果是()A.1 B.0 C.-1 D.26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()A.c=b=a;B.(a=c)||(b=c);C.(a=c)&&(b=c);D.a=c=b;7.以下程序的输出结果是()A.10192 B. 9876C. 10990D.10109 1main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d %d”,x--,y);}8.以下程序的输出结果是()A.5 2 B.5 1 C.5 3 D.9 7main(){int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2) printf(“%d”,p[i]);}9.以下程序的输出结果是( )A.6B.6789C.’6’D.789{char a[10]={‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,0},*p;int i;i=8;p=a+i;printf(“%s\n”,p-3);}10.C语言提供的合法的数据类型关键字是( )A. DoubleB. shortC. integerD. Char二、读程序(每小题3分,共27分)1、以下程序的输出结果为:()main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}A.2,1B.2,0C.0.25,0D.程序有错2、以下程序的输出结果为:()#include "stdio.h"main(){int i;for(i=1;i<=5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}A.#*#*#$B.*#%*#$C.*#*#*#$D.*#*#*$3、有以下程序:#include "stdio.h"main(){char c[6];int i=0;for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;putchar(c[i]),i++);}输入以下三行,每行输入都是在第一列上开始,<CR>代表一个回车键:a<CR>cdef<CR>程序输出结果为:()A.abcdefB. aC.aD.ab b bcdef c cddef4、以下程序的输出结果为:#include "stdio.h"main(){int 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");}每行输入在第一列上开始,<CR>代表一个回车键:2473<CR>程序输出结果为:()A.6696B. 668977C.666965D.6698555、以下程序的输出结果为:( )A.19,59,5B.29,59,5C.2,9,5,9,5D.17,4,8,5main(){int i=1,j=3;printf("%d",i++);i+=j++*2;printf("%d,%d",++i,++j)printf("%d,%d\n",i,j);}6、以下程序的输出结果为:( )main(){ int a=2,i;for (i=0;i<3;i++)printf("%4d",f(a++));}f(int a){ int b=0;static int c=3;b++;c++;return a+b+c;}A. 7 8 9B. 7 7 7C.8 9 10D.7 9 117、下列程序,分别选择3条printf语句行的正确输出结果。

《C语言程序设计A》课程形成性考核作业四参考答案

《C语言程序设计A》课程形成性考核作业四参考答案

一、选择题1.假定有“struct BOOK{char title[40];float price;};struct BOOK *book;”,则不正确的语句为(A)。

A.struct BOOK *x=malloc(book); B.struct BOOK x={“C++ Programming”,27.0}; C.struct BOOK *x=malloc(sizeof(BOOK)); D.struct BOOK **x=&book;2.假定有“struct BOOK{char title[40];float price;} book;”,则正确的语句为(B)。

A.struct BOOK x=&book; B.struct BOOK *x=&book;C.struct BOOK x=calloc(BOOK); D.struct BOOK *x=BOOK;3.表示文件结束的符号常量为(C)。

A.eof B.Eof C.EOF D.feof4.C语言中系统函数fopen()是(D)一个数据文件的函数。

A.读取B.写入C.关闭D.打开5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。

A.gets() B.fgets() C.getc() D.fgetc()6.向一个二进制文件写入信息的函数fwrite()带有(D)参数。

A.1 B.2 C.3 D.4二、填空题1.假定一个结构类型的定义为“struct A{int a,b;A*c;};”,则该类型的大小为___12_______字节。

2.假定一个结构类型的定义为“struct B{int a[5],char *b;};”,则该类型的大小为___24_______字节。

3.假定一个结构类型的定义为“struct D{int a;union{int b;double c;};struct D* d[2];};”,则该类型的大小为___20_______字节。

第1部分--C语言程序设计练习四(参考答案)

第1部分--C语言程序设计练习四(参考答案)

《C 语言程序设计》练习四(参考答案)1. 输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。

答案:第一空:score>=0 && score<=100第二空:score/10第三空:break2.学生成绩的字母等级和分数范围如下:字母等级分数范围 A90~100 B80~89 C70~79 D60~69 E0~59 其它字母输入错误 输入字母等级之后,输出相应的分数范围。

答案:第一空:char score第二空:break第三空:default3.从键盘输入x 的值,根据以下公式计算并输出x 和y 的值。

⎪⎪⎪⎩⎪⎪⎪⎨⎧≥+<≤+<≤+<≤=101110616212022x x x x x x x x y 答案:第一空:&x第二空:break第三空:sqrt(x+1)4.为n 输入一个正整数值后,计算并输出sum=1-n 1413121±+-+......的值。

答案:第一空:sum=0第二空:k%2!=0第三空:k<=n5.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。

答案:第一空:&n第二空:break第三空:i>=n6.按下列形式输出英文字母。

ABCD…WXYZzyxw...dcba答案:第一空:ch<='Z'第二空:printf("\n")第三空:ch--7.输入x的值,按下列公式计算并输出y的值。

y=1x0 0x0 1x0 -<⎧⎪=⎨⎪>⎩答案:第一空:"%d",&x 第二空:x==0第三空:y=1。

全国计算机等级考试2019年二级C语言程序设计模拟试题4_真含答案与解析)-交互96

全国计算机等级考试2019年二级C语言程序设计模拟试题4_真含答案与解析)-交互96

全国计算机等级考试2019年二级C语言程序设计模拟试题4(总分100, 做题时间120分钟)选择题(每题 1 分,共 40 分)1.设栈的顺序存储空间为 S(0: 49),栈底指针 bottom=49,栈顶指针top=30(指向栈顶元素)。

则栈中的元素个数为()。

SSS_SINGLE_SELA30B29C20D19分值: 1答案:C栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。

入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。

在内存中,栈的增大方向是递减,元素依次存储在单元 30: 49 中,个数为: 49-30+1=20 个。

2.设数据元素的集合 D={1, 2, 3, 4, 5} ,则满足下列关系 R 的数据结构中为线性结构的是()。

SSS_SINGLE_SELAR={(1, 2),(3, 4),(5, 1) }BR={(1, 3),(4, 1),(3, 2),(5, 4) }CR={(1, 2),(2, 3),(4, 5) }DR={(1, 3),(2, 4),(3, 5) }分值: 1答案:B一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构。

不同时满足以上两个条件的数据结构就称为非线性结构。

A 项中有两个根节点 3 和 5,错误; B 项根节点为 5,排列顺序为 54132,正确; C 项有两个根节点 1 和4,错误; D 项有两个根节点 1 和 2,错误。

3.下列叙述中错误的是()。

SSS_SINGLE_SELA在带链队列中,队头指针和队尾指针都是在动态变化的B在带链栈中,栈顶指针和栈底指针都是在动态变化的C在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的D在带链队列中,队头指针和队尾指针可以指向同一个位置分值: 1答案:B带链的队列就是用一个单链表来表示队列,队列中的每一个元素对应链表中的一个节点,在入队和退队过程中,队头指针和队尾指针都是在动态变化的,A 项叙述正确,循环队列中当队列满或者空时,队头指针和队尾指针指向同一个位置, D 项叙述正确。

C语言程序设计---考试模拟试卷及解析

C语言程序设计---考试模拟试卷及解析

第十三章考试模拟试卷及解析13.1 模拟试卷1及解析一、单项向选择题(每小题1.5分,共30分)1. 关于C语言的叙述,不正确的是()。

A) C程序必须包含一个main()函数B) C程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 注释说明只能位于一条语句的后面分析:注释可以出现在语句的前面、后面或中间。

例如,#include<stdio.h>void main(void){ /*计算1+2+3+4+…100的值*/int i;long s=0;for( i=1; i<= /* 不要丢掉'='号!*/ 100; i++)s+=i;/* 注意以下输出语句中long int 数据的输出控制格式”%ld” */printf("s=%ld\n",s);}答案选D。

2.以下()是正确的字符常量。

A) "c" B) '\t' C) '12' D) "\\"分析:A)中的"c"为字符串常量,B)中的'\t'为转义字符,请大家注意常用转义字符的表示方法(参见教材),C)中'12'表示错误,因为单引号里面只能含有1个字符。

D)中表示的是一个字符串(双引号),尽管这个字符串中只含有一个转义字符'\\'。

答案选B。

3.设char ch='c';,则表达式ch+1的值为()。

A) 97 B) 98 C) 99 D) 100分析:字符变量存储的是所对应字符的ASCII值,26个字母之间的ASCII值按字母顺序是连续的,即字母'a'的ASCII值为十进制的97,字母'b'的ASCII值为十进制的98,依次类推。

大家应记住常用字符的ASCII值,如,'A'为65,'0'为48等。

C语言程序设计模拟试卷及答案

C语言程序设计模拟试卷及答案

计算机科学类专业《C语言程序设计》模拟考试试卷(满分100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1、下列选项中,合法的C语言标识符是()。

A)my_name B)$234 C)my name D)23b2、以下程序的输出结果是()。

void main(){int x,y;float z;x=2; y=10;z=x/y;printf("%f",z);}A)0.200000 B)0.2 C)0.000000 D)03、C语言规定,简单变量做实参时,它与对应形参之间的数据传递是()。

A)地址传递 B)只能把实参的值单向传递给形参C)由用户指定传递方式 D)由实参传给形参,再由形参传回给实参4、有以下程序段int m=0,n=0; char c;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);程序输出结果是:1,X,2。

则从键盘上可能的输入是()。

A)1X2<回车> B)1 X 2<回车>C)1,X,2<回车> D)1<回车>X<回车>2<回车>5、如果要对a,b,c三个变量赋予同一个初值5,如下语句错误的是()。

A)int a,b,c; a=b=c=5; B)int a=5,b=5,c=5;C)int a=5;b=5;c=5; D)int a=5,b=a,c=b;6、设变量n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。

A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.07、以下程序段的功能是计算一个整数的各位数字之和,请选择填空。

《C语言程序设计》模拟卷答案

《C语言程序设计》模拟卷答案

一、选择题23题46分二、程序阅读题3题18分三、程序调试题2题12分四、程序设计题3题24分一.选择题46%1.关于C程序的叙述,错误的说法是。

(A)C程序总是从主函数开始执行(B)C程序中定义的第一个函数是主函数(C)在主函数中可以调用其他函数(D)一个C程序可以包括多个函数2.C语言的基本数据类型包括。

(A)char (B) struct (c) string (D) typedef3.C语言关键字的是。

(A) while(B) printf (C) main (D) FILE4.错误的C标识符是。

(A) e2 (B) name_ (C) A_B (D) 2e5.在下列运算符中,优先级最低的运算符是。

(A) == (B) =(C) && (D) +6.下列一维数组说明中,错误的是。

(A) int a[]={1,2,3}; (B) int a[5];(C) int n=5, a[n]; (D) int a[5]={1,2,3};7.执行语句:printf("aaaa\nbbbb")输出的结果是。

(A) aaaa\nbbbb (B) aaaabbbb(C) aaaa (D) 不能输出bbbb8.要表示年龄(age)在18至25之间,正确的表达式是。

(A)18<=age<=25 (B) 18<=age && age<=25(C ) 18<=age || age<=25 (D) 18<=age and age<=259.有定义int a, *p; 下列赋值语句中,正确的是。

(A) p=a; (B) p=&a;(C) p=*a; (D) *p=&a;10.若已经定义char a[10]={"abcd"}, *p=a; 则表达式*(p+1) 的值是。

(A) “abcd” (B) “bcd”(C) …b‟(D) 语法错误11.若已经定义typedef struct stu { int a, b; } student ; ,则下列叙述中正确的是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中央广播电视大学2008秋季C语言程序设计A课程试卷(5)2012年1月考一、单选题(每小题2分,共20分)1. 程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用( )符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车2. 逻辑表达式(x>0 && x<=10)的相反表达式为()。

A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>103. 当处理一个问题时的循环次数已知时,最好采用()循环来解决。

A. forB. whileC. do-whileD. switch4. 假定i的初值为0,则在循环语句“while(i<n) {s+=i*i; i++;}”中循环体被执行的总次数为()。

A. n-1B. nC. n+1D. n/25. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。

A. 2B. 4C. 6D. 86. 在下列选项中,不正确的函数原型格式为()。

A. int Function(int a);B.void Function (char);C. int Function(a);D.void int(double* a);7. 假定p是一个指向float类型的数据指针,则p+1所指向的数据的地址比p所指向的数据的地址大( )个字节。

A. 1B. 2C. 4D. 88. 假定有一条定义语句为“int m=7, *p;”,则给p赋值的正确表达式为()。

A. p=mB. p=&mC. *p=&mD. p=*m9. 假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为()。

A. free(p)B. delete(p)C. free(*p)D. free(&p)10. C语言中的系统函数fopen()是()一个数据文件的函数。

A. 读取B. 写入C. 关闭D. 打开二、填空题(每小题2分,共26分)1. 用于输出表达式值的标准输出函数的函数名是________。

2.每个C语言程序文件在编译时可能出现有致命性错误,其对应的标识符为________。

3. 已知'A''Z'的ASCII码为6590,当执行“int x='C'+3;”语句后x的值为________。

4. 表达式(int)14.6的值为________。

5. 假定不允许使用逻辑非操作符,则关系表达式x+y>5的相反表达式为___________。

6. 假定x=5,则执行“a=(x?10:20);”语句后a的值为________。

7. 假定一维数组的定义为“char* a[M];”,则该数组所占存储空间的字节数为________。

8. 存储字符串"a"需要至少占用存储空间中的________个字节。

9. strlen()函数用于计算一个字符串的________。

10. 在C语言中,一个函数定义由函数头和__________这两个部分组成。

11.假定p所指对象的值为25,p+1所指对象的值为46,则执行表达式*(p++)后,p 所指对象的值为________。

12. 假定p是一个变量,则用________表示该变量的地址。

13. 把间接访问表达式p->name改写成对应的直接访问表达式为____________。

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1. #include<stdio.h>void main() {int n=6, y=1;while(n--) y+=3;printf("y=%d\n",y);}2. #include<stdio.h>void main(){int i,s=0;for(i=1;i<8;i++)if(i%2==0 || i%3==0) s+=i;printf("s=%d\n",s);}3. #include<stdio.h>void main() {char a[]="abcdbfkgamd";int i1=0, i2=0, i=0;while(a[i]) {if(a[i]<'e') i1++; else i2++;i++;}printf("%d %d\n",i1,i2);}4. #include<stdio.h>void main() {int a[8]={4,8,12,16,20,24,28,32};int *p=a;do {printf("%d ",*p);p+=3;} while(p<a+8);printf("\n");}5. #include<stdio.h>struct Worker { char name[15]; int age; double pay;};void main() {struct Worker a[4]={{"abc",20,2420},{"defa",50,3638},{"ghin",40,2560},{"jklt",36,2375}};int i, s=0;for(i=0; i<4; i++) s+=a[i].age;printf("s=%5.2Lf\n",(double)s/4);}四、写出下列每个函数的功能(每小题6分,共12分)1. int SC(int a, int b, int c) {if(a>=b && a>=c) return a;if(b>=a && b>=c) return b;return c;}函数功能:2. int* LI(int n) {int* a=malloc(n*sizeof(int));int i;for(i=0;i<n;i++) scanf("%d",a+i);return a;}函数功能:五、按题目要求编写函数(每小题6分,共12分)1. 编写一个函数,函数原型为“int fun4(char* a)”,请采用while循环求出由字符指针a所指向的字符串中包含的十进制数字的个数,并把这个值作为函数值返回。

2. 编写一个主函数,计算并输出表达式1+22+32+...+n2的值,假定正整数n的值由键盘输入。

中央广播电视大学2008秋季C语言程序设计A课程试卷答案及评分标准(5)(供参考)一、单选题(每小题2分,共20分)1. D2. A3. A4. B5. C6. C7. C8. B9. A 10. D二、填空题(每小题2分,共26分)1. printf2. error3. 704. 145. x+y<=56. 107. 4*M8. 29. 长度 10. 函数体 11. 46 12. &p 13. (*p).name三、写出下列每个程序运行后的输出结果(每小题6分,共30分)评分标准:根据答案正确程度酌情给分。

1. y=192. s=153. 7 44. 4 16 285. s=36.50四、写出下列每个函数的功能(每小题6分,共12分)评分标准:根据叙述的正确与完整程度酌情给分。

1.求出a,b,c三个数中的最大值并返回。

2.首先建立一个动态整型数组a[n],接着从键盘上输入n个整数到a[n]中,最后返回数组a[n]的首地址。

五、按题目要求编写函数(每小题6分,共12分)评分标准:根据编写函数的正确与完整程度酌情给分。

1. int fun4(char* a){int n=0; //1分while(*a) { //2分if(*a>='0' && *a<='9') n++; //4分a++; //5分}return n; //6分}2. #include<stdio.h>void main(){int n,i, s=0; //1分scanf("%d",&n); //2分for(i=1; i<=n; i++) s+=i*i; //5分printf("s=%d\n",s); //6分}。

相关文档
最新文档